Los modelos de datos y el modelo objeto relacional

4,465 views
4,301 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,465
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
106
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Los modelos de datos y el modelo objeto relacional

  1. 1. Los Modelos de Datos y el Modelo Objeto-Relacional Página 1 de 27OBJETIVOS GENERALES: 1. Desarrollar habilidades en el modelado semántico de datos. 2. Lograr una visión general y una diferenciación clara entre los modelos de datos de alto nivel y los de bajo nivel. 3. Desarrollar habilidades en el diseño de bases de datos.CONTENIDOS:Tema 1.- Modelado semántico de datos • Modelo Entidad - Relación Extendido (E-R-E)Tema 2.- Modelos básicos • Jerárquico y redes • Relacional • Objeto-Relacional • Transformación de los modelos de alto nivel al esquema objeto-relacional • Enfoque por descomposición • Normalización o 1FN o 2FN o 3FN o 4FN o 5FN • Restricciones de integridad.Tema 3.- Lenguajes de consulta del modelo relacional y objeto-relacional • Algebra relacional y SQL3 (estático, dinámico, compuesto y recursivo) Reglas de integridad referencial o triggers • Cálculo relacional de tuplas y QUEL. • Cálculo relacional de dominios y QBE.Ejercicios resueltos y propuestos.ACTIVIDADES: 1. Realizar ejercicios prácticos en el modelado semántico de datos. 2. Realizar ejercicios prácticos con modelos básicos de datos. 3. Desarrollar ejercicios prácticos para transformar modelos de alto nivel a los de bajo nivel. 4. Diseñar bases de datos objeto-relacionales.INTRODUCCION:Los modelos de datos son medios formales para representar los datos asociados a una situación realy para manipular tal representación [DAT-93]. La figura 1 ilustra el concepto anterior. Lascomponentes de todo modelo de datos son las siguientes:
  2. 2. Los Modelos de Datos y el Modelo Objeto-Relacional Página 2 de 27Figura 1. Modelado de datos. • Las estructuras básicas son los elementos básicos o tipos de objetos que conforman el modelo. • Las reglas que es el conjunto de lineamientos que expresan las propiedades estáticas del modelo. Ellas son: o Las reglas de formación, y o Las restricciones. • Los operadores que permiten cambiar el estado de una base de datos modificando su contenido. Ellos están asociados a las propiedades dinámicas de los elementos.Los modelos de datos se pueden clasificar en: modelos de alto nivel o semánticos y modelos de bajonivel o básicos.Los modelos semánticos capturan un mayor significado de los datos e intentan representar laestructura real de los datos independientemente de las características de almacenamiento, es decirellos están orientados a las aplicaciones. Existen, hoy en día, numerosos y muy variados modelossemánticos, entre ellos se encuentran: el modelo Entidad-Relación de P. Chen en [Che-76], elmodelo Entidad-Relación-Extendido (ERE) de Teorey et al. en [T-86] y el modelo IFO propuestopor Abiteboul en [ABI- ]. De modelos anteriores solo será tratado el segundo de ellos en detalle másadelante.Los modelos básicos constituyen el grupo de modelos que han sido diseñados orientándose alcomputador, sobre ellos se han desarrollado la mayoría de los SMBD. Ellos son: el modelo dejerárquico, el modelo redes, el modelo relacional, el modelo orientado por objetos y el objeto-relacional. Al igual que los anteriores, ellos serán vistos en detalle en las secciones siguientes.
  3. 3. Los Modelos de Datos y el Modelo Objeto-Relacional Página 3 de 27 1.- Modelos semánticosMuchos modelos semánticos han sido propuestos, pero pocos de ellos han atraído el interés de losdesarrolladores de sistemas de base de datos, esto tal vez es debido a la complejidad de talesmodelos y a su dificultad para ser plasmados con los modelos básicos actuales. La mayoría de losconceptos del modelado semántico de datos han sido muy bien representados en el modelo ERE, elcual goza de gran prestigio y popularidad en el ambiente comercial, jugando un rol muy importanteen la mayoría de las herramientas CASE (Computer Aided Software Engineering).Modelo Entidad-Relación-Extendido (ERE)El modelo Entidad-Relación (E-R) propuesto por P. Chen en [CHE-76] fue la primera versión delmodelo ERE. Dicha primera versión se fue modificando con el paso del tiempo debido a lanecesidad de tener constructos mas adecuados para la gran diversidad de aplicaciones que existenhoy en día en el área de las bases de datos.Así, la proposición de P. Chen ha sido modificada y enriquecida semánticamente por otros autores.Debido al gran poder expresivo que tiene hoy en día, este modelo es el primero en popularidad y enutilización en la etapa de diseño conceptual de base de datos. En este modelo se emplea el enfoquede diseño de arriba-hacia-abajo y los conceptos de abstracción de datos.El modelo ERE representa la información por medio de tres conceptos básicos: entidades,relaciones y atributos. Su principal objetivo es producir vistas conceptuales de los datos de laaplicación. Cada vista se expresa en términos de los conceptos básicos ilustrados en los diagramasERE. El modelo está basado en la teoría de conjuntos y en la de las relaciones.Entidad, según el diccionario Larousse, es "lo que constituye la esencia del ser // colectividadconsiderada como una unidad". Para los efectos de las aplicaciones en base de datos Una entidad puede ser un objeto como: una casa, una planilla, un carro, etc.; un sujeto como una persona; o un evento o actividad como: un partido de football, un viaje, etc.Las entidades se agrupan en conjuntos denominados conjunto entidad y se representan en losdiagramas ERE como un rectángulo con el nombre del conjunto entidad dentro. La figura 2 muestraun ejemplo de dicha representación.Figura 2. Conjuntos entidad en los diagramas ERE.Una misma entidad puede pertenecer a varios conjuntos entidad. Por ejemplo, un médicohospitalizado pertenece a los conjuntos entidad paciente y médico.Una relación es una asociación entre dos o más entidades de un mismo tipo o de tipos diferentes.Las relaciones o asociaciones también se agrupan en conjuntos, recibiendo el nombre de conjuntorelación.
  4. 4. Los Modelos de Datos y el Modelo Objeto-Relacional Página 4 de 27Los conjuntos relación se representan gráficamente por medio de un rombo que encierra el nombreasociado al conjunto relación especificado.Ejemplos de estos son: propietario que asocia un automóvil a un empleado, dicta que asocia unprofesor con una asignatura, etc.La figura 3 ilustra el conjunto relación propietario.Figura 3. Conjunto relación en los diagramas ERE.La figura anterior también muestra los tipos de correspondencia entre los conjuntos entidadasociados por el conjunto relación propietario y la cardinalidad de dicha relación.Los tipos de correspondencia se refieren al número de entidades involucradas en la relación, en unsentido y en el sentido contrario. Así: 1:1 Una entidad del conjunto entidad 1 (C-E1) está asociada a una única entidad del C-E2. 1:N o N:1 Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 o viceversa. N:M Cada entidad del C-E1 está asociada a cero, una o más entidades del C-E2 y viceversa.La cardinalidad de la relación o asociación entre dos entidades expresa el número mínimo ymáximo de entidades relacionadas a través del conjunto relación, así en la figura 3 un empleadopuede ser propietario de ninguno o hasta 4 automóviles y un automóvil puede tener comopropietario uno y solo un empleado, esto implica que en la BD no hay ningún automóvil sinpropietario, pero si hay empleados que no tienen automóvil.Una entidad se describe por medio de sus atributos y una relación puede también ser descrita pormedio de atributos. Un atributo es una característica o propiedad específica de una entidad o deuna relación. Cada atributo se identifica con un nombre y se le asocia un dominio de valoresposible que puede tener en un momento particular.Los atributos se expresan en el modelo E-R con nombres que etiquetan las aristas entre el conjuntoentidad o relación a que pertenecen y el dominio asociado al mismo.Los dominios se expresan con óvalos identificados con un nombre, que es el nombre del dominio.La figura 4 completa el diagrama mostrado en la figura anterior.
  5. 5. Los Modelos de Datos y el Modelo Objeto-Relacional Página 5 de 27Figura 4. Atributos, dominios y claves en un diagrama ERE.Una clave o llave de un conjunto entidad o relación es un grupo de uno o más atributos queidentifican unívocamente cada entidad o relación del conjunto.La clave de un conjunto relación es siempre la concatenación de las claves de los conjuntos entidadque ella asocia.En la figura 4 se observan las claves de cada conjunto entidad y de la relación propietario.Un conjunto entidad es débil si su existencia depende de otro conjunto entidad. De igual manera,un conjunto relación es débil si él depende de otro.La figura 5 presenta un ejemplo de diagrama donde se observan ambos casos.Un objeto del conjunto entidad objeto existe en la BD si existe la entidad vista del conjunto entidadvista. Asimismo, la relación clave-obj existe si la relación vista-obj existe.
  6. 6. Los Modelos de Datos y el Modelo Objeto-Relacional Página 6 de 27Figura 5. Entidades y relaciones débiles en un diagrama ERE.Un conjunto entidad puede especializarse en otros conjuntos entidad mostrando los diferentes tiposde ese conjunto entidad.Asimismo, varios conjuntos entidad pueden generalizarse en un conjunto entidad genérico, en cuyocaso el proceso de abstracción realizado se denomina generalización y en el primer caso sedenomina especialización.Sin importar el proceso de abstracción realizado, el hecho es que existe en el diagrama un conjuntoentidad que es una superclase de otros conjuntos entidad denominados subclases, los cualesheredan de la superclase todos sus atributos.La herencia puede ser simple o múltiple, bien sea que herede de un solo conjunto entidad o devarios, respectivamente.La herencia también puede ser parcial o total, en caso que la extensión de la superclase tenga unnúmero de entidades diferente a la suma del número de entidades de sus subclases o que ese númerosea igual, respectivamente.Gráficamente la herencia parcial se representa con una arista simple, la total con doble arista y laconexión entre superclases y subclases se realiza con un círculo si hay más de una subclase,llevando siempre un arco que intersecta la arista para indicar cual es la subclase.
  7. 7. Los Modelos de Datos y el Modelo Objeto-Relacional Página 7 de 27Se puede dar el caso que las entidades de las extensiones de las subclases se solapen, lo cual seexpresa en el diagrama colocando una o en el círculo, indicando la conjunción de las entidades, siese no es el caso, pues las extensiones de las subclases son disjuntas, entonces se coloca una dindicando la disyunción de las extensiones.Un caso especial denominado categoría se presenta cuando una entidad de un conjunto entidadpuede ser una entidad heredada de 2 o más conjuntos entidad diferentes, pero cuyos atributos no seconcatenan, pues la entidad en la categoría puede ser una y solo una de las entidades de cualquierade las superclases.La categoría se presenta en el diagrama colocando en el círculo una U. La figura 6 muestra dosejemplos de categorías, uno donde un dueño puede ser una persona, un banco o una compañía y elotro donde una propiedad puede ser un edificio o un lote de terreno.Figura 6. Categorías y herencia en diagramas ERE. 2. Modelos básicosSon los modelos sobre los que se han desarrollado la mayoría de los SMBD, estos son: • Jerárquico y redes • Relacional • Orientado por objetos • Objeto-Relacional
  8. 8. Los Modelos de Datos y el Modelo Objeto-Relacional Página 8 de 272.1. Modelos jerárquico y redesEl modelo jerárquico está definido sobre la base de los conceptos básicos siguientes: • Campo: es la unidad de datos que posee un nombre. • Segmento: es una colección de campos consecutivos en la base de datos que posee un nombre y que constituye la unidad de intercambio entre la BD y los PA. Los segmentos están ligados por asociaciones 1:N donde un segmento padre tiene N segmentos hijos, bien sea en el ámbito de tipos o de ocurrencias, formando así un árbol de segmentos. • Árbol de segmentos: es una colección de segmentos ligados por asociaciones padre – hijos, organizados bajo la forma de una jerarquía. • Base de datos jerárquica: es una BD compuesta de un bosque de segmentos. Ella se representa con árboles de segmentos cuyos nodos son los segmentos y las aristas indican las asociaciones 1:N.La figura 7 muestra un ejemplo de una BD jerárquica para el control de las publicaciones de unalibrería.Figura 7. Base de datos jerárquica para el control de publicaciones.El mejor SMBD que representa este tipo de BD es un producto IBM denominado IMS/VS(Information Management System/Virtual Storage) cuya primera versión aparece en 1968. Paraejemplificar el nivel de detalle que debe ser usado en estos sistemas, se incluye la definición de laBD anterior en el lenguaje de definición de datos del IMS. En ella se observa que el ABD debellevar el control de los campos al nivel de bytes de inicio y de longitud en bytes. 1. DBD NAME = Publica 2. SEGM NAME = Tema, BYTES = 44 3. FIELD NAME = (NumTema, SEQ), BYTES = 4, START = 1 4. FIELD NAME = NomTema, BYTES = 40, START = 5 5. SEGM NAME = Publicacion, PARENT = Tema, BYTES = 96 6. FIELD NAME = (ISBN, SEQ), BYTES = 16, START = 1 7. FIELD NAME = Titulo, BYTES = 80, START = 17 8. SEGM NAME = Editorial, PARENT = Pub, BYTES = 40 9. FIELD NAME = (AñoPub, SEQ), BYTES = 4, START = 1 10. FIELD NAME = Editorial, BYTES = 34, START = 5 11. FIELD NAME = NroVolEditados, BYTES = 2, START = 39
  9. 9. Los Modelos de Datos y el Modelo Objeto-Relacional Página 9 de 27 12. SEGM NAME = Autor, PARENT = Pub, BYTES = 256 13. FIELD NAME = (NomAut, SEQ), BYTES = 20, START = 1 14. FIELD NAME = Direccion, BYTES = 236, START = 21El modelo de redes propuesto por el grupo DBTG de CODASYL está definido siguiendo losconceptos básicos dados a continuación: • Atomo o item de dato: es la unidad de datos que posee un nombre. • Agregado de datos: es una colección de átomos arreglados consecutivamente en la base de datos que posee un nombre. Ellos son de dos tipos: vectores o arreglos unidimensionales y grupos repetitivos. • Registro: es una colección de agregados y de átomos consecutivos en la base de datos y que constituyen la unidad de intercambio entre la BD y los PA. • Conjunto: es la asociación entre un registro propietario y n registros miembros. Las limitaciones del modelo hacen que un registro o tipo de registro no pueda ser propietario y miembro a la vez en el mismo conjunto y que una ocurrencia de un registro no pueda pertenecer a varias ocurrencias del mismo conjunto. • Base de datos en redes: es una BD compuesta de registros ligados o asociados entre ellos por los conjuntos. Ella se representa a nivel de tipo con un grafo de tipos de registros cuyos nodos son los tipos de registros y las aristas son los tipos de conjuntos orientados del propietario hacia los miembros.La figura 8 muestra un ejemplo de una BD en redes para una compañía productora de vinos.Figura 8. Base de datos vinícola en redes.
  10. 10. Los Modelos de Datos y el Modelo Objeto-Relacional Página 10 de 272.2. Modelo relacionalFue propuesto por E. Codd en 1970 [Cod-70] cuando trabajaba para IBM-San José. El modelo estábasado en la teoría de normalización de las relaciones, que permite eliminar el comportamientoanormal de las relaciones, luego de actualizaciones, así como el control de la redundancia de datos.Conceptos básicosLos conceptos básicos del modelo son:Dominio: es un conjunto de valoresEjm: D1 = {´rojo`, ´verde`, ´negro`, ´azul`} D2 = {`ford´, ´chevrolet`, ´fiat`, ´toyota`, ´renault`}Relación: es un subconjunto del producto cartesiano de una lista de dominios, no necesariamente disjuntos.Ejm: R1 = {(´rojo`,`ford´), (´verde`,`ford´), (´negro`, ´chevrolet`), (´azul`, ´toyota`)}R2 = {(´fiat`, ´verde`)}R3 = { } R D1 D2 ´verde` ´ford` ´azul` ´fiat`Atributo: es la columna de una relación identificada con un nombre.Ejm: R color marca ´verde` ´ford` ´azul` ´fiat`Esquema de una relación o de tabla: Es el nombre de la relación seguido de la lista de sus atributos con sus dominios. Un esquema de relación se puede representar por intensión o por extensión.
  11. 11. Los Modelos de Datos y el Modelo Objeto-Relacional Página 11 de 27Esquema de Carro por intensión: Carro(placa, marca, modelo, color) Esquema de Carro por extensión: tabla ↓ columna ↓ Carro placa marca modelo color fila o tupla → ´LGR889` ´toyota` ´corollaXL` ´azul` ´LAB110` ´ford` ´sierra280es` ´verde` ´XSG230` ´fiat` ´siena` ´azul`Base de datos relacional: Es una base de datos cuyo esquema es un conjunto de esquemas de relación de diferente nombre cada una, y donde sus ocurrencias son las tuplas de esas relaciones.Reglas de formación 1. Cada relación o tabla contiene un solo tipo de fila o tupla. 2. Cada tupla tiene un número fijo de atributos o columnas. 3. No se permiten atributos compuestos o grupos repetitivos. 4. Cada tupla es única y se identifica con su clave primaria. 5. Un atributo o grupo de ellos que identifiquen unívoca e inequívocamente cada tupla de la relación es una clave candidata. 6. La clave primaria de una relación se selecciona entre las claves candidatas. 7. Si un atributo A ∈ R1 es también la clave primaria de R2, entonces A es un atributo foráneo de R1. 8. El orden de las tuplas en la relación es irrelevante. 9. Los valores de los atributos deben pertenecer al dominio de cada atributo definido en ella. 10. Un mismo dominio puede ser usado por diferentes atributos. 11. A partir de una o más tablas se pueden producir nuevas tablas diferentes mediante el uso de las operaciones del álgebra relacional.Reglas de integridad • De la relación: ningún componente de un valor de los atributos que conforman la clave primaria puede ser nulo. • De referencia: sea A la clave primaria de R1 y también un atributo foráneo de R2, entonces para toda tupla de R2 donde A ≠ nulo debe existir la tupla correspondiente en R1. • De los valores de un atributo: son los predicados definidos por el administrador de bases de datos sobre los valores de los atributos usando el lenguaje de definición de datos.
  12. 12. Los Modelos de Datos y el Modelo Objeto-Relacional Página 12 de 27Ejemplo: fechaInicio ≤ fechaFin restricciones de integridad de fechaInscripción ≤ fechaInicio los valores de los atributos. Semestre código fechaInicio fechaFin fechaInscripción tupla → ´A98` 02/03/98 17/07/98 22/2/98 ´B98` 14/09/98 30/01/99 07/09/98 ´A99` 15/03/99 23/07/99 08/03/99Ejemplo de una base de datos relacionalCliente( codCli, nombre, balance, límiteCrédito, descuento)Envio( dirección, codCli)Pedido( codPed, línea, dirEnvio, codArt, cantidadPedida, cantidadEnviada)Artículo( codArt, nomArt, descripción)Inventario( codArt, codPlanta, cantidadExistencia, riesgo) Atributo Descripción Dominio codCli Código del cliente Cadena(4) nombre Nombre del cliente Cadena(40), sub(nombre,i,1)∈ {letras} balance Balance actual de la cuenta del cliente Real límiteCrédito Límite de crédito actual del cliente Real siempre positivo descuento Descuento actual que se le aplica al cliente Real siempre positivo dirección, dirEnvio Dirección de envío del cliente (un cliente Cadena(80),sub(dirección,i,1)∈ {letras}∪ puede tener varias) {/,-,’} con i desde 1 hasta 80 codPed Código de pedido Cadena(6) línea Línea del pedido Entero corto siempre positivo cantidadPedida Cantidad pedida del artículo Entero siempre positivo cantidadEnviada Cantidad enviada del artículo Entero siempre positivo codArt Código del artículo Cadena(6) nomArt Nombre del artículo Cadena(20),sub(nomArt,i,1)∈ {letras} descripción Descripción del artículo Cadena(255), sub(descripción,i,1)∈ {letras} codPlanta Código de la planta que tiene el artículo Cadena(2) cantidadExistencia Cantidad actual en existencia del artículo Entero siempre positivo riesgo Cantidad mínima del artículo en inventario Entero siempre positivoRestricción de integridad: cantidadPedida ≥ cantidadEnviada ≤ cantidadExistencia
  13. 13. Los Modelos de Datos y el Modelo Objeto-Relacional Página 13 de 272.3. Objeto-relacionalEste modelo es básicamente el mismo modelo relacional extendido con algunas facilidades delmodelo orientado por objetos, a saber: • Se pueden crear nuevos tipos de datos que pueden ser tipos compuestos, pero que deben ser soportados por el propietario del tipo, esto es debe definir al menos dos métodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro que convierte de ASCII al nuvo tipo. Se soportan tipos complejos como: registros, conjuntos, referencias, listas, pilas, colas y arreglos. • Se pueden crear funciones que tengan un código en algún lenguaje de programación, por ejemplo: SQL, Java, C, etc. • Se pueden crear operadores asignándole un nombre y asociandoselo a una función ya definida o creada con anterioridad. • Se soporta el encadenamiento dinámico y herencia en los tipos tupla o registro. • Posibilidad de incluir el chequeo de las reglas de integridad referencial a través de los triggers. • Soporte adicional para seguridad y activación de la versión cliente-servidor.2.4. Transformación de modelos de alto a bajo nivelLas reglas de transformación del modelo ERE al modelo relacional son las siguientes: 1. Cada conjunto entidad se convierte en un esquema de relación constituido por todos los atributos del conjunto entidad. Cada tupla en la relación es una entidad del conjunto entidad. La clave primaria de la relación es la misma del conjunto entidad. Ejemplo: Usuario(codUs, nomUs, apeUs, depUs) 2. Cada conjunto relación entre los conjuntos entidades que asocia se convierte en un esquema de relación cuya clave primaria es la concatenación de las claves primarias de los conjunto entidad que ella asocia y sus atributos no clave son los mismos del conjunto relación tratado. Ejemplo: Prestamo(codLib, codUs, fechaPres, fechaEntre)
  14. 14. Los Modelos de Datos y el Modelo Objeto-Relacional Página 14 de 27 3. Los conjuntos de valores del diagrama ERE se convierten en los dominios del modelo relacional. 4. Los conjunto entidades débiles se convierten en esquemas de relación con clave primaria igual a la concatenación de la clave primaria del conjunto entidad fuerte del cual depende con algún atributo propio del conjunto entidad débil que sirva para identificar unívocamente cada tupla de la relación. 5. Cada especialización es una tabla con los atributos de la especialización y con clave la del conjunto entidad general. Ejemplo: TrabajadorUniv(ced, nombre. apellido, fechaIngreso), Profesor(ced, catego, dedicac, fechaCatego, fechaDedicac), Empleado(ced, grado, fechaGrado, paso) 6. Una categoría es una subclase de la unión de dos o más superclases, por lo que se crea una clave para la categoría, y se coloca en las tablas de las superclases, si ellas tienen diferentes esquemas. Si las superclases tienen la misma clave, no es necesario utilizar la clave nueva o clave sustituta. Ejemplo: Persona(cedId, nombre, apellido, fechaNac, direccion, telefono, idDue), Banco(codBan, nombre, direccion, telefono, idDue), Compañía(codCom, nombre, direccion, telefono, idDue) con la categoría Dueño(idDue)
  15. 15. Los Modelos de Datos y el Modelo Objeto-Relacional Página 15 de 27Reglas adicionales en caso de convertir el modelo ERE al modelo objeto-relacional:2.5. Enfoque por descomposiciónConsiste en definir relaciones universales compuestas de todos los atributos de la base de datos yluego descomponerlas, utilizando el proceso de normalización en subrelaciones que no sufrenanomalías. • Enfoque por descomposición: es un proceso de refinamiento paso a paso que lleva al aislamiento de las entidades y asociaciones del mundo real [Cod-79].La teoría de la descomposición de las relaciones se basa en el uso de dos operaciones fundamentalesdel álgebra relacional, a saber: • Proyección: La proyección de una relación R(A1, A2, ..., An) sobre los atributos Ai1, Ai2, ..., Aip, con ij ≠ ik, es una relación R’ con esquema R’(Ai1, Ai2, ..., Aip) obtenida por eliminación de los valores de los atributos de R que no están en R’ y la supresión de las tuplas duplicadas. Notación: Π Ai1, Ai2, ..., Aip ( R ) Ejemplo: Si se tiene la relación Carro(placa, marca. modelo, color) la proyección sobre placa y marca de Carro es la relación R’ cuyo esquema está conformado por placa y marca.
  16. 16. Los Modelos de Datos y el Modelo Objeto-Relacional Página 16 de 27 R’ = Π placa, marca ( Carro ) R’’ = Π marca, color ( Carro ) Si Carro contiene las tuplas siguientes: Carro placa marca modelo color `LAB384’ ‘ford’ ‘escortXR-31’ ‘verde’ ‘LAM112’ ‘toyota’ ‘corollaXL’ ‘azul’ ´LGR889` ´toyota` ´corollaXL` ´azul` ´LAB110` ´ford` ´sierra280es` ´verde` ´XSG230` ´fiat` ´siena` ´gris` Entonces R’ y R’’ contendrán: R’ placa marca R’’ marca color `LAB384’ ‘ford’ ‘ford’ ‘verde’ ‘LAM112’ ‘toyota’ ‘toyota’ ‘azul’ ´LGR889` ´toyota` ´fiat` ´gris` ´LAB110` ´ford` ´XSG230` ´fiat` • Reunión natural: El producto, reunión o acoplamiento de dos relaciones R y S cuyos esquemas son R(A1, A2, ..., An) y S(B1, B2, ..., Bp) es una relación T con atributos que son la unión de los atributos de R y de S para las tuplas obtenidas por concatenación de las tuplas de R y S que tengan los mismos valores para los atributos de igual nombre. Notación: T = R S
  17. 17. Los Modelos de Datos y el Modelo Objeto-Relacional Página 17 de 27 Ejemplo: Si se tiene T’ = R’ R’’ T’ placa marca color `LAB384’ ‘ford’ ‘verde’ `LAB384’ ‘ford’ ´gris` ‘LAM112’ ‘toyota’ ‘azul’ ‘LGR889’ ‘toyota’ ‘azul’ ´ LAB110` ´ ford ` ´verde` ´LAB110` ´ford` ´gris` ´XSG230` ´ford` ´verde` ´XSG230` ´ford` ´gris` • Descomposición: es el reemplazo de una relación R(A1, A2, ..., An) por una colección de relaciones R’1, R’2, ..., R’n obtenidas de las proyecciones de R y tal que la relación resultado de las reuniones R’1 R’2 ... R’n tiene el mismo esquema que R. Ejemplo: R1 = Π placa, modelo, color ( Carro ) R2 = Π modelo, marca ( Carro ) R’ R’’ ≠ Carro pero R1 R2 = Carro • Descomposición sin pérdida: Es la descomposición de una relación R en R’1, R’2, ..., R’p tal que para toda extensión de R se tiene que: R = R’1 R’2 ... R’pEl problema de la concepción de bases de datos relacionales se reduce a la descomposición sinpérdida de las relaciones universales con todos sus atributos en subrelaciones que no contengananomalías.2.6. NormalizaciónEl esquema relacional es un modelo de la realidad bajo la forma de una colección de relaciones, elcual debe ser construído con el fin de que: a. la creación, modificación y supresión de datos sean eficaces. Para ello, es indispensable eliminar toda redundancia innecesaria. Idealmente, se desea que ante cualquier evento que ocurra en la realidad, éste se traduzca en el manejo de una sola tupla en la extensión del modelo relacional. b. la modificación del esquema relacional por la evolución de la percepción de la realidad, sea lo más simple posible. c. la comprensión de la realidad sea facilitada por el esquema.
  18. 18. Los Modelos de Datos y el Modelo Objeto-Relacional Página 18 de 27 • Dependencias funcionales:Sea R(A1, A2, ..., An) y X y Y dos subconjuntos del conjunto formado por {A1, A2, ..., An} . Se diceque X → Y (X determina a Y o que Y depende funcionalmente de X) si para toda extensión r de Ry para toda tupla t1 y t2 de r se tiene que: Π X ( t1 ) = Π X ( t2 ) implica que Π Y ( t1 ) = Π Y ( t2 )Ejemplo: 1. placa → marca placa → modelo placa → color placa → (marca, modelo) modelo → marca 2. (codigoMateria, cedulaEstudiante, semestre, año, sección) → nota Considerando varias secciones en una misma asignatura y la posibilidad de repitencia de un estudiante en una sección de una asignatura.Las dependencias funcionales, en adelante DF, se identifican mirando atentamente el significado delos atributos, no sus valores actuales, sino todos los valores posibles de ellos. Las DF debenaparecer en el esquema conceptual de una BD. • Propiedades de las DF: 1. Reflexibidad: Si Y ⊆ X ⇒ X → Y. Ejemplo: color → color y (marca, modelo) → marca 2. Aumento: Si X → Y ⇒ X Z → Y Z Ejemplo: modelo → marca ⇒ (modelo, color) → (marca, color) 3. Transitividad: Si X → Y y Y → Z entonces X → Z Ejemplo: placa → modelo y modelo → marca ⇒ placa → marca 4. Aditividad: Si X → Y y Y → Z entonces X → Y Z Ejemplo: placa → modelo y modelo → marca ⇒ placa → (modelo, marca) 5. Pseudo-transitividad: Si X → Y y X W Y → Z entonces W Y → Z Ejemplo: placa → modelo y (marca, modelo) → potencia ⇒ (placa, marca) → potencia 6. Descomposición: Si X → Y y Z ⊆ Y entonces X → Z
  19. 19. Los Modelos de Datos y el Modelo Objeto-Relacional Página 19 de 27 Ejemplo: placa → (modelo, marca) y modelo ⊆ (modelo, marca) ⇒ placa → modelo • Dependencias funcionales elementales:Una dependencia funcional elemental, en adelante DFE, es una DF de la forma X → A, donde A esun atributo único no incluído en X y donde no existe un X ⊂ X tal que X → AEjemplo: placa →DFE modelo, peroplaca →no es DFE (modelo, marca)La regla de inferencia que se aplica a las DFE es la transitividad. Las DFE se expresan en un grafode DFE donde los nodos son los atributos y las aristas son las DFE. En caso de tener más de unatributo en la parte izquierda de la DFE, ésta se expresa colocando una línea que acoja las aristas detodos los atributos de la parte izquierda y de ella sale una arista al atributo de la parte derecha,convirtiendo así el grafo de DFE en una red de DFE. Un ejemplo de grafo y de red de DFE semuestra en la figura 9.Figura 9. (a) Grafo de DFE. (b) Red de DFE.A partir de las DFE se pueden componer otras DFE utilizando la propiedad de transitividad. Elconjunto completo de todas las DFE se denomina cierre transitivo, formalmente se define como elconjunto de las DFE consideradas, enriquecidas con todas las DFE deducidas por transitividad.Notación: C+. Ejemplo: Para la relación Carro se tiene: C+ = {placa → marca, placa → modelo,placa → color, modelo → marca }A partir de C+ se define la equivalencia de dos conjuntos de DFE. Dos conjuntos de DFE sonequivalentes si tienen la misma C+. • Cobertura mínima: es el conjunto C de DFE asociado a un conjunto de atributos que verifican las propiedades siguientes:
  20. 20. Los Modelos de Datos y el Modelo Objeto-Relacional Página 20 de 27 a. ninguna DF es redundante en C, es decir para toda DF denotada f de C, C - f no es equivalente a C. b. toda DFE de los atributos está dentro de C+.Ejemplo: C = {placa → modelo, placa → color, modelo → marca }C es esencial para la descomposición sin pérdida. • Clave de una relación: es el conjunto X de atributos de una relación R(A1, A2, ..., An) tal que: a. X → A1, A2, ..., An b. no existe un subconjunto Y ⊂ X tal que Y → A1, A2, ..., AnPueden existir varios atributos que cumplan con esta definición dentro de una misma relación, ellosserán denominados claves candidatas y se escogerá entre las mismas una única clave primaria.Dentro de una relación, la clave primaria se subraya.Formas normalesEl objetivo de las tres primeras formas normales es permitir la descomposición de relaciones sinpérdida de información, a partir de las DFE y obtener así el esquema conceptual relacionalnormalizado. • Primera forma normal (1FN): Una relación está en 1FN si todo atributo contiene un valor atómico. Ejemplo: • Persona(cedula, nombre, apellido, sexo, telefono, direccion) los primeros cinco atributos son atómicos y el atributo direccion puede ser considerado atómico en aquellas aplicaciones donde esta columna no va a ser utilizada como un atributo de búsqueda, lo que implica que la relación Persona está en 1FN.
  21. 21. Los Modelos de Datos y el Modelo Objeto-Relacional Página 21 de 27 • Estudiante(cedula, apellido, nombre, escuela, materias, notas) es claro que los primeros cuatro atributos son atómicos, pero también es claro que los dos últimos no lo están, por lo tanto la relación no está en 1FN. Para convertirla a 1FN se proyecta en dos relaciones, obteniendo: Estudiante(cedula, apellido, nombre, escuela) Cursa(cedula, materia, nota) • Segunda forma normal (2FN): Una relación está en 2FN si y solo si: 1. la relación está en 1FN 2. todo atributo que no pertenece a una clave no puede depender de una parte de esa clave. Ejemplo: • Proveedor(codProv, codArt, dirProv, precio) Ella está en 1FN considerando la dirección como una columna atómica, pero dadas las DFE siguientes: (codProv, codArt) → precio y codProv → dirProv, ella no está en 2FN, pues hay un atributo no clave (dirProv) que depende de una parte de la clave. Para normalizarla se proyecta en dos relaciones: Proveedor(codProv, dirProv) ProveeArticulos(codProv, codArt, precio) • Carro(placa, marca, modelo, color) está en 2FN.La segunda forma normal permite eliminar las redundancias para que ningún atributo estédeterminado por una parte de una clave. • Tercera forma normal (3FN): Una relación está en 3FN si y solo si: 1. la relación está en 2FN 2. todo atributo que no pertenece a la clave no depende de un atributo que no es clave.
  22. 22. Los Modelos de Datos y el Modelo Objeto-Relacional Página 22 de 27 Ejemplo: • Carro(placa, marca, modelo, color) está en 2FN, pero no en 3FN ya que se tiene la DFE modelo → marca. Para normalizarla se proyecta en dos relaciones: Carro(placa, modelo, color) ModelosDeCarros(modelo, marca)La tercera forma normal permite asegurar la eliminación de redundancias debidas a lasdependencias transitivas. • Descomposición que preserva las dependencias funcionales: la descomposición {R1, R2, ..., Rn} de una relación R preserva las DF de R, si C+ de R es la misma que la de la unión de las DF de {R1, R2, ..., Rn}.Toda relación R tiene al menos una descomposición en 3FN tal que: 1. la descomposición preserve las DF. 2. la descomposición sea sin pérdida.Algoritmo de descomposición en 3FN:Este algoritmo propuesto por Bernstein en 1976 se basa en el principio siguiente: Se construye lacobertura mínima C y a partir de la misma se editan los atributos aislados, considerándolos comoclaves, luego se busca el conjunto más grande X de atributos que determine a otros A1, A2, ..., Ancon n ≥ 1 y como salida se genera la relación (X, A1, A2, ..., An). Las DFE utilizadas en laformación de esa relación se eliminan de C y todos los atributos aislados que no estén en las DFEque quedaron en C. Procedimiento Normalizar3FN( DFE ) 1. C = cobertura mínima de las DFE 2. At = Obtener los atributos aislados que pertenecen a C 3. reducir(C, At) 4. formar una R con los atributos restantes en At, si los hay 5. fin del procedimiento
  23. 23. Los Modelos de Datos y el Modelo Objeto-Relacional Página 23 de 27 Procedimiento reducir( C, At ) 1. repita mientras que una DFE en C no incluya todos los atributos o C esté vacío 1. buscar el conjunto más grande de atributos X tal que X → A1, ..., X → Ak 2. formar la relación R(X, A1, A2, ..., Ak) 3. eliminar de C las DFE utilizadas en R 4. eliminar de At los atributos que no pertenezcan ya a C 5. reducir(C, At) fin del repita mientras 2. regresarUn esquema normalizado hasta 3FN debe cumplir con el juramento siguiente: • Forma normal de Boyce-Codd (FNBC): Una relación está en FNBC si y solo si las solas DFE son aquellas dentro de las cuales una clave determina un atributo. Ejemplo: Examen(cedEst, codMat, cedProf, nota) está en 3FN (cedEst, codMat) → cedProf no está en FNBC si cedProf → codMat cada profesor dicta (cedEst, codMat) → nota una única materia
  24. 24. Los Modelos de Datos y el Modelo Objeto-Relacional Página 24 de 27 Para resolver el problema se proyecta para que cumpla con la FNBC Examen(cedEst, codMat, nota) Dicta(codMat, cedProf) No se preserva la DFE (cedEst, codMat) → cedProf En general, la descomposición en FNBC es sin pérdida pero NO preserva las DFE, después ellas pueden obtenerse por reunión o producto. • Dependencias multivaluadas (DM): Sea R(A1, A2, ..., A n) y X e Y dos subconjuntos de atributos de {A1, A2, ..., An}. Se dice que X -» Y, si dados los valores de X hay un conjunto de valores Y asociados y este conjunto es independiente de otros atributos Z = R – X – Y de R.Las DM caracterizan la independencia entre Y y Z correlacionadas por X.Las DF son un caso particular de las DM, por lo cual X → Y ⇒ X -» Y • Dependencias multivaluadas elementales (DME): Una DME es una DM X -» Y de una relación R tal que: a. Y no es vacío y es disjunto de X b. R no contiene otra DM del tipo X’ -» Y’ tal que X’ ⊂ X y Y’ ⊂ Y Ejemplo: EstMatDeporte (nroEst, codMat, deporte) EstMatDeporte nroEst codMat deporte 105 ‘PD10’ ‘tennis’ 105 ‘PD10’ ‘natación’ 145 ‘AL10’ ‘tennis’ 145 ´FI20’ ´futbol` nroEst -» codMat, nroEst-» deporte, pues un estudiante puede cursar varias materias y puede practicar varios deportes, pero codMat es independiente de deporte y en este caso solo están correlacionados a través de nroEst. • Cuarta forma normal (4FN): Una R está en 4FN si y solo si las solas DME son aquellas donde una clave determina un atributo. Una R en 4FN está en 3FN y en FNBC. Ejemplo: EstMatDeporte (nroEst, codMat, deporte) no está en 4FN, por lo que se proyecta según sus DME como: Cursa(nroEst, codMat) Practica(nroEst, deporte) • Teorema de Fagin (1979): R(A, B, C) se puede descomponer sin pérdida en R1(A, B) y R2(A, C) si y solo si se cumplen en R las DM A -» B | C. Demuestra que toda R tiene una descomposición, no siempre única, en 4FN sin pérdida de información.
  25. 25. Los Modelos de Datos y el Modelo Objeto-Relacional Página 25 de 27Ejemplo: Curso(nomCur, prof, texto) Curso nomCur Prof texto ‘Estadística’ ‘Perez’ ‘Estadística I’ ‘Estadística’ ‘Perez’ ‘Introducción a la estadística’ ‘Estadística’ ‘Mendez’ ‘Estadística I’ ‘Estadística’ ‘Mendez’ ‘Introducción a la estadística’ nomCur -» prof, nomCur-» texto Se proyecta como: TextoMateria(nomCur, texto) Dicta(nomCur, prof) • Dependencias de productos (DP): Existen relaciones que no es posible descomponerlas en 2 relaciones, pero si en 3, 4 o más relaciones. Sea R(A1, A2, ..., An) y X1, X2, ..., Xm subconjuntos de {A1, A2, ..., An}. Se dice que existe una DP simbolizada por *{X1, X2, ..., Xm} si R es el producto de sus proyecciones sobre X1, X2, ..., Xm, es decir si R = Π X1( R ) Π X2( R ) ... Π Xm( R ) Ejemplo: Si el proveedor #E suministra la pieza #P y en el proyecto #J se usan piezas #P y el proveedor #E suministra piezas al proyecto #J, entonces #E suministra #P al proyecto #J. Suministro(#E, #P, #J) está en 4FN Suministro #E #P #J E1 P1 J2 E1 P2 J1 E2 P1 J1 E1 P1 J1 No está en 5FN pues #E -» #P, #P -» #J, #J -» #E, no es posible descomponerla en 2 relaciones, pero si es posible en 3 relaciones, así: R1 #E #P R2 #P #J R3 #E #J E1 P1 P1 J2 E1 J2 E1 P2 P2 J1 E1 J1 E2 P1 P1 J1 E2 J1
  26. 26. Los Modelos de Datos y el Modelo Objeto-Relacional Página 26 de 27 Suministro ≠ R1 R2, Suministro ≠ R1 R3, Suministro ≠ R2 R3, Suministro = R1 R2 R3 • Quinta forma normal (5FN): Una relación R está en 5FN si y solo si toda DP está implicada por las claves candidatas de R. En la realidad no es común tener DP y es muy difícil darse cuenta de su existencia, por lo que Fagin en [Fag-79] presenta un algoritmo para probar si una DP está implicada por un conjunto de claves en R. 2.7. Restricciones de integridad La integridad de los datos en bases de datos accedidas por procesos concurrentes debe ser asegurada, mediante la aplicación de restricciones y reglas que aseguren la concordancia de los datos que la base de datos modela con los del mundo real. Restricciones de integridad: Son aserciones que deben verificar los datos en instantes determinados. Bases de datos coherentes: Son bases de datos donde el conjunto de restricciones de integridad (explícitas o implícitas) se respeta a todo lo largo de la vida útil de la BD. Tipos de restricciones de integridad: Se tienen ocho tipos que son los siguientes: 1. Restricciones de dominio o integridad de dominio: Están referidas al tipo de dato del atributo o columna. El valor que se puede asignar a una columna debe estar en el dominio especificado para dicha columna. Se permite a un dato estar marcado para contener un valor especial definido por el diseñador de la BD (NoDefinido), no contener valor alguno o contener el valor nulo si: a. Existe la posibilidad de desconocer la información (nulo aplicable) b. No tiene sentido asignar un valor del dominio (nulo inaplicable) Ejemplo: cant es de tipo Entero siempre positivo.
  27. 27. Los Modelos de Datos y el Modelo Objeto-Relacional Página 27 de 27 2. Restricciones de rango o integridad de columna: Se refiere al intervalo de variación de los valores del dominio del atributo y de los tipos de datos definidos en el SMBD. Ejemplo: edad es de tipo Entero siempre positivo entre 0 y 120. 3. Integridad de entidad o de dependencias funcionales: Se refiere al hecho de tener un atributo que está determinado por uno o varios atributos. Estas restricciones están aseguradas con la normalización de las tablas de la BD. Ningún componente de una clave primaria puede contener valores nulos. Ningún componente de una clave foránea debe permitir un valor nulo por inaplicable, aunque si puede permitir valor nulo por desconocimiento de información. Ejemplo: cedula determina edad. 4. Dependencias multivaluadas: Son aquellas donde uno o varios atributos multideterminan un atributo. Estas están aseguradas con la normalización de las tablas de la BD. Ejemplo: cedulaEstudiante multidetermina deportePractica. 5. Integridad referencial: Son las dependencias de inclusión en varias tablas o de claves foráneas. Para cada clave foránea debe existir un valor equivalente de una clave primaria y en el mismo dominio. Ejemplo: Se tienen las tablas Carro(placa, modelo, color) y ModeloMarca(modelo, marca), en ellas observamos que el atributo modelo es clave en la tabla ModeloMarca y está incluida en la tabla Carro, por tanto el atributo modelo es una clave foránea en la relación Carro. 6. Restricciones aritméticas: Son las expresiones aritméticas que deben cumplir algunos atributos de una tabla o que involucra a varias tablas de la BD. Ejemplo: En la BD formada por las tablas siguientes: Producto(codPro, nomPro, cantExistencia, color) Venta(codVen, nomCli, codProVen, cantVen, fechaVen) Compra(codCom, fechaCom, codProCom, cantCom, nomProveedor) Para todo producto identificado con su código codPro de la tabla Producto, la cantExistencia debe ser mayor que la cantidad vendida cantVen para el producto codProVen, ya que no se puede vender una cantidad de producto mayor que la que se tiene en existencia. 7. Valores invariantes que no son posibles de expresar en el esquema: Ejemplo: Tomando la BD descrita anteriormente, se tiene que en todo momento la cantidad comprada menos la cantidad vendida debe ser igual a la cantidad en existencia (cantCom - cantVen = cantExistencia), para cada producto presente en la BD. 8. Restricciones temporales: Son aquellas aserciones que deben ser cumplidas periódicamente o en momentos específicos. Ejemplo: En una BD de trasacciones bancarias al finalizar cada mes, el saldo de cada cuenta debe ser igual a la suma de de depósitos en la cuenta menos la suma de los retiros de la cuenta.

×