2 el modelo_relacional_y_la_normalizacion

Preview:

Citation preview

DISEÑO DE BASES DE DATOS

UNIDAD 2

DISEÑO DE BASE DE DATOS

2.1 EL MODELO RELACIONAL

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.2 NORMALIZACIÓN

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Recommended