You are on page 1of 10

Apuntes de Base de datos

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.

Dominios, atributos, tuplas y relaciones


Un dominio D es un conjunto de valores atmicos. Por atmico queremos decir que cada valor de un dominio es indivisible. Una forma de especificar un dominio es indicar un tipo de dato desde el que se dibujan los valores del mismo. Tambin resulta til darle un nombre que ayude en la interpretacin de sus valores. Los siguientes son algunos ejemplos de dominios en sus definiciones lgicas: NumeroTelefono. Conjunto de 9 dgitos que componen los nmeros de telfono. Nombre. Conjunto de caracteres que representan el nombre de una persona. Sexo. Conjunto de valores H para hombre y M para mujer. EdadEmpleado. Las posibles edades de los empleados de una empresa; cada una debe estar comprendida entre 18 y 80. NombreAcademia. El conjunto de nombres de las academias de la universidad, tales como Informtica, Telemtica, Mecatrnica o Binica.

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

Figura 1. Identificacin de partes de una relacin.

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.

Ejemplo Se parte del siguiente diagrama E-R.


fechaNac clave N:M Alumno
inscrito

email boleta

nomMateria

Materia

desc

nombre

edad periodo

nomPila

apPaterno

apMaterno

imparte

N:M numEmp desc 1: N Academia


pertenece

especialidad

Profesor

turno nomAcademia fechaIngreso nombre

nomPila

apPaterno

apMaterno

Figura 2. Diagrama E-R de ejemplo.

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

Figura 3. Diagrama E-R de ejemplo.

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

Figura 4. Relacin uno a muchos entre Profesor y Academia.

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

Figura 5. Modelo relacional. Relacin uno a muchos entre Profesor y Academia.

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

Figura 6. Atributo fechaIngreso perteneciente a la relacin pertenece.

Profesor
numEmp nomAcademia nomPila apPaterno apMaterno turno especialidad fechaIngreso

Figura 7. Relacin Profesor resultante.

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

Figura 8. Relacin entre Alumno y 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

Figura 9. Tabla Alumno_inscrito_Materia.

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

Figura 10. Relacin entre Profesor y Materia.

Profesor_imparte_Materia
numEmp clave periodo

Figura 10. Tabla resultante de la relacin entre Profesor y Materia.

El diagrama Relacional resultante del diagrama E-R es el mostrado en la figura 11.


Alumno
boleta nomPila apPaterno apMaterno fechaNac email

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

Figura 11. Esquema relacin resultante.

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.

En las siguientes pginas se describen los metadatos para el ejemplo anterior.

Descripcin de atributos (Metadatos).


Tabla 2. Relacin Alumno. Atributo boleta nomPila apPaterno apMaterno fechaNac email Descripcin Combinacin de dgitos del 0 al 9 que representan un numero de boleta vlido. 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 la fecha de nacimiento del alumno. Combinacin de caracteres que representa un correo electrnico vlido. Tipo llave Primaria n/a n/a n/a n/a n/a Null No No No No No Si Dominio [09] [a|A..z|Z] [a|A..z|Z] [a|A..z|Z] A partir de 01/01/1936 [a|A..z|Z] Formato dddddddddd Combinacin de caracteres. Combinacin de caracteres. Combinacin de caracteres. dd/mm/aaaa usuario@dominio Tipo de dato Cadena Cadena Cadena Cadena Fecha Cadena

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

You might also like