1.2.-Entidades, Atributos y Relaciones
1.2.-Entidades, Atributos y Relaciones
1.2.-Entidades, Atributos y Relaciones
El modelo E-R se basa en una percepcin del mundo real, la cual esta formada por
objetos bsicos llamados entidades y las relaciones entre estos objetos as como las
caractersticas de estos objetos llamados atributos.
Una entidad es un objeto que existe y se distingue de otros objetos de acuerdo a sus
caractersticas llamadas atributos . Las entidades pueden ser concretas como una
persona o abstractas como una fecha.
Una entidad se caracteriza y distingue de otra por los atributos, en ocasiones llamadas
propiedades, que representan las caractersticas de una entidad.
Los atributos de una entidad pueden tomar un conjunto de valores permitidos al que se le
conoce como dominio del atributo.
La funcin que tiene una relacin se llama papel, generalmente no se especifican los
papeles o roles, a menos que se quiera aclarar el significado de una relacin.
Diagrama E-R (sin considerar los atributos, slo las entidades) para los modelos
ejemplificados:
Una entidad del tipo A solo se puede relacionar con una entidad del tipo B, y
viceversa.
Significa que una entidad del tipo A puede relacionarse con cualquier
cantidad de entidades del tipo B, y una entidad del tipo B solo puede estar
relacionada con una entidad del tipo A.
Indica que una entidad del tipo B puede relacionarse con cualquier cantidad
de entidades del tipo A, mientras que cada entidad del tipo A solo puede
relacionarse con solo una entidad del tipo B.
La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el
modelo E-R y establecer con esto las validaciones necesarias para conseguir que los
datos de la instancia (valor nico en un momento dado de una base de datos)
correspondan con la realidad.
Uno a uno.
Uno a muchos.
Muchos a muchos.
Una llave primaria es aquel atributo el cual consideramos clave para la identificacin de
los dems atributos que describen a la entidad.
Claro que puede haber ms de un atributo que pueda identificarse como llave primaria en
este caso se selecciona la que consideremos ms importante, los dems atributos son
denominados llaves secundarias.
Una clave o llave primaria es indicada grficamente en el modelo E-R con una lnea
debajo del nombre del atributo.
2.5.- Diagrama Entidad-Relacin
Denominado por sus siglas como: E-R; Este modelo representa a la realidad a
travs de un esquema grfico empleando los terminologa de entidades, que son objetos
que existen y son los elementos principales que se identifican en el problema a resolver
con el diagramado y se distinguen de otros por sus caractersticas particulares
denominadas atributos, el enlace que rige la unin de las entidades esta representada
por la relacin del modelo.
Recordemos que un rectngulo nos representa a las entidades; una elipse a los atributos
de las entidades, y una etiqueta dentro de un rombo nos indica la relacin que existe entre
las entidades, destacando con lneas las uniones de estas y que la llave primaria de una
entidad es aquel atributo que se encuentra subrayado.
Problema :
Indicamos con este ejemplo que existe una relacin de pertenencia de uno a uno, ya que
existe una tarjeta de circulacin registrada por cada automvil.
En este ejemplo, representamos que existe un solo presidente para cada pas.
2.5.1.- Relacin uno a muchos.
El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero
que una cuenta puede llegar a pertenecer a un solo cliente (Decimos puede, ya que
existen cuentas registradas a favor de ms de una persona).
2.6.- Normalizacin.
En un principio, Codd propuso tres formas normales, a las cuales llam primera, segunda
y tercera formas normales (1FN, 2FN, 3FN).
Todas estas formas normales se basan en las dependencias funcionales entre los
atributos de una relacin.
Ms adelante se propusieron una cuarta forma normal (4FN) y una quinta (5FN), con
fundamento en los conceptos de dependencias multivaluadas y dependencias de reunin,
respectivamente.
La normalizacin de los datos puede considerarse como un proceso durante el cual los
esquemas de relacin que no cumplen las condiciones se descomponen repartiendo sus
atributos entre esquemas de relacin ms pequeos que cumplen las condiciones
establecidas.
Otro punto que merece la pena destacar es que los diseadores de BD no tienen que
normalizar hasta la forma normal ms alta posible.
Las relaciones pueden dejarse en formas normales inferiores por razones de
rendimiento
AUTORES Y LIBROS
NOMBRE NACION CODLIBRO TITULO EDITOR
Smith USA 999 IBD AW
Perez ESP 888 CyD RM
Monetta ITA 777 CyD RM
Smith USA 666 BdD AW
A priori no podemos saber cuntos autores tiene un libro. Los errores son
frecuentes al olvidar la modificacin de un autor.
Podramos considerar la posibilidad de definir como clave los campos nombre y apellidos,
pero estamos en la misma situacin: podra darse el caso de alumnos que tuvieran los
mismo apellidos y el mismo nombre (Juan Fernndez Martn).
La solucin en este caso es asignar un cdigo de alumno a cada uno, un nmero que
identifique al alumno y que estemos seguros que es nico.
Una vez definida la clave podremos pasar a estudiar la primera forma normal.
Una relacin est en primera forma normal (1FN) si los valores para cada atributo de la relacin son atmicos.
Esto quiere decir simplemente que cada atributo slo puede pertenecer a un dominio (es
indivisible) y que tiene un valor nico para cada fila.
La primera forma normal se defini para prohibir los atributos multivaluados, compuestos
y sus combinaciones.
Cuando una relacin no est en primera forma normal, se divide en otras relaciones,
repartiendo sus atributos entre las resultantes.
Se dice que una tabla se encuentra en primera forma normal (1NF) si y solo si cada
uno de los campos contiene un nico valor para un registro determinado.
Supongamos que deseamos realizar una tabla para guardar los cursos que estn
realizando los alumnos de un determinado centro de estudios, podramos considerar el
siguiente diseo:
Tabla A (alumnos)
Cdigo Nombre
1 Marcos
2 Lucas
3 Marta
Tabla B (Cursos)
Cdigo Curso
1 Ingls
2 Contabilidad
2 Informtica
3 Ingls
3 Informtica
Como se puede comprobar ahora todos los registros de ambas tablas contienen valores
nicos en sus campos, por lo tanto ambas tablas cumplen la primera forma normal.
Una vez normalizada la tabla en 1NF, podemos pasar a la segunda forma normal.
Una relacin est en segunda forma normal si est en la 1 FN y todos los atributos no clave dependen de la clave completa y no slo de
una parte de esta.
Si todos los campos dependen directamente de la clave se dice que la tabla est es
segunda forma normal (2NF).
Este paso slo se aplica a relaciones que tienen claves compuestas, es decir, que estn
formadas por mas de un atributo.
Supongamos que construimos una tabla con los aos que cada empleado ha estado
trabajando en cada departamento de una empresa:
Tomando como punto de partida que la clave de esta tabla est formada por los campos
cdigo de empleado y cdigo de departamento, podemos decir que la tabla se encuentra
en primera forma normal, por tanto vamos a estudiar la segunda:
El campo nombre no depende funcionalmente de toda la clave, slo depende del cdigo
del empleado.
El campo departamento no depende funcionalmente de toda la clave, slo del cdigo del
departamento.
El campo aos si que depende funcionalmente de la clave ya que depende del cdigo del
empleado y del cdigo del departamento (representa el nmero de aos que cada
empleado ha trabajado en cada departamento)
Por tanto, al no depender todos los campos de la totalidad de la clave la tabla no est en
segunda forma normal, la solucin es la siguiente:
Tabla A (empleado)
Cdigo Empleado Nombre
1 Juan
2 Pedro
3 Sonia
4 Vernica
Tabla B (departamentos)
Cdigo Departamento Dpto.
2 I+D
3 Sistemas
6 Contabilidad
Podemos observar que ahora si se encuentran las tres tabla en segunda forma normal,
considerando que la tabla A tiene como ndice el campo Cdigo Empleado, la tabla B
Cdigo Departamento y la tabla C una clave compuesta por los campos Cdigo Empleado
y Cdigo Departamento.
"Una relacin est en tercera forma normal si todos los atributos de la relacin dependen funcionalmente slo de la clave, y no de ningn
otro atributo".
Se dice que una tabla est en tercera forma normal si y solo si los campos de la
tabla dependen nicamente de la clave, dicho en otras palabras los campos de las
tablas no dependen unos de otros.
Podemos observar que si una relacin est en tercera forma normal, est tambin en
segunda forma normal, sin embargo lo inverso no siempre es cierto.
Tomando como referencia el ejemplo anterior, supongamos que cada alumno slo puede
realizar un nico curso a la vez y que deseamos guardar en que aula se imparte el curso.
El aula, aunque en parte tambin depende del alumno, est ms ligado al curso que el
alumno est realizando.
Tabla A (alumnos-cursos)
Cdigo Nombre Curso
1 Marcos Informtica
2 Lucas Ingls
3 Marta Contabilidad
Tabla B (curso-
aula)
Curso Aula
Informtica Aula A
Ingls Aula B
Contabilidad Aula C
Una vez conseguida la tercera forma normal, se puede estudiar la cuarta forma normal.
Una tabla est en cuarta forma normal si y slo si para cualquier combinacin clave
- campo no existen valores duplicados.
Geometra
Figura Color Tamao
Cuadrado Rojo Grande
Cuadrado Azul Grande
Cuadrado Azul Mediano
Crculo Blanco Mediano
Crculo Azul Pequeo
Crculo Azul Mediano
Comparemos ahora la clave (Figura) con el atributo Tamao, podemos observar que
Cuadrado Grande est repetido; igual pasa con Crculo Azul, entre otras.
Estas repeticiones son las que se deben evitar para tener una tabla en 4NF.
Tamao
Figura Tamao
Cuadrado Grande
Cuadrado Pequeo
Crculo Mediano
Crculo Pequeo
Color
Figura Color
Cuadrado Rojo
Cuadrado Azul
Crculo Blanco
Crculo Azul
Existen otras dos formas normales, la llamada quinta forma normal (5FN) que se no
detalla por su dudoso valor prctico ya que conduce a una gran divisin de tablas y la
forma normal dominio / clave (FNDLL) de la que no existe mtodo alguno para su
implantacin.
Ante la presencia de este tipo de relacin nos podemos plantear el caso de unificar
todos los datos en nica tabla pues no es necesario mantener ambas tablas a la
misma vez.
Este tipo de relacin se genera cuando aparecen tablas muy grandes, con gran
cantidad de campos, disgregando la tabla principal en dos para evitar tener una
tabla muy grande.
Esta tabla puente debe contener una nica clave compuesta formada por los
campos clave de las tablas primeras.
Empleados
Cdigo Empleado Empleado
103 Juan
105 Luisa
251 Martn
736 Ana Mara
Puestos
Cdigo Puesto Puesto
52 Comercial
73 Administrativo
Tabla Puente
Cdigo Empleado Cdigo Puesto
103 52
103 73
105 73
251 52
736 52
736 73
Ahora existe una relacin 1: n entre Empleados y Tabla Puente y otra relacin 1: n entre
Puestos y Tabla Puente ya que un empleado posee varios cdigos de empleado en la
tabla puente pero cada elemento de la tabla puente pertenece a un nico empleado.
Por otro la un puesto de trabajo posee varios elementos relacionados en la tabla puente,
pero cada elemento de la tabla puente est relacionado con un nico elemento de la tabla
puestos.
Ambos casos pueden suponer un grave problema si definimos una relacin con integridad
referencial y decimos eliminar en cascada (al eliminar una clave de la tabla A se eliminan
los elementos relacionados en la tabla B).
Empleados
Cdigo Nombre Supervisor
102 Juan NO
105 Luis SI
821 Mara NO
956 Martn SI
Para solucionar la relacin debemos crear una tabla formada por dos campos.
Ambos campos deben ser el cdigo del empleado pero como no podemos tener dos
campos con el mismo nombre a uno de ellos le llamaremos cdigo supervisor.
Tabla Puente
Cdigo Empleado Cdigo Supervisor
102 105
105 956
821 105
956 105
Para terminar de resolver la interrelacin recursiva basta con definir dos interrelaciones
entre la tabla empleados y la tabla puente de tipo 1: n.
Por tanto si llegamos a este punto hay que volver a replantearse todo el diseo de la base
de datos.
En nuestro ejemplo implica que al borrar un cliente hay que eliminar todos los pendidos
que ha realizado.