Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Prof. Daniel Obando Fuentes
Bases de Datos 1 Prof. Daniel Obando Fuentes
2
Optimizando el diseño Normalización: Proceso mediante el cual una base de datos es diseñada de modo que se remueven las redundancias y se incrementa la claridad de la organización de los datos. Es un proceso recursivo Busca que cada tabla llegue a su HNF (Highest Normal Form) Reduce el número de posibles anomalías Ventajas Hace el diseño escalable Incrementa la eficiencia Reduce el espacio de almacenamiento Protege la integridad de los datos Desventajas Es un dolor de h…cabeza
3
Anomalías Sucursal Empresa Tfno CIF Un. Prod Precio Proveedor 1
C. Inglés 193 CI 12 P1 123 Agro 2 294 18 7 P2 827 Telna 86 P3 45 P6 98 Galerías 185 CG 103 40 P5 308 Xcon 200 27 P7 126
4
anomalías Inserción Actualización Borrado
Si Agro saca un nuevo product PX, no se podría inserter ya que no se conocen datos como Empresa o Tfno Actualización Si P1 sube a 200, habría que modificar 2 tuplas Borrado Si se quiere eliminar la sucursal DOS de Galerías, se borrará la única referencia al producto P7
5
Dependencias funcionales
Una dependencia funcional es una conexión entre uno o más atributos. Por ejemplo si se conoce el valor de DNI tiene una conexión con Apellido o Nombre . El atributo principal es llamado DETERMINANTE Las dependencias funcionales del sistema se escriben utilizando una flecha, de la siguiente manera: FechaDeNacimiento Edad X Y
6
Axiomas de armstrong Dependencia Funcional Reflexiva o Completa:
Si Y está incluído en X entonces X Y DNI nombre Dependencia Funcional Aumentativa: X Y entonces XZ YZ DNI nombre entonces DNI,Dirección nombre, dirección Dependencia Funcional Transitiva: Sean X, Y, Z tres atributos (o grupos de atributos) de la misma entidad. Si Y depende funcionalmente de X y Z de Y, pero X no depende funcionalmente de Y, se dice entonces que Z depende transitivamente de X. Simbólicamente sería: X Y, Y Z entonces X Z FechaDeNacimiento Edad Edad Conducir FechaDeNacimiento Edad Conducir
7
Propiedades deducidas
Unión x y, x z entonces x yz Pseudo-transitiva x y, wy z entonces wx z Composición A B, C D entonces A,C B,D Descomposición x y, z está incluido en y entonces x z
8
Dependencias Funcionales
B C D E a b z w q e r p d t f s A C C A B D A,B E
9
Formas Normales 1NF, 2NF, 3NF 4NF y 5NF 6NF
Atributos no key dependen solo del primary key 4NF y 5NF Representación de relaciones 1:M y M:M 6NF Si hay más de 2 PK’s en una tabla, crear tablas aparte con estas
10
De Dependencias a RElaciones
Si A->B y B->A, entonces B y A deben estar en la misma tabla Si A,B -> C pero C -/> A,B, entonces A-/>C ó B-/>C. (2NF) Si A->C y C->A entonces A y C deben estar en una table aparte Si A->B y B->C, entonces A->C (3NF) B->C deberían estar en una tabla aparte. Si A->B y C->D, A y C deben ser PKS en distintas tablas (BYNC)
11
1NF Cada celda de la tabla debe contener solo un dato, y no puede haber filas duplicadas. Ie: Una valor por columna ID Cliente Nombre Apellido Teléfono 123 Rachel Ingram 456 James Wright 789 Cesar Dure
12
1NF ID Cliente Nombre Apellido Teléfono 1 Teléfono 2 Teléfono 3 123
Rachel Ingram 456 James Wright 789 Cesar Dure
13
1NF ID ID Cliente Teléfono 1 123 555-861-2025 2 456 555-403-1659 3
Nombre Apellido 123 Rachel Ingram 456 James Wright 789 Cesar Dure ID ID Cliente Teléfono 1 123 2 456 3 4 789
14
2NF Dada una clave primaria y cualquier atributo que no sea un constituyente de la clave primaria, el atributo no clave depende de toda la clave primaria en vez de solo de una parte de ella. Todas las columnas que no sean PK deben depender funcionalmente de manera complete de la PK Cumple con 1NF ID curso ID Semestre Aula Nombre Curso IT101 2014-1 100 Programming 2014-2 IT102 200 Databases 2013-1 150 IT103 120 Web Design
15
2NF ID Curso -> Nombre Curso Nombre Curso -> ID Curso
ID Semestre -/> Nombre Curso ID curso ID Semestre Aula Nombre Curso IT101 2014-1 100 Programming 2014-2 IT102 200 Databases 2013-1 150 IT103 120 Web Design
16
2NF ID curso ID Semestre Aula IT101 2014-1 100 2014-2 IT102 200 2013-1
150 IT103 120 ID curso Nombre Curso IT101 Programming IT102 Databases IT103 Web Design
17
3NF ID curso ID Semestre Aula Id Profesor Nombre Profesor IT101 2014-1
Cada columna de la tabla se relaciona solo con el primary key de la tabla. Ningún atributo que no sea PK depende transitivamente de la PK Cumple con 2NF ID curso ID Semestre Aula Id Profesor Nombre Profesor IT101 2014-1 100 332 Mr Jones 2014-2 IT102 200 495 Mr Bentley 2013-1 150 IT103 120 242 Mr Smith
18
3NF ID curso ID Semestre Aula Id Profesor Nombre Profesor IT101 2014-1
ID Curso, ID Semestre -> Id Profesor ID Profesor -> Nombre Profesor Entonces: ID Curso, ID Semestre -> Nombre Profesor Ojo: ID Curso -> Id Profesor -> Nombre Profesor NO se cumple ID curso ID Semestre Aula Id Profesor Nombre Profesor IT101 2014-1 100 332 Mr Jones 2014-2 IT102 200 495 Mr Bentley 2013-1 150 IT103 120 242 Mr Smith
19
3NF ID curso ID Semestre Aula Id Profesor IT101 2014-1 100 332 2014-2
200 495 2013-1 150 IT103 120 242 Id Profesor Nombre Profesor 332 Mr Jones 495 Mr Bentley 242 Mr Smith
20
Boyce-codd nF (BCNF) En una relación, todo determinante es una PK
Si A->B y C->D, A y C deben ser PKS en distintas tablas N. Estudiante Id Curso N. Curso Id Profesor N. Profesor Gómez 100 Mate I 1 Arias 200 Física 2 Flores Pérez 300 Álgebra 3 Sánchez Ramos 4 García
21
BCNF Id Profesor -> N. Profesor Id Curso -> N. Curso Id Profesor
1 Arias 2 Flores 3 Sánchez Id Curso N. Curso 100 Mate I 200 Física 300 Álgebra
22
4NF Las tablas no pueden tener dependencias multivalor en PKs
Si A,B -> C dónde A,B,C son PK, se debe separar la tabla. No se recomiendan PKs de más de 2 columnas Cumple con 3NF Restaurant Pizza Variety Delivery Area A1 Pizza Thick Crust Springfield Shelbyville Capital City Stuffed Crust Elite Pizza Thin Crust Vincenzo's Pizza
23
4NF Restaurant Pizza Variety A1 Pizza Thick Crust Stuffed Crust
Elite Pizza Thin Crust Vincenzo's Pizza Restaurant Delivery Area A1 Pizza Springfield Shelbyville Capital City Elite Pizza Vincenzo's Pizza
24
5NF (Projection-Join) No deben haber dependencias cíclicas en llaves compuestas A->B,C, B->A,C, C->A,B, donde A,B,C son PKs Cumple con 4NF Problema: Liz Claiborne empieza a vender Jeans Buyer vendor Ítem Sally Liz Claiborne Blouses Mary Jordach Jeans Sneakers
25
5NF Vendor Ítem Liz Claiborne Blouses Jeans Jordach Sneakers Buyer
Sally Liz Claiborne Mary Jordach Vendor Ítem Liz Claiborne Blouses Jeans Jordach Sneakers Buyer Item Sally Blouses Mary Jeans Sneakers
26
6NF ID Estudiante Nombre Estudiante Id Libro Nombre Libro
Relaciones M:M deben tener tablas intermedias. Cumple con 5NF ID Estudiante Nombre Estudiante Id Libro Nombre Libro Días Préstamo 1 B. Ruiz 10 C++ 5 2 C. Borges 11 PHP 3 K. Navas 12 Java 13 SQL B Ruiz 14 C#
27
6NF ID Estudiante Nombre Estudiante 1 B. Ruiz 2 C. Borges 3 K. Navas
Id Libro Nombre Libro 10 C++ 11 PHP 12 Java 13 SQL 14 C# ID Estudiante Id Libro Días Préstamo 1 10 5 2 11 3 12 13 14
28
Práctica: Aplique 3nf a la siguiente tabla
nss nombre puesto salario s 111 Juan Pérez Jefe de Área 3000 222 José Sánchez Administrativo 1500 333 Ana Díaz
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.