2 el modelo_relacional_y_la_normalizacion

45
DISEÑO DE BASES DE DATOS

Upload: mc-omar-jasso

Post on 08-Jul-2015

2.852 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2 el modelo_relacional_y_la_normalizacion

DISEÑO DE BASES DE DATOS

Page 2: 2 el modelo_relacional_y_la_normalizacion

UNIDAD 2

DISEÑO DE BASE DE DATOS

Page 3: 2 el modelo_relacional_y_la_normalizacion

2.1 EL MODELO RELACIONAL

Page 4: 2 el modelo_relacional_y_la_normalizacion

2.1 EL MODELO RELACIONAL

El modelo relacional

•Es la base de casi todos los DBMS•En el modelo relacional una tabla se le conoce como relación•Es una relación de registros o tuplas y de atributos o campos•Para que una tabla sea un relación debe cumplir:

•Una celda contiene solo un valor•Todos los valores de una misma columna deben ser del mismo tipo•Cada columna o campo debe tener un nombre único•El orden de las columnas no importan•Dos tuplas dentro de la misma tabla no pueden ser idénticas

Page 5: 2 el modelo_relacional_y_la_normalizacion

El modelo relacional

A1 A2 A3 A3 A4

V1,V2 V3 V4 V5 V6

. . . . . . . . . . . . . . . . . .

V7 V8 V9 V10 V11

V7 V8 V9 V10 V11

T1

T2

T3

T4

2.1 EL MODELO RELACIONAL

Page 6: 2 el modelo_relacional_y_la_normalizacion

El modelo relacional

RESTRICCIONES DEL MODELO RELACIONAL

•Restricción de clave candidata: toda clave candidata debe ser única, sus valores no se pueden repetir•Restricción de integridad de la entidad: toda clave primaria no puede ser nula, debe tener un valor•Restricción de integridad referencial: todo valor de una clave externa debe existir en la tabla principal

2.1 EL MODELO RELACIONAL

Page 7: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Relación 1:NLa tabla principal (1) hereda su llave a tabla secundaria (N)

A{c,d,e}

B{f,g,h,c(FK)}

2.1 EL MODELO RELACIONAL

1 NA

c d e

B

f g h

Page 8: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Relación N:NSe crea una nueva entidad conteniendo, como mínimo, las claves o llaves de las tablas principales como llaves foráneas; la combinación de ambas es la llave primaria para esta nueva entidad.

A{c,d,e}B{f,g,h}

A-B{c(FK),f(FK)}

2.1 EL MODELO RELACIONAL

N NA

c d e

B

f g h

Page 9: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Relación 1:1Opción 1: ambas tablas comparten la misma llave principal

A{c,d,e}B{c,g,h}

2.1 EL MODELO RELACIONAL

1 1A

c d e

B

c g h

Page 10: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Relación 1:1Opción 2: tablas con llaves diferentes; una hereda su llave a la otra pero como una clave única,candidata (no se puede repetir)

A{c,d,e}B{f,g,h,c(CK)}

2.1 EL MODELO RELACIONAL

1 1A

c d e

B

f g h

Page 11: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Relación recursiva 1:NLa clave primaria de la entidad se vuelve a colocar con otro nombre como llave foránea.

A{c,d,e,c_copia(FK)}

2.1 EL MODELO RELACIONAL

1 NA

c d e

Page 12: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Relación recursiva 1:1La clave primaria de la entidad se vuelve a colocar con otro nombre como llave única (candidata).

A{c,d,e,c_copia(CK)}

2.1 EL MODELO RELACIONAL

1 1A

c d e

Page 13: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Entidad subtipoSe convierte igual que una relación 1:1 en una de sus opciones

A{c,d,e}B{f,g,h,c(CK)}

2.1 EL MODELO RELACIONAL

A

c d e

B

f g h

sEs un

Page 14: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Entidad débilLa clave de la entidad fuerte aparece como clave foránea en la entidad débil así como forma parte de su llave primaria

A{c,d,e}B{f, c(FK),g,h}

2.1 EL MODELO RELACIONAL

1 NA

c d e

B

f g h

Page 15: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Atributos compuestosEl atributo se coloca en su forma descompuesta; su forma compuesta desaparece

A{c,d,f,g,h}

2.1 EL MODELO RELACIONAL

A

c d e

f g h

Page 16: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Atributos multivaluadosUn atributo multivaluado genera otra entidad teniendo como clave principal, el atributo mismo, mas la clave de la tabla de donde se deriva

A{c,d}E{c(FK),e}

2.1 EL MODELO RELACIONAL

A

c d e

Page 17: 2 el modelo_relacional_y_la_normalizacion

Conversión del Modelo E-R al Modelo R

Atributos derivadosUn atributo derivado desaparece del modelo R. Posteriormente deberá implementarse por programación SQL

A{c,d}

2.1 EL MODELO RELACIONAL

A

c d e

Page 18: 2 el modelo_relacional_y_la_normalizacion

2.2 NORMALIZACIÓN

Page 19: 2 el modelo_relacional_y_la_normalizacion

Normalización

•Es el proceso por medio de cual una tabla con algún problema (principalmente duplicidad de datos o estructura no óptima) se convierte en dos o más tablas•Dos términos importantes al hablar de normalización son:

•DEPENDENCIA FUNCIONAL•LLAVE

2.2 NORMALIZACIÓN

Page 20: 2 el modelo_relacional_y_la_normalizacion

Dependencia funcional

•Es una relación entre uno o más atributos en la cual uno (o varios) determinan a otros•Matemáticamente si una variable Y depende del valor de la variable X (determinante) se dice que X determina funcionalmente a Y

X ->YPrecioTotal= PreciodelArtículo x Cantidad

•En BD podemos decirNumeroCuentadelCliente : BalancedelClienteMatrícula : Carrera (solo si un alumno puede cursar únicamente una

carrera)

2.2 NORMALIZACIÓN

Page 21: 2 el modelo_relacional_y_la_normalizacion

Dependencia funcional

•Es posible tener dependencia funcionales que involucren grupos de atributos(X,Y) -> Z

Ej:(Matrícula, Materia): Calificación

•No es correcto lo siguiente:X-> Z,Y-> Z

Matrícula: Calificación,Materia: Calificación

2.2 NORMALIZACIÓN

Page 22: 2 el modelo_relacional_y_la_normalizacion

Dependencia funcional

•Un atributo puede determinar a variosX->(Y , Z)Matrícula: NombreAlumno, Carrera

•Si es correcto asumir:X->Y,X->Z

Matrícula: NombreAlumno,Matrícula: Carrera

2.2 NORMALIZACIÓN

Page 23: 2 el modelo_relacional_y_la_normalizacion

Llave

•Una llave es un grupo de uno o más atributos que identifican únicamente a una tupla o renglón

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

0730145 Diseño Web $1000

Registro_FITIT

Llave

2.2 NORMALIZACIÓN

Page 24: 2 el modelo_relacional_y_la_normalizacion

Llave

•Si un alumno puede asistir a varios talleres la situación cambia

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

0730145 Diseño Web $1000

0730145 Programación $500

Registro_FITIT

Llave

2.2 NORMALIZACIÓN

Page 25: 2 el modelo_relacional_y_la_normalizacion

Llave

•Si un alumno puede asistir a varios talleres, y se necesita tener el registro de todos los años

Matrícula Taller Costo Año

0830010 Programación $500 2009

0810123 Diseño Web $1000 2010

0910007 AutoCad $2000 2010

0730145 Diseño Web $1000 2009

0730145 Programación $500 2009

0730145 Diseño Web $1500 2010

Registro_FITIT

Llave

2.2 NORMALIZACIÓN

Page 26: 2 el modelo_relacional_y_la_normalizacion

Llave y dependencia funcionales

•¿Cual es la llave?•¿Cuáles son las dependencias funcionales?

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

0730145 Diseño Web $1000

Registro_FITIT

MatrículaMatrícula : Taller, CostoTaller : Costo

2.2 NORMALIZACIÓN

Page 27: 2 el modelo_relacional_y_la_normalizacion

Llave y dependencia funcionales

•¿Cual es la llave?•¿Cuáles son las dependencias funcionales?

Registro_FITIT

Matrícula Taller Costo Año

0830010 Programación $500 2009

0810123 Diseño Web $1000 2009

0910007 AutoCad $2000 2010

0730145 Diseño Web $1000 2009

0730145 Programación $500 2009

0730145 Diseño Web $1500 2010

Matrícula + Taller + AñoMatrícula , Taller, Año : Costo . . . . Taller ,Año : Costo

2.2 NORMALIZACIÓN

Page 28: 2 el modelo_relacional_y_la_normalizacion

Anomalías de modificación

•ANOMALÍA DE ELIMINACIÓN

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

0730145 Diseño Web $1000

0730145 Programación $500

Registro_FITITAl eliminar la inscripción del

alumno 0910007 del taller de AutoCad, se

elimina también el costo del taller

2.2 NORMALIZACIÓN

Page 29: 2 el modelo_relacional_y_la_normalizacion

Anomalías de modificación

•ANOMALÍA DE INSERCIÓN

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

. . . . . . ANDROID $800

0730145 Diseño Web $1000

0730145 Programación $500

Registro_FITITNo es posible

registrar el costo de un nvo. Taller hasta no tener un

alumno que se inscriba en el . . . . . ANDROID $800

2.2 NORMALIZACIÓN

Page 30: 2 el modelo_relacional_y_la_normalizacion

Anomalías de modificación

Una regla de español dice: “un párrafo solo debe tener una idea o tema. Si tiene más de un tema debe ser dividido en dos o más párrafos de manera que cada uno tenga solo un tema”

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

La relación Registro_FITIT contiene datos de dos “temas” diferentes:

La inscripción de alumnos en talleresLos costos de los talleres

2.2 NORMALIZACIÓN

Page 31: 2 el modelo_relacional_y_la_normalizacion

Anomalías de modificación

Matrícula IdTaller

0830010 10

0810123 20

0910007 30

IdTaller Nombre Costo

10 Programación $500

20 Diseño Web $1000

30 AutoCad $2000

InscripcionTaller CostoTaller

•Al descomponer la tabla en dos, las anomalías de inserción y eliminación son superadas•Sin embargo, cada que se desee inscribir un alumno a un taller, primero deberíamos asegurarnos que este taller ha sido ya registrado en la tabla de costos•Esto es conocido como restricción de integridad referencial

2.2 NORMALIZACIÓN

Page 32: 2 el modelo_relacional_y_la_normalizacion

Primera forma normal (1NF)

Reglas de normalización (formas normales)

•Existen una serie de técnicas o reglas para prevenir anomalías en las estructuras de las relaciones (tablas)•Estas son conocidas como formas normales•Dependiendo de su estructura una tabla puede estar en primera, segunda, . . . quinta forma normal

Segunda forma normal (2NF)

Tercera forma normal (3NF)

Forma normal Boyce-Codd(BCNF)

Cuarta forma normal (4NF)Quinta forma normal (5NF)

Forma normal Dominio-Llave (DK/NF)

2.2 NORMALIZACIÓN

Page 33: 2 el modelo_relacional_y_la_normalizacion

Primera Forma Normal (1NF)

•Cualquier tabla de datos que cumple con la forma como se define una relación se dice que está en primera forma normal•Para que una tabla sea un relación debe cumplir:

•Una celda contiene solo un valor, no se permiten grupos de valores•Todos los valores de una misma columna deben ser del mismo tipo•Cada columna o campo debe tener un nombre único•El orden de las columnas no importan•Dos tuplas dentro de la misma tabla no pueden ser idénticas•Cada valor de una columna debe ser atómico, es decir debe ser descompuesto a su mínimo compone

2.2 NORMALIZACIÓN

Page 34: 2 el modelo_relacional_y_la_normalizacion

Primera Forma Normal (1NF)

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

Tabla en Primera Forma Normal

2.2 NORMALIZACIÓN

Page 35: 2 el modelo_relacional_y_la_normalizacion

Segunda Forma Normal (2NF)

•Una relación se encuentra en la segunda forma normal si todos los atributos que NO son llave son dependientes de TODOS los atributos de la llave•Esta forma normal sólo se aplica a relaciones que tienen llaves compuestas•No puede haber dependencia parcial

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

0830010 Diseño Web $1000

* Un estudiante participa en varios talleres

2.2 NORMALIZACIÓN

Page 36: 2 el modelo_relacional_y_la_normalizacion

Segunda Forma Normal (2NF)

Matrícula IdTaller

0830010 10

0810123 20

0910007 30

IdTaller Nombre Costo

10 Programación $500

20 Diseño Web $1000

30 AutoCad $2000

Tablas en Segunda Forma Normal

2.2 NORMALIZACIÓN

Page 37: 2 el modelo_relacional_y_la_normalizacion

Tercera Forma Normal (3NF)

Matrícula Taller Costo

0830010 Programación $500

0810123 Diseño Web $1000

0910007 AutoCad $2000

* Un estudiante participa únicamente en un taller

Dependencias funcionales:

Matrícula : TallerTaller : Costo

Dependencia transitivaMatrícula : Costo (por medio del atributo taller)

2.2 NORMALIZACIÓN

Page 38: 2 el modelo_relacional_y_la_normalizacion

Tercera Forma Normal (3NF)

•Una relación se encuentra en tercera formar normal si esta en la segunda forma normal y no tiene dependencias transitivas•Esta forma normal sólo se aplica a relaciones que tienen llaves simples•Si la relación no está en tercera forma normal, debe de dividirse en dos o más tablas

Matrícula IdTaller

0830010 10

0810123 20

0910007 30

IdTaller Nombre Costo

10 Programación $500

20 Diseño Web $1000

30 AutoCad $2000

Tablas en Tercera Forma Normal

2.2 NORMALIZACIÓN

Page 39: 2 el modelo_relacional_y_la_normalizacion

Forma Normal Boyce-Codd (BCNF)

•Si una relación tiene más de un atributo (o combinación de atributos) que identifica una tupla como única, a cada uno de ellos se le conoce como Llave candidata.

Ej: alumno tiene dos llaves candidatas matrícula y curp

•Una relación está en BCNF si cada determinante es una llave candidata

2.2 NORMALIZACIÓN

Page 40: 2 el modelo_relacional_y_la_normalizacion

Forma Normal Boyce-Codd (BCNF)Considere lo siguiente:

•Un alumno cursa una o varias materias de un área (Matemáticas, Programación, Inglés, Redes, Desarrollo Humano)•Un área puede tener uno o varios profesores especializados en ella.•Un profesor solo puede dar asesorías en una sola área•Por cada área se asigna un único maestro a cada alumno para asesorías

Matrícula Área Asesor

100 Matemáticas J. Canales

150 Desarrollo Humano I. Jiménez

200 Matemáticas A. Riestra

250 Matemáticas J. Canales

300 Desarrollo Humano M. Pérez

300 Matemáticas A. Riestra

2.2 NORMALIZACIÓN

Page 41: 2 el modelo_relacional_y_la_normalizacion

Forma Normal Boyce-Codd (BCNF)

Llaves candidatas:•(Matrícula, Área)•(Matrícula, Asesor)

Matrícula Asesor

100 J. Canales

150 I. Jiménez

200 A. Riestra

250 J. Canales

300 M. Pérez

300 A. Riestra

Determinantes:Asesor: Área

Asesor Área

J. Canales Matemáticas

I. Jiménez Desarrollo Humano

M. Pérez Desarrollo Humano

A. Riestra Matemáticas

2.2 NORMALIZACIÓN

Page 42: 2 el modelo_relacional_y_la_normalizacion

Cuarta Forma Normal (4NF)

Considere lo siguiente: •Un alumno cursa una o varias materias y pueden participar en varios clubes (ajedrez, soccer, futbol, rondalla, etc)

Matrícula Materia Club

100 Matemáticas Soccer

100 Inglés Soccer

100 Matemáticas Rondalla

100 Inglés Rondalla

300 Matemáticas Ajedrez

2.2 NORMALIZACIÓN

Page 43: 2 el modelo_relacional_y_la_normalizacion

Cuarta Forma Normal (4NF)

•Una dependencia multivaluada es aquella que determina más de un solo valor•Se expresa AB•Papá Hijo

•Una relación se encuentra en cuarta forma normal si está en BCNF y no tiene dependencias multivaluadas

2.2 NORMALIZACIÓN

Page 44: 2 el modelo_relacional_y_la_normalizacion

Cuarta Forma Normal (4NF)

•La tabla anterior en 4NF quedaría de la siguiente manera:

Matrícula Materia

100 Matemáticas

100 Inglés

300 Matemáticas

Matrícula Club

100 Soccer

100 Rondalla

300 Ajedrez

Alumno_Materia Alumno_Club

2.2 NORMALIZACIÓN

Page 45: 2 el modelo_relacional_y_la_normalizacion