1. SQL(LENGUAJE DE CONSULTA ESTRUCTURADO) Lenguaje de definición de datos (LDD):Comandospara la definicion de esquemas de relacion , borrado de relaciones y modificaciones de los esquemas de relacion. Lenguaje de manipulación de datos (LMD):Lenguaje de consultabasado en el algebra relacionalcomo en el calculorelacional de tuplas. Comandosparainsertar, borrar y modificartuplas. Integridad:Comandosparaespicificarlasrestriccionesquedebencumplir los datosalmacenedsoenla base de datos. Definicion de vistas:Comandos para la definicion de vistas.
2. SQL(LENGUAJE DE CONSULTA ESTRUCTURADO) Control de transaciones:Comandos para espedificar el cominzo y el final de las transacciones SQL Incorporado y SQL Dinamico: Comandos que definien como se pueden incorporar instruciones d SQL en los lenguajes de programacion. Autorización: Comandos para espedificar los derechos de acceso a las relaciones y a las vistas(LDD). Notas: Varios de los motores relacionales no soportan la mayor parte de la norma SQL, y en algunos casos algunos motores tiene constructores no estandares.
3.
4. Codificar la Base de Datos en UTF-8 por que este tipo de codificación permite cualquier tipo de carácter.
5. http://es.wikipedia.org/wiki/Codificaci%C3%B3n_de_caracteres.LC_COLLAT– (Intercalación ) se refiere a las reglas utilizadas para ordenar y comparar caracteres. Evidentemente, se trata de un concepto que afecta sólo a los campos de texto. LC_CTYPE - Especifica una colección de nombres de tabla de las cuales esta tabla hereda todos los campos. CONNECTION LIMIT– Permite hasta un numero determinado de conexciones.
6.
7. Las tablas son la estructura básica donde se almacena la información en la base de datos.
8.
9. Lenguaje de definición de datos (LDD) Clausulasque se utilizan en la restriciones de columnas – column_constraint : [ CONSTRAINT constraint_name ] { NOT NULL | NULL | UNIQUE [ USING INDEX TABLESPACE tablespace ] | PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] | CHECK (expression) | REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] NULL-- El campo puede contener valores NULL. NOT NULL-- El campo no puede contener valores NULL. Esto equivale a la restricción de campo CHECK (column NOT NULL). UNIQUE-- El campo debe contener un valor único. PRIMARY KEY-- Este campo es una clave primaria, lo que implica que la unicidad es forzada por el sistema CHECK--La restricción CHECK especifica una restricción sobre los valores permitidos en un campo
10. Lenguaje de definición de datos (LDD) Clausulasque se utilizan en la restriciones de tablas– table_constraint [ CONSTRAINT constraint_name ] { UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] | PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] | CHECK ( expression ) | FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] } [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] CONSTRAINT – Se denota el nombre de la restricción (constraint_name ) UNIQUE-- El campo debe contener un valor único. PRIMARY KEY-- Este campo es una clave primaria, lo que implica que la unicidad es forzada por el sistema CHECK--La restricción CHECK especifica una restricción sobre los valores permitidos en un campo. FOREIGN KEY – Son campos de clave externa para relacionar dos tablas.
15. La precisión es el número de dígitos de un número. La escala es el número de dígitos situados a la derecha de la coma decimal de un número. Por ejemplo, el número 123,45 tiene una precisión de 5 y una escala de 2.
22. Los timestamps(fractionalsecondsprecision) ) son típicamente usados para seguimiento de eventos, controlar concurrencia entre otros, se genera automáticamente cada vez que insertamos o modificamos una fila.
23. Time zone el valor de la hora será ajustado a la zona horaria de la sesión actual.
40. Lenguaje de definición de datos (LDD) Comando CREATE VIEW– define una vista. Sintaxis Posgresql CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW name [ ( column_name [, ...] ) ] AS query DEFINICIÓN DE VISTA- http://es.wikipedia.org/wiki/Vista_(base_de_datos) [ TEMP | TEMPORARY – Es una vista temporal que se elimina al terminar la sesión. REPLACE – Remplazauna vista queyatiene el mismonombre. column_name – Son los nombres opcionales que se le dan a cada columna , sino se nombran se toman las de la consulta. Query– Se define la consulta que forma la vista .
41. Lenguaje de definición de datos (LDD) Comando CREATE RULE– define unaregla. Sintaxis Posgresql CREATE [ OR REPLACE ] RULE name AS ON event TO table [ WHERE condition ] DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) } DEFINICIÓN DE VISTA- http://es.wikipedia.org/wiki/Vista_(base_de_datos) [ TEMP | TEMPORARY – Es una vista temporal que se elimina al terminar la sesión. REPLACE – Remplazauna vista queyatiene el mismonombre. column_name – Son los nombres opcionales que se le dan a cada columna , sino se nombran se toman las de la consulta. Query– Se define la consulta que forma la vista .
42. Lenguaje de consulta de datos(LCD) Comandosparaselecionarinformacion– define unaseleccion. Sintaxis Posgresql SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expression [ AS output_name ] [, ...] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY expression [, ...] ] [ HAVING condition [, ...] ] [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ] [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ] [ LIMIT { count | ALL } ] wherefrom_item can beone of: [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ] ( select ) [ AS ] alias [ ( column_alias [, ...] ) ] function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ] function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] ) from_item [ NATURAL ] join_typefrom_item [ ON join_condition | USING ( join_column [, ...] ) ]
43. El SQL es muy diferente a muchos de los lenguajes de programación, ya que, el orden en el que se procesas las sentencias no es el mismo en la que se escribe. La primera sentencia que se procesa es el FROM , mientras la sentencia SELECT, la cual es la primera que aparece en la instrucción , se procesa tiempo después. Cada paso del procesamiento genera tablas virtuales que son entradas del siguiente paso (estas tablas internas no son accesibles por aplicaciones o otras consultas), solo la tabla del paso final es la que es retornado y puede ser utilizada para realizar otra operación. PROCESAMINETO LOGICO DE UNA CONSULTA
44.
45. Consulta:SELECT C.IDCONSUMIDOR, COUNT(O.IDORDEN) AS NUMORDEN FROM TBLCONSUMIDOR AS C LEFT OUTER JOIN TBLORDENES AS O ON C.IDCONSUMIDOR = O.IDCONSUMIDOR WHERE C.CIUDAD = “MEDELLIN” GROUP BY C.IDCONSUMIDOR HAVING COUNT(O.IDORDEN) < 3 ORDER BY NUMORDEN
46. FASES DE LA DESCRIPCIÓN LOGICA DEL PROCESAMIENTO DE UNA CONSULTA PASO 1: FROM: Producto cartesiano (Reunión cruzada) de las primeras dos tablas en la sentencia FROM y da como resultado una tabla virtual VT1 PASO 2: ON: El filtro ON es aplicado a VT1. Solo las tuplas o filas para la cual la condición <condicion_reunion> es verdadera son agregadas en VT2. PASO 3: OUTER (JOIN): Las filas de las tablas o tablas para la cual no hay coincidencias son agregadas a la tabla VT2 como filas de reunión externas, generando VT3. Si mas de dos tablas aparecen en la clausula FROM , el paso 1 al paso 3 es aplicado repetidamente entre el resultado(tabla VT) del ultimo JOIN y la siguiente tabla dentro la clausula FROM, hasta procesar todas las tablas.
47. FASES DE LA DESCRIPCIÓN LOGICA DEL PROCESAMIENTO DE UNA CONSULTA PASO 4: WHERE: Es el filtro aplicado a VT3o la tabla virtual generada del paso anterior. Solo las filas para la cual la condición en WHERE es verdadera son agregadas a la tabla virtual VT4. PASO 5: GROUP BY: Las Filas de VT4 son organizadas en grupos basados en las listas de las columnas especificadas en la sentencia GROUP BY generando la tabla VT5. PASO 6: HAVING: El Filtro HAVING es aplicado a VT5solo los grupos para lo cual la condición expresada en HAVING <condicion_having> es verdadera son adicionada a la tabla VT6. PASO 7: SELECT: La lista de columnas es procesada generando la tabla VT7.
48. FASES DE LA DESCRIPCIÓN LOGICA DEL PROCESAMIENTO DE UNA CONSULTA PASO 8: DISTINC: Las filas duplicadas son removidas de la relación VT7 generada en el paso anterior generando VT8. PASO 9: ORDEN BY: Las Las Filas de VT4 son organizadas en grupos basados en las listas de las columnas especificadas en la sentencia GROUP BY generando la tabla VT5. PASO 10: TOP: El Filtro HAVING es aplicado a VT5solo los grupos para lo cual la condición expresada en HAVING <condicion_having> es verdadera son adicionada a la tabla VT6.
49.
50. RESUMEN COMANDOS SQL(DLL) CREATE TABLE – define unanuevatabla. http://www.postgresql.org/docs/8.2/static/sql-createtable.html http://www.postgresql.org/docs/8.2/static/sql-createtableas.html DROP TABLE – remueveunatabla y el esquema. http://www.postgresql.org/docs/8.2/static/sql-droptable.html ALTER TABLE – cambia la definicion de unatabla. http://www.postgresql.org/docs/8.2/static/sql-altertable.html TRUNCATE – Borra la(s) tabla(s) y la vuelve a crear sin registrar transacción. http://www.postgresql.org/docs/8.2/static/sql-truncate.html INSERT – creanuevasfilas en la tabla. http://www.postgresql.org/docs/8.2/static/sql-insert.html UPDATE – actualizafilas de unatabla. http://www.postgresql.org/docs/8.2/static/sql-update.html DELETE – eliminafilas de unatabla. http://www.postgresql.org/docs/8.2/static/sql-delete.html SCHEMA– eliminafilas de unatabla. http://www.postgresql.org/docs/8.2/static/sql-createschema.html
51. RESUMEN COMANDOS SQL(DLL) DROP VIEW – Eliminauna vista. http://www.postgresql.org/docs/8.2/interactive/sql-dropview.html DROP TRIGGER – Elimina la definicion de un disparador. http://www.postgresql.org/docs/8.2/static/sql-droptable.html ALTER VIEW – cambia la definicion de la vista. http://www.postgresql.org/docs/8.2/static/sql-altertable.html TRUNCATE – Borra la(s) tabla(s) y la vuelve a crear sin registrar transacción. http://www.postgresql.org/docs/8.2/static/sql-truncate.html INSERT – creanuevasfilas en la tabla. http://www.postgresql.org/docs/8.2/static/sql-insert.html UPDATE – actualizafilas de unatabla. http://www.postgresql.org/docs/8.2/static/sql-update.html DELETE – eliminafilas de unatabla. http://www.postgresql.org/docs/8.2/static/sql-delete.html SCHEMA– eliminafilas de unatabla. http://www.postgresql.org/docs/8.2/static/sql-createschema.html
52. Lenguaje de definición de datos (LDD) Sentencia de seleccion – http://www.postgresql.org/docs/8.2/static/sql-select.html Sentencia de seleccion – http://www.postgresql.org/docs/8.2/static/sql-select.html