Ejemplo de Relaciones
Transcript of Ejemplo de Relaciones
Erik Sacre
Bases de DatosEjemplo de Relaciones
Erik Sacre
Erik Sacre
Ejemplo
• El siguiente ejemplo pretende mostrar como se almacenan los datos y como se relacionan entre si.
• Para su construcción, se uso un Modelo Conceptual de Datos, pero se eliminó de la vista las opciones típicas del CDM, y se reemplazó por la vista del campo “Comentarios” (Tools Display Preference Entity Comments). Por lo tanto, el diagrama siguiente no es un CDM y tampoco un PDM.
Erik Sacre
C_CA
Tener
Corresponder a
A_CA
Corresponder a
Tener
A_N
Tener
Corresponder a
Al_N
Corresponder a
Tener
CARRERA
#Cod_Car Nom_Car---------------------------------C1 Educaci nC2 Ingenier a■C3 Psicolog a■C4 An lisis£
ASIGNATURA
#Cod_Asi Nom_Asi_________________A1 AlgebraA2 CalculoA3 InglesA4 Programacion
CAR_ASI
#Cod_Car #Cod_Asi_____________________C1 A3C3 A3C2 A1C2 A2C4 A1C4 A2
ALUMNO
#Rut Nom_Alu______________10 Pedro20 Susana30 Juanita40 Pedro
NOTA
#Rut #Cod_Asi #Sem #Agno Nota_Final_____________________________________10 A1 I 2006 3,410 A2 I 2006 4,510 A1 II 2006 4,620 A1 I 2006 6,020 A4 I 2006 5,5
Aquí se muestranLos datos que podríaTener cada estructura.
Por ejemplo, Carrera tiene como atributos,Cod_Car y Nom_Car, su UID es Cod_Car,Y tiene 4 registros de datos, C1, C2, C3 y C4
Erik Sacre
Explicación
• Una Asignatura puede estar en muchas Carreras. Por ejemplo, Bases de Datos I, en alguna Universidad, podría pertenecer tanto a la malla curricular de Ingeniería de Ejecución como a Ingeniería Civil.
• De los Alumno se registra su Nota_Final en NOTA. Para ello, se considera su avance curicular por semestre y año, lo cual significa tomar en cuenta las repitencias.
Erik Sacre
Forma de “leerlo”
• Puede pasar de una estructura a otra por medio de los elementos en común (UID, PK, PkFk). En este ejemplo, los elementos comunes se llaman igual entre las estructuras, aún cuando no necesariamente debe ser siempre así.
Erik Sacre
Observaciones
Identifique las Entidades Fuertes y DébilesIdentifique la propagación de las UID o
Llaves (como el diagrama anterior no es ni un CDM ni un PDM, no se puede hablar directamente o de UID o de Llave).
Fíjese que para identificar una única tupla o registro en NOTA, se agrega a la llave o UID, el Semestre y el Agno.
Erik Sacre
Resolución
• Para las siguientes preguntas, identifique las estructuras de datos involucradas (ALUMNO, CARRERA, NOTA, ASIGNATURA, CAR_ASI), y sus relaciones que permiten resolver cada pregunta. Además, identifique si el modelo contesta las preguntas siguientes, sean estas verdaderas o falsas.
Erik Sacre
Preguntas…
• El Modelo permite contestar correctamente lo siguiente?– Obtener el nombre de la Carrera cuyo
cod_car = “C1”– Listar todas las asignaturas de la carrera “C2”– Listar todas las asignaturas de la carrera “C5”– Inglés es impartido en más de una carrera?– Cuantas asignaturas tiene Ingeniería?
Erik Sacre
Preguntas…
• Curso Pedro Algebra en el segundo semestre de 2006?
• Cual fue el promedio del curso de Algebra que se impartió en el primer semestre de 2006?
• Es posible obtener el promedio final de un alumno, en la carrera.
• Cuántos alumnos inscribieron Programación el primer semestre de 2007?
Erik Sacre
Preguntas
• A qué carrera pertenece “Pedro”?• Cuántos alumnos tiene la carrera
“Psicología”?• Una nota, la pueden tener más de un
alumno?• Se permiten alumnos que no estén
adscritos a una carrera?
Erik Sacre
Preguntas
• Si se eliminan todas las relaciones (tener, corresponder a) de todo el Modelo, es decir, solo quedan las estructuras con los datos (entidades) y se borran las líneas y las patas de gallo, ¿Es posible contestar las mismas preguntas anteriores?
Erik Sacre
Observaciones
• Hay preguntas que no se pueden contestar o se contestan equivocadamente.
• Esto se debe a que el Modelo no está construido para satisfacer esos requerimientos. En otras palabras, el Modelo no está bien construido. ¿Qué cambios le haría al Modelo?
Erik Sacre
Cambios
• Hay estructuras que tienen datos relativamente estables en el tiempo (CARRERA, ASIGNATURA, ALUMNO, CAR_ASI), y otras que se actualizan más constantemente (NOTA).
• Se suguiere relacionar estructuras estables entre si, y después, derivar aquellas menos estables. En este caso, es correcto relacionar los Alumnos con las Carreras. ¿Cómo lo haría?