La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Prof. Daniel Obando Fuentes

Presentaciones similares


Presentación del tema: "Prof. Daniel Obando Fuentes"— Transcripción de la presentación:

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


Descargar ppt "Prof. Daniel Obando Fuentes"

Presentaciones similares


Anuncios Google