23
Diseño de Bases de Datos relaciónales M. en C. Rafaela Blanca Silva López, M en C Hugo Pablo Leyva 1 DISEÑO DE BASES DE DATOS RELACIONALES. Objetivo general: Conocer la metodología de diseño de base de datos. Objetivos específicos: Describir la tecnología relacional y sus ventajas sobre otras opciones. Entender los conceptos de diseño de bases de datos relacionales y su terminología Construir diagramas entidad relación para modelar un negocio Entender la normalización de datos y sus beneficios Aplicar constructores SQL y reglas de integridad de datos al modelo de datos. Emplear SQL para construir la base de datos, las tablas y sus relaciones. Contenido. DISEÑO DE BASES DE DATOS RELACIONALES...................................................... 1 Objetivo general: ............................................................................................................... 1 Objetivos específicos: ........................................................................................................ 1 Introducción ........................................................................................................................ 2 Tipos de Bases de Datos ................................................................................................. 2 ARQUITECTURA CLIENTE - SERVIDOR. ............................................................... 4 CONCEPTOS Y TERMINOLOGÍA DEL DISEÑO DE BASES DE DATOS. ............... 5 PASOS INVOLUCRADOS EN EL DISEÑO DE UNA BASE DE DATOS. .............. 6 DIAGRAMAS ENTIDAD-RELACION.......................................................................... 10 ELIMINACIÓN DE PROBLEMAS QUE SE PRESENTAN EN EL DIAGRAMA ENTIDAD - RELACIÓN............................................................................................. 11 RELACIONES ESPECIALES. ........................................................................................ 14 ESPECIFICACIÓN DE ATRIBUTOS. ........................................................................... 14 NORMALIZACIÓN. ....................................................................................................... 16 Reglas de Normalización:................................................................................................. 17 PRIMERA FORMA NORMAL ( 1NF ). ......................................................................... 17 SEGUNDA FORMA NORMAL ( 2NF )......................................................................... 18 TERCERA FORMA NORMAL (3NF)............................................................................ 19 Resumen: .......................................................................................................................... 20 CONSIDERACIONES DE NORMALIZACIÓN............................................................ 20 CONSTRUCTORES SQL PARA LA CREACIÓN DEL ESQUEMA DE LA BD........ 20 INTEGRIDAD REFERENCIAL Y DE ENTIDAD ........................................................ 21 RESTRICCIONES REFERENCIALES. ..................................................................... 21 RESTRICCIÓN REFERENCIAL CÍCLICA. .............................................................. 21 RESTRICCIONES REFERENCIALES CONSIGO MISMA. .................................... 22 RESTRICCIONES MÚLTIPLES. ............................................................................... 22

Unidad1 BD Diseno de Base de Datos

Embed Size (px)

Citation preview

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 1

    DISEO DE BASES DE DATOS RELACIONALES.

    Objetivo general:

    Conocer la metodologa de diseo de base de datos.

    Objetivos especficos:

    Describir la tecnologa relacional y sus ventajas sobre otras opciones. Entender los conceptos de diseo de bases de datos relacionales y su terminologa Construir diagramas entidad relacin para modelar un negocio Entender la normalizacin de datos y sus beneficios Aplicar constructores SQL y reglas de integridad de datos al modelo de datos. Emplear SQL para construir la base de datos, las tablas y sus relaciones.

    Contenido.

    DISEO DE BASES DE DATOS RELACIONALES...................................................... 1

    Objetivo general: ............................................................................................................... 1 Objetivos especficos:........................................................................................................ 1

    Introduccin........................................................................................................................ 2 Tipos de Bases de Datos................................................................................................. 2 ARQUITECTURA CLIENTE - SERVIDOR. ............................................................... 4

    CONCEPTOS Y TERMINOLOGA DEL DISEO DE BASES DE DATOS. ............... 5 PASOS INVOLUCRADOS EN EL DISEO DE UNA BASE DE DATOS. .............. 6

    DIAGRAMAS ENTIDAD-RELACION.......................................................................... 10 ELIMINACIN DE PROBLEMAS QUE SE PRESENTAN EN EL DIAGRAMA ENTIDAD - RELACIN............................................................................................. 11

    RELACIONES ESPECIALES. ........................................................................................ 14 ESPECIFICACIN DE ATRIBUTOS. ........................................................................... 14 NORMALIZACIN. ....................................................................................................... 16 Reglas de Normalizacin:................................................................................................. 17 PRIMERA FORMA NORMAL ( 1NF ). ......................................................................... 17 SEGUNDA FORMA NORMAL ( 2NF )......................................................................... 18 TERCERA FORMA NORMAL (3NF)............................................................................ 19 Resumen: .......................................................................................................................... 20 CONSIDERACIONES DE NORMALIZACIN............................................................ 20 CONSTRUCTORES SQL PARA LA CREACIN DEL ESQUEMA DE LA BD........ 20 INTEGRIDAD REFERENCIAL Y DE ENTIDAD ........................................................ 21

    RESTRICCIONES REFERENCIALES. ..................................................................... 21 RESTRICCIN REFERENCIAL CCLICA............................................................... 21 RESTRICCIONES REFERENCIALES CONSIGO MISMA. .................................... 22 RESTRICCIONES MLTIPLES. ............................................................................... 22

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 2

    Introduccin Durante las ltimas tres dcadas, la tecnologa basada en el software que soporta el desarrollo de aplicaciones para la manipulacin de datos sufri la evolucin de cuatro generaciones comenzando con los sistemas de archivos, sistemas de bases de datos jerrquicos, sistemas de bases de datos de red y despus los sistemas de bases de datos relacinales. Los sistemas relacionales han servido para mejorar las necesidades de aplicaciones para el procesamiento de datos en negocios. Qu es una base de datos? Conjunto de datos relacionados que tienen un fin comn. Estructura que permite la manipulacin de datos. Coleccin de piezas de informacin interrelacionadas o independientes,

    almacenadas juntas sin necesidad de redundancia. Coleccin de datos relacionados cuya finalidad es compartir la informacin. Usuario 1 Usuario 3 Usuario 4 Usuario 0

    Tipos de Bases de Datos

    Sistemas de Archivos: Conjunto de archivos normales que contiene informacin. Inicialmente la informacin se almacenaba en archivos planos y se construan programas que manipulaban los datos. DESVENTAJAS: 1. Informacin redundante. 2. Problemas en la integridad de la informacin (no se realizan todos los cambios

    en todos los archivos que contienen el dato modificado). 3. Problemas en compartir informacin.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 3

    4. Complejo control de acceso a la informacin (semforos y memoria compartida).

    5. Baja disponibilidad de informacin, si un usuario usa un recurso, nadie ms puede utilizarla.

    Estas desventajas traen como consecuencia la bsqueda de otros mecanismos para reorganizar la informacin. Sistemas de Bases de Datos Jerrquicas: Organizadas bajo una estructura de rbol, el problema que presentan es que la relacin slo se presenta en un sentido y direccin. A B C Como se observa, slo existe una trayectoria para llegar a un punto, en este caso el punto C. Este es un esquema poco flexible por lo que surge la idea de eliminar la deficiencia del Sistemas de Base de Datos Jerrquica y se crea el Sistema de Bases de Datos de Red. Sistemas de Bases de Datos de Red: Las relaciones se dan por ligas (apuntadores). Proporciona mayor flexibilidad para la manipulacin de la informacin, ya que no es tan rgido como el anterior. El problema que presentan es que se requieren definir n caminos para relacionar todos los datos. Si no existe un camino entre dos objetos, estos no pueden relacionarse.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 4

    Nuevamente la deficiencia del Sistema de Bases de Datos de Red provoca una nueva forma de organizar los datos. Sistemas de Bases de Datos relacinales: basados en el Clculo Relacional y el lgebra Relacional. Permiten extraer cualquier tipo de informacin almacenada en la base de datos. TABLAS DE DATOS. El lgebra relacional permite que tenga mayor flexibilidad que los modelos anteriores, por lo que extrae fcilmente la informacin que est almacenada en la base de datos utilizando el lenguaje de consultas estructuradas. Sistemas de Bases de Datos Orientadas a Objetos: Manejan tipos de datos complejos o abstractos, es decir, que el programador define sus propios tipos de datos. Un objeto complejo es que parte de la programacin sea parte del mismo objeto Objeto Complejo Existen algunas aplicaciones que no son afines al modelo de BDR como el sistema de informacin geogrfica, sistemas de informacin de inteligencia artificial, etc. Este tipo de aplicaciones requieren del manejo de ( * ).

    ARQUITECTURA CLIENTE - SERVIDOR.

    La arquitectura Cliente - Servidor consiste en un conjunto de programas que pueden correr en la misma mquina en mquinas distintas. El proceso servidor se encarga de proporcionar un servicio, en el caso de bases de datos es el manejador motor de bases de datos. El proceso cliente solicita un servicio al proceso servidor, en bases de datos el cliente esta asociado a la aplicacin a travs de la cual el usuario final interacta con el manejador de bases de datos.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 5

    Usuario Herramientas de Aplicacin CLIENTE Desarrollo.

    SQL Resultados Motor de BD RDBMS SERVIDOR CISAM

    BD

    El manejador de la BD, proporciona mayor seguridad, ya que nadie tiene acceso directo a la informacin almacenada en la BD, salvo la proporcionada por el mismo manejador. Un RDBMS ( Relational Data Base Management System) involucra las siguientes tareas:

    Organizacin de la Informacin. Control de Acceso. Ejecucin de proposiciones SQL (Intrprete) Regresa resultados y/o mensajes de error. Administracin de Recursos.

    CONCEPTOS Y TERMINOLOGA DEL DISEO DE BASES DE DATOS. VENTAJAS DE UN MODELO DE B.D.R.

    1. Evita la redundancia en la informacin. 2. Compartir informacin (bloqueo). 3. Disponibilidad de recursos. 4. Control y administracin de la informacin (Mayor nivel de seguridad).

    MODELO DE DATOS.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 6

    Representacin grfica del mundo real, nos sirve para: Organizar la informacin. Definir unidades de datos y sus relaciones. Planear y comunicar ideas.

    MODELO ENTIDAD-RELACION. Formalizado por C. W. Bachman a finales de 1960; sus beneficios son:

    Esquematizar las relaciones entre entidades. Manejar mucha informacin de manera sencilla. Facilitar su entendimiento. Excelente fuente de documentacin. Mapeo directo en la construccin de una BDR.

    PASOS INVOLUCRADOS EN EL DISEO DE UNA BASE DE DATOS.

    1. Identificar los objetos principales dentro del sistema. 2. Definir los objetos principales. 3. Hacer el diagrama Entidad-Relacin (establecer las relaciones entre

    objetos). 4. Resolver el modelo lgico. 5. Normalizar el modelo lgico. 6. Convertir el modelo lgico a un esquema fsico.

    El modelo de datos entidad-relacin se representa a travs de tres clases de objetos: entidades, relaciones y atributos. ENTIDAD. Objeto de inters principal o importante para el usuario dentro del sistema. Generalmente es una persona, un lugar, una cosa, o un evento. Ejercicio 1. Determine que entidades son necesarias para construir un sistema de renta de pelculas. INSTANCIA de una ENTIDAD. Es una ocurrencia particular o individual de una entidad. Por ejemplo: En un sistema de rentas de pelculas, podemos encontrar una entidad que almacena la informacin de una pelcula.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 7

    Sistema de Renta de Pelculas. Titulo de la pelcula Duro de Matar. Tipo Accin. Clasificacin Adultos.

    Precio $12.00 Duracin Duracin 90 min.

    (INSTANCIA)

    RELACIN. Representa asociaciones del mundo real entre entidades. Una relacin esta asociada normalmente a un verbo o una preposicin que establece la conexin entre dos entidades. Identificar y entender las entidades y las relaciones entre ellas, es la parte mas importante en el diseo de BDR. Ejercicio 2. Identifica las relaciones existentes entre las entidades del sistema de renta de pelculas. Elabora una tabla equivalente a un producto cartesiano que involucre todas las entidades Las relaciones entre entidades se describen en trminos de:

    CONECTIVIDAD. CARDINALIDAD. EXISTENCIA.

    CONECTIVIDAD: Describe el numero de instancias de una entidad asociadas a otra entidad. Tipos de Conectividad Uno a uno 1: 1 Uno a muchos 1: M Muchos a muchos M : M

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 8

    Ejemplo: Pelcula 1: 1 Tienda Tienda 1: M Pelcula M:1 Tiene M:N Obligatoria Incluye Pelcula Renta EVENTO Tienda 1:M 1:M 1:M Tiene - Obligatoria

    Restriccin ( 1: 5) . Solicita Realiza 1:M Cliente Empleado. Para determinar correctamente la conectividad entre entidades, considere las siguientes reglas: En un sentido: en sentido contrario: resultante: 1:1 ................. 1:1 ................. 1:1 1:1 ................. 1:M ................. 1:M M:1 ................. 1:1 ................. 1:M M:N ................ 1:1 .................. M.N M:N ................ 1:M .................. M:N CARDINALIDAD: Restriccin de la conectividad en las relaciones. Define el nmero exacto de instancias asociadas entre las entidades . Ejemplo: Sistema de Renta de Pelculas. Renta 1 : 5 Pelculas DEPENDENCIA DE EXISTENCIA: Descripcin de la dependencia de existencia de una entidad dentro de una relacin, esta puede ser obligatoria u opcional. Obligatoria: La existencia de una instancia dentro de una entidad es requerida para que se de la relacin. Opcional: La existencia de una instancia dentro de una entidad no es necesaria para que exista la relacin.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 9

    Ejercicio 3. Determine la dependencia de existencia entre las relaciones del sistema de renta de pelculas. ATRIBUTOS: Son caractersticas o calificadores que proporcionan informacin detallada de una entidad. Los atributos son identificados generalmente al realizar entrevistas con el usuario, otras fuentes de informacin son: reportes, facturas, formatos, etc. Los atributos se clasifican en identificadores y descriptores. IDENTIFICADOR: Identifican de manera nica una instancia dentro de una entidad. No permiten el almacenamiento de valores nulos. identificador llaves relacionan las entidades. DESCRIPTORES: Describen todas las caractersticas de la entidad , normalmente aceptan valores duplicados. Permite almacenar valores nulos. PK

    cve Desc $ 1 2 3 4

    ( PRODUCTO). PK FK No_fact cli emp cve $tot IVA Pago

    1 1,4 2 1,2,3 3 1,4,3 4

    ( FACTURA ) Ejercicio 4. Enumera los atributos de cada una de las entidades del sistema de renta de pelculas. ATRIBUTOS DERIVADOS: Atributos cuyo valor depende de otros atributos. Normalmente NO debe almacenarse, a menos que sean prescindibles para los procesos finales. DOMINIO: Conjunto de valores vlidos asociados a un atributo. Ejemplo: Tipo de pelcula: deportes, accin, musicales, terror, suspenso, cmicas, etc.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 10

    Ejercicio 5. Verifica que dominios se requieren para el sistema de renta de pelculas.

    DIAGRAMAS ENTIDAD-RELACION. Los diagramas entidad relacin son herramientas poderosas que permiten para modelar la informacin en base a las necesidades de una compaa o empresa. Juegan un papel muy importante en la metodologa del diseo de BDR. Son una excelente fuente de documentacin para los usuarios, desarrolladores de aplicaciones y administradores de BD. Se utilizan para crear el diseo fsico de una BD. C. W. Bachman formaliz los diagramas utilizados en los modelos de datos Entidad-Relacin a finales de los 60`s. El estilo de Bachman proporcionan una sintaxis diagramtica que es fcil de entender, esta sintaxis es usada por muchas herramientas CASE. : Entidades. : Existencia (Opcional). : Relaciones. : Conectividad (Muchos). Ejemplo: Empleado Renta Relacin 1 : M y opcional. Hay diferentes estilos de diagramas entidad relacin, t puedes usar el estilo que prefieras.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 11

    CONECTIVIDAD CROW`S FOOT REINER CHEN 1 1 1 : 1 1 N 1 : N M N M : N Obligatoria Opcional Ejemplo del sistema de rentas de pelculas: Tiendas Empleados Cliente Renta No de tienda No de Empleado No. de Cliente Cliente Nombre Nombre Nombre Empleado Direccin Direccin Direccin Fecha Telfono Telfono Telfono Clave_pel`s Gerente Puesto Vigencia Total No de Emp IMSS Sucursal Horario RFC Tarj de Cred Zona Sueldo Fecha Ingreso Sucursal. Pelcula Clave Ttulo Clasificacin Tema Formato Duracin No copias Copia Costo Tipo Disponibilidad Sucursal

    ELIMINACIN DE PROBLEMAS QUE SE PRESENTAN EN EL DIAGRAMA ENTIDAD - RELACIN.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 12

    RELACIONES UNO A UNO. Las relaciones uno a uno son muy raras, generalmente una de las entidades es un subconjunto de la otra, por ejemplo: 1 : N Clientes Ordenes 1 : 1 Informacin de Envo Para eliminar las relaciones 1 : 1, es necesario unir las entidades involucradas en una sola entidad. Clientes Ordenes Informacin de Envo 1 : N RELACIONES MUCHOS A MUCHOS. Una de las grandes ventajas del estilo de Bachman es que permite detectar y resolver inmediatamente relaciones M: N. Por ejemplo entre las entidades renta y pelcula se presenta este tipo de relacin. Cliente Renta Pelcula Empleado Para resolver este tipo de relaciones, se debe crear una nueva entidad que separe las entidades donde se presenta la relacin M : N. Cliente Renta Renta Pelcula Maestro Detalle Empleado NO SE REPITEN SE REPITEN

    Para establecer fsicamente las relaciones entre tablas necesitamos de atributos especiales: las llaves primarias y forneas o secundarias.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 13

    LLAVES PRIMARIAS: Atributo o combinacin de atributos que identifican de manera nica una instancia dentro de una entidad. Una entidad debe tener una llave primaria, y no permitir el almacenamiento de valores nulos. Se recomienda que las llaves primarias sean valores numricos o cadenas cortas de caracteres. Las llaves primarias pueden ser simples (involucran un solo atributo), compuestas (constituida por dos o ms atributos). En algunos casos es posible contar con llaves generadas por el sistema. CARACTERSTICAS DE LAS LLAVES PRIMARIAS.

    1. No acepta valores nulos. 2. Deben almacenar valores nicos. 3. No dependen del orden de almacenamiento.

    Ejercicio 6. Verifica si las llaves primarias del esquema corresponden al sistema de renta de pelculas. Tienda PK PK cve_tienda num_memb Cliente Empleado PK PK num_emp folio Renta_m PK cve_pel folio Renta_d cve_tien PK cve_pel (Definicin de llaves primarias para cada entidad) LLAVES FORNEAS O SECUNDARIAS: Utilizada para establecer las relaciones entre entidades. CARACTERSTICAS DE LAS LLAVES FORNEAS.

    1. Son llaves primarias de otra entidad. 2. Aceptan valores nulos. 3. Pueden modificarse. 4. Una entidad puede tener mltiples llaves secundarias. 5. Aceptan valores duplicados.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 14

    Ejercicio 7. Identifica las llaves forneas del esquema corresponden al sistema de renta de pelculas.

    RELACIONES ESPECIALES. RELACIN COMPLEJA: Normalmente asocia tres o ms entidades. Vendedor Zapatos Clientes * Difcil de evaluar. * No se puede trasladar a un esquema de BD. SOLUCIN: Se debe definir una nueva entidad que relacione las entidades involucradas teniendo ahora tres relaciones simples (binarias) entre las entidades. Vendedor Compra Zapatos Clientes RELACIONES RECURSIVAS: Asociacin entre instancias de la misma entidad. Jefe Empleado Empleado * No se presentan frecuentemente. * Pueden implementarse en un esquema de BDR.

    ESPECIFICACIN DE ATRIBUTOS.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 15

    Es de vital importancia asignar correctamente las especificaciones de cada atributo de una entidad:

    Nombre del atributo. Tipo de dato. Valores nulos. nico (no-duplicados). Candidatos a llaves. Llave primaria. Llave secundaria.

    NOMBRES DE ATRIBUTOS. Se debe considerar una convencin de nombres, para incluir informacin adicional al atributo: a) Indica el tipo de informacin que almacena. b) A que tabla pertenece. c) Con significado para el usuario. Evitar (sinnimos) que los nombres sean distintos y que tengan la misma informacin. Tambin es importante que los nombres no sean iguales (homnimos). para atributos que almacenan informacin totalmente distinta. TIPOS DE DATOS. Caracteres. Numricos (enteros y reales). Fecha. Monetarios. CARACTERES. char (n) 32K *varchar (m,n) 255 ENTEROS. smallint - 32767 a 32767 integer - 2147,483,647 a 2147,483,647 RELAES. smallfloat 7 dgitos trunca float 14 dgitos trunca decimal 32 dgitos 10 +/- 128 redondea

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 16

    MONETARIA. money = decimal (16,2) (no incluye el punto decimal) Ejemplo: _ _ _ _ . _ _ 14 2 Siempre se antepone $al desplegar la informacin del dato. FECHA: Date mm/dd/yyyy Datetime fecha y hora Interval almacena lapsos de tiempo BLOB (Binary Large OBject). Solo disponibles en Informix ON-LINE TEXT: Permite almacenar grandes cantidades de informacin en cdigo ascii incluyendo tres caracteres de tabulador, salto de lnea y salto de pgina. BYTE: Almacenan cualquier informacin en binario, por ejemplo sonido digitalizado, imgenes digitalizadas, voz, etc. Esto permite el manejo de multimedia. VALORES NULOS: NULO: Valor especial que se puede almacenar o asociar a un atributo, no es un cero ni tampoco un blanco. Representa ausencia de valor: se aplica si el valor es no conocido, no tenemos informacin. VALORES NICOS: Es una caracterstica que podemos asociar a un atributo, no permite almacenar valores duplicados. x char (20) not null unique En SQL podemos asignar esta caracterstica a las columnas de una tabla de la siguiente manera: not null : no acepta valores nulos. unique : no acepta valores duplicados.

    NORMALIZACIN. La normalizacin es una formalizacin de reglas aplicadas para asociar atributos con entidades. Es una teora de descomposicin de entidades lgicas dentro de un conjunto de entidades que contienen ms propiedades fsicas.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 17

    Beneficios: Mayor flexibilidad. Asegurar que los atributos estn en las entidades apropiadas. Disminuir la redundancia de datos. Minimizar cambios estructurales al desarrollar nuevas aplicaciones. Mantenimiento sencillo de la informacin.

    Reglas de Normalizacin: Pasos a seguir para reducir y reorganizar entidades, proporcionando un mejor modelo de BDR. Cada forma normal restringe los datos para que estn ms organizados. Para aplicar la siguiente forma normal los datos deben cumplir con la forma normal anterior. Existen cinco formas normales y la forma normal de Boyce-Codd (1NF, 2NF, 3NF, 4NF, 5NF, BCNF), en el curso analizaremos hasta la tercer forma normal, pues para casos prcticos es suficiente.

    PRIMERA FORMA NORMAL ( 1NF ).

    Una entidad cumple con la 1er forma normal si no hay repeticin de grupos o dominios.

    No debe haber columnas repetidas (que almacenan informacin equivalente).

    Ejemplo: Ordenes #orden fecha total art1 cant1 art2 cant2 art3 cant3 art4 cant4 fecha_pago Por qu debemos convertir una entidad a 1NF? Los problemas que se presentan en entidades que no cumplen con la 1er forma normal son los siguientes:

    En una orden solo podemos incluir slo 4 artculos. Ocupamos ms espacio en disco. Bsquedas complejas, porque se deben evaluar 4 columnas.

    CONVERSIN A LA 1NF OBJETIVO: Eliminar grupos repetidos.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 18

    1. Separar la entidad en dos entidades que cumplan con la 1NF. 2. Eliminar los grupos de atributos repetidos y enviarlos a la nueva entidad. 3. Construir la llave primaria de la nueva entidad. 4. A travs de una llave fornea o secundaria relacionar las dos entidades.

    Ejemplo: orden

    #orden fecha fecha_pago PK orden_det.

    #orden #art cantidad total FK

    SEGUNDA FORMA NORMAL ( 2NF ). Una entidad cumple con la segunda forma normal si:

    1. Cumple con la 1NF. 2. Todos sus atributos dependen de la llave primaria.

    La 2NF obliga a que cada atributo tenga una Dependencia Funcional con la llave primaria Qu es la dependencia funcional? A depende funcionalmente de B; si el valor de A se determina por el valor de B; es decir, cuando el valor de B cambia, el valor de A cambia tambin. Por qu convertir a 2NF?

    El total es redundante para ordenar con ms de un artculo La actualizacin debe realizarse en varios registros.

    ORDER PK CONVERSIN A LA 2NF.

    #orden #art cantidad fecha total fecha_pago

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 19

    1. Identificar la columna o atributo sobre la cul se tenga dependencia funcional. 2. Buscar una entidad que tenga como llave primaria dicha columna. 3. Mover la columna o atributo que tiene la dependencia funcional a la entidad

    localizado en el punto 2.

    TERCERA FORMA NORMAL (3NF). Una entidad cumple con la tercer forma normal si:

    1. Cumple con la 2NF. 2. Ningn atributo de la entidad debe tener Dependencia Transitiva con la

    llave primaria. En otras palabras, ningn atributo de una entidad depende de otro atributo que no sea la llave primaria. Que es la dependencia transitiva? Si A es funcionalmente dependiente de B y si B es funcionalmente dependiente de C, entonces A tiene una dependencia transitiva con C. Ejemplo: #orden #art #inv #proveedor cantidad precio PK Por qu convertir a la 3NF?

    El precio no se puede asignar a un nuevo artculo, hasta que se genera una orden.

    El precio de un artculo se pierde si se borran todas las ordenes de ese artculo.

    La informacin del precio es redundante. CONVERSIN A 3NF.

    1. Identificar que atributos tienen dependencia transitiva con la llave primaria.

    2. Crear una nueva entidad que contenga el atributo que tiene dependencia transitiva, y los atributos a travs de las cuales se genera la dependencia transitiva.

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 20

    Ejemplo: ord_det

    #orden #art #inv cod_prov cantidad PK inventario

    #inv cod_prov precio PK

    Resumen: Una entidad cumple con la primer forma normal si no contiene grupos repetidos. Una entidad cumple con la segunda forma normal si cumple con la primera y

    contiene nicamente atributos que dependen de la llave primaria. Una entidad cumple con la tercer forma normal si cumple con la segunda y

    contiene atributos que no dependen transitivamente de la llave primaria.

    CONSIDERACIONES DE NORMALIZACIN Cuando normalices tu BD, no olvides el tipo de aplicacin que vas a desarrollar por que la normalizacin no las considera y puedes obtener un modelo de datos que no cumpla con los objetivos del diseo. En muchas ocasiones es necesario desnormalizar un modelo para que las aplicaciones sean ms eficientes.

    CONSTRUCTORES SQL PARA LA CREACIN DEL ESQUEMA DE LA BD. Modelo Lgico Modelo fsico ____________________ ____________________ Modelo E-R Esquema de la BD Entidad Tabla Atributo Columna Relacin ndices, llaves Instancia de Entrada Registro o rengln

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 21

    SQL: Lenguaje de bsquedas estructurado aplicable a modelos de datos relacinales. Creacin de la BD: CREATE DATABASE nombre_BD; Creacin de una tabla: CREATE TABLE nombre_tabla ( col1 CHAR(2), col2 INTEGER );

    INTEGRIDAD REFERENCIAL Y DE ENTIDAD La integridad de datos garantiza la consistencia de la informacin almacenada en la BD. La integridad referencial se utiliza para obligar que se cumplan las relaciones entre las tablas. La integridad de entidad garantiza que podemos identificar de manera nica cada registro en una entidad y por ltimo la integridad de semntica restringe los valores que pueden almacenarse en una columna atributo.

    RESTRICCIONES REFERENCIALES.

    Permiten especificar llaves primarias y forneas para forzar relaciones entre tablas . Existen tres tipos de restricciones referenciales: Cclicas, referenciadas consigo misma y mltiples.

    RESTRICCIN REFERENCIAL CCLICA.

    Garantiza que se cumplan relaciones 1: M entre dos tablas (Maestro-Detalle); para implementarlas desde SQL debemos hacer los siguiente:

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 22

    CREATE TABLE rentas ( renta_num serial, cli_num integer. emp_num integer, fecha date, PRIMARY KEY (renta_num) ); CREATE TABLE renta_detalle ( renta_num integer, pel_num integer, precio money, PRIMARY KEY (renta_num, pel_num), FOREIGN KEY (renta_num ) REFERENCES renta );

    RESTRICCIONES REFERENCIALES CONSIGO MISMA.

    Establecen relaciones Maestro-Detalle dentro de una misma tabla jefes CREATE TABLE empleado ( emp_num SERIAL, jefe_num INTEGER, PRIMARY KEY (emp_num), FOREIGN KEY(jefe_num) REFERENCES empleado);

    RESTRICCIONES MLTIPLES.

    Este tipo de restricciones asocian una llave primaria con dos o mas llaves forneas: CREATE TABLE tienda ( cod_tienda CHAR(3), . . ., PRIMARY KEY (cod_tienda));

    empleados

  • Diseo de Bases de Datos relacinales

    M. en C. Rafaela Blanca Silva Lpez, M en C Hugo Pablo Leyva 23

    CREATE TABLE cod_pel ( num_pel SERIAL, . . ., cod_tienda CHAR(3), FOREIGN KEY (cod_tienda) REFERENCES tienda); CREATE TABLE empleados ( num_emp SERIAL, . . ., cod_tienda CHAR(3), FOREIGN KEY (cod_tienda) REFERENCES tienda); Ejercicio . Escriba el esquema de la base de datos para el sistema de renta de pelculas. EJERCICIO Este ejercicio debe realizarse en equipo (de dos a cuatro integrantes). Se deben cubrir los siguientes puntos:

    1. Definicin del problema 2. Anlisis y recopilacin de informacin 3. Identificacin de entidades 4. Identificacin atributos de cada entidad 5. Definicin de relaciones en trminos de conectividad, cardinalidad y

    existencia 6. Esquema Entidad - Relacin 7. Solucin del esquema Entidad - Relacin 8. Normalizacin del sistema ( 1NF, 2NF y 3NF ) 9. Definicin de caractersticas para los atributos: tipo de dato, acepta o no

    valores nulos, permite valores repetidos o slo nicos. 10.Realizar un diagrama de relaciones que incluya todas las tablas y

    permita fcilmente identificar los campos llaves. 11.Crear el esquema de base de datos con proposiciones SQL