13
Base de datos (MySQL) Normalización (Diseño Lógico y Relacional) Ing. Linda Masias Morales

Gbd6

Embed Size (px)

Citation preview

Page 1: Gbd6

Base de datos (MySQL)

Normalización(Diseño Lógico y Relacional)

Ing. Linda Masias Morales

Page 2: Gbd6

Terminología relacional

• Tupla-> Cada fila de la tabla (cada ejemplarque la tabla representa)

• Atributo-> Cada columna de la tabla.

• Grado->Número de atributos de la tabla.

• Cardinalidad->Número de tuplas de una tabla.

• Dominio->Conjunto válido de valoresrepresentables por un atributo.

Page 3: Gbd6

Primera forma normal

Una tabla se encuentra en primera formanormal si impide que un atributo de una tuplapueda tomar más de un valor.

Trabajador

DNI Nombre Departamento

12121212 Juan Mantenimiento

45454545 Rosa Dirección

Gestión

¿Se encontrara en Primera forma normal?

Page 4: Gbd6

Ejemplo primera forma normal:

Trabajador

DNI Nombre Departamento

12121212 Juan Mantenimiento

45454545 Rosa Dirección

45454545 Rosa Gestión

Page 5: Gbd6

Dependencia funcional

• Se dice que un conjunto de atributos (Y) dependefuncionalmente de otro conjunto de atributos (X) si paracada valor de X hay un único valor posible para Y.Simbólicamente se denota por X→Y.

• Por ejemplo el nombre de una persona dependefuncionalmente del DNI, para un DNI concreto sólo hay unnombre posible. En la tabla ejemplo anterior, eldepartamento no tiene dependencia funcional, ya que paraun mismo DNI puede haber más de un departamentoposible.

• Al conjunto X del que depende funcionalmente el conjuntoY se le llama determinante. Al conjunto Y se le llamaimplicado.

Page 6: Gbd6

Dependencia funcional completa

Un conjunto de atributos (Y) tiene una dependenciafuncional completa sobre otro conjunto de atributos (X) si Ytiene dependencia funcional de X y además no se puedeobtener de X un conjunto de atributos más pequeño queconsiga una dependencia funcional de Y.Por ejemplo en una tabla de clientes, el conjunto deatributos formado por el nombre y el DNI producen unadependencia funcional sobre el atributo apellidos. Pero noes plena ya que el DNI sólo también produce unadependencia funcional sobre apellidos. El DNI sí produceuna dependencia funcional completa sobre el campoapellidos.Una dependencia funcional completa se denota como X⇒Y

Page 7: Gbd6

Dependencia funcional elemental

Se produce cuando X e Y forman unadependencia funcional completa y además Yes un único atributo.

Page 8: Gbd6

Dependencia funcional transitiva

Es más compleja de explicar, pero tiene también utilidad. Seproduce cuando tenemos tres conjuntos de atributos X, Y y Z. Ydepende funcionalmente de X (X→Y), Z depende funcionalmentede Y (Y→Z). Además X no depende funcionalmente de Y. Entoncesocurre que X produce una dependencia funcional transitiva sobre Z.Esto se denota como: (X -- →Z)Por ejemplo si X es el atributo Número de Clase de un instituto, e Yes el atributo Código Tutor. Entonces X→Y (el tutor dependefuncionalmente del número de clase). Si Z representa el Código deldepartamento, entonces Y→Z (el código del departamentodepende funcionalmente del código tutor, cada tutor sólo puedeestar en un departamento). Como no ocurre que Y→X (el código dela clase no depende funcionalmente del código tutor, un códigotutor se puede corresponder con varios códigos de clase). EntoncesX --→Z (el código del departamento depende transitivamente delcódigo de la clase).

Page 9: Gbd6

Segunda forma normal

Ocurre si una tabla está en primera formanormal y además cada atributo que no seaclave, depende de forma funcional completarespecto de cualquiera de las claves. Toda laclave principal debe hacer dependientes alresto de atributos, si hay atributos quedepende sólo de parte de la clave, entoncesesa parte de la clave y esos atributos formaránotra tabla.

Page 10: Gbd6

Segunda forma normal Alumnos

DNI CodCurso Nombre Apellido1 Nota

12121212 25 Juan Perez 9

12121212 35 Juan Perez 12

89898989 25 Luisa Carpio 11

56565656 35 Rosa Gimenez 8

56565656 25 Rosa Gimenez 12

Suponiendo que el DNI y el número de curso formen una clave principal para esta tabla, sólo la nota tiene dependencia funcional completa. El nombre y los apellidos dependen de forma completa del DNI. La tabla no es 2FN.

Page 11: Gbd6

Segunda forma normal: Alumnos

DNI Nombre Apellido1

12121212 Juan Perez

89898989 Luisa Carpio

56565656 Rosa Gimenez

Asistencia

DNI CodCurso Nota

12121212 25 9

12121212 35 12

89898989 25 11

56565656 35 8

56565656 25 12

Page 12: Gbd6

Tercera forma normal Alumnos

DNI Nombre Apellido1 Codprovincia Provincia

12121212 Juan Perez 035 Urubamba

12121212 Juan Perez 035 Urubamba

89898989 Luisa Carpio 033 Calca

56565656 Rosa Gimenez 034 Espinar

56565656 Rosa Gimenez 034 Espinar

La Provincia depende funcionalmente del código de provincia, lo que hace que no esté en 3FN.

Page 13: Gbd6

Tercera forma normal

Provincia

CodProvincia Provincia

035 Urubamba

033 Calca

034 Espinar

Alumnos

DNI Nombre Apellido1 Cod Provincia

12121212 Juan Perez 035

12121212 Juan Perez 035

89898989 Luisa Carpio 033

56565656 Rosa Gimenez 034

56565656 Rosa Gimenez 034