Prof. Daniel Obando Fuentes

Slides:



Advertisements
Presentaciones similares
IBD Clase 13.
Advertisements

Normalizaciones de Bases de Datos
Se desea establecer un modelo conceptual para la gestión de una biblioteca. Se desean tener almacenados todos los libros que la componen. Para cada libro.
Rocío Contreras Águila Primer Semestre 2010
Diseño de Bases de Datos
Una dependencia funcional es una relación entre atributos de una misma relación (tabla). Si X e Y son atributos de la relación R, se dice que Y es funcionalmente.
Teórico: Normalización
Teórico: Dependencias Funcionales
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:23 PRESENTACION: BASE DE DATOS ALUMNAS: Velazquez Corona Elsa Ponciano Antonio.
Ejercitación Cálculo I
MODELO RELACIONAL.
Primera Forma Normal En una relación (tabla) no pueden existir grupos de repetición, es decir, un atributo no puede tomar más de un valor del dominio subyacente:
Teoría de Bases de Datos
Dependencias Funcionales
Base de Datos Relacional.
NORMALIZACIÓN DE DATOS
4.2 Dominios atómicos y la primera forma normal.
M.A. Ana Celia Gutiérrez Olivas
FORMAS NORMALES El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo.
COMPUTACIÓN IV Alcalá Gaytán Erick Daniel Banda Salas Luis Rolando
Universidad Interamericana de P.R. Departamento Informática Curso 3850 Dr. Rafael Nieves.
NORMALIZACIÓN DE DATOS
Normalización Preparó: Ismael Castañeda Fuentes
Guia datos de información
MÓDULO II: FUNDAMENTOS DE BASE DE DATOS
Métrica v2.1 Técnicas: Teoría de la Normalización.
Diseño de Bases de Datos
EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACION
NORMALIZACION La teoría de la normalización, cuyas tres primeras formas normales fueron introducidas por Codd desde sus primeros trabajos, elimina dependencias.
Una base de datos es un “almacén” que nos permite guardar grandes cantidades de información de forma organizada para que luego podamos encontrar y utilizar.
NORMALIZACIÓN DE BASE DE DATOS Flor Elena Canales Alvarado Autor:
John Freddy Duitama Muñoz Juan Camilo Alzate Restrepo Facultad de Ingeniería U.de.A. John Freddy Duitama Muñoz Juan Camilo Alzate Restrepo Facultad de.
Diseño de Bases de Datos Relacionales
NORMALIZACION DE BASES DE DATOS
Normalización en una base de datos
Lic. en Inf. Manuel Álvaro Pacheco Hoyo. Una base de datos o banco de datos (en inglés: database) es un conjunto de datos pertenecientes a un mismo contexto.
Base de datos.
SEGUNDA FORMA NORMAL Cod Alumno Universidad Nombre Apellido Años 10
Chapter 13 Normalization Transparencies © Pearson Education Limited 1995, 2005.
INSTITUTO TECNOLÓGICO DE TIJUANA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN SEMESTRE ENERO-JUNIO 2014 CARRERA: INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN.
Diseño de una Base de Datos
Diseño de bases relacionales
DISEÑO DE BASES DE DATOS
Tema 5 Diseño de Bases de Datos Universidad de Murcia
07/05/2015Curso Bases de Datos1 Normalización Francisco Moreno.
Modelos de Datos.
Base de Datos I. Definición: La normalización es un proceso en el cual se va comprobando el cumplimiento de una serie de reglas, que sirven para ayudar.
 ID  Normalización  Tabulación  Seguridad  Ubicación  Límites de recursos  Mantenimiento.
INTEGRANTES ANA INOSTROZA S. JONATAN MIQUELES P
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Normalización Base de Datos I.
Normalización Base de Datos I.
Diseño de una base de datos y elementos básicos Integrantes: López Ponce de León José Efrén Velazquez Martínez Brenda Equipo:10Grupo:307.
Diagramas.
Normalización de una BASE DE DATOS
Normalización Base de Datos I.
Base de Datos.
Normalización Prof. Gloria Toro Oñate
Bases de Datos Modelo Relacional.
22/09/2015Curso Bases de Datos1 Normalización Francisco Moreno.
Ingeniero Esp. Ricardo Cujar.
NORMALIZACION Téllez Arcos Diana Fátima. La normalización es el proceso de organizar los datos de una base de datos. Se incluye la creación de tablas.
NORMALIZACIÓN.
BASES DE DATOS CONCEPTOS BASICOS Elizabeth Maite Zarate Machaca “El tratamiento eficiente de la información al servicio del usuario”
QUÉ ES UNA BASE DE DATOS? Es un Conjunto de Información, que está clasificada de distintas maneras; pero que comparten entre sí algún tipo de vínculo,
Bases de Datos I UNIVERSIDAD DEL VALLE. Contenido 5. Diseño de Sistemas de Bases de Datos  Diseño relacional  Formas normales  Proceso de creación.
Base de Datos I – Ing. Mary Carlota Bernal J. BASE DE DATOS I Normalización.
Normalización es un proceso que clasifica relaciones, objetos, formas de relación y demás elementos en grupos, en base a las características que cada.
Fundamentos de Bases de Datos
Normalizacion Sesión 3 Dr. Ing. Lenin Herrera. Contenido Que es la Normalizacion Dependencias funcionales Formas normales   1FN   2FN   3FN  
Transcripción de la presentación:

Prof. Daniel Obando Fuentes Bases de Datos 1 Prof. Daniel Obando Fuentes

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

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

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

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

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

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

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

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

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)

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 555-861-2025 456 James Wright 555-403-1659 555-776-4100 789 Cesar Dure 555-808-9633

1NF ID Cliente Nombre Apellido Teléfono 1 Teléfono 2 Teléfono 3 123 Rachel Ingram 555-861-2025 456 James Wright 555-403-1659 555-776-4100 789 Cesar Dure 555-808-9633

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 555-861-2025 2 456 555-403-1659 3 555-776-4100 4 789 555-808-9633

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

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

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

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

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

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

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

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

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

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

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

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

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#

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

Práctica: Aplique 3nf a la siguiente tabla nss nombre puesto salario emails 111 Juan Pérez Jefe de Área 3000 juanp@ecn.es; jefe2@ecn.es 222 José Sánchez Administrativo 1500 jsanchez@ecn.es 333 Ana Díaz adiaz@ecn.es; ana32@gmail.com