2 ndice Tipos de modelos de datos Modelo entidad-relacin Modelo relacional Modelo orientado a objetos 3 Modelos de datos Ofrecen un modo de describir el diseo de bases de datos en los niveles fsico, lgico y de vistas Coleccin de herramientas para describir Datos Relaciones entre los datos Semntica de los datos Restricciones de consistencia Existen varios tipos de modelos de datos 4 Tipos de modelos de datos Modelos conceptuales o de alto nivel Utilizan conceptos cercanos al modo en que los usuarios percibenlos datos de la BD. Permiten la construccin de un esquema conceptual (datos y su relaciones) a partir de los requisitos del usuario Modelo entidad-relacin Consiste en una coleccin de objetos bsicos (entidades) y de las relaciones entre ellos. Se usa mucho en el diseo de bases de datos Modelo de datos orientado a objetos Extensin del modelo entidad-relacin con los conceptos de encapsulacin, mtodos e identidad de los objetos. 5 Tipos de modelos de datos Modelos de implementacin Utilizan conceptos que pueden ser entendidos por los usuarios finales de la BD Permiten la construccin de un esquema lgico que represente correcta y eficientemente al esquema conceptual Pueden ser implementados con facilidad por un SGBD porque no estn muy alejados del modo en que los datos se almacenan en el disco Modelo relacional Usa una coleccin de tablas para representar tanto los datos como sus relaciones Modelo ms ampliamente usado Modelo de datos semiestructurado Permite especificacin de datos donde los elementos de datos individuales del mismo tipo pueden tener diferentes conjuntos de atributos (XML) Otros modelos antiguos Modelo de datos en red Modelo de datos jerrquico 6 Tipos de modelos de datos Modelos fsicos o de bajo nivel Proporcionan detalles de cmo se almacenan los datos en el computador. Representan informacin como el formato y el orden de registros, caminos de acceso a datos, etc. Dirigidos a especialistas en computacin y gestin de datos, no a usuarios finales. 7 Modelo entidad-relacin Modelo de datos de alto nivel que nos permite disear el esquema conceptual de una BD. Consta de objetos bsicos (entidades) y de relaciones entre ellos (relaciones). Las entidades se describen por un conjunto de atributos. Diagrama E-R Rectngulos =>entidades Elipses =>atributos Rombos =>relaciones Ciertas restricciones correspondencia de cardinalidadesentre entidades (uno a uno, uno a muchos, muchos a muchos) 8 Diagrama E-R
cliente nombre-cliente calle-cliente ciudad-cliente dni nmero-cuenta saldo cuenta impositor 9 Entidad Una entidad particular es un elemento que existe y es distinguible de otros elementos. Una entidad particular puede ser concreta, como una persona o unlibro, o abstracta, como un da festivo o un concepto. Una entidad est representada por un conjunto de atributos, que sirven para dar semntica a la entidad Ej: el estudiante Pedro Garca, DNI 50506809, Un conjunto de entidades (o entidad, a partir de este momento) es un grupo de entidades particulares del mismo tipo. Ej: el conjunto de entidades CLIENTE representa al conjunto de personas que tienen cuenta en un banco. A veces tambinse habla de tipo de entidad CLIENTE En el diagrama E-R las entidades se representan con un rectngulo. 10 Atributos Caractersticas o elementos informativos que describen una entidad. Ej: La entidad CLIENTE tiene los atributos dni, nombre_cliente, calle_cliente y ciudad_cliente. Ej: La entidad CUENTA tiene los atributos nmero_cuenta y saldo. Cada atributo tiene asociado un dominio conjunto de valores permitidos para dicho atributo. Ej: nombre_cliente puede ser cualquier cadena de caracteres de una cierta longitud En el diagrama E-R los atributos se representan con una elipse. 11 Atributo Notacin: A veces, las entidades se representan como conjuntos de pares (atributo =valor) de la forma {atributo1 = valor1, ..., atributon=valorn} donde cada atributo de la entidad aparece una y slo una vez. Ej.: {dni =01234567Z, nombre_cliente =Manuel Vzquez Prieto, calle_cliente =Calle del J azmn 7, ciudad_cliente=Madrid} 12 Atributos simples y compuestos: Se dice que un atributo es compuesto cuando puede descomponerse en otros componentes o atributos ms pequeos, y simple en otro caso. Ej.: En el caso del nombre de una persona puede que nos interese descomponerlo a su vez en nombre, primer apellidoy segundo apellidopor separado. Se representan como elipses (atributos simples) unidos a otra elipse (atributo compuesto) que se une a la entidad. 13 Atributos monovalor y multivalor Se llaman atributos multivalor a aquellos que pueden contener ms de un valor simultneamente, y monovalor a los que slo pueden contener un valor. Ej.: Una persona puede tener varios nmeros de telfono (casa, trabajo, mvil) y puede que nos interese tenerlos todos. En este caso haremos de telfono un atributo multivalor. Los atributos multivalor se representan con dos elipses concntricas 14 Atributos derivados y almacenados Se dice que un atributo es derivado si obtenerse a partir de otros atributoso entidades relacionados Ej.: un atributo edad puedeobtenerse a partir de otro atributofecha de nacimiento. Los atributosderivados se representan con un trazo punteado. 15 Ejemplo atributos 16 Valores nulos El valor nulo tiene dos modos de uso semnticamente distintos: No existencia del dato: el atributo no tiene sentido en la entidad particular. Ej. atributo PISO en una entidad CLIENTES donde el elemento insertado corresponde a un cliente con domicilio en una casa unifamiliar. Desconocimiento: el atributo se deja en blanco por no disponer de la informacin. Ej. atributo ALTURA en una entidad J UGADORES. Ambigedad: a veces no es posible distinguir si el valor de un atributo no existe o si se desconoce. Ej. atributo TELF_MOVIL en una entidad ALUMNOS 17 Relaciones Una relacin es un vnculo o asociacin entre varias entidades {(e1, ..., en) | e1 E1, e2 E2, ..., en En} con ei entidades individuales y Ei conjuntos de entidades. Se dice que los conjuntosde entidades E1, E2, , Enparticipan en la relacin. Representa el producto cartesiano E1 x E2 x ... x En Ej.: Sea {a1, a2, a3, a4} un conjunto de entidades de tipo cliente y {b1,b2,b3} un conjuntode entidades de tipo cuentas. Una posible relacin: {(a1,b1), (a2,b1), (a1,b2) } diciendo que a1 tiene asociadas la cuenta b1 y la b2 y a2 tiene asociada la cuenta b1. Grado de una relacin es el nmero de entidades que asocia Relacin binaria: asocia dos entidades Relacin ternaria: asocia tres entidades Relacin recursiva: asocia una entidad consigo misma 18 Roles La funcin que desempea una entidad en una relacin se denomina rol de esa entidad. En general, los roles estn implcitos y no se suelen especificar. Resultan tiles cuando el significado de una relacin necesita aclaracin P.ej: en relaciones recursivas Profesor Supervisado Supervisor Supervisa 19 Atributos Una relacin puede incluir un nombre y unos atributos que la caractericen pero es recomendable que estos ltimos slo aparezcan en ella si no pueden ser aadidos a alguna de las entidades que participan de la relacin. 20 Diseo Un buen diseo debe ser Conciso Fcil de comprender Fcil de mantener Eficiente El diseo del modelo E-R a partir del anlisis inicial NO es directo. A un mismo anlisis le corresponden muchos diseos candidatos. Dos peligros importantes a evitar Redundancia Informacin repetida Incompletitud Aspectos mal modelados 21 Cuestiones de diseo Pasos en el diseo de un diagrama E-R: 1. Eleccin de los tipos de entidad y sus atributos. 2. Eleccin de los tipos de relacin. 3. Restricciones 22 Ejemplo: Diseo de una base de datos para la secretara de una facultad Se desea gestionar (almacenar, consultar, actualizar, ) la informacin correspondiente a la secretara de una facultad. Esta es la informacin de la que partimos: 1. Por cada alumno se requiere la informacin: DNI, Apellidos y nombre, domicilio, telfono y acceso (que indica el tipo de acceso a la universidad). Tambin se precisa conocer en cada momento las asignaturas en las que el alumno est matriculado, as como la nota en cada asignatura. Un alumno slo puede matricularse en una asignatura una vez, y debe matricularse al menos en una. 2. Por cada asignatura se requiere: cdigo, ttulo y nmde crditos. Puede haber varias asignaturas con el mismo nmero de crditos, pero todas tienen distinto cdigo y distinto ttulo. 23 Ejemplo: Diseo de una base de datos para la secretara de una facultad 1. Esta es la informacin de la que partimos: 3. Cada asignatura puede estar impartida por uno o ms profesores. Del profesor se deben conocer los mismo datos que en el caso de los alumnos, salvo el de acceso: DNI, Apellidos y nombre, domicilio y telfono. El nmero mximo de asignaturas que puede impartir un profesor es 6, aunque puede que no imparta ninguna. 4. Algunos profesores tienen un supervisor (slo uno), que es otro profesor. 5. Dados un profesor concreto y una asignatura de las que imparte, se debe conocer el aula en la que el profesor da esa asignatura (es siempre la misma). El aula se identifica mediante el nombre de edificio y el nmero de aula. Se supone que dentro del mismo edificio cada aula tiene un nmero diferente. 24 Eleccin de los tipos de entidad y sus atributos Del punto 1 de la especificacin del problema de la secretara se deduce que va a haber un tipo de entidad ALUMNOS, pero no cules son sus atributos: Debe incluir las asignaturas en las que est matriculado? La respuesta es NO y hacerlo as sera un error grave. Aparte de la idea filosfica (cada asignatura es un objeto con significado propio, es decir, una entidad), al mezclar en una sola entidad alumnos y asignaturas cometemos 4 errores: 25 Eleccin de los tipos de entidad y sus atributos Un alumno no tiene una asignatura asociada sino un conjunto de asignaturas asociadas. En cambio, s tiene un DNI asociado, una direccin asociada, etc. Por tanto las entidades sern de la forma {DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567, Cod=MD, Ttulo=Matemtica Discreta, Crditos=9} {DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567, Cod=IS, Ttulo=Ingeniera del Software, Crditos=12} {DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567, Cod=LPI, Ttulo=Laboratorio de programacin I, Crditos=X} Redundancia (informacinde alumnos repetida) 26 Eleccin de los tipos de entidad y sus atributos Esto se puede solucionar si admitimos que los atributos contengan conjuntos de valores { DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567, , Asignaturas={ {Cod=MD, Ttulo=}, {COD=IS,Ttulo=}, {Cod=LPI,Ttulo=} } } no es muy elegante que digamos y los siguientes 3 puntos no se pueden arreglar as. No es relacional. 27 Eleccin de los tipos de entidad y sus atributos Las asignaturas son siempre las mismas, con lo que por cada alumno que se matricula en la misma asignatura hay que repetir toda la informacin { DNI=12345678V, Nomb.Ape=Luis Martnez, Telf.=01234567, Asignaturas={ {Cod=MD, Ttulo=}, {COD=IS,Ttulo=}, {Cod=LPI,Ttulo=} } } { DNI=0000001, Nomb.Ape=Eva Manzano, Telf.=01234567,, Asignaturas={ {Cod=MD, Ttulo=}, {COD=IS,Ttulo=}, {Cod=BDSI,Ttulo=} } } Redundancia (informacinde asignaturas repetida) 28 Eleccin de los tipos de entidad y sus atributos Por cada profesor hay que apuntar las asignaturas que imparte. La informacin de las asignaturas debe estar por tanto relacionada con la de los profesores, pero ya est incluida con los alumnos Hay que repetir la informacin de las asignaturas Ms redundancia. 29 Eleccin de los tipos de entidad y sus atributos No se pueden guardar los datos de una asignatura hasta que no se matricule un alumno en ella. Puede ser que en secretara quieran meter los datos de las asignaturas antes de empezar el proceso de matrcula No pueden. Una solucin sera incluirlos con los datos de los alumnos vacos (nulos). Chapuza 30 Eleccin de los tipos de entidad y sus atributos Por tanto hay que distinguir entre el tipo de entidad ALUMNOSy el tipo de entidad ASIGNATURAS. Ambas se relacionarn mediante un tipo de relacin MATRICULA. Los restantes tipos de entidad sern: PROFESORES y AULAS. Los atributos de cada tipo de entidad sern: Alumnos: DNI, Apellidos y Nombre, Domicilio, telfono yacceso Asignaturas: Cdigo, ttulo, y nm. Crditos Profesores: DNI, Apellidos y nombre, Domicilio y telfono Aulas: Edificio y nm. edificio 31 Eleccin de los tipos de entidad y sus atributos An nos falta un atributo, que es la nota Dnde la ponemos? En alumnos NO un alumno muchas notas En asignaturas NO una asignatura mucho alumnos Va a ser un atributo del tipo de relacin matrcula. 32 Eleccin de los tipos de relacin El primer tipo de relacin es MATRICULA que relaciona cada alumno con las asignaturas en las que est matriculado. Adems, est relacin tiene un atributo, nota, que se asocia cada tuplade la relacin. El segundo tipo de relacin es SUPERVISA que va de profesores a profesores y que incluye los roles supervisor y supervisado. 33 Eleccin de los tipos de relacin La ltima es IMPARTE que relaciona cada profesor con la asignatura que imparte y el aula en la que da esa asignatura. Aqu tambin surgen varias posibilidades: Hacer 2 relaciones binarias Ej.:, profesor con asignatura y asignatura con aula. Hacer una relacin ternaria entre profesores, aulas y asignaturas. Hacer 3 relaciones binarias profesor-asignatura, profesor-aula, asignatura-aula 34 Eleccin de los tipos de relacin Diferencias: En las opciones a) y c) se permite que un profesor imparta una asignatura que an no tiene aula (esto puede ser deseable o no). El problema de a) es: Profesor-asignatura ={({DNI=6666666, NombreYApe=Rmulo Meln},{Cod=MD,.}) } Asignatura-aula ={ ({Cod=MD.},{Edif=Mates,NumAula=S103}), ({Cod=MD.},{Edif=Biolgicas, NumAula=104}) } Estas relaciones son posibles, hay ms de un curso de primero y por eso la misma asignatura se imparte en varias aulas. Ahora bien, Don Rmulo quiere saber en qu aula debe dar su clase de discreta, y pare ello pregunta en secretara. 35 Eleccin de los tipos de relacin El problema de c) sigue siendo el mismo: Profesor-asignatura = {({DNI=6666666, NombreYApe=Rmulo Meln,},{Cod=MD,.}), ({DNI=6666666, NombreYApe=Rmulo Meln,},{Cod=IS,.}),} Asignatura-Aula ={({Cod=MD.}, {Edif=Mates, NumAula=S103}), ({Cod=MD.}, {Edif=Biolgicas, NumAula=104}), ({Cod=IS.}, {Edif=Mates, NumAula=S103}), ({Cod=IS.}, {Edif=Biolgicas, NumAula=104}) } Profesor-Aula ={({DNI=6666666, NombreYApe=Rmulo Meln,}, {Edif=Mates, NumAula=S103}), ({DNI=6666666, NombreYApe=Rmulo Meln,}, {Edif=Biolgicas, NumAula=104}), } Don Rmulo sabe que da 2 asignaturas, cada una en un aula, pero sigue sin saber a dnde tiene que ir a dar MD. 36 Eleccin de los tipos de relacin Sin embargo, con la propuesta b) s se le puede asignar a cada profesor un aula concreta para cada una de sus asignaturas. Conclusin Una relacin ternaria tiene en general ms informacin que 3 binarias. 37 Ejemplo: Diseo de una base de datos para la secretara de una facultad Asignaturas Alumnos Matrcula Aulas Imparte Supervisa Profesores Apellidos y Nombre Domicilio Telfono Apell. y Nombre Telfono acceso Cdigo Ttulo Nm. Crditos Edificio Nmero Nota DNI DNI Supervisado Supervisor Calle Nmero Ciudad Domicilio 38 Restricciones Con los elementos anteriores tenemos una primera aproximacin a los diagramas ER, en la que tenemos definidos los elementos principales de los diagramas. Sin embargo, en el modelo ER tambin se pueden definir numerosas restricciones sobre los tipos de entidades y tipos de relaciones 39 Restricciones Ej.: En la relacin supervisa un profesor puede tener a lo sumo un supervisor, pero el diagrama anterior permite Que no debera ser una instancia vlida de la relacinporque algunos profesores pueden tener un supervisor, pero slo uno SUPERVISOR SUPERVISADO ({DNI=666666,}, {DNI=444444,}) ({DNI=000001,}, {DNI=444444,}) 40 Restricciones Las restricciones son propiedades que se asocian a un tipo de entidad o de relacin. Las instancias vlidas del tipo de entidad o relacin son aquellas en las que se verifique el conjunto de restricciones asociadas. Observaciones: Las restricciones son parte del diseo de la BD igual que los tipos de entidades o de relaciones. Los SGBD se encargan de comprobar que la instancia verifica las restricciones ms usuales. Ej.: En el caso anterior, una vez incluida la restriccin, el SGBD no nos permitira insertar la segunda tupla. 41 Cardinalidadde un tipo de relacin La cardinalidadde una relacin es el nmero de entidades particulares que estn relacionadas con una entidad particular de otro conjunto de entidades Sea r una relacin entre tipos de entidades E1, E2, , Ek, entonces se dice que el cardinal de Ei en r es n si dados e1E1, , ei-1Ei-1,ei+1Ei+1,ekekcualesquiera, si se verifica que existen exactamente n ei Ei tales que: <e1,, ei-1, ei, ei+1,..., ek> r. El cardinal de Ei en r es menor o igual que n si dados e1E1, , ei-1Ei-1, ei+1Ei+1,,enEkcualesquiera, se verifica que existen a lo sumo n ei Ei tales que: <e1,, ei-1, ei, ei+1,..., ek> r 42 Cardinalidadde un tipo de relacin Consideremos la siguiente relacin (instancia) de tipo AxBxC: Para A: (B1,C1): A1 (1), A3 (5) (B1,C2): A1 (2), A3 (6) (B2,C1): A2 (3) (B2,C2): A2 (4) Para B: (A1,C1): B1 (1) (A1,C2): B1 (2) Para C: (A2,C1): B2 (3) (A1,B1): C1 (1), C2(2) (A2,C2): B2 (4) (A2,B2): C1 (3), C2(4) (A3,C1): B1 (5) (A3,B1): C1 (5), C2(6) (A3,C2): B1 (6) A B C A1 B1 C1 1 A1 B1 C2 2 A2 B2 C1 3 A2 B2 C2 4 A3 B1 C1 5 A3 B1 C2 6 43 Cardinalidadde un tipo de relacin Si asumimos que en la instancia de la BD se tiene A={A1,A2,A3}, B={B1,B2}, C={C1,C2} El cardinal de A en esta instancia es <=2, la de B=1 y la de C=2. Esto vale para instancias pero las restricciones se aplican sobre los tipos de relaciones. 44 Restricciones de cardinalidad Restricciones de cardinalidad(nivel de esquema) Se dice que un tipo de entidad participa en un tipo de relacin con una restriccin de cardinalidad=n o <=n si en todas las instancias vlidas del tipo de relacin se verifica la restriccin. En el caso en que un tipo de entidad participe varias veces en el tipo de relacin se podr establecer una restriccin para cada papel. 45 Restricciones de cardinalidad Cada persona tiene un nico pas de nacimiento, es decir, fijada una persona, existe un pas. Por lo que parece lgico poner la restriccin =1 para el tipo de entidad pas en el tipo de relacin nacida. Sin embargo, fijado un pas hay una cantidad no determinada en general de personas nacidas all, por lo que no ponemos ninguna restriccin sobre el tipo de entidad personas. Pas R Personas Nacida 46 Restricciones de cardinalidad Fijado un alumno puede haberse matriculado en cualquier nmero de asignaturas no hay restriccin sobre asignatura en la relacin matrcula. Fijada una asignatura, puede haberse matriculado sobre ella un nmero cualquiera de alumnos no hay restricciones sobre el tipo de entidad alumnos en la relacin matrcula. 47 Restricciones de cardinalidad El supervisor de un profesor, si lo tiene, es nico. El tipo de entidades profesor, en el papel supervisor tiene cardinal <=1. El tipo de entidades profesor, en el papel supervisado no tiene ninguna restriccin de cardinal un profesor puede supervisar a un nmero indeterminado de profesores. 48 Restricciones de cardinalidad Dado un profesor y una asignatura, existe a lo sumo (si es profesor de la asignatura) un aula en la que se imparte clase. Restriccin de cardinal para aulas: <=1. Dada una asignatura y un aula, puede haber varios profesores (ej.: uno de maana y otro de tarde) o ninguno. 49 Restricciones de cardinalidad Durante el diseo de la BD se nos plantean problemas que no estaban aclarados desde el principio y que nos haban pasado inadvertidos: Dado un profesor y un aula, puede ser que el profesor imparta varias asignaturas en ese aula, o ninguna. 50 Diagramas ER Hay dos formas de expresar las restricciones de cardinalidad sobre tipos de relaciones en los diagramas: O bien poniendo la restriccin directamente sobre la lnea (=1, <= 10) Restricciones de uno a uno, uno a muchos, muchos a uno, muchos a muchos 51 Diagramas ER Dado un tipo de relacin R entre tipos de entidad E 1 , E 2 , ., E n se puede especificar una restriccin de cardinalidad distinguiendo si el tipo de entidad tiene restriccin <=1 o =1 diremos que participa con cardinalidadunoo no tiene ninguna restriccin (cardinalidadmuchas). 52 Diagramas ER Si A participa con cardinalidaduno en el tipo de relacin R lo representaremos: El caso de muchos se representa con una lnea sin flecha (como hasta ahora, porque no tiene restriccin). A R 53 Diagramas ER Ejemplo O bien
Pas R Personas Nacida
Pas R Personas Nacida 1 N 54 Diagramas ER Profesores y supervisores: Supervisa Profesor Supervisado Supervisor 55 Diagramas ER Tipo de relacin IMPARTE: Asignatura Profesor Aula Imparte 56 Participacin de una entidad en una relacin Sea r una relacin definida sobre los tipos de entidades E 1 , , E m y sea E j {E 1 ,E m }: Se dice que la participacin de la entidad e E j en r es n ( n N) si e E j aparece enn tuplasde la relacin. Participacin Se dice que Ej tiene participacin total en r si cada entidad e j E j se encuentra en alguna tuplade r. En otro caso se dice que la participacin es parcial. 57 Participacin de una entidad en una relacin Consideremos la siguiente relacin r de tipo AxBxC: Con los multiconjuntosde entidades A ={A1,A2,A3}, B={B1,B2}, C={C1,C2} La participacin de A1, A2, A3 en esta instancia es =2, la de B1=4, la de B2=2 y la de C1=3 y la de C2=3. A B C A1 B1 C1 1 A1 B1 C2 2 A2 B2 C1 3 A2 B2 C2 4 A3 B1 C1 5 A3 B1 C2 6 58 Restricciones de participacin en los esquemas Una restriccin de participacin (min,max) (min N, max N) de un tipo de entidades E j en un tipo de relacin R indica que en todas las instancias vlidas de la BD se verifica: e E j participacin de e en R est entre min y max. Una restriccin de participacin total de un tipo de entidades Ej en un tipo de relacin R indica que en todas las instancias vlidas de la BD, se verifica que E j tiene una participacin total. 59 Restricciones de participacin en los esquemas La participacin de alumno en matrcula tiene una restriccin de participacin total. La participacin de profesor en imparte tiene una restriccin de participacin (0, 6). 60 Diagramas ER La restriccin de participacin (min, max) se representa: Asignatura Profesor Aula Imparte (0,6) 61 Diagramas ER La restriccin de participacin total se representa como: Alumno Matrcula Asignatura 62 Unicidad de entidades Las entidades deben poder distinguirse unas de otras a travs de los valores de sus atributos. Interesa encontrar un conjunto de atributos lo ms pequeo posible que nos permita distinguir unas entidades de otras. Estos conjuntos sern las claves. 63 Superclaves Dado un tipo de entidades E en una BD, se llama superclave a cualquier conjunto de atributos que permita distinguir a todas las entidades de cualquier instancia vlida de E en la BD. Si alguno de los atributos de la superclave corresponde a otro tipo de entidad F se debe verificar: E y F deben participar en un tipo de relacin binaria R en la que F debe tener una restriccin de cardinalidad<=1. Sean entidades dbiles Los atributos que F aporta para la clave candidata de E deben ser atributos de una clave candidata de F. La participacin de E en R debe ser total. En general los atributos de la superclave pertenecen al tipo de entidad. 64 Superclaves En el caso de alumnos, el conjunto {telfono} NO es una superclave, porque puede haber varias personas con el mismo nmero de telfono (ej. 2 hermanos). Tampoco podemos tomar como superclave ApellidosyNombreporque puede repetirse. Una posible superclave es {DNI}. El caso de profesores es anlogo al anterior Para asignaturas tenemos en principio 2 superclaves {ttulo} y {cdigo}. Para aulas la nica superclave es {Edificio, nmero}. 65 Superclaves Propiedad: Si S es una superclave y S S, entonces S superclave Ej.: En el caso de asignaturas tenemos en realidad 6 superclaves {ttulo},{cdigo}, {ttulo, nm.creditos}, {cdigo, nm.crditos}, {ttulo, cdigo}, {ttulo, cdigo, nm.creditos}. 66 Claves candidatay primaria Clave candidata. Se llama clave candidata de un tipo de entidad a una superclave que no contiene ningn subconjunto que tambin sea superclave. (Conjunto mnimo de atributos que forma una superclave). Clave primaria. Se llama clave primaria a la clave candidata seleccionada por el diseador para distinguir entre las entidades de cada instancia. 67 Claves candidatay primaria En el caso de alumnos tenemos una nica clave candidata {dni} que ser tambin la clave primaria. En el caso de profesores es idntico: tenemos una nica clave candidata {dni} que ser tambin la clave primaria. En el caso de aulas, la nica superclave {edificio, nm.aula} es la nica clave candidata y la clave primaria. 68 Claves candidatay primaria En el caso de asignaturas tenemos dos claves candidatas {cdigo} y {ttulo}. Elegimos como clave primaria {cdigo}, porque: es posible que en el futuro haya dos asignaturas con el mismo ttulo (ej. : cambio de planes de estudio) pero parece sensato obligar a que siempre tengan cdigos distintos. El cdigo es ms fcil de introducir (para buscar la informacin) (y los ndices ms rpidos, pero an no hemos hablado de ndices). 69 Diagramas ER En los diagramas ER los atributos de la clave primaria se representan con sus nombres subrayados. 70 Tipos de entidad dbiles Un tipo de entidades que no tiene suficientes atributos para formar una clave primaria se denomina tipo de entidades dbil. Supongamos que estamos diseando una BD para CDsde msica. Vamos a utilizar la siguiente informacin: CD : Ttulo del CD, intrprete, nm. serie Cancin: Ttulo, duracin Tambin deseamos relacionar las canciones con el CD al que pertenecen. Esta relacin ser de muchas a una entre canciones y CDs (a cada cancin le corresponde un CD). 71 Tipos de entidad dbiles canciones CDs en ttuloCD intrprete Nm.serie ttulo duracin 72 Tipos de entidad dbiles El nm.serie del CD no se puede repetir en dos CDs diferentes. En cambio, en diferentes CDs puede aparecer la misma cancin (mismo ttulo) y puede darse (desgraciada casualidad) con la misma duracin. Por Ej.: supongamos que la cancin Only You aparece en un CD de The Platters y en un CD de Cranberries y con la misma duracin. Sin embargo, son canciones diferentes (diferentes intrpretes), es decir, entidades diferentes: { {ttulo=Only You, Duracin=230}, { ttulo =Only You, Duracin=230}} Valores repetidos 73 Tipos de entidad dbiles Por tanto {ttulo, duracin} no es superclave y el tipo de entidad no puede tener una clave primaria formada slo por sus atributos. Sin embargo, si incluimos el nmde serie del CD en la clave s que tendremos una superclave, clave candidata y clave primaria. Clave primaria del tipo de entidad canciones: {nm.serie, ttulo, duracin} . 74 Diagrama ER Diagrama ER Los tipos de entidad dbiles se representan con rectngulos dobles, y el tipo de relacin (o los tipos) que permiten formar la clavese indican con un doble rombo. canciones CDs ttuloCD intrprete Nm.serie ttulo duracin en 75 Utilidad de las entidades dbiles Si tambin queremos relacionar cada cancin con su autor o autoresdonde un autor viene dado por su DNI que no puede repetirse. canciones CDs ttuloCD intrprete Nm.serie ttulo duracin en compositores Autor DNI 76 Diagramas entidad relacin extendidos (EER) Los conceptos bsicos del modelo E-R pueden modelar la mayora de las situaciones, pero algunos aspectos se pueden modelar ms adecuadamente con el modelo E-R extendido. Generalizacin Agregacin 77 Generalizacin Un tipo de entidades E es una generalizacin de un tipo de entidades R cuando los atributos de E estn incluidos en los atributos de R. El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una generalizacin de alumnos (que tiene adems el atributo acceso). El tipo de entidades personas con atributos DNI, ApellidosyNombre y domicilio es una generalizacin de profesores. 78 Diagramas EER La generalizacin se representa con un tringulo que incluye el texto is a ...
alumnos profesores personas is a Apellidos y Nombre Domicilio Telfono DNI acce 79 Agregacin El modelo E-R no permite establecer relaciones entre relaciones. La agregacin consiste en considerar un conjunto de componentes (tipos de entidades o tipos de relaciones) como si fueran un nico tipo de entidades. 80 Diagramas EER Se denota incluyendo en un rectngulo todos los componentes de la agregacin. Queremos gestionar partidos de un deporte. Cada partido tiene lugar entre dos equipos (el que juega en casa y el que juega fuera) y tiene un resultado. A cada partido le corresponde tambin un rbitro. Nos interesa determinar: Qu equipos han jugado entre s y con qu resultado Quin ha arbitrado cada partido. 81 Diagramas EER Con el modelo E/R bsico: Casa Equipos rbitros Partido Resultado Fuera de casa 82 Diagramas EER Sin embargo, si es necesario incluir las empresas que publicitan sus productos en un partido cmo se logra? Sera necesario introducir un tipo de entidad Empresas y un tipo de relacin Anuncia. Anuncia debera relacionar Empresas con Partidos, pero no existe esta entidad. Posibilidad una nueva entidad ternaria entre Equipos y Empresas, pero esto dara lugar a redundancia en los atributos de Partido. Solucin una agregacin denominada Partidos, que se tratar como un tipo de entidad y que puede relacionarse con Empresas. 83 Diagramas EER Equipos rbitros Resultado Fuera de casa J uega Casa Arbitra Partidos Empresas Anuncia 84 Conclusiones Ventajas del modelo E-R Diseo de alto nivel: Expresa con bastante precisin el esquema conceptual Los diagramas de E-R permiten mantener una visin global del diseo y favorece la comunicacin entre los diseadores. Desventajas del modelo E-R: Carece de un soporte formal y los SGBD no suelen implementarlo directamente. Normalmente hay que transformarlo en un modelo de ms bajo nivel.