modelo logico y normalizacion_viis2

23
Curso: IMPLEMENTACION DE BASE DE DATOS

Upload: joselin-moreyra-sanchez

Post on 24-Jul-2015

350 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Modelo Logico y Normalizacion_viis2

Curso:

IMPLEMENTACION DE BASE DE DATOS

Page 2: Modelo Logico y Normalizacion_viis2

La herramientas Case (Computer Aided Software Engineering) contribuyen a la productividad durante el desarrollo de software, reduciendo costos y tiempos.

Apoyan en las tareas de diseño del proyecto, calculo de costos, implementación del codigo fuente, detección de errores, documentación técnica, entre otros.

Page 3: Modelo Logico y Normalizacion_viis2

Upper: apoya durante el proceso de planificación, análisis de requisitos y estrategias del desarrollo (UML).

Middle: apoya la autorización de tareas de análisis y diseño de las aplicaciones.

Lower : apoya la generación de código fuente, creación de programas de detección de errores, depuración de los programas y pruebas.

Page 4: Modelo Logico y Normalizacion_viis2

Mejora la productividad del desarrollo y mantenimiento del software, aumentando su calidad y reduciendo los costos y tiempos, para la implementación del proyecto.

Mejora la planificación del proyecto dándole soporte a todas las fases del ciclo de vida del software.

Reutilización del software, portabilidad y estandarización entre los proyectos.

Page 5: Modelo Logico y Normalizacion_viis2

Incompatibilidad entre herramientas CASE.

Entrenamiento del personal especializado.

Funcionalidad limitada de algunos CASE. Costo licenciamiento. Requerimientos de hardware. Tiempo de aprendizaje.

Page 6: Modelo Logico y Normalizacion_viis2

Entidades y Atributos

Asociación entre entidades

Page 7: Modelo Logico y Normalizacion_viis2

IDEF1X

IEE

Page 8: Modelo Logico y Normalizacion_viis2

En identificación: la clave primaria de la entidad padre va como parte de la clave primaria de la entidad hija.

Page 9: Modelo Logico y Normalizacion_viis2

En NO identificación: la clave primaria de la entidad padre va como parte del área de datos de la hija (no en el área de claves).

Page 10: Modelo Logico y Normalizacion_viis2

Ejemplo 1.

Page 11: Modelo Logico y Normalizacion_viis2

Ejercicio 1. Una casa de subastas en Internet quiere

mantener una base de datos para registrar todas las transacciones que realiza.

Los productos que se subastan se agrupan en lotes. Cada lote tiene un numero de catalogo, un precio de salida, la mayor puja realiza hasta el momento y el tiempo que queda de subasta. De cada producto se almacena un código, su nombre, una descripción corta y una fotografía.

Los clientes que participan en la subasta deben pujar por un lote completo (no se admiten pujas por productos individuales). Cada vez que una cliente puja, queda registrada la cantidad, el día y la hora en la que se ha producido. Para identificar a los clientes, todos deben tener un nombre de usuario, además de una contraseña, su nombre y dirección de correo electrónico.

Page 12: Modelo Logico y Normalizacion_viis2

Laboratorio 1 Una compañía aérea necesita una base de datos

para registrar la información de sus vuelos. Los vuelos están caracterizados por un Id, la fecha y

los aeropuertos de origen y destino. Cada vuelo es realizado por un avión. Los aviones tiene una matricula que los identifica, el fabricante, un modelo e información sobre su capacidad (numero máximo de pasajeros) y autonomía de vuelo (en horas). La tripulación asignada al vuelo esta formada por el personal de la propia compañía. De cada trabajador se conoce su id, su nombre y su categoría profesional, así como el puesto que ocupa en cada vuelo en particular.

Por ultimo, para cada vuelo, se almacena la lista completa de pasajeros, con su dni, el nombre, el asiento que ocupa y su clase(turista, primera o business).

Construye el modelo lógico correspondiente al enunciado expuesto.

Page 13: Modelo Logico y Normalizacion_viis2

Normalización Definición. La teoría de la normalizacion se ha

desarrollado para obtener estructuras de datos que eviten las anomalías de actualización. El concepto de normalización fue introducido por E.D. Codd y fue pensado para aplicarse a sistemas relacionales.

Esto se hace mediante la aplicación de ciertas reglas llamadas Formas Normales, que en ocasiones producen la separación de datos en diferentes relaciones.

Las relaciones resultantes deben cumplir ciertas características: Conserva la información: Conservar atributos y tuplas. Conserva las dependencias.

Page 14: Modelo Logico y Normalizacion_viis2

Ventajas de la Normalización Evita anomalías en la actualización. Mejora la independencia de los datos,

permitiendo realizar extensiones de la BD, afectando muy poco, o nada, a los programas de aplicación existentes que acceden la base de datos.

Las Formas Normales Primera Forma Normal (1FN) Segunda Forma Normal (2FN) Tercera Forma Normal (3FN) Forma Normal de Boyce – Codd (FNBC)

Existen, además, la cuarta (4FN) y la quinta (5FN) formas normales.

Page 15: Modelo Logico y Normalizacion_viis2

Primera Forma Normal (1NF)

La primera Forma Normal esta orientada a separar en dos o mas relaciones los grupos de datos repetitivos.

Ejemplo 1.

Page 16: Modelo Logico y Normalizacion_viis2
Page 17: Modelo Logico y Normalizacion_viis2

Segunda Forma Normal (2FN)Para que una tabla este en 2NF tiene que cumplir lo siguiente: Estar en 1NF Si todos sus atributos que no son claves

dependen por completo de la clave. Es decir, todas las dependencias parciales se deben eliminar y separar dentro de sus propias tablas.

Page 18: Modelo Logico y Normalizacion_viis2

Tercera Forma Normal (3FN)La regla de la tercera Forma Normal señala que hay que eliminar y separar cualquier dato que no sea clave. El valor de esta columna debe depender de la llave. Elimina cualquier dependencia transitiva. Una dependencia transitiva es aquella en la cual las columnas que no son llave son dependientes de otras columnas que tampoco son llave.

Page 19: Modelo Logico y Normalizacion_viis2

Forma Normal de Boyce Codd (BCNF)Una relación esta en BCNF si cada determinante es una clave candidata.

Determinante, es uno o mas atributos que, de manera funcional, determinar otro atributo o atributos.

(A,B), son los determinantes

Ejemplo:

Esta es una relacion en 3NF Asesoria (Codigo_Alumno, Curso,

Nombre_Docente) Clave(primaria): Codigo_Alumno, Curso Clave(candidata): Codigo_Alumno,

Nombre_Docente Dependencia Funcional: Nombre_Docente a Curso

Page 20: Modelo Logico y Normalizacion_viis2

Si decidimos eliminar al código 103, se perderá el hecho de que Mendoza brinda asesoría en el curso de Psicología

Ante este problema, es que aplicamos BCNF.Alumno_Docente(Codigo_Alumno,

Nombre_Docente)Clave: Codigo_Alumno, Nombre_Docente

Page 21: Modelo Logico y Normalizacion_viis2

Docente_Curso (Nombre_Docente, Curso)Clave: Nombre_Docente

Si decidimos borrar el código de alumno 100, eliminaría solo un alumno que esta asesorando a Sanchez.

Page 22: Modelo Logico y Normalizacion_viis2

Ejemplo de Normalización

Caso ordenes (id_orden, fecha, id_cliente, nom_cliente, estado, num_art, nom_art, cant, precio)

Page 23: Modelo Logico y Normalizacion_viis2

Ejercicio 1EMPRESA DE ENVIO DE MERCANCIA: a continuación se agrupan todos los atributos que hacen parte de la base de datos para aplicarle las reglas de normalización. Donde se incluyen los nombres de los atributos con su significado

GUIA_NO = Numero de Guía GUIA_FECHA= Fecha de la Guía GUIA_HORA= Hora de la Guía ORGN_RIF = Identificación de Empresa Origen ORGN_NOM = Nombre de Empresa Origen ORGN_ACT = Actividad Comercial de Empresa Origen ORGN_CIUDAD= Ciudad de Empresa Origen ORGN_DIR = Dirección de Empresa Origen ORGN_TEL = Teléfono de Empresa Origen ORGN_CEL = Celular de Empresa Origen DEST_ID = Identificación del destinatario DEST_NOM = Nombre del destinatario DEST_COD_CIUDAD = Código de la ciudad del destinatario DEST_CIUDAD= Ciudad del destinatario DEST_DIR = Dirección del destinatario DEST_TEL = Teléfono del destinatario DEST_KM = Distancia kilometraje de Ciudad origen a ciudad del destinatario CODIGO = Código del paquete TIPO = Tipo de paquete NOMBRE = Nombre del paquete DESCRIPCION = Descripción del paquete VALR_ FLETE = Valor del flete