Upload
linda-masias
View
939
Download
0
Embed Size (px)
Citation preview
Base de datos (MySQL)
Normalización(Diseño Lógico y Relacional)
Ing. Linda Masias Morales
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.
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?
Ejemplo primera forma normal:
Trabajador
DNI Nombre Departamento
12121212 Juan Mantenimiento
45454545 Rosa Dirección
45454545 Rosa Gestión
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.
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
Dependencia funcional elemental
Se produce cuando X e Y forman unadependencia funcional completa y además Yes un único atributo.
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).
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.
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.
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
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.
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