Capítulo 2: Modelo relacional (Parte 2) Dr. Edwin E. González Carril SICI-4015: Archivo y base de datos agosto 2017

Documentos relacionados
Normalización. CC20A 1 Computación II Auxiliar 10 Iván Bustamante. Clase Auxiliar 10 1

Principios de Bases de Datos Relacionales, Normalización. Unidad 4

Bases de Datos Relacionales

Normalización de Bases de Datos Relacionales

Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve

Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD

DED Diagramas de Estructura Lógica de Datos. Universidad de Oviedo Departamento de Informática

Modelo Relacional. Normalización

Tema 5: Normalización en Bases de Datos

Normalización de bases de datos

Normalización. Universidad Nacional de Colombia Facultad de Ingeniería

Modelos y Bases de Datos

Diseño de Base de Datos

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

NORMALIZACIÓN DE BASES DE DATOS RELACIONALES

Formas Normales. Normalización. Introducción

Que es normalización? Normalización de una base de datos Grados de normalización: Primera Forma Grados de normalización: Segunda Forma Grados de

NORMAS DE DISEÑO DE BASE DE DATOS

Temario. Índices simples Árboles B Hashing

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

IV. MODELO RELACIONAL

proceso que consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.

Ing. Yim Isaias Apestegui Florentino

Teoría formal de la normalización de esquemas relacionales. Definición formal de las tres primeras Formas Normales

NORMALIZACION. Definición.

NORMALIZACIÓN DE BASES DE DATOS

Normalización. Bases de Datos

El Modelo Relacional de Bases de Datos

rg.o cm a Diseñ e o o l óg ó ico c l@ rza e b Di D s i e s ño d e b as a e s s s d e d at a o t s s r e r la l c a i c o i nal a e l s

Diseño Lógico Modelo Relacional. Ges3ón y Modelación de Datos María Constanza Pabón

Ing. YIM ISAIAS APESTEGUI FLORENTINO Tema: Normalización

Unidad 3. NORMALIZACIÓN.

Curso SQL Nivel Avanzado 1. Miguel Jurado García

EXAMEN EXTRAORDINARIO Informática y Computación IV

Diseño Lógico de Bases de Datos Relacionales

Modelos de Datos. Modelo Entidad-Relación

UNIVERSIDAD AUTÓNOMA DE AGUASCALIENTES CENTRO DE CIENCIAS BÁSICAS DEPARTAMENTO DE SISTEMAS DE INFORMACIÓN DESCRIPCIÓN:

MSc. Francisco García

TÍTULO: BASES DE DATOS Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa

Modelo relacional. El modelo relacional

Proyecto de Normalización Automática de Base de Datos

Modelo Relacional: Conceptos

Normalización 1NF 2NF 3NF BCNF 4NF

Bases de Datos. Tema 7 (parte 2) Teoría de la Normalización. Francisco Ruiz may UCLM-ESI (F.Ruiz)

EL MODELO RELACIONAL

Base de Datos.

Base de Datos. Profesores: Franklin Johnson P. José Miguel Rubio L.

INFORMÁTICA II TEMA IV

Terminología Equivalente

Temario 2012 para la certificación de MS Excel Nivel Fundamentos Para versiones de Ms Office 2007 y sucesivas

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

Formación a distancia de EXPERTO EN ADMINISTRACION DE PROYECTOS

Sistemas de Información para la Gestión

MICROSOFT ACCESS 2007 (COMPLETO)

1.Introducción al Modelo Relacional.

CAPÍTULO 1. Conceptos Básicos CAPÍTULO 2. Interfaz de Access Ejecutar el programa... 14

Introducción a las Bases de Datos

Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) como una colección de datos relacionados entr

BASES DE DATOS TEMA 4 DISEÑO DE BASES DE DATOS RELACIONALES

Restricciones de Integridad

Registro (record): es la unidad básica de acceso y manipulación de la base de datos.

Catedra de Base de Datos

MICROSOFT EXCEL 2010

MODELO RELACIONAL BASE DE DATOS RELACIONALES

Diseño de una Base de Datos. Fases del Diseño

Slide 1. Slide 2. Slide 3

Eduardo Mora y Marta Zorrilla Pág

Nomenclatura para Tablas, Triggers, Secuencias, Procedimientos Almacenados y Constraints

DISEÑO DE BASES DE DATOS RELACIONALES Normalización Parte 2 FNBC, 3FN

ATRIBUTOS DE LOS FICHEROS EN LINUX

BASES DE DATOS TEMA 2 MODELOS DE DATOS

7 Diseño de Bases de Datos Relacionales: Normalización

Introducción Base de datos Tabla Tipos de campos Clave principal Índice Administrador de base de datos Relaciones entre tablas Consulta Formulario

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

BASES DE DATOS - SQL. Javier Enciso

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

ACCESS XP. Objetivos. Duración. 64 horas. Contenidos. Módulo 1: Introducción. Parte 1 Bienvenida Certificado MOUS Resumen

Microsoft Excel 2003 (Completo)

ACCESS Duración en horas: 20

Apéndice A: Documentación Base de Datos.

Temario Access Nº apartado Título apartado Tipo apartado

Modificación de datos

Generaciones de Bases de Datos

BASES DE DATOS TEMA 5. DISEÑO DE BASES DE DATOS RELACIONALES MEDIANTE NORMALIZACION Contenidos generales

Microsoft Excel 2007 completo

Universidad Central Del Este U.C.E. Facultad de Ciencias Administrativas y de Sistemas Escuela de Contabilidad

Esquema Lógico F1. EXAMEN 1 de diciembre de EQUIPO (NOMBRE:cadena) CP (NOMBRE) DIRECTOR (NOMBRE:cadena) CP (NOMBRE)

Bases de datos. Diseño y gestión

TEMARIO CURSO ACCESS 2007

Elaborado por: Jorge Danilo Reyes Saavedra Marcos Antonio Avendaño Montoya Grupo No 4 Sergio Antonio Rodríguez Ocón.

Ejercicio corto. Ejercicio corto. Ejercicio corto. Lección 1: Introducción a Word. Lección 2: Modificaciones de documentos

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Metodología de Diseño Lógico. Sistemas Gestores de Bases de Datos

Tema 5: Teoría de diseño de Bases de Datos Relacionales.

UNIVERSIDAD SAN PEDRO FILIAL - CAJAMARCA

Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información.

Tablas. Contenido TECNOLOGÍA WORD

NOMBRE DEL CURSO: Excel 2010 Intermedio

ESCUELA DE INFORMÁTICA

Temario. Índices simples Árboles B Hashing

Transcripción:

Capítulo 2: Modelo relacional (Parte 2) Dr. Edwin E. González Carril SICI-4015: Archivo y base de datos agosto 2017

Objetivos 1. Definir el concepto normalización 2. Identificar los objetivos de normalizar las bases de datos 3. Demostrar los diferentes niveles de normalización 4. Aplicar los primeros tres niveles de normalización a una base de datos

Normalización Normalización: proceso de simplificar el archivo de los datos. Son una serie de reglas que sirven para ayudar a los diseñadores de bases de datos a desarrollar esquemas que minimice los problemas de lógica. IMPORTANTE: En la normalización se simplifica pero no se puede perder información

Por qué normalizar las bases de datos? 1. Aprovechar el espacio 2. Eliminar redundancia 3. Eliminar errores lógicos 4. Ordenar los datos de una forma lógica

Principios de la Normalización Las relaciones normalizadas deben cumplir con lo siguiente: 1. Cada determinante debe ser una clave candidata. 2. Cualquier relación que no está bien formada debe dividirse en dos o más relaciones bien formadas.

Problemas de modificación Las tablas que no estén normalizadas experimentarán problemas conocidos como problemas de modificación, tales como: Problemas de inserción Dificultades para insertar datos en una relación Problemas de modificación Dificultades para modificar datos en una relación Problemas de eliminación Dificultades para eliminar datos de una relación

Repaso de conceptos Dependencia funcional: es la relación que describe cómo se puede usar el valor de un atributo para encontrar el valor de otro atributo. Ejemplo: si conozco el número de estudiante, puedo conocer su nombre y apellido. Determinante (llave candidata) : es el atributo (campo) que se puede utilizar para encontrar el valor de otro atributo en la relación El lado derecho de una dependencia funcional Ejemplo: DormName DormCost UPC producto

Qué es la dependencia funcional y transitoria (indirecta)? Dependencia Funcional A=NumEstudiante Dependencia transitoria (indirecta) A=CodigoCurso B=Nombre B=NombreCurso C=Apellido1 C=NumEstudiante

Niveles de Forma Normal Forma normal Definida por Primera Forma Normal (1NF) Existen dos versiones, la de E. F. Codd de 1970 y la de C. J. Date de 2003. Segunda Forma Normal (2NF) E. F. Codd en 1971. Tercera Forma Normal (3FN) E. F. Codd en 1971. Forma Normal de Boyce-Codd Raymond F. Boyce y E. F. Codd (BCNF) en 1974. Cuarta Forma Normal (4NF) Ronald Fagin en 1977. Quinta Forma Normal (5NF) Ronald Fagin en 1979. Forma Normal de Dominio/Clave Ronald Fagin en 1981. (DKNF) Sexta Forma Normal (6NF) C. J. Date, Hugh Darwen y Nikos Lorentzos en 2002.

Primera forma normal (1FN) Todos los atributos tienen que tener valores simples. Ej: apellido1, apellido2, nombre, inicial No debe haber grupos de datos repetidos en las columnas. Ejemplo: una tabla de ordenes de clientes donde la información del cliente se repite en la tabla por cada artículo que compra. Solución: 1. Se dividen los datos en nuevos campos (Ej: la dirección postal). 2. Se dividen los campos en tablas con sus llaves PK y FK.

Ejemplo de BD sin normalizar NumEstudiante Nombre Apellido Email NombreCurso CodigoCurso Programa 844121234 Andrea Ocasio andrea.oca sio Base de datos, Programación Aplicada, Compendio cultura occidental I y II SICI4015, SICI3028, HUMA3111 Sistemas de Información 844112525 José Pérez jose.perez Base de datos SICI4015 Humanidades

Paso 1: Aplicación 1FN NumEstudiante Nombre Apellido Email NombreCurso CodigoCurso Programa 844121234 Andrea Ocasio andrea.oca sio 844121234 Andrea Ocasio andrea.oca sio 844121234 Andrea Ocasio andrea.oca sio Base de datos SICI4015 Sistemas de Información Programación Aplicada Compendio cultura occidental I y II SICI3028 HUMA3111 Sistemas de Información Sistemas de Información 844112525 José Pérez jose.perez Base de datos SICI4015 Humanidades

Paso 2: Aplicación 1FN NumEstudiante Nombre Apellido Email Programa 844121234 Andrea Ocasio andrea.ocasio Sistemas de Información 844112525 José Pérez jose.perez Humanidades NúmEstudiante NombreCurso CodigoCurso 844121234 Base de datos SICI4015 844121234 Programación Aplicada SICI3028 844121234 Compendio cultura occidental I y II HUMA3111 844112525 Base de datos SICI4015 Se separaron los datos del estudiante y de los cursos y se pasó la PK como FK en la nueva tabla.

Segunda forma normal (2FN) La relación debe estar en 1NF. Se deben eliminar cualquier campo (no llave) que no dependa de la PK. Ejemplo: NombreCurso no depende funcionalmente de NumEstudiante, sino de su llave CodigoCurso. Solución: 1. Los campos que no dependen funcionalmente del PK de la tabla, se colocarán en otra tabla relacionado con su FK.

Qué es la dependencia funcional y transitoria (parcial o indirecta)? Dependencia Funcional A=NumEstudiante Dependencia transitoria (parcial o indirecta) A=CodigoCurso B=Nombre B=NombreCurso C=Apellido1 C=NumEstudiante

Ejemplo de una tabla con 1FN para 2FN Num. Estudiante Nombre Apellido Email Programa 844121234 Andrea Ocasio andrea.ocasio Sistemas de Información 844112525 José Pérez jose.perez Humanidades No depende Depende Núm. Estudiante Curso Código del Curso 844121234 Base de datos SICI4015 844121234 Programación Aplicada SICI3028 844121234 Compendio cultura occidental I y II HUMA3111 844112525 Base de datos SICI4015 La solución en 2FN es separar cada tabla con los campos que le pertenece y crear una (Linking Table)

Aplicación de 2FN Número Estudiante Nombre Apellido Email Programa 844121234 Andrea Ocasio andrea.ocasio Sistemas de Información 844112525 José Pérez jose.perez Humanidades Núm. Estudiante Código del Curso 844121234 SICI4015 844121234 SICI3028 844121234 HUMA3111 844112525 SICI4015 NombreCurso Base de datos Programación Aplicada Compendio cultura occidental I y II Base de datos CodigoCurso SICI4015 SICI3028 HUMA3111 SICI4015 Los cursos con sus códigos se quedan solitos en una tabla independiente. Igualmente, los datos de los estudiantes se quedan solitos en otra tabla independiente. Se crea una tabla que una los estudiantes con curso con las FK.

Tercera forma normal (3FN) La relación debe estar en 2NF. Todos los atributos deben ser funcionalmente dependientes de la PK de esa tabla. Ejemplo: Nombre, Apellido dependen funcionalmente del NumEstudiante(PK) NombreCurso depende funcionalmente de CodigoCurso Se debe eliminar cualquier campo no llave que sea dependiente de otro campo no llave. Programa es dependiente de Nombre: ambos son campos no llave

Ejemplo de una tabla con 2FN para 3FN Número Estudiante Nombre Apellido Email Programa 844121234 Andrea Ocasio andrea.ocasio Sistemas de Información 844112525 José Pérez jose.perez Humanidades Núm. Estudiante Código del Curso 844121234 SICI4015 844121234 SICI3028 844121234 HUMA3111 844112525 SICI4015 Curso Base de datos Programación Aplicada Compendio cultura occidental I y II Base de datos Código del Curso SICI4015 SICI3028 HUMA3111 SICI4015 Se puede observar que la tabla de estudiantes tiene los campos que le pertenecen a él, pero tiene también programa. Este campo puede separarse para crear un lookup table, así se evita duplicidad de datos y se garantiza la integridad de los mismo.

Aplicación 3FN NumEstudiante Nombre Apellido Email IDPrograma 844121234 Andrea Ocasio andrea.ocasio SICI 844112525 José Perez jose.perez HUMA NumEstudiante CodigoCurso 844121234 SICI4015 844121234 SICI3028 844121234 HUMA3111 844112525 SICI4015 IDPrograma SICI HUMA Programa Sistemas de Información Humanidades NombreCurso Base de datos Programación Aplicada Compendio cultura occidental I y II Base de datos CodigoCurso SICI4015 SICI3028 HUMA3111 SICI4015 Se creó una nueva tabla que contendrá todos los programas con sus códigos. La tabla de Estudiantes entonces se relaciona con la tabla Programas

Resumen La normalización son reglas que se aplican a las tablas cuando se están diseñando, con el fin de optimizar la base de datos. Se normaliza para ahorrar espacio, proteger la integridad de los datos, evitar la redundancia y ordenar los datos. Existen 5 formas normales, pero las primeras tres son las más importante y las que más se utilizan en la práctica. 1FN: Incluye la eliminación de todos los grupos repetidos 2FN: Asegura que todos los campos (no llaves) sean dependientes de la PK 3FN: Elimina cualquier dependencia transitiva, o sea; campos no llaves que dependen de otros campos no llaves.

Ejercicio : Orden de Compras Num Orden Fecha NumCliente Nombre Pueblo NumArticulo DescArticulo Cantidad Precio 70001 02/23/16 500 Juan Aguadilla 456465 Disco Duro 3 90.00 70001 02/23/16 500 Juan Aguadilla 41658822 MS Office 6 160.00 70001 02/23/16 500 Juan Aguadilla 9132 Computadora 8 998.00 70002 02/25/16 501 María Arecibo 5794 Impresora 4 250.00 70003 02/27/16 502 Ana Cayey 41658822 MS Office 2 160.00 70003 02/27/16 503 Ana Cayey 3141 Antivirus 2 90.00

Ejercicio: Garden Glory

Ejercicio: James River Jewelry

Ejemplos: Relaciones sin normalizar Caso 1: StudentID, StudentName, DormName, DormCost Caso 2 EmployeeNumber, LastName, Email, Department, DeptPhone Caso 3 Attorney, ClientNumber, MeetingDate, Duration, ClientName

Ejemplo (Solución) 1. STU_DORM (StudentNumber, LastName, FirstName, DormName) DORM (DormName, DormCost) 2. EMPLOYEE (EmployeeNumber, LastName, Email, Department) DEPARTMENT(Department, DeptPhone) 3. MEETING (Attorney, ClientNumber, MeetingDate, Duration) CLIENT (ClientNumber, ClientName)