tema v. diseño de bases de datos relacionales a las bases de datos unidad v.pdf · 5.3.3 tercera...

33

Upload: lyanh

Post on 19-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

5 Diseño de base de datos relacionales

5.1 Objetivos del diseño de bases de datos.

5.2 Dependencias funcionales.

5.3 Normalización.

5.3.1 Primera forma normal.

5.3.2 Segunda forma normal.

5.3.2.1 Dependencia funcional de los datos.

5.3.2.2 Dependencia funcional completa.

5.3.2.3 Dependencia transitiva.

5.3.3 Tercera forma normal.

5.3.3 Tercera forma normal.

5.3.3.2 Atributos multivaluados.

5.3.3.3 Dependencias multivaluadas.

5.3.4 Cuarta forma normal.

5.3.5 Quinta forma normal.

5.4 Enfoques alternativos al diseño de bases de datos.

5.5 Modelado semántico.

El objetivo principal es crear una REPRESENTACION PRECISA de los DATOS , de las RELACIONES entre los datos y de las RESTRICCIONES aplicables a los datos que sean pertinentes para la organización.

Para conseguir este objetivo empleamos técnicas como el Modelo Entidad – Relación.

Otra técnica de diseño de base de datos se denomina Normalización.

Concepto asociado con la Normalización, describe la relación entre atributos.

Dependencia funcional ◦ Describe la relación existente entre atributos de

una relación R, B será funcionalmente dependiente de A (lo que se denota A→ B) si cada valor de A esta asociado con exactamente un valor de B (A y B puede consistir cada uno de ellos de uno o más atributos.

Determinante: Hace referencia al atributo o grupo de atributos en el lado izquierdo de la flecha que describe una dependencia funcional.

A determina funcionalmente a B

Cuando existe una dependencia funcional, el atributo o grupo de atributos en el lado izquierdo de la flecha se denomina determinante.

A B

B depende funcionalmente de A

Dependencia funcional completa: Indica que si A y B son atributos de una relación, B depende funcionalmente de manera completa de A si B depende funcionalmente de A pero no de ningún subconjunto propio de A.

Una dependencia funcional A→ B es una

dependencia funcional completa si la eliminación de cualquier atributo de A hace que la dependencia deje de existir.

Una dependencia funcional A → B es una

dependencia parcial si existe algún atributo que puede eliminarse de A y la dependencia continua verificándose.

Dependencia transitiva: Una condición en la que A→ B y B → C, entonces C depende transitivamente de A, a través de B (supuesto que A no sea funcionalmente dependiente de B o C).

Considere: noPersonal → sNombre, puesto, salario, noSucursal. bDireccion

noSucursal→ bDireccion

Es una técnica para producir un conjunto de relaciones con una serie de propiedades deseables, partiendo de los requisitos de datos de una organización.

Incluye: ◦ El número mínimo de atributos necesarios para soportar

los requisitos de datos de la organización. ◦ Los atributos con una relación lógica fuerte (conocida

como dependencia funcional) se encuentran en la misma relación.

◦ Redundancia mínima, estando cada atributo representado una sola vez, con la excepción de los atributos que formen parte de las claves externas.

Si se consigue agrupar los atributos en relaciones de modo que minimice la redundancia de los datos, se obtienen las siguientes ventajas: ◦ Las actualizaciones de los datos almacenados en la

BD pueden llevarse a cabo con un número mínimo de operaciones, reduciendo incoherencia en los datos.

◦ Reduce espacio de almacenamiento de archivos requerido por las relaciones base, minimiza costos.

Un dominio es atómico si se considera indivisible.

Se dice que el esquema de una relación R está en la PRIMERA FORMA NORMAL (1FN) si los dominios de todos los atributos de R son atómicos.

Un conjunto de nombres es un ejemplo de valores no atómicos. Por ejemplo, si el esquema de la relación empleado incluyera el atributo hijos, los elementos de cuyo dominio son conjuntos de nombres, el esquema no se hallaría en la primera forma

Los atributos compuestos, como el atributo dirección con sus atributos componentes calle y ciudad , tienen también dominios no atómicos.

◦ Considérese una organización que asigna a los

empleados números de identificación así: dos primeras letras especifican el departamento y las cuatro cifras restantes son un número único para el empleado dentro de ese departamento.

Ejemplos de estos números pueden ser IN0012 y EE1127.

◦ Estos números de identificación pueden dividirse en unidades menores y, por tanto, no son atómicos.

Forma NO Normalizada (UFN). Tabla que contiene uno o más grupos repetitivos.

Primera Forma Normal (1FN) Una relación Una relación en la que la inserción de toda fila y columna contiene un valor y sólo un valor (valores atómicos)

Para transformar de UFN a 1FN tenemos que identificar y eliminar los grupos repetitivos dentro de la tabla.

◦ Un atributo repetitivo es aquel, dentro de una tabla que

presente múltiples valores para un mismo valor de los atributos designados como clave principal de esa tabla.

Hay dos técnicas para eliminar grupos repetitivos:

◦ Introduciendo datos apropiados en las columnas vacías

de las filas que contienen los datos repetitivos.

◦ Colocando los datos repetitivos, junto con una copia de los atributos originales en una relación independiente.

nocliente cnombre nopropiedad pdireccion Iniciorenta finrenta renta Nopropietario Onombre

CR76 John Kay

PG4 6 Lawrence St Glasgow

1-Jul-03 31-Ago- 04

350 CO40 Tina Murphy

PG16 5 Novar Dr. Glasgow

1-Sep-04 1-Sep-05 450 CO93 Tony Shaw

CR56 Aline Stewa rt

PG4 6 Lawrence St Glasgow

1-Sep-02 10-Jun- 03

350 CO40 Tina Murphy

PG36 2 Manor Rd. Glasgow

10-Oct- 03

1-Dic-04

375 CO93 Tony Shaw

PG16 5 Novar Dr. Glasgow

1-Nov-05 10-Ago- 06

450 CO93 Tony Shaw

Tabla NO normalizada ClienteRenta

Nocliente Cnombre nopropiedad pdireccion Iniciorenta Finrenta Renta Nopropietario Onombre

CR76 John Kay

PG4 6 Lawrence St Glasgow

1-Jul-03 31-Ago- 04

350 CO40 Tina Murphy

CR76

John Kay

PG16 5 Novar Dr. Glasgow

1-Sep-04 1-Sep-05 450 CO93 Tony Shaw

CR56 Aline Stewa rt

PG4 6 Lawrence St Glasgow

1-Sep-02 10-Jun- 03

350 CO40 Tina Murphy

CR56

Aline Stewa rt

PG36 2 Manor Rd. Glasgow

10-Oct- 03

1-Dic-04

375 CO93 Tony Shaw

CR56

Aline Stewa rt

PG16 5 Novar Dr. Glasgow

1-Nov-05 10-Ago- 06

450 CO93 Tony Shaw

Tabla normalizada ClienteRenta

1FN

noCliente cNombre

CR76 Jonh Kay

CR56 Aline Stewart

Nocliente Cnombre nopropiedad pdireccion Iniciorenta Finrenta Renta Nopropietario Onombre

CR76 John Kay

PG4 6 Lawrence St Glasgow

1-Jul-03 31-Ago- 04

350 CO40 Tina Murphy

CR76

John Kay

PG16 5 Novar Dr. Glasgow

1-Sep-04 1-Sep-05 450 CO93 Tony Shaw

CR56 Aline Stewa rt

PG4 6 Lawrence St Glasgow

1-Sep-02 10-Jun- 03

350 CO40 Tina Murphy

CR56

Aline Stewa rt

PG36 2 Manor Rd. Glasgow

10-Oct- 03

1-Dic-04

375 CO93 Tony Shaw

CR56

Aline Stewa rt

PG16 5 Novar Dr. Glasgow

1-Nov-05 10-Ago- 06

450 CO93 Tony Shaw

5.3.2.1 Dependencia funcional de los datos.

5.3.2.2 Dependencia funcional completa.

5.3.2.3 Dependencia transitiva.

La segunda forma normal (2FN) se basa en el concepto de dependencia funcional completa.

Se aplica a las relaciones con claves compuestas.

2FN: Una relación que esta en primera forma normal y en la que todo atributo que no sea clave principal depende funcionalmente de manera completa de la clave principal.

noPropiedad pDireccion renta Nopropietario onombre

PG4 6 lawrence St Glasgow

350 CO40 Tina Murphy

PG16 5 Novar Dr. Glasgow

450 CO93 Tony Shaw

PG36 2 Manor Rd. Glasgow

375 CO93 Tony Shaw

PropietariosPropiedades

noCliente noPropiedad inicioRenta finRenta

CR76 PG4 1-jul-03 31-ago04

CR76 PG16 1-sep-04 1-sep-05

CR56 PG4 1-sep-02 10-jun-03

CR56 PG36 10-oct-03 1-dic-04

CR56 PG16 1-nov-05 10-ago-06

Renta

noCliente cNombre

CR76 Jonh Kay

CR56 Aline Stewart

Clientes

Una dependencia funcional es un tipo de restricción que constituye una generalización del concepto de clave.

Las dependencias funcionales son restricciones del conjunto de relaciones legales. Permiten expresar hechos sobre la empresa que se modela con la base de datos.

Se dice que K es una superclave de R si K→R

Las dependencias funcionales nos permiten expresar las restricciones que no se pueden expresar con las superclaves.

Las dependencias funcionales se utilizarán de dos maneras: ◦ Para probar las relaciones y ver si son legales según un

conjunto dado de dependencias funcionales. Si una relación r es legal según el conjunto F de dependencias funcionales, se dice que r satisface F

◦ Para especificar las restricciones del conjunto de relaciones legales. Así, solo habrá que preocuparse por las relaciones que satisfacen un conjunto dado de dependencias funcionales. Si uno desea restringirse a las relaciones del esquema R que satisfagan el conjunto F de dependencias funcionales, se dice que F se cumple en R

Una relación que esta en primera y segunda formas normales y en la que ningún atributo que no sea de clave principal depende transitivamente de la clave principal.

noPropietar oNombre

CO40 Tina Murphy

CO93 Tony Shaw

Relaciones en tercera forma normal derivadas de la relación PropiedadesPropietarios

noPropiedad pDireccion renta noPropietario

PG4 6 lawrence St Glasgow 350 CO40

PG16 5 Novar Dr. Glasgow 450 CO93

PG36 2 Manor Rd. Glasgow

375 CO93

Propiedades

Propietarios

noPropietar oNombre

CO40 Tina Murphy

CO93 Tony Shaw

Relaciones en tercera forma normal derivadas de la relación PropiedadesPropietarios

noPropiedad pDireccion renta noPropietario

PG4 6 lawrence St Glasgow 350 CO40

PG16 5 Novar Dr. Glasgow 450 CO93

PG36 2 Manor Rd. Glasgow 375 CO93

Propietarios

Propiedades

Una de las formas normales mas deseables que se pueden obtener es la forma normal de Boyce-Codd (FNBC ).

Un esquema de relación R está en FNBC respecto a un conjunto de dependencias funcionales F si, para todas las dependencias funcionales de F+ de la forma α → β, donde α⊆ R y β ⊆ R, se cumple al R, se cumple al menos una de las siguientes condiciones: ◦ α → β es una dependencia funcional trivial (es decir, β⊆ α). ◦ α es una superclave del esquema R.

Un diseño de base de datos está en FNBC si cada miembro del conjunto de esquemas de relación que constituye el diseño está en FNBC.

Una relación esta en FNBC, si y sólo si todo determinante es una clave candidata.

Esquema-cliente =( nomCliente, calleCliente, ciudadCliente) ◦ nomCliente → calleCliente ciudadCliente

Esquema-sucursal =( NomSucursal, activo,

ciudadSucursal) ◦ nomSucursal→ activo ciudadSucursal

Esquema-info-préstamo =(nomSucursal,

nomCliente, noPrestamo, importe) ◦ noPrestamo→ importe nomSucursal

Puede afirmarse que Esquema-cliente está en FNBC. Obsérvese que una clave está en FNBC. Obsérvese que una clave nomCliente.

Las únicas dependencias funcionales no triviales que se cumplen en Esquema- cliente tienen anombre-cliente a la izquierda de la flecha.

Dado que nombre-cliente es una clave candidata, las dependencias funcionales con nomCliente en la parte izquierda no violan la definición de FNBC.

Lo mismo sucede conEsquema –sucursal.

El esquema Esquema-info-préstamo , sin embargo,no está en FNBC. Obsérvese que noPrestamo no es una superclave de Esquema- infopréstamo, ya que puede que haya un par de tuplas que representen a un solo préstamo concedido a dos personas, por ejemplo, ◦ (Centro, Sr. Pinilla, P-44, 1.000) ◦ (Centro, Sra. Pinilla, P-44, 1.000)

Como no se ha relacionado ninguna dependencia funcional que descarte el caso anterior,noPrestamo no es una clave candidata.

Sin embargo, la dependencia funcional noPrestamo→ importe es de tipo no trivial.

Por lo tanto,Esquema-info-prestamo no satisface la

definición de FNBC.

Considérese la descomposición de Esquemainfo-préstamo en dos esquemas:

Esquema-préstamo =( noPrestamo, nomSucursal, importe)

Esquema-prestatario =( nomCliente, noPrestamo)

Esta descomposición es una descomposición de reunión sin pérdida.

3FN se sabe que siempre resulta posible obtener un diseño en 3FN sin sacrificar la reunión sin pérdida o la conservación de las dependencias.

Sin embargo, hay inconvenientes en 3FN: si no se eliminan todas las dependencias transitivas de las relaciones de los esquemas, puede que se tengan que emplear valores nulos para representar algunas de las relaciones significativas posibles entre los datos, y está el problema de repetición de la información.

La posibilidad de violar las condiciones FNBC puede aparecer cuando:

◦ La relación contenga dos o más claves candidatas

compuestas.

◦ Las claves candidatas se solapen, es decir, tengan atributos en común.

Considérese el ejemplo bancario. Supóngase que, en un diseño alternativo del esquema de la base de datos, se tiene el esquema

Esquema-BC= ( noPrestamo, nomCliente, calleCliente, ciudadCliente)

No está en FNBC debido a la dependencia funcional

nomCliente→ calleCliente ciudadCliente

que se estableció anteriormente, y debido a que nombre-cliente no es una clave de

Esquema -BC. Sin embargo, supóngase que el banco está atrayendo a clientes ricos que tienen varios domicilios (por ejemplo, una residencia de invierno y otra de verano). Entonces ya no se deseará hacer que se cumpla la dependencia funcional nomCliente→ calleCliente ciudadCliente.

Para tratar este problema hay que definir una nueva forma de restricción, denominada dependencia multivalorada.

Como se hizo para las dependencias funcionales, se utilizarán las dependencias multivaloradas para definir una forma normal para los esquemas de relación.

Esta forma normal, denominada cuarta forma normal (4FN), es más restrictiva que FNBC. Se verá que cada esquema 4FN se halla también en FNBC, pero que hay esquemas FNBC que no se hallan en 4FN.

Representa una dependencia entre atributos (por ejemplo A, B y C) en una relación de modo que para cada valor de A hay un conjunto de valores B y un conjunto de valores C.

Sin embargo, los conjuntos de valores de B y C son independientes entre sí.