A LAS BASES DE DATOS (L1) VENTAJAS TECNOLOGÍA BASE DE DATOS DISPONIBILIDAD Y VISIBILIDAD ALMACENAMIENTO CONSULTAS INFORMACIÓN RESPALDOS Y RESTAURACIÓN CONCEPTOS DE INTEGRIDAD DE LOS DATOS ELIMINACIÓN REDUNDANCIA
BASES DE DATOS RELACIONALES (L2)
CAMPOS Y CLAVES (L2)
BASES DE DATOS RELACIONALES (L2) TABLAS RELACIONES CONSTRAINTS (RESTRICCIONES) ORDBMS (OBJECT-RELATIONAL DATABASE MANAGEMENT SYSTEMS) SQL, LENGUAJE DE CONSULTAS STRUCTURED QUERY LANGUAGE
CONCEPTOS DE ORIENTACIÓN POR OBJETOS (L3) ENCAPSULAMIENTO HERENCIA POLIMORFISMO AGREGACIÓN / COMPOSICIÓN
OBJETOS PostgreSQL(L3) BASE DE DATOS ESQUEMAS -> OBJETOS A PARTIR DE LOS ESQUEMAS SE CREAN LOS OBJETOS OBJETOS PSQL: AGGREGATES, CONVERSIONS, DOMAINS, FUNCTIONS, TRIGGER FUNCTIONS, OPERATORS, OPERATOR CLASES, SEQUENCES, TABLES, TYPES, VIEWS
IMPLEMENTACIÒN ORIENTACIÒN OBJETOS PostgreSQL(L3) MECANISMO DE HERENCIA (TABLAS HEREDANDO DE OTRAS TABLAS) CLASES DE OPERADORES (AGRUPANDO OPERADORES)
MODELO CLIENTE SERVIDOR (pgsql --- SERVIDOR) (pgadminiii --- CLIENTE (herramientas WEB -- CLIENTE) A PostgreSQL (L4) LICENCIA OPEN SOURCE GNU, GENERAL PUBLIC LICENCE (http://www.gnu.org/licences/) PAGINA OFICIAL PostgreSQL (http://www.postgresql.org) DOCUMENTACIÓN (http://www.postgresql.org/docs)
CARACTERÍSTICAS DE PostgreSQL(l5) BASADO EN POSTGRESS 4.2 UNIVERSIDAD DE BERKELEY SOPORTA STANDARD SQL 2003 CARACTERÍSTICAS MODERNAS: CONSULTAS COMPLEJAS, CLAVES FORÁNEAS, TRIGGERS, VISTAS,INTEGRIDAD TRANSACCIONAL, CONTROL DE CONCURRENCIA EXTENSIÓN DE PostgreSQL: TIPOS DE DATOS, FUNCIONES, OPERADORES, FUNCIONES AGREGADAS, METODOS INDEZADOS, LENGUAJES PROCEDIMENTALES
PostgreSQL ES (L5) DBMS (DATA BASE MANAGEMENT SYSTEM) MANEJADOR DE BASE DE DATOS RELACIONAL LENGUAJE SQL OPEN SOURCE DISEÑADO PARA MANEJAR BASES DE DATOS GRANDES SOPORTA DEFINICIÓN DE DATOS Y MANIPULACIÓN DE DATOS
postgresql ESPECIFICACIONES TÉCNICAS (L5) COMPATIBLE CON ANSI 92 Y 99 PgSQL (LENGUAJE DE PROGRAMACIÓN NATIVO) INTEGRACIÓN CON OTROS LENGUAJES : JAVA, C, C++, TCL, PHYTON, PERL HERENCIA INCORPORADA MANEJO DE TIPOS DE DATOS ESTRUCTURADOS (ARREBLOS Y ESTRUCTURAS) CREACIÓN DE FUNCIONES AGREGADAS COMO (SUM, AV) CONCEPTO DE COLECCIONES Y SECUENCIAS ODBC Y JDBC DRIVERS DISPONIBLES
LENGUAJE DE DEFINICION DE DATOS (L6) CREATE ALTER DROP TABLESPACE (extensión PostgreSQL) CREATE ALTER DROP DATABASE CREATE ALTER DROP SCHEME (extensión PostgreSQL) CREATE ALTER DROP TABLE CREATE ALTER DROP INDEX
CREANDO UNA BASE DE DATOS (L7) CREATE DATABASE <nombre> BASES DE DATOS PERTENECEN A UN TABLESPACE DE NO INDICARSE EL TABLESPACE SE USA EL DEFAULT SE PUEDE UTILIZAR UN TEMPLATE PARA SU CREACIÓN
ELIMINANDO UNA BASE DE DATOS (L7) DROP DATABASE <nombre> BORRA LA BASE DE DATOS Y TODAS LAS TABLAS ASOCIADAS (OBJETOS ASOCIADOS) ELIMINA EL DIRECTORIO O LOS DIRECTORIOS ASOCIADOS A LAS BASES DE DATOS (PostgreSQL CREA UN ID INTERNO PARA LAS BASES DE DATOS)
UTILIZANDO UNA BASE DE DATOS (L7) UN CLUSTER DE BASES DE DATOS DE PostgreSQL CONTIENE VARIAS BASES DE DATOS UNA CONEXIÓN CLIENTE ÚNICAMENTE PUEDE ACCEDER A UNA BASE DE DATOS, LA ESPECIFICADA EN LA CONEXIÓN UNA BASE DE DATOS SE COMPONE DE VARIOS ESQUEMAS (SCHEMES)
ESQUEMAS EN PostgreSQL (L7) CONJUNTO DE OBJETOS DE BASE DE DATOS PERMITE ORGANIZAR LÓGICAMENTE LA BASE DE DATOS PERMITE PARTICIONAR LA BASE DE DATOS ESTABLECER JERARQUÍAS DE NOMBRES EN LAS BASES DE DATOS (EJEMPLO DOS TABLAS CON EL MISMO NOMBRE EN ESQUEMAS DIFERENTES) NOMBRES CALIFICADOS basedatos.esquema.objeto
CREANDO UNA TABLA (1/2) (L8) CREATE [TEMPORARY] TABLE <nombre> [(defcolumna,.)] [opciones_tabla] [inst_seleccion] defcolumna: <nombre columna> <tipo> [NOT NULL NULL] [DEFAULT <valor>] [AUTOINCREMENT] [PRIMARY KEY] [referencia] tipo : INT(X), DECIMAL(X,Y), CHAR(N), VARCHAR(N) TIPOS MÁS COMPLEJOS: arreglos, estructuras de datos
CREANDO UNA TABLA (2/2) (L8) SE CREAN ARCHIVOS INTERNOS DEPENDIENDO DEL TABLESPACE
MODIFICANDO UNA TABLA (L8) ALTER TABLE [ ONLY ] <nombre> instralter instralter : ADD [COLUMN] defcolumna ALTER [COLUMN] <nombrecolumna> defcolumna DROP [COLUMN] <nombrecolumna>
ELIMINANDO UNA TABLA (L8) DROP TABLE <nombre>, <nombre>,,, [RESTRICT CASCADE]
MANIPULACION DE DATOS, (L9) CONSULTAS, SELECT FROM WHERE ACTUALIZACIONES, UPDATE SET WHERE INSERCIONES, INSERT INTO VALUES ELIMINACIONES, DELETE FROM WHERE
INSTRUCCIÓN SELECT (L10) SELECT [DISTINCT ALL [ON expression]] <exprseleccion> [FROM <esptablas> [WHERE <condicion>] [GROUP BY [ASC DESC]] [ORDER BY [ASC DESC] ] EJEMPLOS
INSTRUCCIÓN INSERT (L11) INSERT INTO TABLE (<col1>,<col2>,, <coln>) VALUES (<val1>,<val2>,,<valn>) INSERT INTO TABLE VALUES (<val1>, <val2>,, <valn>)
INSTRUCCIÓN UPDATE (L11) UPDATE TABLE <nombre> SET <col1> = <val1>,. [FROM <lista> ] [WHERE <condicion>]
INSTRUCCIÓN DELETE(L11) DELETE FROM TABLE [WHERE <condicion>] SI NO SE ESPECIFICA CONDICIÓN, SE ELIMINA TODA LA TABLA
PostgreSQL EN UNA LINEA DE COMANDOS, SERVIDOR (L12) PUERTO DE PostgreSQL 5432 COMANDO postmaster (levanta el servidor de la Base de Datos) COMANDO pg_ctl start (WRAPPER levanta el servidor) ESTILO SERVICIO service postgresql
PostgreSQL ARCHIVO DE CONFIGURACIÓN (L12) postgresql.conf SE ALMACENA EN EL DIRECTORIO DE LOS DATOS \PostgreSQL\8.0\Data EJEMPLO # COMENTARIOS log_connections = yes log_destination = 'syslog' search_path = '$user, public'
PATTERN MATCHING (L13) TRES MANERAS DIFERENTES DE REALIZAR PATTERN MATCHING EN POSTGRESQL A) OPERADOR LIKE DE SQL TRADICIONAL B) OPERADOR SIMILAR TO (SQL 99) C) EXPRESIONES REGULARES POSIX
OPERADOR LIKE (L13) <EXPR> LIKE <PATRON> [ESCAPE escape-char ] SELECT * FROM materias WHERE codigo LIKE "LL%" CARACTERES DE ESCAPE %, MATCHEA CUALQUIER NÚMERO DE CARATERES, INCLUSIVE CERO CARACTERES -, MATCHEA UN SOLO CARACTER \, CARACTER DE ESCAPE SI SE DESEA MATCHING DE LOS CARACTERES % Y -
OPERADOR SIMILAR TO (L13) <EXPR> SIMILAR TO <PATRON> [ESCAPE escape-char ] MUY SIMILAR A LIKE (UNA MEZCLA DE LIKE CON POSIX) CARACTERES DE ESCAPE (ADICIONALES A LIKE), DENOTA OPERADOR O (ALTERNANCIA) +, REPETICION DE 1 O MAS ITEMS *, REPETICION DE O O MAS ITEMS (), AGRUPACIÓN LÓGICA
PATTERN MATCHING, OPERADORES POSIX (L13) ~ MATCH UNA EXPRESIÓN REGULAR SENSITIVA A MAYÚSCULAS ~* MATCH UNA EXPRESIÓN REGULAR SENSITIVA A MAYÚSCULAS!~ NO REALIZA MATCH DE UNA EXPRESIÓN REGULAR SENSITIVA A MAYÚSCULAS!~* NO REALIZA MATCH UNA EXPRESIÓN REGULAR SENSITIVA A MAYÚSCULAS
OPERADORES ESCALARES (1/2) (L14) COUNT <expr>, NÚMERO DE REGISTROS COUNT <*>, NÚMERO DE REGISTROS NO NULOS COUNT (DISTINCT <expr>,<expr>, ) AVG (<expr>) MIN(<expr>) MAX(<expr>)
OPERADORES ESCALARES (2/2) (L14) SUM <expr> STD (<expr>) POR LO GENERAL LOS OPERADORES ESCALARES SE COMBINA CON LA CLAÚSULA GROUP BY
HERENCIA DE TABLAS (L15) CREATE TABLE hijo INHERITS padre HEREDA TODA LA DEFINICIÓN DEL PADRE SE CREA UNA RELACIÓN PERSISTENTE ENTRE LOS PADRES Y LOS HIJOS COMANDOS DE BÚSQUEDA, BUSCAN INFORMACIÓN EN LAS TABLAS DE LA JERARQUÍA
PostgreSQL EN MODO BATCH (L16) MUY LIGADO AL SISTEMA DE OPERACION POSIBILIDAD DE TRABAJAR CON SCRIPTS ALMACENADOS EN TEXTO