Normalización BD Alfredo Rodríguez Rojas

Slides:



Advertisements
Presentaciones similares
Juan F. Velazquez Mayra E. Beltran Jaime Lopez
Advertisements

CREATE VIEW nombre [ ( columna [,...n ] ) ] AS sentencia_select [ WITH CHECK OPTION ] 1.nombre Es el nombre de la vista. 2.Se debe tener permisos CREATE.
IBD Clase 13.
Coordenadas en el espacio
Metodología de programación paralela
While Leonel Morales Díaz Ingeniería Simple Disponible en: Copyright 2008 by Leonel.
Parte A (10 pts.) You will hear statements describing the pictures. Write the letter that corresponds to the picture that is described. Ejemplo: 1. ______.
Single Table Inheritance
¿Qué fecha es hoy? Objetivo: to be able to say the date in Spanish and give your date of birth.
Delete en tablas: titulacion. Puedo eliminar cualquier fila de una tabla? Restriccion de integridad: Restrict/Cascade.
Conceptos Básicos del lenguaje de programación COBOL
Subnetting Class B Addresses and Troubleshooting IP Addressing COMP 417.
MSQL OPERADORES BIT A BIT & a & b Operador de BIT AND. I a l b Operador de BIT OR. < < a >
Query Direcciones SELECT Nombre, Apellido, Ciudad FROM Direcciones;
Spatial Database Bases de Datos Espaciales MOTORES COMERCIALES Oracle Spatial.
Bases de Datos Espaciales SPATIAL QUERY LANGUAGES
Trabajo con subconsultas
Recuperación de datos. Introducción Recuperar datos de tablas mediante la instrucción SELECT Filtrar los datos Dar formato a los conjuntos de resultados.
Combinación de varias tablas. Introducción Uso de alias en los nombres de tablas Combinación de datos de varias tablas Combinación de varios conjuntos.
Procedimientos para agrupar y resumir datos
ARQUITECTURA DE COMPUTADORES - PIPELINING
Programando con Hilos POSIX* Intel Software College.
DIRECCIÓN DE COMUNICACIÓN PÚBLICA CORTE SUPREMA DE JUSTICIA DE LA NACIÓN DIRECCIÓN DE COMUNICACIÓN PÚBLICA.
Ensayo de Rendimiento DISTRIBUCIÓN DE ESTADÍSTICOS MUESTRALES.
FUNDAMENTOS DE LA TEORÍA DE LA PROBABILIDAD
Eurowin 2013 Gestión de Proyectos y Obras
Lógica Clases Teóricas – 4/11/2013-6/11/2013
Los Derechos Humanos y el Bien Común. La vida: Valor supremo de la persona humana La vida humana es, efectivamente, el bien primario con el que cuenta.
COMO USAR LA PC POR PIMERA VEZ SARAITH MACHORRO PACHECO 28 JOSE ALBERTO LOPEZ RAMIREZ 27 CAPACITACION DE INFORMATICA GRUPO 302.
Grupos de Edad Ocupación Nivel Socioeconómico.
EMPRESA Es toda persona que trabaja bajo un producto o servicio con el fin de lucrar u obtener ganancias. Se entiende por empresa al organismo social.
INTEGRIDAD, INTEGRIDAD REFERENCIAL
Examen FRAD Empezar. 1. ¿Cu á l es la diferencia entre FRAD y FRANAR? 1.FRAD son las siglas de un grupo de trabajo de OCLC y FRANAR las siglas de un grupo.
¿ BUENAS PRÁCTICAS ? ÉTICAS, ESTÉTICAS O FUNCIONALES.
Instrucciones de Estudios de física a través de Edcanvas.
Por Social Media Plan 1. MyBrand&SocialMedia ¿Qué hacemos? Estrategias a medida para nuestros clientes planificando y gestionando desde cero su plan de.
LUIS GONZALES SÁNCHEZ RESPONSABLE PROCESO DE REGISTRO DE DNI DE ESTUDIANTES UNIDAD DE GESTIÓN EDUCATIVA LOCAL LAMAS UNIDAD EJECUTORA 305.
Base de datos y Microsoft Access
MATLAB.
Nombre:Nº de Control: María del Carmen Raygoza Hernández Judith Itzel Requejo Hernández
CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE
Fundación NIC-NIIF Contratos de construcción 29/03/2017 Fundación NIC-NIIF
A.E.D. Tema 0-2. Algorítmica Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación.
Pasos para realizar la declaración Jurada de Patrimonio Has clic en el botón naranja para iniciar el registro de datos Para llenar la planilla debe utilizar.
MOMENTOS CLAVE DE LA MOVILIZACIÓN NACIONAL POR LA MEJORA DE LOS APRENDIZAJE TODOS PODEMOS APRENDER, NADIE SE QUEDA ATRÁS SETIEMBRE 2013 CURSO TALLER FORTALECIMIENTO.
Tarea de Matemática 6º año Liceo Juan Rusque Portal 12 de Abril 2012 Profesor : Marta Gahona Tapia Objetivo :Resolver problemas de operatoria combinada.
Análisis transversal. Tablas de mortalidad
Objetivo 3: Minimizar los Costos de Operación y Administración de las Dependencias y Entidades. En coordinación con lo que establezca el programa de mediano.
Tecnológica, posibilidad tecnológica de provisión sobre múltiples redes tanto de los servicios tradicionales de comunicaciones así como de sus innovaciones.
Diagramas de Casos de Uso
Tema: Fundamentos de las Bases de Datos en el entorno empresarial
Modelamiento de Datos y Bases de Datos
Procedimientos Almacenados y Disparadores
ALC 11 lunes el 26 de septiembre. Bienvenida lunes el 26 de septiembre Front row face the back row. Back row will read the words on the screen in the.
SQL Base de Datos LENGUAJES DE CONSULTA AR y CR no pueden ser tomados como base para implementar porque: Poseen sintaxis compleja No permiten.
Después de completar esta Lección, será capaz de: Limitar las filas recuperadas por una consulta Ordenar las filas recuperadas por una consulta.
Herramientas de Oracle para realizar Tuning de Sentencias SQL
Escuela Secundaria Opciones en año 10 For What will happen today ? Overview of the year 10 course for 2014 Talks on the subjects you must select.
Circuitos Digitales II
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 07 EQUIPO 03 VS EQUIPO 06 EQUIPO 04 VS EQUIPO 05 EQUIPO 02 VS EQUIPO 08.
Diseño de Bases de Datos
“Práctica” de la Normalización Sergio Ilarri. 2 Noviembre, Sergio Ilarri Contexto (I) Normalización Modelo (E)ER Modelo Relacional Entidades Atributos.
Normalización Prof. Carlos Rodríguez Sánchez. Definición El proceso de NORMALIZACION se refiere a la modificación del diseño de una Base de Datos. Usualmente.
Primera Forma Normal La regla de la Primera Forma Normal establece que las columnas repetidas deben eliminarse y colocarse en tablas separadas. Poner la.
Paul Leger Formas Normales: Lineamientos formales para un buen diseño y la necesidad de por qué son necesarias las dependencia funcionales.
Normalización Proceso de simplificación de datos Almacenar con el menor espacio posible Eliminar datos repetidos Eliminar errores lógicos Datos ordenados.
“Práctica” de la Normalización Sergio Ilarri
BASES DE DATOS NORMALIZACION. Normalización  ¿Qué es la normalización?  Es la aplicación de un conjunto de reglas que permite aprobar la construcción.
Transcripción de la presentación:

Normalización BD C@rlos Alfredo Rodríguez Rojas Profesor Universidad Distrital – F.M.R.N. crodriguez@udistrital.edu.co Presentación Adptada

Contexto (I) Problema a Modelo modelar (E)ER Normalización Modelo 3/24/2017 Contexto (I) Problema a modelar Modelo (E)ER Entidades Atributos Normalización Modelo Relacional Relaciones (datos) Propiedades

Contexto (II) Mundo real Modelado de datos Normalización Diseño físico 3/24/2017 Contexto (II) Mundo real Modelado de datos Normalización Diseño físico Base de datos Denormalización Diseño conceptual Diseño lógico

Diseño de BDs Dos aproximaciones: Bottom-up (síntesis) 3/24/2017 Diseño de BDs Dos aproximaciones: Bottom-up (síntesis) Top-down (análisis)

Relaciones DiseñaBD: Entrada: conjunto de atributos Salida: 3/24/2017 Relaciones DiseñaBD: Entrada: conjunto de atributos Salida: conjunto de relaciones atributos de cada relación ¿Todas las tablas son relaciones?: Nombre único Atributos monovaluados Filas únicas Atributos (columnas) con nombre único Orden de filas/columnas irrelevantes Requisitos (genéricos)

Joins de Relaciones Customer ID Company Name Contact Phone Number 3/24/2017 Joins de Relaciones Customer ID Company Name Contact Phone Number Credit Limit Invoice ID Quantity Customer PO Employee ID Invoice Date Inventory ID Order Date Unit Price Discount Item ID Caffeinated Price On Hand

Parece Fácil, Pero... Problemas: Redundancia Anomalías: Solución: 3/24/2017 Parece Fácil, Pero... Problemas: Redundancia Anomalías: Actualización Inserción Borrado Creación Mantenimiento Modificación Solución: Normalizar (identificar y eliminar anomalías)

Objetivo Mejorar y validar el diseño lógico 3/24/2017 Objetivo Mejorar y validar el diseño lógico Evitar duplicaciones de datos: descomposición de relaciones Desarrollado inicialmente por E.F. Codd Relaciones bien estructuradas Normalización: proceso consistente en asegurar que cada tabla trata de un solo concepto

3/24/2017 ¿Es Necesaria? Un modelo E/R bien diseñado evita la necesidad de usarla PERO... Guía para evitar fallos (principiantes) Modo de probar la corrección del diseño Formalizan el sentido común Posibilidad de automatización

2 Noviembre, 2005 - Sergio Ilarri 3/24/2017 Ejemplo Employees 972-456-8842 972-456-8970 B4 Manager 11 S. Elm Jill Emory S45 317-869-1123 317-869-4511 B8 Assistant 29 Market St. Matt Hoffa S15 Deputy 112 S. Main Leslie King S2 114 S. Main Ann Martin S23 817-256-2231 817-256-2234 B5 11 Wood St. Jane Doe S11 Fax_No Tel_No Bno Position SAddress SName Sno Clave primaria Nuevo empleado en sucursal B4 Nueva sucursal Despiden al primer empleado Cambia el número de teléfono de B4 2 Noviembre, 2005 - Sergio Ilarri

Formas Normales MALAS 1FN 2FN 3FN Boyce-Codd 4FN 5FN 3/24/2017 Formas Normales MALAS 1FN 2FN 3FN Boyce-Codd 4FN 5FN Dependencias funcionales Dependencias multivaluadas Dependencias de join BUENAS

Relación Formas Normales 3/24/2017 Relations in BCNF Relations in 4NF Relaciones en BCFN Relaciones en 3FN Relaciones en 4FN Relaciones en 2FN

Conceptos Básicos Clave Clave candidata: clave primaria 3/24/2017 Conceptos Básicos Clave Clave candidata: clave primaria claves secundarias Clave extranjera (ajena)

Dependencia Funcional 3/24/2017 Dependencia Funcional A  B determinante Ejemplos: ISBN  BookTitle EmpID, Course_Title  DateCompleted SSN  Name, Address, Birthdate A  R sii A es clave candidata Casos triviales (se excluyen): B es subconjunto de A

Obtención de Dependencias Funcionales 3/24/2017 Obtención de Dependencias Funcionales ¿Cuáles son las dependencias funcionales? A B 1 4 5 3 7 ¿Hay algo que se pueda deducir de los datos? De una instancia de una relación sólo pueden obtenerse contraejemplos

Dependencias Funcionales: Reglas de Inferencia 3/24/2017 Dependencias Funcionales: Reglas de Inferencia Amstrong Cierre de F

Primera Forma Normal (I) 3/24/2017 Primera Forma Normal (I) No atributos multivaluados Todas las relaciones Ejemplo: PROJECTS(PROJECT_ID, HOURS) EMP_PROJ(SSN, E_NAME, PROJECTS) EMP_PROJ(SSN, PROJECT_ID) PROJ_HOURS(PROJECT_ID, HOURS) EMP (SSN, E_NAME) Algunos prohíben atributos compuestos (ej: número de cuenta de 20 dígitos, una fecha)

Primera Forma Normal (II) 3/24/2017 Primera Forma Normal (II) Cómo evitar atributos multivaluados: en relación aparte con clave primaria la combinación expandir la clave con el atributo multivaluado sustituir por varios atributos Cómo evitar relaciones anidadas: propagar la clave primaria

¿Está en 1FN? (I) 3/24/2017 972-456-8842 972-456-8970 B4 Deputy 112 S. Main Leslie King S2 317-869-1123 317-869-4511 B8 Assistant 29 Market St. Matt Hoffa S15 114 S. Main Ann Martin S23 817-256-2231 817-256-2234 B5 Manager 11 Wood St. Jane Doe S11 Fax_No Tel_No Bno Position SAddress SName Sno

¿Está en 1FN? (II) 3/24/2017 972-456-8842 972-456-8970 B4 Manager 11 S. Elm Jill Emory S45 317-869-1123 317-869-4511 B8 Assistant 29 Market St. Matt Hoffa S15 Deputy 112 S. Main Leslie King S2 Deputy, 114 S. Main Ann Martin S23 817-256-2231 817-256-2234 B5 11 Wood St. Jane Doe S11 Fax_No Tel_No Bno Position SAddress SName Sno

Paso a Primera Forma Normal (I) 3/24/2017 Paso a Primera Forma Normal (I) 4 CB03 9/04/01 12494 1 BT04 BZ66 9/02/01 12491 11 AX12 12489 Number of Units Part Number Order Date Orders

Paso a Primera Forma Normal (II) 3/24/2017 Paso a Primera Forma Normal (II) 4 CB03 9/04/01 12494 1 BZ66 9/02/01 12491 BT04 11 AX12 12489 Number of Units Part Number Order Date Orders

¿Es 1FN Suficiente? Problemas: Dependencias funcionales: 3/24/2017 ¿Es 1FN Suficiente? Employee(EmpID, Name, DeptName, Salary, CourseTitle, DateCompleted) Problemas: Inserción: insertar un empleado que no esté en ningún curso Borrado: si borramos el último empleado que está en cierto curso Modificación de los datos de un empleado Dependencias funcionales: EmpID, CourseTitle  DateCompleted EmpID  Name, DeptName, Salary

Segunda Forma Normal (I) 3/24/2017 Segunda Forma Normal (I) 1FN y no dependencias funcionales parciales atributos no clave que dependen de parte de la clave 1FN equivale a 2FN si: no hay atributos no claves ó la clave es atómica Employee no está en 2FN: EmpID  Name, DeptName, Salary

Segunda Forma Normal (II) 3/24/2017 Segunda Forma Normal (II) Cómo pasar a 2FN: asociar los atributos implicados sólo con la parte de la clave de la que depende

Paso a Segunda Forma Normal 3/24/2017 Paso a Segunda Forma Normal EmpID Salary DeptName Name CourseTitle DateCompleted Dependencias funcionales completas

Ejemplo (I) Student: Student_ID, Activity, Fee Clave: 3/24/2017 Ejemplo (I) Student: Student_ID, Activity, Fee Clave: Student_ID, Activity Dependencias funcionales: Activity  Fee

Ejemplo (II) STUDENT_ACTIVITY Clave: Student_ID, Activity Student_ID 3/24/2017 Ejemplo (II) STUDENT_ACTIVITY Student_ID Activity ACTIVITY_COST Fee Clave: Student_ID, Activity Clave: Activity Activity  Fee

Otro Ejemplo (I) Orders $149.99 1 Gas Grill BT04 9/05/01 12500 CB03 3/24/2017 $149.99 1 Gas Grill BT04 9/05/01 12500 CB03 BZ66 AX12 Part Number Bike Washer Iron Descript. $279.99 4 9/04/01 12494 $399.99 9/02/01 12491 $14.95 11 12489 Quoted Price Number of Units Order Date Orders

3/24/2017 Otro Ejemplo (II) Orders (Order Number, Order Date, Part Number, Part Description, Number of Units, Quoted Price) Dependencias funcionales: Order Number  Order Date Part Number  Part Description Order Number, Part Number  Number of Units, Quoted Price Part Number Descript. Quoted Price of Units Order Date

Otro Ejemplo (III) 9/05/01 12500 9/04/01 12494 9/02/01 12491 12489 3/24/2017 Otro Ejemplo (III) 9/05/01 12500 9/04/01 12494 9/02/01 12491 12489 Order Date Number Orders CB03 BZ66 BT04 AX12 Part Number Parts Bike Washer Gas Grill Iron Descript. $149.99 1 BT04 12500 CB03 BZ66 AX12 Part Number $279.99 4 12494 $399.99 12491 $14.95 11 12489 Quoted Price of Units Order Order Line

Un Tercer Ejemplo (I) Student_Teacher: Student_ID, Subject, Teacher 3/24/2017 Un Tercer Ejemplo (I) Student_ID Subject Teacher 222-22-2020 Economy Leigh 232-22-2111 Management Gowan Roberts 222-22-2111 Marketing Reynolds 255-24-2332 Student_Teacher: Student_ID, Subject, Teacher Clave: Student_ID, Teacher Dependencias funcionales: Teacher  Subject

Un Tercer Ejemplo (II) Subject Economy Management Marketing 3/24/2017 Un Tercer Ejemplo (II) Key: Student_ID, Teacher Key: Teacher Teacher  Subject Student_ID STUDENT_TEACHER TEACHER_SUBJECT Teacher Subject Student_ID Teacher 222-22-2020 Leigh 232-22-2111 Gowan Roberts 222-22-2111 Reynolds 255-24-2332 Subject Economy Management Marketing

3/24/2017 ¿Es 2FN suficiente? (I) Customer(CustomerID, Name, Salesperson, Region) Dependencias funcionales: CustomerID  Name, Salesperson Salesperson  Region Problemas: Inserción: insertar un vendedor que no tenga cliente Borrado: si borramos el último cliente de cierto vendedor Modificación: de la región de un vendedor Redundancia: repetir la región cada vez que aparezca un vendedor

3/24/2017 ¿Es 2FN suficiente? (II)

Tercera Forma Normal 2FN y no dependencias transitivas 3/24/2017 Tercera Forma Normal 2FN y no dependencias transitivas Dependencia transitiva: dependencia funcional entre atributos no clave atributo no clave que depende indirectamente dependencia más específica que la de la clave ¿Qué pasa con los atributos clave que dependen indirectamente de la clave?

Ejemplo de Dependencia Transitiva 3/24/2017 Ejemplo de Dependencia Transitiva CustomerID  Salesperson  Region Atributo no clave

Paso a Tercera Forma Normal 3/24/2017 Paso a Tercera Forma Normal

Ejemplo (I) Student: Student_ID, Building, Fee Clave: Student_ID 3/24/2017 Ejemplo (I) Student: Student_ID, Building, Fee Clave: Student_ID Dependencias funcionales: Student_ID  Building Building  Fee

Ejemplo (II) STUDENT_HOUSING Clave: Student_ID Student_ID  Building 3/24/2017 Ejemplo (II) Clave: Student_ID Student_ID  Building Clave: Building Building  Fee Student_ID STUDENT_HOUSING Building BUILDING_COST Fee

Otro Ejemplo (I) Miguel Diaz 12 $1500 $450.56 Al Williams 405 William 3/24/2017 Otro Ejemplo (I) Miguel Diaz 12 $1500 $450.56 Al Williams 405 William Smith 06 $750 $770.45 Tom Daniels 315 $1000 $345.54 Don Charles 311 $21.43 Ann Samuels 256 Mary Jones 03 $824.45 Sally Adams 124 Slsr First Name Slsr Last Sales Rep Number Credit Limit Balance Cust First Cust Last Customer

Otro Ejemplo (II) 12 $1500 $450.56 Al Williams 405 06 $750 $770.45 Tom 3/24/2017 Otro Ejemplo (II) 12 $1500 $450.56 Al Williams 405 06 $750 $770.45 Tom Daniels 315 $1000 $345.54 Don Charles 311 $21.43 Ann Samuels 256 03 $824.45 Sally Adams 124 Sales Rep Number Credit Limit Balance Cust First Name Cust Last Customer Miguel Diaz 12 William Smith 06 Mary Jones 03 Slsr First Name Slsr Last Sales Rep Number

¿Es 3FN suficiente? (I) Student(IDStudent, Subject, Teacher, Score) 3/24/2017 ¿Es 3FN suficiente? (I) Student(IDStudent, Subject, Teacher, Score) 3.5 Hawking Physics 678 3.7 Bach Music 789 3.2 Michener Lit 456 3.3 Mahler 123 4.0 Score Teacher Subject IDStudent

¿Es 3FN suficiente? (II) Score Teacher Subject IDStudent ¿En 1FN? Sí 3/24/2017 ¿Es 3FN suficiente? (II) Score Teacher Subject IDStudent ¿En 1FN? Sí ¿En 2FN? Sí ¿En 3FN? Sí Teacher  Subject no es dependencia transitiva

¿Es 3FN suficiente? (III) 3/24/2017 ¿Es 3FN suficiente? (III) 3.5 Hawking Physics 678 3.7 Bach Music 789 3.2 Michener Lit 456 3.3 Mahler 123 4.0 Score Teacher Subject IDStudent Problemas Cambio del profesor de Física Inserción de un profesor de Economía Borrado del estudiante 789

Forma Normal de Boyce-Codd 3/24/2017 Forma Normal de Boyce-Codd Todo determinante de dependencias funcionales debe ser clave ¿Por qué no es la 4FN? Si un atributo no contribuye a la descripción de una clave, colocarlo en otra relación Score Teacher IDStudent Subject

Proceso de Normalización 3/24/2017 Proceso de Normalización Entidad no relación Eliminar atributos multivaluados y compuestos 1FN Eliminar dependencias parciales 2FN Eliminar dependencias transitivas 3FN Eliminar dependencias de claves no candidatas Boyce-Codd