DISEÑO DE BASES DE DATOS RELACIONALES Normalización …FNBC (Forma Normal de Boyce-Codd) Un...

20
DISEÑO DE BASES DE DATOS RELACIONALES Normalización Parte 2 FNBC, 3FN Bases de Datos I MIS. Lizbeth Alejandra Hernández González

Transcript of DISEÑO DE BASES DE DATOS RELACIONALES Normalización …FNBC (Forma Normal de Boyce-Codd) Un...

DISEÑO DE BASES DE DATOS RELACIONALES

Normalización Parte 2 FNBC, 3FN

Bases de Datos I

MIS. Lizbeth Alejandra Hernández González

FNBC (Forma Normal de Boyce-Codd) 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 menos una de las siguientes condiciones:

α →β es una dependencia funcional trivial (es decir, β ⊆ α)

α es una superclave del esquema R.

2

Ejemplo

Esquema-cliente = (nombre-cliente, calle-cliente, ciudad-cliente)

nombre-cliente → calle-cliente ciudad-cliente

Esquema-sucursal = (nombre-sucursal, activo, ciudad-sucursal)

nombre-sucursal → activo ciudad-sucursal

Esquema-info-préstamo = (nombre-sucursal, nombre-cliente, número-préstamo, importe)

número-préstamo → importe nombre-sucursal

Número-préstamo nombre-cliente 3

número-préstamo no es una superclave ni clave candidata de Esquema-infopréstamo

(Centro, Sr. Pinilla, P-44, 1.000)

(Centro, Sra. Pinilla, P-44, 1.000)

Esquema-info-préstamo no satisface la definición de FNBC.

4

repetición de información

Descomposición

Para evitar redundancia de información se pueden descomponer los esquemas que no estén en FNBC.

Esquemainfo-préstamo en dos esquemas:

Esquema-préstamo = (número-préstamo,nombre-sucursal, importe)

Esquema-prestatario = (nombre-cliente,número-préstamo)

5

Aunque número-préstamo no sea una superclave de Esquema-info-préstamo, es una clave candidata para Esquema-préstamo. Por tanto, los dos esquemas de la descomposición están en FNBC.

6

Comprobación

Para comprobar si el esquema de relación R se halla en FNBC basta con comprobar únicamente las dependencias del conjunto dado F en búsqueda de violaciones de FNBC, en lugar de comprobar todas las dependencias de F+.

7

Tercera Forma Normal (3FN)

En ella siempre hay una descomposición que conserva las dependencias.

Hay esquemas relacionales en que la descomposición FNBC no puede conservar las dependencias.

Emplear una descomposición alternativa, 3FN, que hace menos costoso el examen de las actualizaciones.

Las descomposiciones 3FN pueden contener cierta redundancia en el esquema descompuesto.

8

3FN

FNBC: α →β, donde α ⊆ R y β ⊆ R, α es una superclave de R.

3FN relaja ligeramente esta restricción permitiendo dependencias funcionales no triviales cuya parte izquierda no sea una superclave.

9

Un esquema de relación R está (3FN) respecto a un conjunto F de dependencias funcionales si, para todas las dependencias funcionales de F+ de la forma α →β, donde α ⊆ R y β ⊆ R, se cumple al menos una de las siguientes condiciones:

α →β es una dependencia funcional trivial.

α es una superclave de R.

Cada atributo A de β – α está contenido en alguna clave candidata de R. (dependencias transitivas)

10

Esquema-info-asesor = (nombre-sucursal,nombre-cliente, nombre-asesor, número-sucursal)

Las dependencias funcionales para este esquema de relación son:

nombre-asesor →nombre-sucursal número-sucursal

nombre-cliente nombre-sucursal → nombre-asesor

11

Esquema-asesor-sucursal = (nombre-asesor,nombre-sucursal, número-sucursal)

Esquema-asesor = (nombre-cliente,nombre-sucursal, nombre-asesor)

Como Esquema-asesor contiene una clave candidata de Esquema-info-asesor, el proceso de descomposición ha terminado.

12

Cualquier esquema que satisfaga FNBC satisface también 3FN, ya que cada una de sus dependencias funcionales satisfará una de las dos primeras alternativas.

1. FNBC

2. Reunión sin pérdida

3. Conservación de las dependencias

Como no siempre resulta posible satisfacer las tres, puede que haya que escoger entre FNBC y la conservación de las dependencias con 3FN.

13

RESUMEN

14

15

Normalización Primera forma normal

Una tabla se encuentra en 1NF, si todos sus atributos son atómicos (indivisibles)

nombre dirección teléfono

nombre apellido_paterno apellido_materno dirección teléfono

16

Segunda Forma Normal

Una tabla se encuentra en 2NF, si está en 1NF y cada atributo que NO es llave es "completamente" dependiente de la llave.

Todos los atributos dependen de la clave principal

calificaciones_cursos

id_estudiante depto clave_curso descripción calificación

17

curso

depto clave_curso descripción

estud_curso

id depto clave_curso calificación

18

Tercera Forma Normal

La tabla se encuentra en 3FN si es 2FN y cada atributo que no forma parte de ninguna clave, depende directamente y no transitivamente, de la clave primaria.

id_empleado nombre_depto id_jefe

id_empleado --> nombre_depto, id_jefe nombre_depto --> id_jefe

empleados

deptartamentos

nombre_depto extensión id_jefe

nombre_depto --> extensión, jefe

19

Aplicando la normalización…

departamentos

nombre_depto extensión id_jefe

nombre_depto --> extensión, jefe

id_empleado nombre_depto

id_empleado --> nombre_depto

empleados

20

Trazado de modelos

BD en disco