• No se han encontrado resultados

• definir un criterio de “calidad” de las BB.DD. relacionales

N/A
N/A
Protected

Academic year: 2022

Share "• definir un criterio de “calidad” de las BB.DD. relacionales"

Copied!
47
0
0

Texto completo

(1)

Introducci

Introducci ó ó n al dise n al dise ñ ñ o de o de BB. DD. Relacionales BB. DD. Relacionales

T5.2006-07

(2)

2 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Objetivos de este tema

• definir un criterio de “calidad” de las BB.DD. relacionales

• mejor comprensión del modelo

relacional

(3)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Contenidos :

5.1. introducción

5.2. dependencia funcional

5.3. formas normales: 1FN, 2FN, y 3FN

5.4. forma normal de boyce-codd

5.5. ejemplos

(4)

4 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

EMPLEADO (NIF, nombre)

Clave primaria: NIF

PROYECTO (código, presupuesto, inicio, final, ciudad) Clave primaria: código

TRABAJAR (NIF, código, desde, hasta)

Clave primaria: (N.I.F., código, desde) Clave ajena: NIF EMPLEADO

Clave ajena: código PROYECTO

(5)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

EMPLEADO (NIF, nombre)

Clave primaria: NIF

PROYECTO (código, presupuesto, inicio, final, ciudad) Clave primaria: código

TRABAJAR (NIF, código, desde, hasta)

Clave primaria: (N.I.F., código, desde) Clave ajena: NIF EMPLEADO

Clave ajena: código PROYECTO

¿ ¿ D D ó ó nde pongo el nde pongo el

Tel Tel é é fono de los empleados? fono de los empleados?

(6)

6 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

EMPLEADO (NIF, nombre)

Clave primaria: NIF

PROYECTO (código, presupuesto, inicio, final, ciudad) Clave primaria: código

TRABAJAR (NIF, teléfono, código, desde, hasta) Clave primaria: (N.I.F., código, desde) Clave ajena: NIF EMPLEADO

Clave ajena: código PROYECTO

(7)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

N.I.F. TELÉFONO CÓDIGO DESDE HASTA 22446688A 5632224 A111 10/10/1992 20/12/1992 22446688A 5632224 A112 09/01/1993 12/03/1993 22446688A 5632224 A112 20/03/1993 14/03/1993 22446688A 5632224 A116 15/08/1993 24/11/1993 11116666B 5211111 A112 09/01/1993 20/05/1993 11116666B 5211111 A114 07/07/1993 27/10/1993

Anomalías de actualización

• Efectos no deseados en el manejo

de la información almacenada

(8)

8 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

N.I.F. TELÉFONO CÓDIGO DESDE HASTA 22446688A 5632224 A111 10/10/1992 20/12/1992 22446688A 5632224 A112 09/01/1993 12/03/1993 22446688A 5632224 A112 20/03/1993 14/03/1993 22446688A 5632224 A116 15/08/1993 24/11/1993 11116666B 5211111 A112 09/01/1993 20/05/1993 11116666B 5211111 A114 07/07/1993 27/10/1993 22446688A 6632224 A116 15/08/1993 24/11/1993

Inserción = posibles inconsistencias

¿qué teléfono es el “bueno”?

(9)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Inserción = posibles inconsistencias + restricciones “artificiales”

N.I.F. TELÉFONO CÓDIGO DESDE HASTA 22446688A 5632224 A111 10/10/1992 20/12/1992 22446688A 5632224 A112 09/01/1993 12/03/1993 22446688A 5632224 A112 20/03/1993 14/03/1993 22446688A 5632224 A116 15/08/1993 24/11/1993 11116666B 5211111 A112 09/01/1993 20/05/1993 11116666B 5211111 A114 07/07/1993 27/10/1993 22446688A 6632224 A116 15/08/1993 24/11/1993

33335555C 5660626 ? ?

¿no puedo almacenar el teléfono de

un empleado si no tiene proyecto?

(10)

10 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Borrado = posible eliminación no deseada de información de la BD

N.I.F. TELÉFONO CÓDIGO DESDE HASTA 22446688A 5632224 A111 10/10/1992 20/12/1992 22446688A 5632224 A112 09/01/1993 12/03/1993 22446688A 5632224 A112 20/03/1993 14/03/1993 22446688A 5632224 A116 15/08/1993 24/11/1993 11116666B 5211111 A112 09/01/1993 20/05/1993 11116666B 5211111 A114 07/07/1993 27/10/1993 22446688A 6632224 A116 15/08/1993 24/11/1993

si elimino la relación del empleado

con sus proyectos “pierdo” su teléfono

(11)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Modificación = coste computacional elevado

N.I.F. TELÉFONO CÓDIGO DESDE HASTA 22446688A 5632224 A111 10/10/1992 20/12/1992 22446688A 5632224 A112 09/01/1993 12/03/1993 22446688A 5632224 A112 20/03/1993 14/03/1993 22446688A 5632224 A116 15/08/1993 24/11/1993 22446688A 6632224 A116 15/08/1993 24/11/1993

… y dura, y dura, y dura…

(12)

12 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CONCLUSIÓN:

• BD incorrectamente diseñada

ƒ redundancia

• anomalías de actualización

ƒ inserción

– inconsistencia / restricciones artificiales

ƒ borrado

– eliminación no deseada de información

ƒ modificación

– alto coste computacional

(13)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

SOLUCIÓN:

• NORMALIZACIÓN

ƒ Ya no como herramienta de diseño sino como criterio de calidad

ƒ proceso de transformación de las tablas de una BDR hasta eliminar las anomalías de actualización

– estructura eficiente

– coherente con las especificaciones del sistema de

información

(14)

14 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

NORMALIZACIÓN

• correcta elección del esquema

• comprobación del esquema

EMPLEADO (NIF, nombre)

Clave primaria: NIF

PROYECTO (código, presupuesto, inicio, final, ciudad) Clave primaria: código

TRABAJAR (NIF, teléfono, código, desde, hasta) Clave primaria: (N.I.F., código, desde) Clave ajena: NIF EMPLEADO

Clave ajena: código PROYECTO

(15)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

NORMALIZACIÓN

• correcta elección del esquema

• comprobación del esquema

EMPLEADO (NIF, nombre, teléfono) Clave primaria: NIF

PROYECTO (código, presupuesto, inicio, final, ciudad) Clave primaria: código

TRABAJAR (NIF, código, desde, hasta)

Clave primaria: (N.I.F., código, desde) Clave ajena: NIF EMPLEADO

Clave ajena: código PROYECTO

(16)

16 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

NORMALIZACIÓN

• correcta elección del esquema

• comprobación del esquema

FORMAS NORMALES

• requisitos a cumplir por tablas

1FN 2FN 3FN FNBC

-

+

estricta

(17)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

NORMALIZACIÓN

• Objetivo: llegar hasta 3FN

ƒ si las tablas tienen una única CC

ƒ si tienen más, FNBC? 4FN? 5FN?...

1FN 2FN 3FN

-

estricta

(18)

18 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional

Dada una relación R, el atributo Y de R

depende funcionalmente del atributo

X de R si y sólo si, como mucho, un solo valor de Y en R está asociado a cada valor X en R (en cualquier momento dado). Los atributos X e Y pueden ser compuestos.

ƒ R.XR.Y y se lee “R.X determina

funcionalmente a R.Y”-

(19)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional

ƒTodo empleado tiene un (único) teléfono

NIF → teléfono

• por cada NIF sólo hay 1 valor de teléfono

ƒ(lo contrario, no necesariamente)

NIF teléfono 21222333 965652244 21444555

55111333 985333444

(20)

20 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional completa

• El teléfono sólo depende de parte de la CC

nif código

desde

teléfono

hasta

(21)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional completa

• El teléfono sólo depende de parte de la CC

nif código

desde

teléfono

hasta

nif teléfono código desde hasta

21 9654 A1 1/3/2005 30/4/2005

21 9654 A1 5/8/2005 15/9/2005

(22)

22 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional completa

• El teléfono sólo depende de parte de la CC

nif código

desde hasta

nif teléfono

(23)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional completa

• El teléfono sólo depende de parte de la CC

nif código

desde hasta

nif teléfono

nif código desde hasta

21 A1 1/3/2005 30/4/2005

21 A1 5/8/2005 15/9/2005

21 A2 1/3/2005 15/4/2005

nif teléfono

21 9654

(24)

24 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional transitiva

nif determina a ciudad, que a su vez determina a idoneidad

ƒ entonces nif determina a idoneidad

nif teléfono

ciudad

idoneidad

(25)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional transitiva

nif determina a ciudad, que a su vez determina a idoneidad

ƒ entonces nif determina a idoneidad

nif teléfono

ciudad

idoneidad

nif teléfono ciudad idoneidad

21 9622 Gijón Buena

22 9622 Gijón Buena

(26)

26 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional transitiva

nif determina a ciudad, que a su vez determina a idoneidad

ƒ entonces nif determina a idoneidad

nif teléfono

ciudad ciudad

idoneidad

(27)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Dependencia funcional transitiva

nif determina a ciudad, que a su vez determina a idoneidad

ƒ entonces nif determina a idoneidad

nif teléfono

ciudad ciudad

idoneidad

nif teléfono ciudad 21 9622 Gijón 22 9622 Gijón

ciudad idoneidad

Gijón Buena

Oviedo mala

(28)

28 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Formas normales

• 1FN = estructura básica

• 2FN = 1FN + DF completas

• 3FN = 2FN + no DF transitivas

(29)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

1FN

Una relación está en primera forma normal (1FN) si y sólo si todos los dominios simples subyacentes

contienen sólo valores atómicos

ƒ ¡No olvidemos la CP!

– Una RELACIÓN está en primera…

(30)

30 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

2FN

Una relación está en segunda forma normal (2FN) si y sólo si

• está en 1FN y

• todos los atributos no clave

dependen por completo de alguna clave candidata

ƒ usualmente, la clave primaria

(31)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

3FN

Una relación está en tercera forma normal (3FN) si y sólo si

• está en 2FN y

• todos los atributos no clave

dependen de manera no transitiva

de alguna clave candidata

(32)

32 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

Normalizar de xFN a yFN

• Detectar DF “erróneas”

• Para todas las detectadas

A.1 nueva tabla = origen + destino A.2 clave primaria = origen

B.1 tabla inicial = tabla inicial – destino

B.2 clave ajena en tabla inicial a nueva tabla

(33)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

T1(nif, código, desde, hasta, teléfono, ciudad, habitantes)

¿1FN?

• Todos los atributos en una única relación

• ¿Clave primaria? El conjunto de atributos desde los que se puede “llegar” a todos los demas

nif código

desde

teléfono ciudad

habitantes

(34)

34 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

T1(nif, código, desde, hasta, teléfono, ciudad, habitantes) CP: (nif, código, desde) 1FN

nif código

desde

teléfono

hasta

ciudad

habitantes

(35)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde) 1FN, ¿2FN?

nif código

desde

teléfono ciudad

habitantes

(36)

36 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde) 1FN, ¿2FN?

nif código

desde

teléfono

hasta

ciudad

habitantes

nif

(37)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

T11(nif, teléfono, ciudad, habitantes)

nif código

desde

teléfono ciudad

habitantes

nif

(38)

38 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

T11(nif, teléfono, ciudad, habitantes) CP: (nif)

nif código

desde

teléfono

hasta

ciudad

habitantes

nif

(39)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

T11(nif, teléfono, ciudad, habitantes) CP: (nif)

nif código

desde

teléfono ciudad

habitantes

nif

(40)

40 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde) CAj: (nif) → T11

T11(nif, teléfono, ciudad, habitantes) CP: (nif)

nif código

desde

teléfono

hasta

ciudad

habitantes

nif

(41)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde) CAj: (nif) → T11 2FN

T11(nif, teléfono, ciudad, habitantes) CP: (nif) 2FN

nif código

desde

teléfono ciudad

habitantes

nif

(42)

42 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

CAj: (nif) → T11 2FN, ¿3FN?

T11(nif, teléfono, ciudad, habitantes) CP: (nif) 2FN, ¿3FN?

nif código

desde

teléfono

hasta

ciudad

habitantes

nif

(43)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

CAj: (nif) → T11 3FN T11(nif, teléfono, ciudad, habitantes)

CP: (nif) ¿3FN?

nif código

desde

teléfono ciudad

habitantes

nif

(44)

44 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

CAj: (nif) → T11 3FN T11(nif, teléfono, ciudad, habitantes)

CP: (nif)

T111(ciudad, habitantes) CP: (ciudad)

teléfono ciudad nif

ciudad habitantes

nif código

desde

hasta

(45)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

CAj: (nif) → T11 3FN T11(nif, teléfono, ciudad)

CP: (nif)

T111(ciudad, habitantes) CP: (ciudad)

teléfono ciudad nif

nif código

desde

hasta

(46)

46 BD1 2006-07

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

CP: (nif, código, desde)

CAj: (nif) → T11 3FN T11(nif, teléfono, ciudad)

CP: (nif)

CAj: (ciudad) → T111 T111(ciudad, habitantes)

CP: (ciudad)

teléfono ciudad nif

ciudad habitantes

nif código

desde

hasta

(47)

introducción dependencia

funcional formas normales Ejemplos FN de Boyce- Codd Ejercicios

T1 (nif, código, desde, hasta)

CP: (nif, código, desde)

CAj: (nif) → T11 3FN

T11 (nif, teléfono, ciudad)

CP: (nif)

CAj: (ciudad) → T111 3FN

T111 (ciudad, habitantes)

CP: (ciudad) 3FN

Referencias

Documento similar

Esta idea fue formulada en el primer tercio del siglo XIX por David Ricardo y es reconocida, por tirios y troyanos, como la teoría de las ventajas comparativas y es alrededor de

• Comisión de Garantía de la Calidad del Centro (CGC): En el caso de las prácticas externas, su responsabilidad es la de velar por el análisis de los

Especialista de producto de la División de Sistemas de Calidad de Bio-Rad Laboratories para América Latina.. Egresada de la carrera de Bioquímica Diagnóstica de la Universidad

Palabras clave: cine de ciencia ficción contemporáneo, retórica documental, realidad, realismo modal, sociedad contemporánea, estudios culturales, Código

Lo que en este trabajo se va a denominar diseño paramétrico es una herramienta que facilita llegar a un resultado, automatiza la representación y por lo tanto también ayuda a llegar

 Clave ajena: sus valores deben coincidir con los de la clave primaria de otra relación  representa una relación entre datos a modo de referencia. 

‘En clave de LA’ se presenta como un medio de comunicación digital de carácter cultural, enfocado a la música y las mujeres en la música valenciana.. Además de las caras

La       herramienta las transforma en el esquema lógico incluyendo una clave ajena en la tabla de la       entidad que hace el papel de hijo, a la tabla que hace el papel de padre.