Guia_II_Corte_Prog_Dig_I-2011

March 16, 2018 | Author: Juan Molleja | Category: Relational Database, Relational Model, Databases, Data Management, Computer Data


Comments



Description

Profesores: Barriento Herminia, Bracho Damelys, Bracho Javier, Díaz Wilfredo, Gutiérrez Aniger, Smith Edith, Zavala ReinaUNIVERSIDAD NACIONAL EXPERIMENTAL "FRANCISCO DE MIRANDA" COMPLEJO ACADEMICO “EL SABINO” DEPARTAMENTO DE GERENCIA PROGRAMACION DIGITAL UNIDAD 2: BASE DE DATOS CONTENIDO: 1) BASES DE DATOS  Definición.  Objetivos.  Características.  Desventajas.  Sistema Manejador de Bases de Datos.  Modelos de Base de Datos.  Base de Datos Relacional. 2) MODELO ENTIDAD-RELACION  Definición.  Elementos.  Diagrama Entidad-Relación.  Simbología.  Tipos De Relaciones.  Modelo Relacional.  Pasos Del Modelo Entidad Relación Al Modelo Relacional. 3) NORMALIZACION  Definición.  Conceptos Básicos.  Formas Normales. 1 Profesores: Barriento Herminia, Bracho Damelys, Bracho Javier, Díaz Wilfredo, Gutiérrez Aniger, Smith Edith, Zavala Reina UNIDAD II: BASES DE DATOS Las bases de datos se idearon gracias a la necesidad de las grandes empresas de almacenar grandes cantidades de información de una forma rápida, sencilla y fiable, y que a su vez pudieran acceder a ella en cualquier momento sin necesidad de desplazarse a salas dedicadas a archivar documentación, como hasta hace poco se venía haciendo. Cuando comenzó el despliegue de los programas informáticos se empezaron a almacenar datos en los archivos de los programas, lo cual era más cómodo pero aun así tenían grandes dificultades a la hora de querer modificar registros, estructuras o simplemente buscar información. A finales de los años sesenta nacen las bases de datos. DEFINICION Puede definirse como un conjunto de datos pertenecientes a un mismo contexto organizados para un uso determinado de tal modo que resulte fácil acceder a ellos para gestionarlos y actualizarlos. Es una fuente central de datos que está pensada para que pueda ser compartida por muchos usuarios con una diversidad de aplicaciones. Permite almacenar datos de forma organizada y obtener información acerca de esos datos. Ejemplos: Base de Datos de estudiantes en la universidad, pacientes en un hospital, clientes de un supermercado. OBJETIVOS Mantener datos precisos y consistentes. Asegurar que todos los datos requeridos para las aplicaciones actuales y futuras estén disponibles. Permitir que la base de datos evolucione. CARACTERÍSTICAS Control Centralizado de los Datos. Mínima Redundancia. Acceso concurrente por parte de múltiples usuarios. Integridad de los datos. Consistencia de Datos. Consultas complejas optimizadas. Seguridad de acceso. Respaldo y recuperación. 2 Usualmente están implementados en algún Manejador de Base de Datos. modificación y recuperación de los datos de la base. dedicado a servir de interfaz entre la base de datos. la recuperación de datos y la generación de reportes.Profesores: Barriento Herminia. Ejemplo: MySql. Bracho Damelys. por lo que un modelo de datos es una colección de herramientas conceptuales que se emplean para especificar datos. Típicamente un modelo de datos permite describir: Las estructuras de datos de la base: El tipo de los datos que hay en la base y la forma en que se relacionan. Díaz Wilfredo. Cada nodo representa un tipo de registro llamado segmento con sus correspondientes campos. Operaciones de manipulación de los datos: típicamente. MODELOS DE BASE DE DATOS Un modelo es una representación del mundo real. Bracho Javier. Un modelo de datos está orientado a describir una Base de Datos. Microsoft Access. Oracle. borrado. operaciones de agregado. Microsoft SQL Server. Los más comunes son: a) Modelo Jerárquico: utiliza árboles para la representación lógica de los datos. Informix. El nivel más alto de la jerarquía tiene un solo nodo que se llama raíz. La principal deficiencia de este modelo radica en que no implementa ningún control sobre los propios datos por lo que existe duplicidad de los mismos. Modelos de Datos Lógicos: Son orientados a las operaciones más que a la descripción de una realidad. Paradox. DB2. Smith Edith. PostgreSql. CLASIFICACION DE LOS MODELOS DE DATOS De acuerdo al nivel de abstracción que presentan pueden emplearse: Modelos de Datos Conceptuales: Se usan fundamentalmente durante la etapa de Análisis de un problema dado y están orientados a representar los elementos que intervienen en ese problema y sus relaciones. Los sistemas manejadores de bases de datos son un tipo de software muy específico. las relaciones entre ellos. la semántica asociada y las restricciones de integridad. Un árbol está compuesto por una jerarquía de elementos llamados nodos. el usuario y las aplicaciones que la utilizan. Las restricciones de integridad: Un conjunto de condiciones que deben cumplir los datos para reflejar correctamente la realidad deseada. Zavala Reina SISTEMA MANEJADOR DE BASES DE DATOS (SMBD) Son programas que permiten la creación. El ejemplo más típico es el Modelo Entidad-Relación. de igual forma no existe garantía de que un registro hijo esté relacionado con un registro padre válido por lo que en 3 . Gutiérrez Aniger. modificación y actualización de la base de Datos. Es posible describirla en términos de padres e hijos.Profesores: Barriento Herminia. Atributo: Cada columna de la tabla. es posible borrar un nodo padre sin eliminar antes los nodos hijo. Bracho Damelys. Por ejemplo. Tupla: Cada fila de la tabla. de manera que éstos últimos están relacionados con un registro inválido o inexistente. Dominio: Conjunto válido de valores representables por un atributo. Su idea fundamental es el uso de "relaciones" donde cada ente del mundo real (tabla) se almacena en un lugar diferente y posteriormente se establecen relaciones entre dichos entes (tablas). Díaz Wilfredo. En una estructura de red cualquier componente puede vincularse con cualquier otro. b) Modelo Red: utiliza estructura de datos en red donde las entidades se representan como nodos. CI. Terminología Relacional Clave Principal: atributo o conjunto de atributos que identifican de manera exclusiva un asunto guardado en una tabla o relación. Cardinalidad: Número de tuplas de una tabla. Bracho Javier. edad. y las relaciones como líneas que unen a los nodos. Grado: Número de atributos de la tabla. Zavala Reina ocasiones se infringe la integridad referencial. Cada columna almacena información sobre una propiedad determinada de la tabla (se le llama también atributo) ej: nombre. pero. 4 . un nodo hijo puede tener varios padres. a diferencia del modelo jerárquico. Gutiérrez Aniger. Las tablas se representan gráficamente como una estructura rectangular formada por filas y columnas. apellidos. c) Modelo Relacional: Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Smith Edith. Las bases de datos relacionales están constituidas por una o más tablas que contienen la información ordenada de una forma organizada BASE DE DATOS RELACIONALES Las bases de datos relacionales se basan en el uso de tablas. Cada fila posee una registro de la relación representada por la tabla (a las filas se las llama también tuplas). Una relación también puede tener atributos de relación. ELEMENTOS DE UN MODELO ENTIDAD RELACION Entidad: Es un objeto que existe y es distinguible de otros objetos. Relación: Una relación es una asociación entre varias entidades. Edad. o atributos descriptivos. País Atributos MODELO ENTIDAD RELACIÓN. es un objeto del mundo real que tiene existencia por sí mismo y se puede identificar y describir de manera clara y precisa. vuelo).333 Nombre María José Pedro Apellido Pérez Puerta González Edad 22 21 1 País Venezuela México Chile FILAS (Tuplas) Cardinalidad=3 Grado=5 COLUMNAS: Cédula. (M E-R) El modelo entidad-relación se basa en una percepción de un mundo real que consiste en un conjunto de objetos básicos llamados entidades y de relaciones entre estos objetos. Puede ser concreta (persona. Gutiérrez Aniger.555. Zavala Reina REPRESENTACION GRAFICA DE UNA TABLA O RELACION CLAVE PRINCIPAL Venezuela México Chile DOMINIO DEL ATRIBUTO PAIS Cédula 19. Nombre. Bracho Damelys. (común en tipos de relación muchos a muchos ) Clave de Entidad: Atributo o conjunto de atributos que identifican de forma única cada entidad. Smith Edith. carro. Apellido. casa) o abstracta como un concepto (préstamo.555 12.Profesores: Barriento Herminia. Bracho Javier. los cuales representan características propias de la asociación entre varias entidades. vacaciones. En otras palabras. 5 .555 15. Díaz Wilfredo.555. libro.455. Puede haber más de un vínculo entre dos entidades. Atributos: definen cada una de las propiedades o características propias de una entidad o de una relación. 1/∞): Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de registros de la entidad B. Bracho Javier. 1/1): Una entidad del tipo A solo se puede relacionar con un registro de la entidad del tipo B. Gutiérrez Aniger. Díaz Wilfredo. Los verbos son posibles relaciones. Se hace una lista de los sustantivos y verbos que aparecen. Atributo Nombre Conexión Nombre CI Apellido Cliente Relación cliente asigna Producto PASOS PARA ELABORAR UN DIAGRAMA ENTIDAD RELACION 1. 3. Se elabora el diagrama entidad-relación. A Relación uno a Muchos (1:n. y una entidad del tipo B solo puede estar relacionada con un registro de la entidad del tipo A. 4. 6. SÍMBOLOGÍA B A B 6 . y los conjuntos de relaciones Rombos: representan relaciones. los cuales serán posibles entidades o atributos. Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). 5. Analizando las frases se determina la cardinalidad (tipo de relación) y otros detalles. 2. Smith Edith. Bracho Damelys.Profesores: Barriento Herminia. TIPOS DE RELACIONES: MODELO ENTIDAD RELACIÓN RELACIÓN Relación uno a uno (1:1. Zavala Reina SIMBOLOGÍA UTILIZADA EN EL MODELO ENTIDAD / RELACIÓN DESCRIPCIÓN SÍMBOLO EJEMPLO Entidad Rectángulos: representan conjuntos de Entidades. Se completa el modelo con listas de atributos. y viceversa. CLIENTE Elipses: representan atributos Líneas: conectan los atributos a los conjuntos de entidades. Tipo. TipoCuenta Nombre CI Dirección No Cta Saldo Cliente Apertura Cuenta Relación Muchos a Muchos: Un estudiante puede cursar muchas materias. A B EJEMPLOS DE LOS DISTINTOS TIPOS DE RELACIONES Relación Uno a Uno: Diseñar el modelo E-R. ya que existe una tarjeta de circulación registrada por cada automóvil. Gutiérrez Aniger. No_serie. ya que existen cuentas registradas a favor de más de una persona “En este caso”). Propietario Modelo Placa Color No Serie Tipo Automóvil Registra Tarjeta de Circulación En este ejemplo existe una relación de pertenencia de uno a uno. pero que una cuenta puede llegar a pertenecer a un solo cliente (Se indica que puede. Smith Edith.Profesores: Barriento Herminia. Díaz Wilfredo. ∞/∞): Establece que cualquier cantidad de registros de la entidad “A” pueden estar relacionados con cualquier cantidad de registros de la entidad B y viceversa. Bracho Damelys. Zavala Reina Relación Muchos a Muchos (n:n. Bracho Javier. Placas.Modelo. y una materia puede ser cursada por muchos estudiantes CI Nombre Dirección Materia Cod Mate UC Estudiante cursa Materia 7 . Color / Tarjeta de circulación -Propietario. Relación Uno a muchos: El siguiente ejemplo indica que un cliente puede tener muchas cuentas. para la relación Registro de automóvil que consiste en obtener la tarjeta de circulación de un automóvil con los siguientes datos:Automóvil. Gutiérrez Aniger. Bracho Javier. De cada proveedor se desea conocer el RIF. así como un precio unitario. Apellido Nombre Precio ci Nombre Código Dirección Cliente compra Producto Fecha Nac suministra Proveedor RIF Nombre Dirección 8 . Zavala Reina EJERCICIOS RESUELTOS DE MODELO ENTIDAD RELACIÓN 1. apellidos. Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor. Cada producto tiene un nombre y un código. Smith Edith. dirección y fecha de nacimiento). y que un proveedor puede suministrar diferentes productos. Los productos son suministrados por diferentes proveedores. Bracho Damelys.Profesores: Barriento Herminia. y un mismo producto puede ser comprado por varios clientes.“Una empresa vende productos a varios clientes. nombre y dirección”. Díaz Wilfredo. Se necesita conocer los datos personales de los clientes (nombre. ci. Un cliente puede comprar varios productos a la empresa.. De las provincias a las que llegan los paquetes interesa guardar el código de provincia y el nombre. a una provincia pueden llegar varios paquetes. De los camiones que llevan los camioneros. Un camionero distribuye muchos paquetes. teléfono. Zavala Reina 2. Smith Edith. interesa conocer la matrícula. De los paquetes transportados interesa conocer el código de paquete. Gutiérrez Aniger. Sin embargo. destinatario y dirección del destinatario. Bracho Damelys. y un camión puede ser conducido por varios camioneros”.Profesores: Barriento Herminia. modelo. y un paquete sólo puede ser distribuido por un camionero. Díaz Wilfredo. descripción. Teléfono Nombre cedula Modelo Matricula Tipo Dirección Camionero conduce Camión Potencia Salario llevan Población código Nombre Código Paquete compra Provincia Descripción Destinatario Dirección del destinatario 9 . tipo y potencia. salario y población en la que vive.“Se desea informatizar la gestión de una empresa de transportes que reparte paquetes por toda Venezuela. dirección. Bracho Javier. Los encargados de llevar los paquetes son los camioneros.. nombre. Un paquete sólo puede llegar a una provincia. Un camionero puede conducir diferentes camiones. de los que se quiere guardar la cedula. De cada uno de los tipos de pagos se desea guardar el código y descripción. teléfono. Díaz Wilfredo. nombre domicilio. fecha de inicio y fecha de fin. Los profesores pueden impartir varios módulos pero un modulo solo puede ser impartido por un profesor. teléfono). de expediente. De cada uno de los proyectos realizados interesa almacenar el código.. Los proyectos son realizados por uno o más colaboradores. Un colaborador puede participar en varios proyectos. domicilio y razón social. Un cliente puede realizar varios proyectos. Zavala Reina 3. Gutiérrez Aniger. También interesa almacenar los diferentes tipos de pago que puede realizar la empresa. Cada alumno está matriculado en uno o varios módulos y en un módulo puede haber más de un alumno. cantidad y fecha de pago. 10 . apellido y fecha de nacimiento. De cada alumno se desea guardar el nro. En los proyectos participan colaboradores de los que se dispone la siguiente información: rif. teléfono.Una empresa desea diseñar una base de datos para almacenar en ella toda la información generada en cada uno de los proyectos que ésta realiza. monto del proyecto. En la base de datos se desea guardar los datos de los profesores del instituto (CI.. Los proyectos son realizados por clientes de los que se desea guardar el código. nombre. dirección. Un tipo de pago pude pertenecer a varios pagos. Los profesores imparten módulos y cada modulo tiene un código y un nombre. nombre. De los pagos realizados se requiere guardar el número de pago. descripción. concepto. banco y número de cuenta.Profesores: Barriento Herminia. Bracho Javier. Cod_modul o Nombre MODULO Imparte está PROFESOR ALUMNO teléfono CI Nroexpe nombre dirección nombre apellidos Fecha _nac 4. Un colaborador de proyecto puede recibir varios pagos. pero un solo proyecto es realizado por un único cliente. Smith Edith. Bracho Damelys.Representar el diagrama entidad-relación para las gestiones de un instituto. Gutiérrez Aniger. Zavala Reina Fecha Fin Fecha Ini Código Descripción Cantidad Concepto Código Descripción monto TIPO DE PAGO PROYECTO Nro pago Fecha Pertenece PAGO Participa Puede Realizar Reciben COLABORADOR Nro Cuenta rif CLIENTE Nombre Banco Teléfono Domicilio Código Teléfono Domicilio Razon Soc 11 .Profesores: Barriento Herminia. Bracho Damelys. Díaz Wilfredo. Bracho Javier. Smith Edith. De cada ingreso se guarda el código de ingreso (que se incrementa automáticamente cada vez que el paciente realice un ingreso). apellido. Zavala Reina 5. dirección. De un origen pueden partir varios viajes y a un destino pueden llegar varios viajes. nombre. código postal. De cada uno de los viajes que maneja la agencia interesa guardar el código de viaje. Un viaje determinado sólo puede ser cubierto por un viajero. número de plazas. nombre. Un médico puede atender varios ingresos. pero el ingreso del paciente solo puede ser atendido por un único médico. Smith Edith. De cada médico se desea guardar el código. el número de habitación y cama en el que el paciente realiza el ingreso y la fecha de ingreso. población. “La agencia desea guardar la siguiente información de los viajeros: ci. necesita llevar un control informatizado de su gestión de pacientes y médicos. Tras ponernos en contacto con la agencia. Bracho Javier. Cada viaje realizado tiene un destino y un lugar de origen. Gutiérrez Aniger. nombre. apellidos. Un paciente puede realizar varios ingresos al hospital. Díaz Wilfredo. De cada paciente se desea guardar el código. Un viajero puede realizar tantos viajes como desee con la agencia. dirección y teléfono. ésta nos proporciona la siguiente información. Bracho Damelys. teléfono. Se desea llevar el control de cada uno de los ingresos que el paciente hace en el hospital. teléfono y especialidad. provincia. Un viaje tiene un único lugar de destino y un único lugar de origen. De cada uno de ellos se quiere almacenar el código. 12 . Una agencia de viajes desea informatizar toda la gestión de los viajeros que acuden a la agencia y los viajes que estos realizan. Cada ingreso que realiza el paciente queda registrado en la base de datos. apellido Direccion nombre Poblacion Telefono CodigoPa FechaNac Provincia CodigoPostal PACIENTE Realiza NroCama FechaIngreso NumHab Apellido Nombre Codigo Especialidad Teléfono CodigoIngreso INGRESO atiende MEDICO 6.Profesores: Barriento Herminia. fecha de nacimiento. La Clínica San Andrés. fecha en la que se realiza el viaje y otros datos. nombre. Bracho Damelys. 2) Una empresa necesita organizar la siguiente información referente a su organización interna. marca y color. nombre. nombre. Cada departamento 13 . La empresa está organizada en una serie de departamentos. fecha de contratación y salario. modelo. Un cliente puede comprar varios autos en el concesionario. El concesionario también dispone de un taller en el que los mecánicos reparan los autos que llevan los clientes. Zavala Reina CI Nombre Dirección VIAJERO Teléfono Realiza Num_plaza COD_VIAJE Fecha Cod_origen VIAJE Cod_destino COD_DESTINO Nombre Num_pasajero Hora_llegada DESTINO Duración Tiene Tiene ORIGEN COD_ORIGEN Nombre Hora_Salida EJERCICIOS PROPUESTOS 1) “A un concesionario de autos llegan clientes para comprar automóviles. Díaz Wilfredo. apellidos. Bracho Javier. apellidos. Smith Edith. dirección y teléfono. se le hace una ficha en el concesionario con la siguiente información: ci. Un mecánico repara varios autos a lo largo del día. Los mecánicos tienen un ci. Gutiérrez Aniger.Profesores: Barriento Herminia. De cada auto interesa saber la matrícula. y un auto puede ser reparado por varios mecánicos. Cuando un cliente compra un auto. nombre y número de horas que se imparten a la semana. 14 . nombre y fecha de nacimiento. Díaz Wilfredo. De cada proveedor se desea conocer el RIF. ci. nombre y presupuesto anual. Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor. fresador. y un mismo producto puede ser comprado por varios clientes. dirección. apellidos. La información que se desea guardar del centro de trabajo es el código de centro. apellidos. 3) Una empresa vende productos a varios clientes. RIF. Bracho Javier. A esta empresa también le interesa tener guardada información sobre los hijos de los empleados. Un empleado puede tener varios hijos. De cada profesor y cada alumno se desea recoger el nombre. ci. Cada producto tiene un nombre y un código. 4) Se desea informatizar la gestión de un centro de enseñanza para llevar el control de los alumnos matriculados y los profesores que imparten clases en ese centro. Los alumnos se matriculan en una o más asignaturas. etc…). La empresa tiene una serie de empleados. y de ellas se desea almacenar el código de asignatura. Un centro de trabajo es dirigido por un empleado. Cada departamento se ubica en un único centro de trabajo. fecha de nacimiento. Cada habilidad tendrá una descripción y un código”. nombre. Cada empleado tiene un teléfono. Un cliente puede comprar varios productos a la empresa. Sobre este supuesto diseñar el modelo E/R y el modelo relacional teniendo en cuenta los siguientes aspectos. nombre y dirección.Profesores: Barriento Herminia. Estos se componen de uno o más departamentos. Cada hijo de un empleado tendrá un código. código postal y teléfono. operador de telefonía. Un empleado está asignado a un único departamento. población y dirección del centro. Se necesita conocer los datos personales de los clientes (nombre. Un departamento estará compuesto por uno o más empleados. población. Un profesor del centro puede impartir varias asignaturas. Bracho Damelys. dirección y fecha de nacimiento). Los productos son suministrados por diferentes proveedores. y que un proveedor puede suministrar diferentes productos. Gutiérrez Aniger. Se desea mantener también información sobre las habilidades de los empleados (por ejemplo. Smith Edith. Zavala Reina tiene un código. trato con el cliente. pero una asignatura sólo es impartida por un único profesor. y una misma habilidad puede ser poseída por empleados diferentes. mercadotecnia. Un empleado puede tener varias habilidades. Cada departamento está ubicado en un centro de trabajo. nombre y salario. Un mismo empleado puede dirigir centros de trabajo distintos. así como un precio unitario. Impedir borrar de la lista de cliente un registro cuyo código está incluido en la relación de cuentas por cobrar. Cada relación tiene un número fijo de columnas o atributos (esquema o intensión) y un número variable de filas. y una asignatura sólo puede ser impartida en un único curso. 15 . Por cada entidad. esto origina que una relación pueda tener varias llaves foráneas. piso del centro en el que se encuentra y número de pupitres de que dispone. Gutiérrez Aniger. Para ello se anotará el mes. Esta definición determina que para un valor llave primaria sólo existirá una fila o registro en la tabla.Profesores: Barriento Herminia. día y hora en el que se imparten cada una de las asignaturas en las distintas aulas. Díaz Wilfredo. Zavala Reina Además. Llave Foránea: Es un atributo de una tabla que hace referencia a una llave primaria de otra tabla. Las asignaturas se imparten en diferentes aulas del centro. Una asignatura se puede dar en diferentes aulas. La dirección del centro también designa a varios profesores como tutores en cada uno de los cursos. Bracho Damelys. La clave principal de cada tabla correspondiente clave principal de la entidad proveniente. PASOS DEL MODELO ENTIDAD RELACIÓN AL MODELO RELACIONAL 1. Esta a situación garantiza que no tendrá información repetida o discordante. 2. MODELO RELACIONAL Está basado en la teoría de conjuntos y en el concepto matemático de relación La estructura lógica principal son tablas o relaciones. por lo tanto impide ingresar valores en algunos atributos de filas que no tengan su correspondencia en la tabla relacionada. Los conceptos básicos de integridad en el modelo relacional son: Llave primaria: Es uno o un conjunto de atributos que permiten identificar a las filas de una manera única en cualquier momento. Regla de integridad Referencial: Involucra dos tablas e impone la restricción que un grupo de atributos en una tabla es clave primaria en otras tablas. Un curso tiene un único tutor. Regla de Entidad: Esta regla parte del hecho que toda tabla posee una llave primaria y establece además que una clave primaria no puede contener un valor nulo. Bracho Javier. y en un aula se pueden impartir varias asignaturas. Un profesor es tutor tan sólo de un curso. De cada aula se quiere almacenar el código. Ejemplo: . definir una tabla cuyo nombre es el mismo que el nombre de la entidad y cuyas columnas corresponden a los atributos de la entidad.Impedir facturar a un cliente que no esté previamente creado en la tabla cliente . Smith Edith. Una BD relacional está compuesta por varias tablas o relaciones REGLAS DE INTEGRIDAD Son restricciones que definen los estados de consistencia de la base de datos. En un curso se imparten varias asignaturas. se desea llevar un control de los cursos que se imparten en el centro de enseñanza. De cada curso se guardará el código y el nombre. estableciendo la propiedad Sin Duplicados. Autor. 3. De cada libro se tiene Título. nombre de la persona Contacto. CI. dirección. Apellido. Un autor puede escribir varios Libros. NúmFax. Bracho Damelys. Díaz Wilfredo. Busquemos en la descripción anterior los sustantivos presentes para identificar los objetos reales o Abstractos (Entidad) CANDIDATOS A ENTIDAD editorial libro publicación autor librería ventas 3. Apellido. dirección. ISBN ) AUTOR ( Nombre. ciudad. Las librerías tiene un nombre único. PerContacto. CI. dirección. número de Teléfono. númTeléf. 5. La clave principal de la nueva tabla es la suma de las dos claves primarias. añopublic. Agregar también los atributos de la relación. año de publicación. un encargado. agregar a la tabla del lado muchos una clave foránea. 5. agregar a la tabla correspondiente a una de las entidades una llave foránea asociada con la clave principal de la otra entidad. 4. fecha Nac) 16 . precio. dirección. Por cada relación muchos a muchos definir una tabla adicional (tabla de enlace. Gutiérrez Aniger. Diseñar el diagrama de Entidad-Relación (E-R) para el enunciado anterior. Realizar una lectura de la descripción del problema. fecha Nac). número de teléfono y número de Fax. si existen. correspondiente a la clave principal de la entidad uno. Smith Edith. 4. telefono.Profesores: Barriento Herminia. Por cada relación uno a uno en la cual las claves principales de las entidades relacionadas son diferentes. telefono. Número de Fax y correo 2. pero un libro sólo está escrito por un autor. Las librerías tienen muchos libros y un libro puede estar en muchas librerías. Bracho Javier. Solución: 1. Por cada relación uno a muchos. De la editorial se tiene RIF. 2. Nombre. Por cada autor se desea conocer sus datos personales (Nombre. email) LIBRO (Título. dirección. y el ISBN (Número de Identificación Estándar) el cual es único. Nombre. Autor. precio. Se sabe que una editorial puede publicar varios libros. cuyos atributos corresponden a las claves primarias de cada entidad involucrada en esa asociación o relación. ciudad. De las candidatas a entidades busquemos los atributos de cada uno EDITORIAL (RIF. Zavala Reina 3. EJEMPLO Se desea mantener información actualizada en una base de datos para lo cual se cuenta con la siguiente información: 1. teniendo la exclusividad de la publicación. tabla de unión o tabla puente). ISBN ) ( Nombre. encargado. telefono. Díaz Wilfredo. fecha Nac) (nomLibrería. Construyamos el Modelo Entidad-Relación inicial Direc NomLibrería RIF Encargado NumTelef NumFaxf LIBRERÍA tiene Direccion Precio ISBN PerContacto E-Mail Título AñoPublic NomEdit RIF NumTelef NumFaxf LIBRO publica EDITORIAL Escrito Teléfono Nombre Apellido CI Dirección FechaNac AUTOR 17 . Autor. PerContacto. Bracho Javier. NomEdit. encargado. precio.Profesores: Barriento Herminia. Zavala Reina LIBRERÍA (nombreLibro. NúmFax. direc. númTeléf. númteléf. Smith Edith. Gutiérrez Aniger. Apellido. númFax ) 5. dirección. CI. Bracho Damelys. ciudad. númteléf. e-mail) (Título. añopublic. dirección. direc. Busquemos las claves principales de Cada Entidad potencial EDITORIAL LIBRO AUTOR LIBRERÍA (RIF. númFax ) 4. produciendo problemas con la redundancia. Bracho Javier. Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de consultas y reportes. y concurrencia de sus datos. flexibles. LIBRERÍA 1 NomLibrería Direc Encargado Númteléf númFax LIBRERÍA/LIBRO ∞ NomLibrería ∞ ISBN CantLibro EDITORIAL 1 AUTOR 1 LIBRO ISBN Título Autor Añopublic Precio RIF ∞ CI CantPulicada Nombre Apellido CI Dirección Telefono fecha Nac 1 RIF NomEdit Dirección Ciudad Precontacto NúmTeléf NúmFax e-mail ∞ NORMALIZACIÓN Es una técnica para diseñar la estructura lógica de los datos de un sistema de información en el modelo relacional. La normalización es un proceso que sirve para reducir. Bracho Damelys.Profesores: Barriento Herminia. Un mal diseño de la base de datos puede afectar una aplicación. se parte de los atributos y estos se van agrupando en relaciones (Tablas) según su afinidad. estos problemas con los datos. consistencia. Conversión del Modelo Entidad Relación al Modelo Relacional. inexactitud. si no eliminar. Es una estrategia de diseño de abajo hacia arriba. Para proteger la integridad de los datos. 18 . Smith Edith. Desarrollado por Edgar Codd en 1972. Zavala Reina 6. Para que Normalizar? Para diseñar base de datos sin redundancia. Gutiérrez Aniger. Díaz Wilfredo. adaptables y fáciles de mantener. Es el proceso mediante el cual se analizan los datos y se organizan los atributos agrupándolos entre sí para formar las entidades que intervienen en un sistema. b) Segunda Forma Normal (2FN): Una relación está en 2FN si y solo si está en 1FN y además todos sus atributos que no son clave primaria tienen una dependencia funcional completa con la clave definida (asegurar que todos los atributos que no son clave sean completamente dependientes de la clave primaria) Todas las dependencias parciales son eliminadas y puestas en otra relación. FORMAS NORMALES. UCR. aquello en lo cual atributos que no son claves son dependientes de otros atributos que no son clave. La clave primaria de esta nueva tabla está conformada. en la que no existen grupos repetitivos. Se eliminan todos los campos que pueden ser generados a partir de otros ( campos calculados) Todos los atributos son atómicos. c) Tercera Forma Normal (3FN): Una relación está en 3FN si y solo si es una relación que está en 2FN y en la que todo atributo que no pertenece a la clave primaria no depende de un atributo que no es clave. Díaz Wilfredo. es decir. Se alcanza cuando: Se eliminan todos los grupos repetidos. EJEMPLO 1: EJERCICIO PLANILLA DE INCRIPCIÓN INGENERIA Se listan todos los campos presentes en la planilla y se escoge una clave primaria. Gutiérrez Aniger. a) Primera Forma Normal. Codigo1 Materia1 UCR1 Sección1 Codigo2 Materia2 UCR2 Sección2 Total UC Fecha 1. En esta forma se eliminan cualquier dependencia transitiva.I.Profesores: Barriento Herminia. en la que cada dato toma un solo valor. no se pueden seguir dividiendo. NRO. sección. Se separan en una tabla aparte los datos repetidos. Bracho Damelys. y se colocan en una tabla aparte. en este caso código. Aplicando la 1FN. Smith Edith. Se elimina el campo Total UC por ser un campo calculado. es decir. numero de 19 . Se identifican las claves primarias. se separa en cuatro campos apellidos y nombres atendiendo la premisa de que los datos deben ser atómicos. Nº Planilla Clave Primaria Apellidos y Nombres C. materia. es decir. Bracho Javier. cuando está formada por una estructura plana. Zavala Reina Para aplicar algunos procesos de normalización es conveniente conocer algunos conceptos. (1FN): Una relación está en 1FN si y solo si cada uno de los atributos contiene un único valor para una tupla determinada (valor atómico). NRO. Apellido1 Apellido2 Nombre1 Nombre2 Materia/Planilla Nº Planilla Código Sección Materia Código Materia UCR 20 . Bracho Javier. por lo tanto estos deben ser separados en una tabla aparte. Así en la tabla alumno. Bracho Damelys. Aplicando la 2FN. Quedando el modelo de la siguiente manera: Planilla Nº Planilla Fecha C. Alumno C.I. Aplicando la 3FN. Quedando de la siguiente manera: Alumno Materia Nº Planilla Nº Planilla Apellido1 Código Apellido2 Materia Nombre1 UCR Nombre2 Sección C. apellido2. se verifica que esté en Primera forma Normal (1FN) y que todos los atributos dependan funcionalmente de la Llave primaria Completa. NRO.. apellido2.I. Fecha 2.I. NRO. Díaz Wilfredo. por lo tanto estos campos se separan en una tabla aparte. Quedando de la siguiente manera: Alumno Materia/Planilla Materia Nº Planilla Nº Planilla Código Apellido1 Código Materia Apellido2 Sección UCR Nombre1 Nombre2 C.Profesores: Barriento Herminia. Fecha 3. dependen del atributo C. NRO. No así con la tabla Materia cuyos atributos materia y UCR no dependen de la clave primaria completa sino solo de código. nombre2 y fecha. donde verificamos que esté en 2FN y donde además verificamos si existen atributos que no son claves que son dependientes de otros atributos que tampoco son clave. Smith Edith.I. Alli nos encontramos que los atributos apellido1.I. verificamos que todos los campos dependen funcionalmente de la clave primaria porque para cada valor de Nº de planilla solo existe un valor tanto de CI. NRO. nombre1. Gutiérrez Aniger. apellido1. nombre1 y nombre2. El atributo Sección si depende de la llave completa ya que la misma depende tanto de la planilla que un determinado alumno realice de acuerdo a la sección que quiera inscribir. Zavala Reina planilla y código para poder darle una identificación única ya que en una sola planilla de inscripción los alumnos pueden inscribir varias materias y una misma materia puede tener varias secciones. Apliquemos las formas normales: 1. Factura 1 1 1 2 2 Fecha 10/01/01 10/01/01 10/01/01 20/02/01 20/02/01 Código cliente 10 10 10 36 03 Nombre cliente Juan Pérez Juan Pérez Juan Pérez Julián Ail Julián Ail Código de producto 25 22 01 12 99 Descripción Mouse Teclado CPU Pad Monitor Cantidad 5 10 2 10 3 Precio unitario 10 15 650 2 200 620 Total factura 1500 A simple vista podemos observar que existen datos almacenados de forma redundante. ¿Por qué debemos guardar por cada renglón el número o el nombre del cliente. la información sobre la facturación se encuentra almacenada de la siguiente forma: Nro. Deberemos armar otra tabla que contenga dichos grupos y le agregaremos el campo número de factura (que es la clave de la primera tabla) Nro. deberemos repetir en el archivo los datos generales de la factura tantas veces como artículos se vendan dentro de la misma. Factura 1 1 1 2 2 Código de producto 25 22 01 12 99 Cantidad 5 10 2 10 3 Precio unitario 10 15 650 2 200 El resultado de este primer paso son dos tablas en primera forma normal (observemos que en la primera de ellas el número de factura aparece una sola vez). si existe la posibilidad de tenerlo almacenado una sola vez? Como el descripto existe gran cantidad de inconvenientes almacenando nuestra información de esta manera. Díaz Wilfredo. La clave primaria es un campo o conjunto de campos (en cuyo caso constituye una clave primaria compuesta) que identifica unívocamente a cada registro. en nuestro ejemplo para el número de factura. Los campos resaltados en negrita en cada una de las tablas constituyen la clave primaria de las mismas. Bracho Javier. Bracho Damelys. La 1 FN dice que deben eliminarse los grupos repetitivos.Profesores: Barriento Herminia. Factura 1 2 Ventas Código cliente 10/01/01 10 20/02/01 36 Fecha ITEMS DE VENTAS Descripción Mouse Teclado CPU Pad Monitor Nombre cliente Juan Pérez Julián Ail Nro. Entonces los artículos vendidos constituyen un grupo repetitivo que producen redundancia innecesaria sobre los datos que no forman parte de ese grupo repetitivo. Gutiérrez Aniger. Un grupo repetitivo es un dato que puede repetirse en una estructura determinada. Si por cada factura almacenamos todos los artículos vendidos en la misma tabla o archivo. Zavala Reina EJEMPLO 2:Supongamos que. en una Base de Datos de una empresa de venta de computadoras. Smith Edith. En el primer caso nos basta con el número de factura para identificar de forma única a cada 21 . Factura 1 2 Nro. Bracho Damelys. se encuentran en 1 FN 3. pero en la segunda tabla ese número no alcanza ya que puede haber más de un artículo vendido por factura (por lo que incluimos el campo código de producto como parte integrante de la clave primaria). La razón por la que no se encuentra en la nueva tabla es porque el total de la factura puede obtenerse multiplicando las cantidades por los precios unitarios. El resultado de este proceso es el siguiente: Nro. En la tabla ITEMS DE VENTAS. Por último cabe mencionar que cada tabla debe poseer un nombre. de factura + cod. El total de la factura es un campo calculado y la normalización nos dice que no es necesario almacenar campos calculados. de producto). siendo denominados el o los restantes clave candidata. de producto)? La respuesta es que depende de una parte de la clave primaria y no de toda la clave (depende del Cod. Llamaremos clave foránea a un campo de una tabla que es clave primaria en otra tabla (en este caso el campo número de factura de la tabla ITEMS DE VENTAS es en esa tabla clave foránea porque es clave primaria en la tabla VENTAS). Para que una tabla esté en 2 FN. Bracho Javier. Ante una situación de este tipo.Profesores: Barriento Herminia. Factura 1 1 VENTAS Código Nombre cliente cliente 10/01/01 10 Juan Pérez 20/02/01 36 Julián Ail ITEMS DE VENTAS Código de Cantidad Precio unitario producto 25 5 10 22 10 15 Fecha 22 . o solo de una parte de ella (Cod. Smith Edith. de producto). Entonces deberemos colocar ese campo de dependencia parcial más el campo de cual depende en una nueva tabla. La información de ambas tablas continúa relacionada (recordemos que la normalización es parte del modelo Relacional de Base de Datos) a través del campo número de factura. lo más representativo de la información en ella almacenada. Notemos que dentro de la primera tabla ha sido eliminado el campo total factura. Zavala Reina registro. Podría haber ocurrido que dudáramos acerca del campo que sería la clave primaria de una tabla. Gutiérrez Aniger. Las tablas resultantes (VENTAS e ITEMS DE VENTAS). Díaz Wilfredo. y si tenemos más de un campo con posibilidad de convertirse en clave primaria. debe estar en 1 FN y además todos los campos de la tabla deben depender totalmente de la clave primaria. la descripción del producto: depende de toda la clave primaria (nro. como sería un código de cliente o el cuit del mismo. debemos optar por uno de ellos como clave primaria. Bracho Damelys. 3. Para que una tabla se encuentre en 3 FN. Díaz Wilfredo. Si miramos con detenimiento la tabla VENTAS. Factura 1 1 1 2 2 ITEMS DE VENTAS Código de Cantidad producto 25 5 22 10 01 2 12 10 99 3 Precio unitario 10 15 650 2 200 PRODUCTOS Código de producto Descripción 25 Mouse 22 Teclado 01 CPU 12 Pad 99 Monitor CLIENTES Código cliente Nombre cliente 10 Juan Pérez 36 Julián Ail 23 . Gutiérrez Aniger. La clave primaria de la tabla PRODUCTOS es sin duda el código de producto. Además. Smith Edith. Factura 1 2 VENTAS Fecha 10/01/01 20/02/01 Código cliente 10 36 Nro. sino que depende del código de cliente. dicho campo es clave foránea en la tabla ITEMS DE VENTAS (por los motivos expuestos más arriba acerca de las claves foráneas). debe estar en 2 FN y no deben existir dependencias transitivas en la misma. de factura). Zavala Reina 1 2 2 Código de producto 25 22 01 12 99 01 12 99 2 10 3 PRODUCTOS Descripción Mouse Teclado CPU Pad Monitor 650 2 200 Las tablas obtenidas están en 2 FN. Así obtenemos: Nro. Nuevamente deberemos colocar ese campo en otra tabla adicionándole el campo del cual depende totalmente.Profesores: Barriento Herminia. Bracho Javier. podremos deducir que el campo nombre del cliente no depende directamente de la clave primaria (nro. por lo que existe una dependencia transitiva entre el nombre y el número de factura a través del código de cliente. dicho campo es clave foránea en la tabla VENTAS (por ser clave primaria en la tabla CLIENTES). Además. Díaz Wilfredo. 24 . Bracho Javier. La clave primaria de la tabla CLIENTES es el código de cliente. Zavala Reina Las tablas obtenidas están en 3 FN. Bracho Damelys. Gutiérrez Aniger.Profesores: Barriento Herminia. Smith Edith.
Copyright © 2024 DOKUMEN.SITE Inc.