Los modelos de datos y el modelo objeto relacional

27
Los Modelos de Datos y el Modelo Objeto-Relacional Página 1 de 27 OBJETIVOS 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 real y para manipular tal representación [DAT-93]. La figura 1 ilustra el concepto anterior. Las componentes de todo modelo de datos son las siguientes:

Transcript of Los modelos de datos y el modelo objeto relacional

  • 1. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 1 de 27OBJETIVOS GENERALES: 1. Desarrollar habilidades en el modelado semntico de datos. 2. Lograr una visin general y una diferenciacin clara entre los modelos de datos de alto nively los de bajo nivel. 3. Desarrollar habilidades en el diseo de bases de datos.CONTENIDOS:Tema 1.- Modelado semntico de datos Modelo Entidad - Relacin Extendido (E-R-E)Tema 2.- Modelos bsicos Jerrquico y redes Relacional Objeto-Relacional Transformacin de los modelos de alto nivel al esquema objeto-relacional Enfoque por descomposicin Normalizacino 1FNo 2FNo 3FNo 4FNo 5FN Restricciones de integridad.Tema 3.- Lenguajes de consulta del modelo relacional y objeto-relacional Algebra relacional y SQL3 (esttico, dinmico, compuesto y recursivo) Reglas de integridadreferencial o triggers Clculo relacional de tuplas y QUEL. Clculo relacional de dominios y QBE.Ejercicios resueltos y propuestos.ACTIVIDADES: 1. Realizar ejercicios prcticos en el modelado semntico de datos. 2. Realizar ejercicios prcticos con modelos bsicos de datos. 3. Desarrollar ejercicios prcticos para transformar modelos de alto nivel a los de bajo nivel. 4. Disear bases de datos objeto-relacionales.INTRODUCCION:Los modelos de datos son medios formales para representar los datos asociados a una situacin realy para manipular tal representacin [DAT-93]. La figura 1 ilustra el concepto anterior. Lascomponentes de todo modelo de datos son las siguientes:

2. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 2 de 27Figura 1. Modelado de datos. Las estructuras bsicas son los elementos bsicos o tipos de objetos que conforman el modelo. Las reglas que es el conjunto de lineamientos que expresan las propiedades estticas del modelo. Ellas son:o Las reglas de formacin, yo Las restricciones. Los operadores que permiten cambiar el estado de una base de datos modificando su contenido. Ellos estn asociados a las propiedades dinmicas de los elementos.Los modelos de datos se pueden clasificar en: modelos de alto nivel o semnticos y modelos de bajonivel o bsicos.Los modelos semnticos capturan un mayor significado de los datos e intentan representar laestructura real de los datos independientemente de las caractersticas de almacenamiento, es decirellos estn orientados a las aplicaciones. Existen, hoy en da, numerosos y muy variados modelossemnticos, entre ellos se encuentran: el modelo Entidad-Relacin de P. Chen en [Che-76], elmodelo Entidad-Relacin-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 msadelante.Los modelos bsicos constituyen el grupo de modelos que han sido diseados orientndose alcomputador, sobre ellos se han desarrollado la mayora de los SMBD. Ellos son: el modelo dejerrquico, el modelo redes, el modelo relacional, el modelo orientado por objetos y el objeto-relacional. Al igual que los anteriores, ellos sern vistos en detalle en las secciones siguientes. 3. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 3 de 27 1.- Modelos semnticosMuchos modelos semnticos han sido propuestos, pero pocos de ellos han atrado el inters 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 bsicos actuales. La mayora de losconceptos del modelado semntico 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 mayora de las herramientas CASE (Computer Aided Software Engineering).Modelo Entidad-Relacin-Extendido (ERE)El modelo Entidad-Relacin (E-R) propuesto por P. Chen en [CHE-76] fue la primera versin delmodelo ERE. Dicha primera versin 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 da en el rea de las bases de datos.As, la proposicin de P. Chen ha sido modificada y enriquecida semnticamente por otros autores.Debido al gran poder expresivo que tiene hoy en da, este modelo es el primero en popularidad y enutilizacin en la etapa de diseo conceptual de base de datos. En este modelo se emplea el enfoquede diseo de arriba-hacia-abajo y los conceptos de abstraccin de datos.El modelo ERE representa la informacin por medio de tres conceptos bsicos: entidades,relaciones y atributos. Su principal objetivo es producir vistas conceptuales de los datos de laaplicacin. Cada vista se expresa en trminos de los conceptos bsicos ilustrados en los diagramasERE. El modelo est basado en la teora de conjuntos y en la de las relaciones.Entidad, segn 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 rectngulo con el nombre del conjunto entidad dentro. La figura 2 muestraun ejemplo de dicha representacin.Figura 2. Conjuntos entidad en los diagramas ERE.Una misma entidad puede pertenecer a varios conjuntos entidad. Por ejemplo, un mdicohospitalizado pertenece a los conjuntos entidad paciente y mdico.Una relacin es una asociacin entre dos o ms entidades de un mismo tipo o de tipos diferentes.Las relaciones o asociaciones tambin se agrupan en conjuntos, recibiendo el nombre de conjuntorelacin. 4. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 4 de 27Los conjuntos relacin se representan grficamente por medio de un rombo que encierra el nombreasociado al conjunto relacin especificado.Ejemplos de estos son: propietario que asocia un automvil a un empleado, dicta que asocia unprofesor con una asignatura, etc.La figura 3 ilustra el conjunto relacin propietario.Figura 3. Conjunto relacin en los diagramas ERE.La figura anterior tambin muestra los tipos de correspondencia entre los conjuntos entidadasociados por el conjunto relacin propietario y la cardinalidad de dicha relacin.Los tipos de correspondencia se refieren al nmero de entidades involucradas en la relacin, 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 ms entidades del C-E2 o viceversa. N:M Cada entidad del C-E1 est asociada a cero, una o ms entidades del C-E2 y viceversa.La cardinalidad de la relacin o asociacin entre dos entidades expresa el nmero mnimo ymximo de entidades relacionadas a travs del conjunto relacin, as en la figura 3 un empleadopuede ser propietario de ninguno o hasta 4 automviles y un automvil puede tener comopropietario uno y solo un empleado, esto implica que en la BD no hay ningn automvil sinpropietario, pero si hay empleados que no tienen automvil.Una entidad se describe por medio de sus atributos y una relacin puede tambin ser descrita pormedio de atributos. Un atributo es una caracterstica o propiedad especfica de una entidad o deuna relacin. 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 relacin 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. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 5 de 27Figura 4. Atributos, dominios y claves en un diagrama ERE.Una clave o llave de un conjunto entidad o relacin es un grupo de uno o ms atributos queidentifican unvocamente cada entidad o relacin del conjunto.La clave de un conjunto relacin es siempre la concatenacin de las claves de los conjuntos entidadque ella asocia.En la figura 4 se observan las claves de cada conjunto entidad y de la relacin propietario.Un conjunto entidad es dbil si su existencia depende de otro conjunto entidad. De igual manera,un conjunto relacin es dbil 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 relacin clave-obj existe si la relacin vista-obj existe. 6. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 6 de 27Figura 5. Entidades y relaciones dbiles 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 genrico, en cuyocaso el proceso de abstraccin realizado se denomina generalizacin y en el primer caso sedenomina especializacin.Sin importar el proceso de abstraccin 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 mltiple, bien sea que herede de un solo conjunto entidad o devarios, respectivamente.La herencia tambin puede ser parcial o total, en caso que la extensin de la superclase tenga unnmero de entidades diferente a la suma del nmero de entidades de sus subclases o que ese nmerosea igual, respectivamente.Grficamente la herencia parcial se representa con una arista simple, la total con doble arista y laconexin entre superclases y subclases se realiza con un crculo si hay ms de una subclase,llevando siempre un arco que intersecta la arista para indicar cual es la subclase. 7. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 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 crculo, indicando la conjuncin de las entidades, siese no es el caso, pues las extensiones de las subclases son disjuntas, entonces se coloca una dindicando la disyuncin de las extensiones.Un caso especial denominado categora se presenta cuando una entidad de un conjunto entidadpuede ser una entidad heredada de 2 o ms conjuntos entidad diferentes, pero cuyos atributos no seconcatenan, pues la entidad en la categora puede ser una y solo una de las entidades de cualquierade las superclases.La categora se presenta en el diagrama colocando en el crculo una U. La figura 6 muestra dosejemplos de categoras, uno donde un dueo puede ser una persona, un banco o una compaa y elotro donde una propiedad puede ser un edificio o un lote de terreno.Figura 6. Categoras y herencia en diagramas ERE.2. Modelos bsicosSon los modelos sobre los que se han desarrollado la mayora de los SMBD, estos son: Jerrquico y redes Relacional Orientado por objetos Objeto-Relacional 8. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 8 de 272.1. Modelos jerrquico y redesEl modelo jerrquico est definido sobre la base de los conceptos bsicos siguientes: Campo: es la unidad de datos que posee un nombre. Segmento: es una coleccin 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 estn 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 coleccin de segmentos ligados por asociaciones padre hijos, organizados bajo la forma de una jerarqua. Base de datos jerrquica: 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 jerrquica para el control de las publicaciones de unalibrera.Figura 7. Base de datos jerrquica 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 versin aparece en 1968. Paraejemplificar el nivel de detalle que debe ser usado en estos sistemas, se incluye la definicin de laBD anterior en el lenguaje de definicin 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 = (AoPub, SEQ), BYTES = 4, START = 1 10. FIELD NAME = Editorial, BYTES = 34, START = 5 11. FIELD NAME = NroVolEditados, BYTES = 2, START = 39 9. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 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 bsicos dados a continuacin: Atomo o item de dato: es la unidad de datos que posee un nombre. Agregado de datos: es una coleccin 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 coleccin 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 asociacin 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 compaa productora de vinos.Figura 8. Base de datos vincola en redes. 10. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 10 de 272.2. Modelo relacionalFue propuesto por E. Codd en 1970 [Cod-70] cuando trabajaba para IBM-San Jos. El modelo estbasado en la teora de normalizacin de las relaciones, que permite eliminar el comportamientoanormal de las relaciones, luego de actualizaciones, as como el control de la redundancia de datos.Conceptos bsicosLos conceptos bsicos del modelo son:Dominio: es un conjunto de valoresEjm: D1 = {rojo`, verde`, negro`, azul`} D2 = {`ford, chevrolet`, fiat`, toyota`, renault`}Relacin: 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 = { } RD1 D2verde`ford`azul` fiat`Atributo:es la columna de una relacin identificada con un nombre.Ejm: Rcolormarcaverde`ford`azul` fiat`Esquema de una relacin o de tabla: Es el nombre de la relacin seguido de la lista de sus atributos con sus dominios. Un esquema de relacin se puede representar por intensin o por extensin. 11. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 11 de 27Esquema de Carro por intensin:Carro(placa, marca, modelo, color)Esquema de Carro por extensin: tabla columna Carroplaca marca modelocolorfila 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 relacin de diferentenombre cada una, y donde sus ocurrencias son las tuplas de esas relaciones.Reglas de formacin 1.Cada relacin o tabla contiene un solo tipo de fila o tupla. 2.Cada tupla tiene un nmero 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 unvoca e inequvocamente cada tupla de la relacin es una clave candidata. 6. La clave primaria de una relacin se selecciona entre las claves candidatas. 7. Si un atributo A R1 es tambin la clave primaria de R2, entonces A es un atributo forneo de R1. 8. El orden de las tuplas en la relacin 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 ms tablas se pueden producir nuevas tablas diferentes mediante el uso de las operaciones del lgebra relacional.Reglas de integridad De la relacin: ningn componente de un valor de los atributos que conforman la claveprimaria puede ser nulo. De referencia: sea A la clave primaria de R1 y tambin un atributo forneo de R2, entoncespara 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 basesde datos sobre los valores de los atributos usando el lenguaje de definicin de datos. 12. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 12 de 27Ejemplo: fechaInicio fechaFinrestricciones de integridad de fechaInscripcin fechaIniciolos valores de los atributos.SemestrecdigofechaIniciofechaFin fechaInscripcintupla A98` 02/03/98 17/07/98 22/2/98B98` 14/09/98 30/01/99 07/09/98A99` 15/03/99 23/07/99 08/03/99Ejemplo de una base de datos relacionalCliente( codCli, nombre, balance, lmiteCrdito, descuento)Envio( direccin, codCli)Pedido( codPed, lnea, dirEnvio, codArt, cantidadPedida, cantidadEnviada)Artculo( codArt, nomArt, descripcin)Inventario( codArt, codPlanta, cantidadExistencia, riesgo)AtributoDescripcinDominiocodCliCdigo del cliente Cadena(4)nombreNombre del cliente Cadena(40), sub(nombre,i,1) {letras}balance Balance actual de la cuenta del clienteReallmiteCrdito Lmite de crdito actual del cliente Real siempre positivodescuento Descuento actual que se le aplica al cliente Real siempre positivodireccin, dirEnvio Direccin de envo del cliente (un cliente Cadena(80),sub(direccin,i,1){letras}puede tener varias){/,-,} con i desde 1 hasta 80codPedCdigo de pedido Cadena(6)lnea Lnea del pedido Entero corto siempre positivocantidadPedidaCantidad pedida del artculo Entero siempre positivocantidadEnviada Cantidad enviada del artculoEntero siempre positivocodArtCdigo del artculoCadena(6)nomArtNombre del artculoCadena(20),sub(nomArt,i,1) {letras}descripcin Descripcin del artculo Cadena(255), sub(descripcin,i,1) {letras}codPlanta Cdigo de la planta que tiene el artculoCadena(2)cantidadExistenciaCantidad actual en existencia del artculo Entero siempre positivoriesgoCantidad mnima del artculo en inventario Entero siempre positivoRestriccin de integridad: cantidadPedida cantidadEnviada cantidadExistencia 13. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 13 de 272.3. Objeto-relacionalEste modelo es bsicamente 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 quedeben ser soportados por el propietario del tipo, esto es debe definir al menos dosmtodos transformadores, uno para convertir el tipo nuevo a ASCII y el otro queconvierte 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 cdigo en algn lenguaje de programacin,por ejemplo: SQL, Java, C, etc. Se pueden crear operadores asignndole un nombre y asociandoselo a una funcin yadefinida o creada con anterioridad. Se soporta el encadenamiento dinmico y herencia en los tipos tupla o registro. Posibilidad de incluir el chequeo de las reglas de integridad referencial a travs delos triggers. Soporte adicional para seguridad y activacin de la versin cliente-servidor.2.4. Transformacin de modelos de alto a bajo nivelLas reglas de transformacin del modelo ERE al modelo relacional son las siguientes:1. Cada conjunto entidad se convierte en un esquema de relacin constituido por todos los atributos del conjunto entidad. Cada tupla en la relacin es una entidad del conjunto entidad. La clave primaria de la relacin es la misma del conjunto entidad. Ejemplo: Usuario(codUs, nomUs, apeUs, depUs)2. Cada conjunto relacin entre los conjuntos entidades que asocia se convierte en un esquema de relacin cuya clave primaria es la concatenacin de las claves primarias de los conjunto entidad que ella asocia y sus atributos no clave son los mismos del conjunto relacin tratado. Ejemplo: Prestamo(codLib, codUs, fechaPres, fechaEntre) 14. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 14 de 27 3. Los conjuntos de valores del diagrama ERE se convierten en los dominios delmodelo relacional. 4. Los conjunto entidades dbiles se convierten en esquemas de relacin con claveprimaria igual a la concatenacin de la clave primaria del conjunto entidad fuerte delcual depende con algn atributo propio del conjunto entidad dbil que sirva paraidentificar unvocamente cada tupla de la relacin. 5. Cada especializacin es una tabla con los atributos de la especializacin y con clavela del conjunto entidad general. Ejemplo: TrabajadorUniv(ced, nombre. apellido,fechaIngreso), Profesor(ced, catego, dedicac, fechaCatego, fechaDedicac),Empleado(ced, grado, fechaGrado, paso) 6. Una categora es una subclase de la unin de dos o ms superclases, por lo que secrea una clave para la categora, y se coloca en las tablas de las superclases, si ellastienen diferentes esquemas. Si las superclases tienen la misma clave, no es necesarioutilizar la clave nueva o clave sustituta. Ejemplo: Persona(cedId, nombre, apellido,fechaNac, direccion, telefono, idDue), Banco(codBan, nombre, direccion, telefono,idDue), Compaa(codCom, nombre, direccion, telefono, idDue) con la categoraDueo(idDue) 15. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 15 de 27Reglas adicionales en caso de convertir el modelo ERE al modelo objeto-relacional:2.5. Enfoque por descomposicinConsiste en definir relaciones universales compuestas de todos los atributos de la base de datos yluego descomponerlas, utilizando el proceso de normalizacin en subrelaciones que no sufrenanomalas. Enfoque por descomposicin: es un proceso de refinamiento paso a paso que lleva al aislamiento de las entidades y asociaciones del mundo real [Cod-79].La teora de la descomposicin de las relaciones se basa en el uso de dos operaciones fundamentalesdel lgebra relacional, a saber: Proyeccin: La proyeccin de una relacin R(A1, A2, ..., An) sobre los atributos Ai1, Ai2, ..., Aip, con ij ik, es una relacin R con esquema R(Ai1, Ai2, ..., Aip) obtenida por eliminacin de los valores de los atributos de R que no estn en R y la supresin de las tuplas duplicadas. Notacin: Ai1, Ai2, ..., Aip ( R ) Ejemplo: Si se tiene la relacin Carro(placa, marca. modelo, color) la proyeccin sobre placa y marca de Carro es la relacin R cuyo esquema est conformado por placa y marca. 16. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 16 de 27 R = placa, marca ( Carro ) R = marca, color ( Carro ) Si Carro contiene las tuplas siguientes: Carroplaca marca modelocolor`LAB384fordescortXR-31 verdeLAM112toyotacorollaXL azulLGR889`toyota`corollaXL` azul`LAB110`ford`sierra280es` verde`XSG230`fiat`siena` gris` Entonces R y R contendrn: Rplaca marca R marca color `LAB384fordfordverde LAM112toyotatoyotaazul LGR889`toyota`fiat`gris` LAB110`ford` XSG230`fiat` Reunin natural: El producto, reunin o acoplamiento de dos relaciones R y S cuyos esquemas son R(A1, A2, ..., An) y S(B1, B2, ..., Bp) es una relacin T con atributos que son la unin de los atributos de R y de S para las tuplas obtenidas por concatenacin de las tuplas de R y S que tengan los mismos valores para los atributos de igual nombre. Notacin: T = RS 17. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 17 de 27 Ejemplo: Si se tiene T = R R Tplacamarcacolor `LAB384 ford verde `LAB384 ford gris` LAM112 toyota azul LGR889 toyota azul LAB110` ford ` verde` LAB110` ford` gris` XSG230` ford` verde` XSG230` ford` gris` Descomposicin: es el reemplazo de una relacin R(A1, A2, ..., An) por una coleccin de relaciones R1, R2, ..., Rn obtenidas de las proyecciones de R y tal que la relacin resultado de las reuniones R1 R2... Rn tiene el mismo esquema que R. Ejemplo: R1 = placa, modelo, color ( Carro ) R2 = modelo, marca ( Carro ) RR Carro pero R1R2 = Carro Descomposicin sin prdida: Es la descomposicin de una relacin R en R1, R2, ..., Rp tal que para toda extensin de R se tiene que:R = R1 R2... RpEl problema de la concepcin de bases de datos relacionales se reduce a la descomposicin sinprdida de las relaciones universales con todos sus atributos en subrelaciones que no contengananomalas.2.6. NormalizacinEl esquema relacional es un modelo de la realidad bajo la forma de una coleccin de relaciones, elcual debe ser construdo con el fin de que: a. la creacin, modificacin y supresin de datos sean eficaces. Para ello, es indispensableeliminar toda redundancia innecesaria. Idealmente, se desea que ante cualquier evento queocurra en la realidad, ste se traduzca en el manejo de una sola tupla en la extensin delmodelo relacional. b. la modificacin del esquema relacional por la evolucin de la percepcin de la realidad, sealo ms simple posible. c. la comprensin de la realidad sea facilitada por el esquema. 18. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 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 extensin 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, ao, seccin) nota Considerando varias secciones en una misma asignatura y la posibilidad de repitencia de un estudiante en una seccin 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. Descomposicin: Si X Y y Z Y entonces X Z 19. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 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 includo 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 ms de unatributo en la parte izquierda de la DFE, sta se expresa colocando una lnea 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.Notacin: C+. Ejemplo: Para la relacin 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 mnima: es el conjunto C de DFE asociado a un conjunto de atributos que verifican las propiedades siguientes: 20. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 20 de 27 a. ninguna DF es redundante en C, es decir para toda DF denotada f de C, C - f no esequivalente 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 descomposicin sin prdida. Clave de una relacin: es el conjunto X de atributos de una relacin R(A1, A2, ..., An) tal que:a. X A1, A2, ..., Anb. no existe un subconjunto Y X tal que Y A1, A2, ..., AnPueden existir varios atributos que cumplan con esta definicin dentro de una misma relacin, ellossern denominados claves candidatas y se escoger entre las mismas una nica clave primaria.Dentro de una relacin, la clave primaria se subraya.Formas normalesEl objetivo de las tres primeras formas normales es permitir la descomposicin de relaciones sinprdida de informacin, a partir de las DFE y obtener as el esquema conceptual relacionalnormalizado. Primera forma normal (1FN): Una relacin est en 1FN si todo atributo contiene un valor atmico. Ejemplo: Persona(cedula, nombre, apellido, sexo, telefono, direccion) los primeros cinco atributos son atmicos y el atributo direccion puede ser considerado atmico en aquellas aplicaciones donde esta columna no va a ser utilizada como un atributo de bsqueda, lo que implica que la relacin Persona est en 1FN. 21. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 21 de 27 Estudiante(cedula, apellido, nombre, escuela, materias, notas)es claro que los primeros cuatro atributos son atmicos, pero tambin es claro quelos dos ltimos no lo estn, por lo tanto la relacin no est en 1FN. Para convertirla a1FN se proyecta en dos relaciones, obteniendo:Estudiante(cedula, apellido, nombre, escuela)Cursa(cedula, materia, nota) Segunda forma normal (2FN): Una relacin est en 2FN si y solo si: 1. la relacin 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 direccin como una columna atmica, pero dadaslas DFE siguientes: (codProv, codArt) precio y codProv dirProv, ella no esten 2FN, pues hay un atributo no clave (dirProv) que depende de una parte de laclave. 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 ningn atributo estdeterminado por una parte de una clave. Tercera forma normal (3FN): Una relacin est en 3FN si y solo si: 1. la relacin est en 2FN 2. todo atributo que no pertenece a la clave no depende de un atributo que no es clave. 22. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 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 eliminacin de redundancias debidas a lasdependencias transitivas. Descomposicin que preserva las dependencias funcionales: la descomposicin {R1, R2, ..., Rn} de una relacin R preserva las DF de R, si C+ de R es la misma que la de la unin de las DF de {R1, R2, ..., Rn}.Toda relacin R tiene al menos una descomposicin en 3FN tal que: 1. la descomposicin preserve las DF. 2. la descomposicin sea sin prdida.Algoritmo de descomposicin en 3FN:Este algoritmo propuesto por Bernstein en 1976 se basa en el principio siguiente: Se construye lacobertura mnima C y a partir de la misma se editan los atributos aislados, considerndolos comoclaves, luego se busca el conjunto ms grande X de atributos que determine a otros A1, A2, ..., Ancon n 1 y como salida se genera la relacin (X, A1, A2, ..., An). Las DFE utilizadas en laformacin de esa relacin se eliminan de C y todos los atributos aislados que no estn en las DFEque quedaron en C. Procedimiento Normalizar3FN( DFE )1. C = cobertura mnima de las DFE2. At = Obtener los atributos aislados que pertenecen a C3. reducir(C, At)4. formar una R con los atributos restantes en At, si los hay5. fin del procedimiento 23. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 23 de 27 Procedimiento reducir( C, At )1. repita mientras que una DFE en C no incluya todos los atributos o C est vaco 1. buscar el conjunto ms grande de atributos X tal que X A1, ..., X Ak 2. formar la relacin 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 mientras2. regresarUn esquema normalizado hasta 3FN debe cumplir con el juramento siguiente: Forma normal de Boyce-Codd (FNBC): Una relacin 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) cedProfno est en FNBC sicedProf codMatcada profesor dicta(cedEst, codMat) nota una nica materia 24. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 24 de 27 Para resolver el problema se proyecta para que cumpla con la FNBCExamen(cedEst, codMat, nota)Dicta(codMat, cedProf)No se preserva la DFE (cedEst, codMat) cedProf En general, la descomposicin en FNBC es sin prdida pero NO preserva las DFE, despus ellas pueden obtenerse por reunin 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 relacin R tal que: a. Y no es vaco 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 nroEstcodMatdeporte105 PD10tennis105 PD10natacin145 AL10tennis145 FI20futbol` 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 estn correlacionados a travs 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 segn sus DME como: Cursa(nroEst, codMat) Practica(nroEst, deporte) Teorema de Fagin (1979): R(A, B, C) se puede descomponer sin prdida 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 descomposicin, no siempre nica, en 4FN sin prdida de informacin. 25. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 25 de 27Ejemplo: Curso(nomCur, prof, texto) CursonomCurProf textoEstadstica PerezEstadstica IEstadstica PerezIntroduccin a la estadsticaEstadstica Mendez Estadstica IEstadstica Mendez Introduccin a la estadstica 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 ms 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 E1P1 J2 E1P2 J1 E2P1 J1 E1P1 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 #PR2#P #JR3#E#J E1 P1P1 J2E1J2 E1 P2P2 J1E1J1 E2 P1P1 J1E2J1 26. Los Modelos de Datos y el Modelo Objeto-RelacionalPgina 26 de 27 Suministro R1 R2, Suministro R1R3, Suministro R2 R3, Suministro = R1 R2R3 Quinta forma normal (5FN): Una relacin R est en 5FN si y solo si toda DP est implicada por las claves candidatas de R. En la realidad no es comn tener DP y es muy difcil 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 aplicacin 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 (explcitas o implcitas) 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: Estn 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 diseador de la BD (NoDefinido), no contener valor alguno o contener el valor nulo si: a. Existe la posibilidad de desconocer la informacin (nulo aplicable) b. No tiene sentido asignar un valor del dominio (nulo inaplicable)Ejemplo: cant es de tipo Entero siempre positivo. 27. Los Modelos de Datos y el Modelo Objeto-Relacional Pgina 27 de 27 2. Restricciones de rango o integridad de columna: Se refiere al intervalo devariacin de los valores del dominio del atributo y de los tipos de datos definidos enel 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 tenerun atributo que est determinado por uno o varios atributos. Estas restricciones estnaseguradas con la normalizacin de las tablas de la BD. Ningn componente de unaclave primaria puede contener valores nulos. Ningn componente de una clavefornea debe permitir un valor nulo por inaplicable, aunque si puede permitir valornulo por desconocimiento de informacin. Ejemplo: cedula determina edad. 4. Dependencias multivaluadas: Son aquellas donde uno o varios atributosmultideterminan un atributo. Estas estn aseguradas con la normalizacin de lastablas de la BD. Ejemplo: cedulaEstudiante multidetermina deportePractica. 5. Integridad referencial: Son las dependencias de inclusin en varias tablas o declaves forneas. Para cada clave fornea debe existir un valor equivalente de unaclave primaria y en el mismo dominio. Ejemplo: Se tienen las tablas Carro(placa,modelo, color) y ModeloMarca(modelo, marca), en ellas observamos que el atributomodelo es clave en la tabla ModeloMarca y est incluida en la tabla Carro, por tantoel atributo modelo es una clave fornea en la relacin Carro. 6. Restricciones aritmticas: Son las expresiones aritmticas que deben cumpliralgunos atributos de una tabla o que involucra a varias tablas de la BD. Ejemplo: Enla 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 cdigo codPro de la tabla Producto, lacantExistencia debe ser mayor que la cantidad vendida cantVen para el productocodProVen, ya que no se puede vender una cantidad de producto mayor que la que setiene 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 cantidadcomprada 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 cumplidasperidicamente o en momentos especficos. Ejemplo: En una BD de trasaccionesbancarias al finalizar cada mes, el saldo de cada cuenta debe ser igual a la suma dede depsitos en la cuenta menos la suma de los retiros de la cuenta.