Professional Documents
Culture Documents
Modelo
Relacional
El modelo relacional representa la base de datos como una coleccin de relaciones. Informalmente, cada una de estas relaciones se parece a una tabla de valores. Cuando una relacin esta pensada como una tabla de valores, cada fila representa una coleccin de valores relacionados. El la terminologa formal del modelo relacional, una fila recibe el nombre de tupla, una cabecera de columna es un atributo y el nombre de la tabla una relacin. El tipo de dato que describe los valores que pueden aparecer en cada columna est representado por un dominio de posibles valores.
Tambin para cada uno de ellos se especifica un tipo de dato o formato. Por ejemplo, el tipo de dato NumeroTelefono puede declararse como una cadena de caracteres de la forma dddddddddd, donde cada d es un dgito numrico (decimal) y los dos primeros especifican la lada. El tipo de dato para EdadEmpleado es un nmero entero comprendido entre 18 y 80, mientras que para NombreAcademia es el conjunto de todas las cadenas de caracteres que representan los nombres de las academias vlidas.
Entonces, un dominio cuenta con: Un nombre. Un tipo de dato. Un formato. Tambin puede facilitarse informacin adicional para la interpretacin de sus valores (metros, kilogramos, pies, etc.).
Formalmente un esquema de relacin R es denotado por ! , ! , , ! , est constituido por un nombre de relacin R y una lista de atributos ! , ! , , ! . Cada atributo ! es el nombre de un papel jugado por algn dominio D en el esquema de relacin R. El dominio D de un atributo ! se especifica por dom ! . El grado de una relacin es el nmero de atributos de la misma. Una relacin r del esquema ! , ! , , ! , tambin especificado como , es un conjunto de n-tuplas = ! , ! , , ! . Cada tupla t es una lista ordenada de n valores = ! , ! , , ! , donde ! , 1 , es un elemento del dom ! .
Nombre de la relacin Atributos ESTUDIANTE Nombre Benjamin Bayer Tuplas Ana Ortiz Marcelo Gmez Beln Campos Direccin Cercado, 3 La Suerte, 6 Pase del ro, 97 El Prado, 2 Edad 19 21 25 23 Telfono NULL 98831256 85320520 85320520
Valores y NULLs en las tuplas Cada valor de una tupla es un valor atmico, es decir, no es divisible en componentes dentro del esqueleto del modelo relacional bsico. Por tanto, no estn permitidos los atributos compuestos y multivaluados. Los valores NULL se utilizan para representar valores de atributos que pueden ser desconocidos o no ser aplicables a una tupla. En general, los valores NULL pueden tener varios significados, como lo de valor desconocido, valor existente pero no disponible o atributo no aplicable a esta tupla.
Interpretacin de una relacin El esquema de relacin puede interpretarse como una declaracin o un tipo de asercin. Cada tupla de la relacin puede ser interpretada entonces como un hecho o una instancia particular de la asercin. Algunas relaciones pueden representar hechos sobre entidades, mientras que otras pueden hacerlo sobre relaciones. Una interpretacin alternativa de un esquema de relacin es como un predicado; en este caso, los valores de cada tupla se representan como valores que satisfacen el predicado. La suposicin del mundo cerrado afirma que los nicos hechos ciertos en el universo son aqullos presentes dentro de la extensin de la relacin o relaciones. Cualquier otra combinacin de valores hace que el predicado sea falso.
email boleta
nomMateria
Materia
desc
nombre
edad periodo
nomPila
apPaterno
apMaterno
imparte
especialidad
Profesor
nomPila
apPaterno
apMaterno
Comenzamos por identificar las entidades y construimos las relaciones que obtenemos de las entidades (Alumno, Materia, Academia y Profesor), quedando como se muestra en la Figura 3. Observe que el atributo edad, el cual es derivado ya no se escribe en la tabla que se genera, puesto que este puede ser calculado a partir del atributo fechaNac. Para el caso del atributo nombre, lo que procese es solo colocar en la tabla los componentes de este, es decir, nomPila, apPaterno y apMaterno.
Alumno
boleta nomPila apPaterno apMaterno fechaNac email
Materia
clave nomMateria desc
Academia
nomAcademia desc
Profesor
numEmp nomPila apPaterno apMaterno turno especialidad
Como siguiente paso, trabajaremos con las relaciones que hay entre las entidades. Comencemos con la relacin que hay entre Profesor y Academia (ver figura 2). Observe que la relacin que existe entre ambos es del orden de uno a muchos.
1: N Academia
pertenece
Profesor
Cuando tenemos un caso como el anterior, se tiene que copiar la llave primaria de relacin que tiene el 1 hacia la relacin que tiene la N, para quedar de la siguiente manera (ver figura 5).
Profesor
numEmp nomAcademia nomPila apPaterno apMaterno turno especialidad
Observe tambin que la relacin tiene el atributo fechaIngreso (ver figura 6), por lo que procese es colocar el atributo en la tabla que tiene la N, quedando finalmente como se muestra en la figura 7.
1: N Academia
pertenece
Profesor
fechaIngreso
Profesor
numEmp nomAcademia nomPila apPaterno apMaterno turno especialidad fechaIngreso
Proseguimos con la relacin entre las entidades Alumno y Materia, la que como se puede observar tiene cardinalidad de muchos a muchos (ver figura 8).
N:M Alumno
inscrito
Materia
Para este caso, se procede por generar una nueva relacin o tabla donde sus atributos llave sern, tanto las llaves primarias de Alumno como las llaves primarias de Materia. Despus de realizar esto, la nueva tabla queda como la que se muestra en la figura 9.
Alumno_inscrito_Materia
boleta clave
Finalmente, solo nos queda la relacin entre Profesor y Materia, la cual tambin tiene cardinalidad de muchos a muchos y adicionalmente tiene el atributo periodo. Para este caso, el procedimiento a seguir es el mismo que el caso anterior, es decir, generar una nueva tabla con las llaves primarias de Profesor y Materia. Por ltimo, el atributo periodo se colocar en esta nueva tabla que hemos nombrado como Profesor_imparte_Materia. En la figura 11 de puede apreciar el resultado.
periodo
Profesor
imparte
Materia
N:M
Profesor_imparte_Materia
numEmp clave periodo
Materia
clave nomMateria desc
Alumno_inscrito_Materia
boleta clave
Academia
nomAcademia desc
Profesor
numEmp nomAcademia nomPila apPaterno apMaterno turno especialidad fechaIngreso
Profesor_imparte_Materia
numEmp clave periodo
Una vez realizado esto, tenemos que especificar las caractersticas de cada uno de los atributos. Para realizar esto, podemos utilizar una tabla para hacer esta tarea. En la tabla 1 se muestran los elementos que podemos considerar para la descripcin.
Tabla 1. Elementos a considerar para realizar la descripcin de metadatos. Nombre del atributo Representa el nombre que tendr el atributo en el modelo relacional Descripcin Se da una descripcin completa acerca de lo que se refiere el atributo. Tipo de llave Se indica si el atributo es llave primaria o fornea. Permite valores nulos Se especifica si el atributo permite valores nulos. Dominio Se indican los valores permisibles para el atributo. Formato Se especifica el formato en el que deben ser escritos los valores que se almacenarn en el atributo. Tipo de dato Representa el tipo de dato en el cual se almacenar en el SGBD.
Tabla 3. Relacin Materia. Atributo clave nomMateria desc Descripcin Combinacin de caracteres alfanumricos que representan una clave de materia vlido. Combinacin de caracteres que representa el nombre de una materia vlido. Combinacin de caracteres que representa la descripcin de la materia indicada en nomMateria. Tipo llave Primaria n/a n/a Null No No Si Dominio [a|A..z|Z] [0..9] [a|A..z|Z] [a|A..z|Z] Formato [T|M|B]ddd Combinacin de caracteres. Combinacin de caracteres. Tipo de dato Cadena Cadena Cadena
Tabla 4. Relacin Academia. Atributo nomAcademia desc Descripcin Combinacin de caracteres que representa el nombre de una academia. Combinacin de caracteres que representa la descripcin de una academia indicada en nomAcademia. Tipo llave Primaria n/a Null No Si Dominio [a|A..z|Z] [a|A..z|Z] Formato Combinacin de caracteres Combinacin de caracteres. Tipo de dato Cadena Cadena
Tabla 5. Relacin Profesor. Atributo numEmp nomAcademia nomPila apPaterno apMaterno turno especialidad fechaIngreso Descripcin Combinacin de dgitos del 0 al 9 que representan un numero de empleado vlido. Combinacin de caracteres que representa el nombre de una academia. Combinacin de caracteres que representa un nombre de pila. Combinacin de caracteres que representa un apellido paterno. Combinacin de caracteres que representa un apellido materno. Representa el turno del profesor. Combinacin de caracteres que representa la especialidad del profesor. Representa la fecha de ingreso del profesor a la institucin. Tipo llave Primaria Fornea n/a n/a n/a n/a n/a n/a Null No Si No No No No Si No Dominio [09] [a|A..z|Z] [a|A..z|Z] [a|A..z|Z] [a|A..z|Z] [Matituno| Vespertino| Mixto] [a|A..z|Z] A partir de 01/01/1998 Formato dddd Combinacin de caracteres. Combinacin de caracteres. Combinacin de caracteres. Combinacin de caracteres. Combinacin de caracteres. Combinacin de caracteres. dd/mm/aaaa Tipo de dato Numrico Cadena Cadena Cadena Cadena Cadena Cadena Fecha
Tabla 6. Relacin Alumno_incrito_Materia. Atributo boleta clave Descripcin Combinacin de caracteres que representa el nombre de una academia. Combinacin de caracteres alfanumricos que representan una clave de materia vlido. Tipo llave Primaria n/a Null No Si Dominio [a|A..z|Z] [a|A..z|Z] [09] Formato Combinacin de caracteres [T|M|B]ddd Tipo de dato Cadena Cadena
Tabla 7. Relacin Profesor_imparte_Materia. Atributo numEmp clave periodo Descripcin Combinacin de dgitos del 0 al 9 que representan un numero de empleado vlido. Combinacin de caracteres alfanumricos que representan una clave de materia vlido. Combinacin de caracteres alfanumricos que representa el periodo en el cual el profesor imparti o imparte una materia. Tipo llave Primaria Primaria n/a Null No No Si Dominio [09] [a|A..z|Z] [09] [a|A..z|Z] [0..9] Formato dddd [T|M|B]ddd dddd-[A | B] Tipo de dato Entero Cadena Cadena