Modelo Relacional


Objetivo.

Estudiar la 1ra, 2da y 3ra Forma Normal.

Representación

– Un esquema relacional se representará mediante un grafo, conocido como grafo relacional.

– Las llaves primarias deben a parecer subrayadas

– Las llaves foráneas deben estar en negrillas y referencian a la relación en la que son llave primaria con una flecha

Transformación de entidades, atributos y dominios de un diagrama Entidad – Relación.

– Cada Entidad del esquema E/R dará lugar a una relación cuya llave primaria es el identificador principal de la entidad. (Nota: Se recomienda crear una llave primaria que sea generada por el gestor de base de datos o el programador)

– Cada Atributo de una entidad se transforma en un atributo de la relación, aunque se debe tomar en cuenta los distintos tipos de restricciones.

– Cardinalidad N:M.

o La cardinalidad N:M dan como resultado una nueva relación cuyas clave primaria será la concatenación de los identificadores de las entidades que se enlazan a través de esta.

– Cardinalidad 1:N.

o Da lugar a una propagación de la llave primaria de una relación a otra.

o La propagación de la llave primaria debe ser desde la entidad que se encuentra en el lado 1 a la entidad que se encuentra en el lado n.

– Cardinalidad 1:1:

o Da lugar a una propagación de la llave primaria de una relación a otra, pero debe realizarse un estudio de dominio para decidir cómo será la propagación.

– Generalizaciones.

o Se creará una relación por cada entidad participante en la jerarquía, una relación para el supertipo y otra para cada uno de los subtipos, de tal forma que el supertipo propague su identificador principal (llave primaria) a cada uno de los subtipos.

– Especialización.

o Las llaves primarias de cada una de las entidades que conforman la especialización deben propagarse a través de la entidad con la cual tiene una relación. La propagación debe cumplir con la cardinalidad.

Ejercicios: Convierta los siguientes diagramas entidad – relación a un modelo relacional.

clip_image002

clip_image004

clip_image006

Pasos para la normalización.

1. Cálculos de las dependencias funcionales.

2. Cálculo de las claves candidatas de la relación, de los atributos principales y de los no principales.

3. Cálculo de la forma normal en la que se encuentra la relación.

4. Aplicar los métodos de síntesis o análisis para obtener la forma normal deseada.

Cálculo de las dependencias funcionales.

– Solo es para los atributos.

– Entre los atributos de una relación puede existir dependencias de varios tipo

– Las dependencias son propiedades inherentes al contenido semántico de los datos, formando parte de las restricciones de usuario del modelo relacional.

– Dependencia funcional.

o Definición. Sea el esquema de relación R, y X y Y dos subconjuntos denominados descriptores. Y depende funcionalmente de X (X implica o determina a Y) si para cada valor de X solamente existe un único valor posible de Y. Ejemplo: Automóviles, las características del vehículo dependen funcionalmente de la Placa o del número de registro. Dada una placa se determina las características del vehículo.

o Notación: XàY. por el ejemplo anterior PlacaàModelo, Color, Número de Puertas

o Cuando dos o más atributos se implican funcionalmente mutuamente se dice que son equivalentes. Ejemplo: Nombre_Profesor ß à Carnet_Identidad.

o Reflexividad. A partir de cualquier atributo o conjunto de atributos siempre puede deducirse él mismo. Dependencia trivial: x -> x.

o Aumentativadad. Si x à y entonces x+z à y. Así se puede aumentar trivialmente el antecedente de una dependencia. Ejemplo: si con el Carnet_Identidad se determina el Nombre de una persona, entonces con el Carnet_Identidad más la Dirección también se determina el nombre.

o Proyectitividad. Si x à y+z entonces x à y. Ejemplo: si a partir del Carnet_Identidad es posible deducir el nombre y la dirección de una persona, entonces con el Carnet_Identidad es posible determinar el nombre.

o Aditividad. Si x à y y z à w entonces x+z à y+w. Ejemplo: si con el Carnet_Identidad se determina el nombre y con la dirección el teléfono de una persona, entonces con el Carnet_Identidad y la dirección podrá determinarse el nombre y el teléfono.

o Transitividad. Si xày e yàz entonces xàz. Ejemplo: si con el Carnet_Identidad
puede determinarse el código de la provincia de residencia de una persona y con éste código puede determinarse el nombre de la provincia, entonces con el Carnet_Identidad puede determinarse el nombre de la provincia. Éste es el mecanismo básico de funcionamiento del enlace entre tablas a partir de claves ajenas

Primera Forma Normal.

– Definición: Una relación está en 1FN si cumple la propiedad de que sus dominios no tienen elementos que, a su vez, sean conjuntos. Una relación está en 1FN si no incluye ningún grupo repetitivo (Un grupo repetitivo es un atributo que contiene un conjunto de valores y no un único valor).

– Definición: Se dice que una relación se encuentra en 1FN cuando cada atributo solo toma un valor del dominio simple subyacente. Es decir que no existen grupos repetitivos.

– La primera forma normal es una restricción inherente al modelo relacional, por lo que su cumplimiento es obligatorio para toda relación.

clip_image008

La primera tabla no se encuentra en la 1FN, sin embargo la segunda tabla sí cumple con la restricción y por tanto se trata de una relación.

Segunda Forma Normal.

– Definición: Una relación R se dice que está en 2FN si está en 1FN y si, solo si, los atributos no llaves (ni primarias, ni candidatas) de R, si los hubiese, son funcional y completamente dependientes de la llave primaria R

– Por ejemplo: En el esquema de relación R({A,B,C,D}, {A,BàC; AàD}, donde la llave candidata es el conjunto {A,B}, y por lo tanto los atributos principales son A y B y los no principales C y D, el atributo no principal D, depende de A, pero no de una llave. Por lo tanto, el esquema no se encuentra en 2FN. Sin embargo los esquemas R1({A,B,C,}, {A,BàC}) Y R2({A,D}, {AàD}) se encuentran en 2FN.

Procedimiento para hallar llaves candidatas de una relación.

Supongamos que se quiere encontrar las llaves candidatas de una relación R(A,B,C,D,E) con las siguientes dependencias funcionales:

A clip_image010 B

BC clip_image010[1] D

AB clip_image010[2] E

Para comenzar, se parte de que no existen más llaves que dependencias funcionales, pues el concepto de llave incluye la existencia de dependencia funcional. Se analiza, por tanto, cada una de las DF presentes en la relación, añadiendo los atributos que sean imprescindibles en la parte izquierda para lograr determinar a todos los atributos de la relación. El conjunto de atributos así formado debe ser mínimo.

Luego se analiza cada uno de esos conjuntos mínimos, de forma que, si alguno es un superconjunto de otro, ya no es llave, sino superllave. Pueden resultar varias llaves candidatas.

En el ejemplo:

1. Aclip_image010[3]B ACclip_image010[4]A B E C D AC es llave

2. BCclip_image010[5]D BCAclip_image010[6]B C D A E BCA es superllave

3. ABclip_image010[7]E ABCclip_image010[8]A B E C D ABC es superllave

La única llave es AC. No hay ninguna otra llave candidata, pues en las otras DF se obtiene el mismo conjunto ABC y este conjunto contiene a AC.

Tercera Forma Normal.

– Una relación R está en 3FN si está en 2FN y si, y sólo si, los atributos no llaves son independientes de cualquier otro atributo no llave primaria.

– Esto es lo mismo que decir que se deben eliminar las dependencias transitivas de atributos no llaves respecto a la llave primaria, estando ya la relación en 2FN.

Ejemplo. En el esquema de relación R({A,B,C}, {AàB; BàC}), la llave candidata de la relación es el atributo A, y los atributos no principales B y C. Como el atributo C depende transitivamente de la clave A, la relación no se encuentra en 3FN, aunque en sí en 2FN, ya que C depende transitivamente de la llave. Sin embargo, las relaciones R1({A,B},{AàB}) y R2({B,C},{BàC}), sí se encuentra en 3FN.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s