Dado un conjunto de Relaciones R que involucra a un conjunto de Entidades E y siendo r una relación de R y e una entidad de E... La existencia de r dependerá de la existencia de e. La relación r es subordinada. La entidad e es dominante. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 55 La Integridad Referencial se refiere a la dependencia existente entre las entidades y las relaciones relativas a esas entidades. Para que pueda darse una relación r que involucra a cierta entidad e, la entidad debe existir previamente. Aunque esto parece obvio en la vida real, a nivel de los datos se pueden producir inconsistencias muy graves si no se respeta. Ejemplo: El alumno Pato Donald no puede estar cursando la carrera Ingeniería Mecánica si no es antes, un alumno registrado en la Institución Educativa. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 56 Si se elimina una entidad e, tendrá que eliminarse la relación r. Ejemplo: El alumno Mickey Mouse hizo pagos de inscripción, constancias, multas por retraso en entrega de libros, etc. Por otro lado, se lleva un registro de las asesorías que ha recibido. Igualmente se conserva información respecto a las materias que ha cursado y las calificaciones que ha obtenido. Si se desea eliminar los datos de ese alumno como si nunca hubiera estado inscrito, también deberán eliminarse los datos de pagos, asesorías y calificaciones, ya que de otra manera, la información estaría incompleta (perdería integridad). Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 57 La Segunda forma es que la Entidad e no pueda eliminarse dado el caso de que haya relaciones en las que se encuentre presente. Solo se podrá eliminar si se trata de una entidad que no esté relacionada. Sin embargo el razonamiento más aceptado es que las entidades e que estén relacionadas no pueden eliminarse ya que eso conlleva pérdida de datos acumulados durante el tiempo, información que debe emplearse para apoyar la toma de decisiones. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 58
Por otro lado, las relaciones r pueden eliminarse en cualquier momento sin que haya una obligación implícita para eliminar la entidad o entidades e correspondientes. Ejemplo: Si se eliminan las calificaciones de un alumno, los datos generales del alumno pueden conservarse (no se pierde integridad ya que los datos siguen completos; suponga, que tal vez, las calificaciones no correspondían a ese estudiante y se capturaron por error a él). Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 59 En el esquema se establecen las restricciones de existencia creando Llaves Foráneas (FK, Foreign Keys) con la opción references de DDL. Haga los ejercicios indicados para el tema 2.1.4. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 60 2.1.5 Llaves Se deben identificar para cada conjunto de entidades y relaciones. Son indispensables para: La creación de las tablas de datos. Para establecer las restricciones de diseño en el esquema. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 61 Superllaves Conjunto de uno o más atributos que unidos permiten identificar de forma única a una entidad dentro de un conjunto de entidades. Dicho de otra forma, atributo(s) que permite(n) distinguir a una entidad de las demás de un conjunto. ALUMNOS Apellidos+Nombre+Domicilio+Fechanac Control Periodos Curp ClavePer, FechaIni,FechaFin, TipoPeriodo PERIODOS 2001A, 1-Feb-2001, 2-Jun-2001, Semestre 2001V, 3-Jul-2001, 10-Ago-2001, Verano ClavePer 2001B, 14-Ago-2001, 07-Ene-2002, Semestre FechaIni 2002A, 28-Ene-2002, 7-Jun-2002, Semestre FechaFin 2002V, 4-Jul-2002, 11-Ago-2002, Verano 2002B, 15-Ago-2002, 14-Dic-2002, Semestre Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 62
Superllaves De acuerdo a la definición, cualquier superconjunto de una superllave es también una superllave. Por lo tanto las siguientes también son superllaves: ALUMNOS Control+Apellidos+Nombre+Domicilio+FechaNac Curp+Domicilio Control+Curp PERIODOS Inicio+Fin ClavePer+TipoPeriodo Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 63 Llaves Candidatas Superllave para la cual ninguno de sus subconjuntos propios es una superllave. Subconjunto propio Cualquier subconjunto excepto el mismo conjunto, o sea, si A es un subconjunto de B (A B), pero A B entonces A es un subconjunto propio de B y se escribe A B) Informalmente se puede decir que una llave candidata es la minima expresión de una superllave. Por otro lado, si una superllave se compone de solo un atributo, consecuentemente se convierte en llave candidata. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 64 Llaves Candidatas Posibles Llaves Candidatas: ALUMNOS Control Curp Apellidos+Nombre+Domicilio+FechaNac PERIODOS ClavePer FechaIni FechaFin A las llaves candidatas se les conoce también como llaves Unicas. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 65 La costumbre mayormente aceptada actualmente es utilizar una llave Identidad o AutoIncremental como Llave Primaria. Estas llaves son valores enteros consecutivos que el DBMS genera automáticamente y solo tienen significado interno en la Base de Datos. Se acostumbra denominar a esas llaves con el prefijo Id seguido del nombre de la Entidad correspondiente. Ejemplos: IdPersona, IdMateria, IdAlumno, IdPeriodo. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 66
La Llave Primaria de un Conjunto de Entidades es el medio principal para distinguir a una entidad de las demás, pero solo para fines internos de la Base de Datos. Para los usuarios de la Base de Datos, las llaves primarias Identidad no deben tener significado alguno, los usuarios no deben conocer siquiera de su existencia. Las llaves Primarias sirven para establecer la Integridad Referencial, probablemente la restricción fundamental más importante en una Base de Datos. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 67 La definición original de Llave Primaria era: Llave candidata elegida por el DBA como el medio principal para identificar entidades dentro de un conjunto de entidades. Es decir, se elegía una de las llaves candidatas y se establecía como Primaria, las llaves no elegidas como Primaria se establecían como llaves únicas. Es por lo anterior que se le aplicaba el adjetivo candidata a las llaves que tenían la posibilidad de ser. La tendencia en la actualidad es llamarles llaves únicas. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 68 Para evitar que una llave Identidad se convierta en un problema, es indispensable que cada Conjunto de Entidades posea, al menos una llave candidata. Una vez identificadas las llaves candidatas, deben establecerse como UNIQUE en el esquema de la Base de Datos. Los conjuntos de entidades que tienen al menos una llave candidata se denominan CONJUNTOS DE ENTIDADES FUERTES: ALUMNOS, PERSONAS, MATERIAS, CARRERAS, MAESTROS, PERIODOS El estudiante debe realizar los ejercicios indicados para los temas 2.1.5ª y 2.1.5b. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 69 Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 70
No tienen atributos suficientes para obtener una llave candidata. Cómo detectarlos? Ejemplo: PERMISOS DE MAESTROS (para faltar a sus labores). Identificación de atributos (por ejemplo al tener en nuestras manos un documento permiso ): Maestro Fecha y hora de inicio del permiso Fecha y hora final del permiso Motivo del permiso. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 71 2.1.5 Llaves Como suponemos que Permisos de Maestros es un conjunto de entidades, hay que analizar cada atributo. El primer atributo, maestro, es una entidad identificada previamente. El resto de los atributos pertenecen efectivamente a otro conjunto de entidades (le llamaremos permisos ) Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 72 PermisosMaestros Maestro Permiso T44, Tchaikovski, Zaragoza 471, 874-65-02, 25000 09-mar-2001,07:00,13-mar-2001,22:00,Curso A00, Abraham, Oriente 347, 818-98-75, 12000 12-sep-2001,09:00,12-sep-2001,17:00,zVisita Prácticas A00, Abraham, Oriente 347, 818-98-75, 12000 09-mar-2001,07:00,13-mar-2001,22:00,Curso A00, Abraham, Oriente 347, 818-98-75, 12000 15-nov-2001,07:00,15-nov-2001,15:00,Visita Prácticas B99, Botticelli, Juarez 870, 830-77-55, 20000 09-mar-2001,07:00,13-mar-2001,22:00,Curso B99, Botticelli, Juarez 870, 830-77-55, 20000 21-sep-2001,17:00,21-sep-2001,18:00,Asunto Personal T44, Tchaikovski, Zaragoza 471, 874-65-02, 25000 22-sep-2001,18:00,22-sep-2001,19:00,Asunto Personal Permisos FechaIni,HoraIni,FechaFin,HoraFin,Motivo 09-mar-2001,07:00,13-mar-2001,22:00,Curso 12-sep-2001,09:00,12-sep-2001,17:00,zVisita Prácticas 09-mar-2001,07:00,13-mar-2001,22:00,Curso 15-nov-2001,07:00,15-nov-2001,15:00,Visita Prácticas 09-mar-2001,07:00,13-mar-2001,22:00,Curso 21-sep-2001,17:00,21-sep-2001,18:00,Asunto Personal 22-sep-2001,18:00,22-sep-2001,19:00,Asunto Personal ENTIDADES IDÉNTICAS Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 73 Las entidades que se obtienen, aunque algunas de ellas pueden ser iguales, son independientes entre sí los permisos no existen como entidades sino hasta que se relacionan con un profesor. Las entidades fuertes siempre existen, independientemente de que estén relacionadas o no. Las entidades débiles son poco frecuentes. Solo se requieren cuando hay una relación que solo tiene UNA entidad involucrada. Los atributos de una supuesta entidad débil asociada con otras dos entidades (fuertes ambas), son en realidad atributos de una relación entre las entidades fuertes. Por lo tanto, en este caso, un conjunto de entidades débil se hace innecesario. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 74
En nuestro ejemplo, los permisos corresponden con 3 profesores diferentes por esa razón son eventos independientes, aunque idénticos. Lo que los hace distintos es que pertenecen precisamente, a distintos maestros. Por lo tanto las entidades débiles siempre son parte de una relación 1:N Un profesor puede tener muchos permisos Un permiso pertenece solo a un maestro Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 75 Aunque un conjunto de entidades débil no tiene ninguna llave candidata, es necesario distinguir entre las entidades del conjunto débil que corresponden con su entidad fuerte correspondiente. Esta distinción se puede hacer una vez que se combinó la entidad fuerte con una o más débiles. Se puede usar uno o varios de los atributos. Se le llama discriminador. Discriminador de PERMISOS: FechaIni+HoraIni ya que un mismo profesor no podría pedir 2 diferentes permisos para un mismo período de tiempo. Fund. Bases de Datos Ing. Felipe Alanís González -ITD- 76