Base de datos relacional

Share Embed Donate


Short Description

Download Base de datos relacional...

Description

ESQUEMA: BASES DE DATOS RELACIONALES 1. INTRODUCCION A LAS BASES DE DATOS SISTEMA DE INFORMACIÓN: ES UN CONJUNTO DE ELEMENTOS ORDENADAMENTE RELACIONADOS ENTRE SÍ DE ACUERDO A CIERTAS REGLAS, QUE APORTAN A LA ORGANIZACIÓN A LA QUE SIRVEN LA INFORMACION NECESARIA PARA EL CUMPLIMIENTO DE SUS FINES. FUNCIONES BASICAS: RECOGIDA, PROCESAMIENTO Y ALMACENAMIENTO DE DATOS, ASÍ COMO LA ELABORACIÓN Y PRESENTACIÓN DE LOS MISMOS. SISTEMA DE INFORMACION MECANIZADO: ES AQUÉL QUE ESTÁ SOPORTADO POR UN COMPUTADOR. BASE DE DATOS (BD): ES UNA COLECCIÓN ESTRUCTURADA DE DATOS DE FORMA QUE REFLEJEAN FIELMENTE LOS OBJETOS, LAS RELACIONES Y LAS RESTRICCIONES EXISTENTES EN LA PARCELA DEL MUNDO REAL DE LA CUAL LA BASE DE DATOS ES UNA REPRESENTACIÓN. SISTEMA DE GESTIÓN DE BASES DE DATOS (SGBD): ES UNA HERRAMIENTA SOFTWARE QUE PERMITE LA CREACIÓN Y MANIPULACIÓN DE BASES DE DATOS. ESTA BASADO EN UN MODELO DE DATOS (CONJUNTO DE CONCEPTOS Y REGLAS QUE PERMITEN ESTRUCTURAR LOS DATOS RESULTANTES DE LA OBSERVACIÓN DE LA REALIDAD DE FORMA QUE QUEDEN REPRESENTADAS LA PROPIEDADES, TANTO ESTÁTICAS COMO DINÁMICAS, DE ELLA). CARACTERISTICAS DE LAS TÉCNICAS DE BASES DE DATOS: • INTEGRACIÓN DE TODA LA INFORMACIÓN DE LA ORGANIZACIÓN. • PERSISTENCIA DE LOS DATOS: DISPONIBLES EN TODO MOMENTO. (MEMORIA SECUNDARIA) • ACCESIBILIDAD SIMULTÁNEA PARA DISTINTOS USUARIOS. • DESCRIPCION UNIFICADA DE LOS DATOS E INDEPENDIENTE DE LAS APLICACIONES. • INDEPENDENCIA DE LAS APLICACIONES RESPECTO A LA REPRESENTACIÓN FISICA DE LOS DATOS. • DEFINICIÓN DE VISTAS PARCIALES DE LOS DATOS PARA DISTINTOS USUARIOS. (SOLO CONTIENEN AQUELLOS DATOS QUE LES INTERESA). • MECANISMOS PARA ASEGURAR LA INTEGRIDAD Y LA SEGURIDAD DE LOS DATOS. ARQUITECTURA DE NIVELES DEL SGBD: UTILIZADA PARA LA PROTECCIÓN DE LA INDEPENDENCIA DE DATOS DE LAS POSIBLES ABSTRACCIONES DE DATOS. TRES NIVELES DE ABSTRACCIÓN: • NIVEL LÓGICO: DEFINICIÓN DE LAS ESTRUCTURAS DE DATOS QUE CONSTITUYEN LA BASE DE DATOS. • NIVEL FÍSICO. SE ELIGE UNA IMPLEMENTACIÓN PARA CADA UNA DE LAS ESTRUCTURAS DEFINIDAS EN EL ESQUEMA LÓGICO. • NIVEL EXTERNO: SE DEFINEN VISTAS PARCIALES DE LA BASE DE DATOS PARA DISTINTOS GRUPOS DE USUARIOS. EL SGBD DEBE ASEGURAR QUE LOS CAMBIOS REALIZADOS EN CUALQUIERA DE LOS NIVELES NO AFECTE A LOS NIVELES SUPERIORES. 1

2. EL MODELO RELACIONAL: EL MODELO RELACIONAL DE DATOS (PERSPECTIVA ALGEBRAICA): CONJUNTO DE ESTRUCTURAS DE DATOS QUE DEFINEN SUS OPERADORES DE ACTUALIZACIÓN Y CONSULTA. • ESTRUCTURA DE DATOS: • TUPLA: CONJUNTO DE NOMBRES DE ATRIBUTOS RELACIONADOS A PARES CON LOS DOMINIOS DE DICHOS ATRIBUTOS. OPERADORES: ASIGNAR,CONSULTAR. (ASIGNAR(T,DIRECCION,COLON 4); CONSULTAR(T,NOMBRE)=PEPA GÓMEZ ). • RELACIÓN: ES UN CONJUNTO DE TUPLAS DEL MISMO ESQUEMA. SE MIDE EL GRADO DE UNA RELACIÓN POR EL NÚMERO DE ATRIBUTOS DE SU ESQUEMA (COLUMNAS) Y CARDINALIDAD DE UNA RELACION AL NÚMERO DE TUPLAS QUE LA FORMAN (FILAS). OPERADORES: INSERCION, BORRADO, SELECCIÓN, PROYECCIÓN, UNIÓN, DIFERENCIA, PRODUCTO CARTESIANO. • ÁLGEBRA RELACIONAL: CONJUNTO DE OPERADORES QUE ACTÚAN SOBRE RELACIONES. OPERADORES CONJUNTISTAS (UNIÓN, INTERSECCIÓN, DIFERENCIA Y PRODUCTO CARTESIANO), OPERADORES PROPIAMENTE RELACIONALES (SELECCIÓN, PROYECCIÓN, DIVISIÓN Y CONCATENACIÓN) Y OPERADOR RENOMBRAR. EL MODELO RELACIONAL DE DATOS (PERPECTIVA LÓGICA): JUSTIFICADO POR EL HECHO QUE EL LENGUAJE ACEPTADO COMO ESTÁNDAR ACTUAL PARA LOS SISTEMAS RELACIONALES, EL LENGUAJE SQL, ES UN LENGUAJE LÓGICO. LA LÓGICA DE 1ER ORDEN ES UN SISTEMA FORMAL QUE PERMITE RAZONAR SOBRE UN UNIVERSO DE DISCURSO O DOMINIO, PARA SU FORMALIZACIÓN HAY QUE SEGUIR TRES PASOS: • SE DEBE DEFINIR UN LENGUAJE DE 1ER ORDEN (L) PARA PODER REFERIRSE A LOS INDIVIDUOS Y A LAS PROPIEDADES DEL UNIVERSO DE DISCURSO. • EL CONOCIMIENTO QUE SE TIENE SOBRE LOS PREDICADOS SE DENOMINA INTERPRETACIÓN (I) DEL LENGUAJE DE 1ER ORDEN EN EL DOMINIO D. • LA EVALUACIÓN DE F EN I SE REALIZA SIGUIENDO UNAS REGLAS FIJAS QUE INDICAN CÓMO EVALUAR (INTERPRETAR) CADA ELEMENTO DE LA FÓRMULA EN I. EJEMPLO: L: I: Constantes={Luis,Maria,Juan,AD1,BDA} D={Luis,Maria,Juan,AD1,BDA} Predicados={Alumno(.),Asignatura(.), Alumno={Juan,Luis,Maria} Matricula(.,.)} Asignatura={AD1,BDA} Variables={x,y} Matricula={(Luis,AD1),(Juan,BDA)} Conectivas={!,¬,","} Cuantificadores={","} ¿Qué alumnos están matriculados en `BDA'? F:Alumno(x) " Matricula(x,'BDA') 2

RESTRICCIONES DE INTEGRIDAD: NO PERMITEN LA EXISTENCIA DE RELACIONES QUE NO REPRESENTAN UN ESTADO POSIBLE DEL MUNDO REAL QUE ESTÁN REPRESENTANDO. • RESTRICCIÓN DE UNICIDAD: NO DEBE HABER EN LA RELACIÓN DOS TUPLAS QUE TENGAN EL MISMO VALOR EN TODOS LOS ATRIBUTOS DEL CONJUNTO K (2 VALORES IGUALES EN LA MISMA COLUMNA). • RESTRICCIÓN DE VALOR NO NULO: NO DEBE HABER EN LA RELACIÓN UNA TUPLA QUE TENGA VALOR NULO EN ALGÚN ATRIBUTO DE K (NO DEBE HABER NINGUNA CASILLA DE LA COLUMNA VACIA). • CLAVE PRIMARIA: CONJUNTO DE ATRIBUTOS DE SU ESQUEMA QUE SÓN ELEGIDOS PARA SERVIR DE IDENTIFICADOR UNÍVOCO DE SUS TUPLAS. REQUISITOS: MINIMAL (NECESSARIO), NO VALORES NULOS, UNICO PARA CADA TUPLA. • CLAVE AJENA: EXPRESAN RELACIONES ENTRE LOS OBJETOS REPRESENTADOS, INCLUYENDO EN EL ESQUEMA DE UNA RELACIÓN ATRIBUTOS DE OTRA (UTILIZADA PARA RELACIONAR TABLAS). 3. EL LENGUAJE SQL. EL LENGUAJE SQL: CONTIENE INSTRUCCIONES CORRESPONDIENTES A TODOS LOS ASPECTOS DE DEFINICIÓN, MANIPULACIÓN Y CONTROL DE UNA BASE DE DATOS RELACIONAL. DEFINICIÓN−CREATE SQUEME: PERMITE DAR NOMBRE A UN ESQUEMA RELACIONAL Y DECLARAR EL USUARIO QUE ES EL CREADOR Y PORPIETARIO DE DICHO ESQUEMA (ESTE TIENE TODOS LOS PRIVILEGIOS). CREATE SQUEME [esquema] [AUTHORIZATION usuario] [lista_elemento_esquema] LA INSTRUCCIÓN QUE ELIMINA COMPLETAMENTE LA DEFINICIÓN DE UN ESQUEMA RELACIONAL Y SU SINTAXIS ES: DROP SCHEMA esquema {RESTRICT | CASCADE} RESTRICT (LA OPERACIÓN FALLA A MENOS QUE EL ESQUEMA ESTE VACÍO, SI ESTA VACIO ELIMINA LA DEF.). CASCADE (ELIMINA CADA UNO DE LOS OBJETOS INCLUIDOS EN EL ESQUEMA). DEFINICIÓN−CREATE DOMAIN: DEFINE UN NUEVO DOMINIO DE DATOS EN EL ESQUEMA RELACIONAL. CREATE DOMAIN dominio [AS] tipo_dato [DEFAULT {literal | función_sistema | NULL}] [definición_restricción_dominio] tipo_dato (CHAR[N], VARCHAR[N], INTEGER, FLOAT, DATE). DEFAULT (POR DEFECTO: USER Y CURRENT_USER (usuario), SESSION_USER (identificador sesion), SYSTEM_USER (id. del S.O.), CURRENT_DATE (fecha actual), CURRENT_TIME (hora actual), CURRENT_TIMESTAMP (fecha y hora actual)). definición_restricción_dominio ([CONSTANT restricción] CHECK (expresión_condicional) [comprovación_restricción]).

3

comprovación_restricción ([NOT] DEFERRABLE (al finalizar la transacción activa) o [NOT] (despues de cada actualización)). PARA MODIFICAR LA DEFINICION DE UN DOMINIO DEL ESQUEMA SE UTILIZA LA SINTAXIS SIGUIENTE: ALTER DOMAIN dominio {SET DEFAULT {literal | función_sistema | NULL} | DROP DEFAULT | ADD definición_restricción_dominio | DROP CONSTANT restricción } PARA ELIMINAR UN DOMINIO DEL ESQUEMA RELACIONAL SE UTILIZA LA OPERACIÓN: DROP DOMAIN dominio [RESTRICT | CASCADE] RESTRICT ( ELIMINA EL DOMINIO CUANDO NO SE HAGA REFERENCIA A EL EN NINGUNA DEFINICION DE TABLA, VISTA O DE RESTRICCIÓN DE INTEGRIDAD). CASCADE ( CUALQUIER DEFINICIÓN EN LA QUE SE HAGA REFERENCIA A ÉL ES ELIMINADA TAMBIÉN). DEFINICIÓN−CREATE TABLE: DEFINE LA TABLA, SU ESQUEMA Y LAS RESTRICCIONES ASOCIADAS. CREATE TABLE tabla comalista_definición_columna [comalista_definición_restricción_tabla] comalista_definición_columna ( columna {tipo_dato | dominio} [DEFAULT {literal | función_sistema | NULL}] [lista_definición_restricción_columna] ). lista_definición_restricción_columna ( NOT NULL (no valor nulo), clave primaria, clave ajena, de unicidad). comalista_definición_restricción_tabla ( [CONSTRAINT restricción] {PRIMARY KEY (comalista_columna) | UNIQUE (comalista_columna) | FOREIGN KEY (comalista_columna) REFERENCES tabla*[(comalista_columna*)] [MATCH {FULL | PARTIAL}] [ON UPDATE [CASCADE | SET NULL | SET DEFAULT | ON ACTION]] [ON DELETE [CASCADE | SET NULL | SET DEFAULT | NO ACTION]] | CHECK expresión_condicional} [comprovación_restricción] ). FOREIGN KEY ( CLAVE AJENA). CHECK (RESTRICCIONES GENERALES SOBRE LA TABLA. LA RESTRICCIÓN DE CHECK NO SE SATISFACE SI LA SIGUIENTE FÓRMULA ES CIERTA: EXISTS (SELECT * FROM tabla WHERE NOT (expresión_condicional) ). MATCH ( MATCH FULL: SI EN LAS COLUMNAS DE LA CLAVE AJENA EXISTE VALOR TAMBIEN EN LA REFERNCIADA(O TODO O NADA). MATCH PARTIAL: SI EN ALGUNA COLUMNA DE LA CLAVE AJENA EXISTE VALOR EN LA REFERENCIADA EL VALOR ES IDENTICO. SIN MATCH: LOS DATOS DE LA CLAVE AJENA EXISTEN EN LA REFERENCIADA.). LA OPERACIÓN PARA MODIFICAR LA DEFINICIÓN DE UNA TABLA TIENE LA SIGUIENTE SINTAXIS:

4

ALTER TABLE tabla_base {ADD [COLUMN] definición_columna | ALTER [COLUMN] columna {SET DEFAULT {literal | función_sistema | NULL} | DROP DEFAULT} | DROP [COLUMN] columna {RESTRICT | CASCADE} } LA INSTRUCCIÓN QUE ELIMINA UNA TABLA DEL ESQUEMA RELACIONAL TIENE LA SIGUIENTE SINTAXIS: DROP TABLA tabla_base {RESTRICT | CASCADE} DEFINICIÓN−CREATE VIEW: PERMITE DAR LA DEFINICIÓN DE UNA VISTA O RELACIÓN DERIVADA EN EL ESQUEMA RELACIONAL. CREATE VIEW vista [(comalista_columna)] AS expresión_tabla [WITH CHECK OPTION] WITH CHECK OPTION (permite que el sistema rechace una operación de inserción de una vista si la fila que es insertada no cumple las condiciones de la expresión de tabla de la definición de la vista). LA INSTRUCCIÓN PARA ELIMINAR LA VISTA ES: DROP VIEW vista {RESTRICT | CASCADE} DEFINICIÓN−CREATE ASSERTION: PARA RESTRICCIONES GENERALES QUE AFECTAN A MÁS DE UNA TABLA. CREATE ASSERTION restricción CHECK (expresión_condicional) [comprobación_restricción] LA BASE DE DATOS SATISFACE LA RESTRICCIÓN SI LA CONDICIÓN SE EVALÚA A CIERTO. PARA ELIMINARLA: DROP ASSERTION restricción DEFINICIÓN−GRANT: CLAUSULA PARA OTORGAR PRIVILEGIOS SOBRE UN OBJETO (TABLA O VISTA). GRANT { ALL | SELECT | INSERT[(comalista_columna)] | DELETE | UPDATE[(comalista_columna)]} ON objeto TO {comalista_usuarios | PUBLIC } [WITH GRANT OPTION] Objeto (NOMBRE DE UNA TABLA O VISTA DEL ESQUEMA) ALL (CONCEDE TODOS LOS PRIVILEGIOS) LOS USUARIOS SE DECLARAN POR MEDIO DE SU IDENTIFICADOR. EN CASO DE INCLUIR PUBLIC EL PRIVILEGIO ES PARA TODOS LOS USUARIOS. WITH GRANT OPTION (CONCEDE PERMISO PARA CEDER A TERCEROS LOS PRIVILEGIOS OBTENIDOS). LA INSTRUCCIÓN QUE PERMITE QUITAR UN PRIVILEGIO OTORGADO A UN USUARIO O GRUPO SE DEFINE: REVOKE [GRANT OPTION FOR] { ALL | SELECT | INSERT[(comalista_columna)] | DELETE | UPDATE[(comalista_columna)] } ON objeto TO {comalista_usuarios | PUBLIC } { RESTRICT | CASCADE }

5

CONSULTAS: instrucción SELECT: LA SINTAXIS BÁSICA DE LA INSTRUCCIÓN SELECT ES LA SIGUIENTE: SELECT [ALL | DISTINCT] comalista_item_seleccionado FROM comalista_referencia_tabla [WHERE espresión_condicional] [GROUP BY comalista_referencia_columna] [HAVING expresión_condicional] comalista_item_seleccionado (ESPECIFICA LA INFORMACIÓN QUE SE DESEA OBTENER DE LA BASE DE DATOS). FROM comalista_referencia_tabla (INDICA DE QUE TABLAS SE DEBE OBTENER LA INFORMACIÓN BUSCADA). WHERE expresión_condicional (SUBCONJUNTO DEL QUE SE DESEA OBTENER CIERTOS DATOS INCLUIDAS EN FROM). GROUP BY comalista_referencia_columna (PERMITE HACER CONSULTAS AGRUPADAS PARA EXTRAER INFORMACIÓN GLOBAL SOBRE LOS GRUPOS FORMADOS, COMO SON SUMATORIOS, MEDIAS, MÁXIMOS, MÍNIMOS, ETC). HAVING expresión_condicional (PERMITE EXPRESAR CONDICIONES EN LAS CONSULTAS AGRUPADAS QUE SON CONCERNIENTES A LOS GRUPOS FORMADOS) ALL | DISTINCT ( SI SE DESEA O NO QUE LA RESPUESTA CONTENGA FILAS IDÉNTICAS). espresión_condicional: LA CONDICIÓN ESTA FORMADA POR UN CONJUNTO DE PREDICADOS COMBINADOS CON LA CONECTIVAS LÓGICAS AND, OR Y NOT. LOS PREDICADOS UTILIZADOS EN ESTE TIPO DE CONSULTAS SON: • PREDICADOS DE COMPARACIÓN: PUEDE SER UNO DE LOS SIGUIENTES ( =, , >, = Y
View more...

Comments

Copyright � 2017 NANOPDF Inc.
SUPPORT NANOPDF