Profesores: Barriento Herminia, Bracho Damelys, Bracho Javier, Díaz Wilfredo, Gutiérrez Aniger, Smith Edith, Zavala Reina

UNIVERSIDAD 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

Los sistemas manejadores de bases de datos son un tipo de software muy específico. Operaciones de manipulación de los datos: típicamente. El ejemplo más típico es el Modelo Entidad-Relación. El nivel más alto de la jerarquía tiene un solo nodo que se llama raíz. 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 . operaciones de agregado. Modelos de Datos Lógicos: Son orientados a las operaciones más que a la descripción de una realidad. 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. Smith Edith. Microsoft SQL Server. Cada nodo representa un tipo de registro llamado segmento con sus correspondientes campos. modificación y actualización de la base de Datos. Un árbol está compuesto por una jerarquía de elementos llamados nodos. 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. Díaz Wilfredo. dedicado a servir de interfaz entre la base de datos. MODELOS DE BASE DE DATOS Un modelo es una representación del mundo real. Los más comunes son: a) Modelo Jerárquico: utiliza árboles para la representación lógica de los datos.Profesores: Barriento Herminia. PostgreSql. por lo que un modelo de datos es una colección de herramientas conceptuales que se emplean para especificar datos. 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. Bracho Javier. Ejemplo: MySql. el usuario y las aplicaciones que la utilizan. borrado. Microsoft Access. Usualmente están implementados en algún Manejador de Base de Datos. Oracle. modificación y recuperación de los datos de la base. Gutiérrez Aniger. la semántica asociada y las restricciones de integridad. 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. Bracho Damelys. Informix. DB2. Un modelo de datos está orientado a describir una Base de Datos. Paradox. las relaciones entre ellos. la recuperación de datos y la generación de reportes.

4 . un nodo hijo puede tener varios padres. Cada columna almacena información sobre una propiedad determinada de la tabla (se le llama también atributo) ej: nombre. Díaz Wilfredo. Gutiérrez Aniger. 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. Bracho Javier. a diferencia del modelo jerárquico. es posible borrar un nodo padre sin eliminar antes los nodos hijo. apellidos. b) Modelo Red: utiliza estructura de datos en red donde las entidades se representan como nodos. CI. Es posible describirla en términos de padres e hijos. Zavala Reina ocasiones se infringe la integridad referencial. Por ejemplo. c) Modelo Relacional: Éste es el modelo utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. En una estructura de red cualquier componente puede vincularse con cualquier otro. Terminología Relacional Clave Principal: atributo o conjunto de atributos que identifican de manera exclusiva un asunto guardado en una tabla o relación. 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). y las relaciones como líneas que unen a los nodos. Smith Edith. pero. Atributo: Cada columna de la tabla. edad. Dominio: Conjunto válido de valores representables por un atributo. Cardinalidad: Número de tuplas de una tabla. Grado: Número de atributos de la tabla. Bracho Damelys. Cada fila posee una registro de la relación representada por la tabla (a las filas se las llama también tuplas).Profesores: Barriento Herminia. de manera que éstos últimos están relacionados con un registro inválido o inexistente. Tupla: Cada fila de la tabla. Las tablas se representan gráficamente como una estructura rectangular formada por filas y columnas.

5 . Relación: Una relación es una asociación entre varias entidades. Una relación también puede tener atributos de relación. Bracho Javier. País Atributos MODELO ENTIDAD RELACIÓN. vacaciones. Zavala Reina REPRESENTACION GRAFICA DE UNA TABLA O RELACION CLAVE PRINCIPAL Venezuela México Chile DOMINIO DEL ATRIBUTO PAIS Cédula 19.Profesores: Barriento Herminia. es un objeto del mundo real que tiene existencia por sí mismo y se puede identificar y describir de manera clara y precisa. En otras palabras.555. Nombre. Bracho Damelys. Apellido. (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.555. los cuales representan características propias de la asociación entre varias entidades. Gutiérrez Aniger. Puede haber más de un vínculo entre dos entidades. Puede ser concreta (persona. libro. o atributos descriptivos. Smith Edith. Atributos: definen cada una de las propiedades o características propias de una entidad o de una relación. Díaz Wilfredo. Edad.555 12.455.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. carro. (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.555 15. ELEMENTOS DE UN MODELO ENTIDAD RELACION Entidad: Es un objeto que existe y es distinguible de otros objetos. vuelo). casa) o abstracta como un concepto (préstamo.

los cuales serán posibles entidades o atributos. Bracho Javier. Analizando las frases se determina la cardinalidad (tipo de relación) y otros detalles. CLIENTE Elipses: representan atributos Líneas: conectan los atributos a los conjuntos de entidades. y una entidad del tipo B solo puede estar relacionada con un registro de la entidad del tipo A. Atributo Nombre Conexión Nombre CI Apellido Cliente Relación cliente asigna Producto PASOS PARA ELABORAR UN DIAGRAMA ENTIDAD RELACION 1. Se parte de una descripción textual del problema o sistema de información a automatizar (los requisitos). y los conjuntos de relaciones Rombos: representan relaciones. Díaz Wilfredo. 5. A Relación uno a Muchos (1:n. Los verbos son posibles relaciones. Se elabora el diagrama entidad-relación. 2. SÍMBOLOGÍA B A B 6 . Se hace una lista de los sustantivos y verbos que aparecen. 6. 1/1): Una entidad del tipo A solo se puede relacionar con un registro de la entidad del tipo B. 1/∞): Significa que una entidad del tipo A puede relacionarse con cualquier cantidad de registros de la entidad B. Zavala Reina SIMBOLOGÍA UTILIZADA EN EL MODELO ENTIDAD / RELACIÓN DESCRIPCIÓN SÍMBOLO EJEMPLO Entidad Rectángulos: representan conjuntos de Entidades. 3. 4.Profesores: Barriento Herminia. Gutiérrez Aniger. y viceversa. TIPOS DE RELACIONES: MODELO ENTIDAD RELACIÓN RELACIÓN Relación uno a uno (1:1. Smith Edith. Se completa el modelo con listas de atributos. Bracho Damelys.

pero que una cuenta puede llegar a pertenecer a un solo cliente (Se indica que puede. A B EJEMPLOS DE LOS DISTINTOS TIPOS DE RELACIONES Relación Uno a Uno: Diseñar el modelo E-R. Placas. Tipo. 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. Relación Uno a muchos: El siguiente ejemplo indica que un cliente puede tener muchas cuentas. Bracho Javier. Smith Edith. Zavala Reina Relación Muchos a Muchos (n:n.Modelo. ∞/∞): 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. Gutiérrez Aniger. No_serie. ya que existe una tarjeta de circulación registrada por cada automóvil. ya que existen cuentas registradas a favor de más de una persona “En este caso”). y una materia puede ser cursada por muchos estudiantes CI Nombre Dirección Materia Cod Mate UC Estudiante cursa Materia 7 .Profesores: Barriento Herminia. 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. Díaz Wilfredo. TipoCuenta Nombre CI Dirección No Cta Saldo Cliente Apertura Cuenta Relación Muchos a Muchos: Un estudiante puede cursar muchas materias. Color / Tarjeta de circulación -Propietario.

Cada producto tiene un nombre y un código. y un mismo producto puede ser comprado por varios clientes. dirección y fecha de nacimiento). De cada proveedor se desea conocer el RIF. Zavala Reina EJERCICIOS RESUELTOS DE MODELO ENTIDAD RELACIÓN 1. nombre y dirección”. Díaz Wilfredo. así como un precio unitario. Se necesita conocer los datos personales de los clientes (nombre. Los productos son suministrados por diferentes proveedores. Bracho Damelys. y que un proveedor puede suministrar diferentes productos. Smith Edith. apellidos.Profesores: Barriento Herminia. Gutiérrez Aniger. Bracho Javier. Un cliente puede comprar varios productos a la empresa. Apellido Nombre Precio ci Nombre Código Dirección Cliente compra Producto Fecha Nac suministra Proveedor RIF Nombre Dirección 8 . Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor. ci..“Una empresa vende productos a varios clientes.

Zavala Reina 2. y un camión puede ser conducido por varios camioneros”. teléfono. De los camiones que llevan los camioneros. Bracho Damelys.. interesa conocer la matrícula. 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 . y un paquete sólo puede ser distribuido por un camionero.“Se desea informatizar la gestión de una empresa de transportes que reparte paquetes por toda Venezuela. Smith Edith. Sin embargo. Gutiérrez Aniger. Bracho Javier. dirección. De las provincias a las que llegan los paquetes interesa guardar el código de provincia y el nombre. De los paquetes transportados interesa conocer el código de paquete. Un camionero puede conducir diferentes camiones. nombre. Los encargados de llevar los paquetes son los camioneros. Un paquete sólo puede llegar a una provincia. descripción. salario y población en la que vive. a una provincia pueden llegar varios paquetes. Díaz Wilfredo. tipo y potencia. Un camionero distribuye muchos paquetes. de los que se quiere guardar la cedula. destinatario y dirección del destinatario. modelo.Profesores: Barriento Herminia.

Un colaborador de proyecto puede recibir varios pagos. nombre domicilio. nombre. apellido y fecha de nacimiento. descripción. fecha de inicio y fecha de fin. Gutiérrez Aniger. Smith Edith. De cada uno de los proyectos realizados interesa almacenar el código. En los proyectos participan colaboradores de los que se dispone la siguiente información: rif.Profesores: Barriento Herminia.Representar el diagrama entidad-relación para las gestiones de un instituto. Cod_modul o Nombre MODULO Imparte está PROFESOR ALUMNO teléfono CI Nroexpe nombre dirección nombre apellidos Fecha _nac 4. Los proyectos son realizados por clientes de los que se desea guardar el código. Cada alumno está matriculado en uno o varios módulos y en un módulo puede haber más de un alumno. monto del proyecto. De los pagos realizados se requiere guardar el número de pago. De cada alumno se desea guardar el nro. También interesa almacenar los diferentes tipos de pago que puede realizar la empresa. pero un solo proyecto es realizado por un único cliente. dirección. 10 .. En la base de datos se desea guardar los datos de los profesores del instituto (CI. de expediente. Un tipo de pago pude pertenecer a varios pagos. Bracho Damelys. teléfono. Zavala Reina 3. teléfono. Los proyectos son realizados por uno o más colaboradores.. teléfono). banco y número de cuenta.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. nombre. cantidad y fecha de pago. domicilio y razón social. Bracho Javier. Un colaborador puede participar en varios proyectos. concepto. De cada uno de los tipos de pagos se desea guardar el código y descripción. Los profesores imparten módulos y cada modulo tiene un código y un nombre. Un cliente puede realizar varios proyectos. Díaz Wilfredo. Los profesores pueden impartir varios módulos pero un modulo solo puede ser impartido por un profesor.

Gutiérrez Aniger. Díaz Wilfredo. Smith Edith.Profesores: Barriento Herminia. Bracho Damelys. Bracho Javier. 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 .

Bracho Javier. necesita llevar un control informatizado de su gestión de pacientes y médicos. Gutiérrez Aniger. pero el ingreso del paciente solo puede ser atendido por un único médico. nombre. Un viaje tiene un único lugar de destino y un único lugar de origen. De cada paciente se desea guardar el código. Un viajero puede realizar tantos viajes como desee con la agencia. Un viaje determinado sólo puede ser cubierto por un viajero. Zavala Reina 5. 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. teléfono. “La agencia desea guardar la siguiente información de los viajeros: ci. apellidos. dirección y teléfono. Cada ingreso que realiza el paciente queda registrado en la base de datos. número de plazas. Un médico puede atender varios ingresos. Smith Edith. La Clínica San Andrés. 12 . dirección. el número de habitación y cama en el que el paciente realiza el ingreso y la fecha de ingreso. De cada uno de ellos se quiere almacenar el código. Se desea llevar el control de cada uno de los ingresos que el paciente hace en el hospital. Bracho Damelys. provincia. nombre. Díaz Wilfredo. fecha en la que se realiza el viaje y otros datos. De cada médico se desea guardar el código. ésta nos proporciona la siguiente información. Tras ponernos en contacto con la agencia. fecha de nacimiento. De un origen pueden partir varios viajes y a un destino pueden llegar varios viajes. De cada uno de los viajes que maneja la agencia interesa guardar el código de viaje. nombre. nombre. Una agencia de viajes desea informatizar toda la gestión de los viajeros que acuden a la agencia y los viajes que estos realizan. población.Profesores: Barriento Herminia. De cada ingreso se guarda el código de ingreso (que se incrementa automáticamente cada vez que el paciente realice un ingreso). teléfono y especialidad. código postal. Un paciente puede realizar varios ingresos al hospital. Cada viaje realizado tiene un destino y un lugar de origen. apellido.

se le hace una ficha en el concesionario con la siguiente información: ci. y un auto puede ser reparado por varios mecánicos.Profesores: Barriento Herminia. modelo. Bracho Javier. apellidos. nombre. Gutiérrez Aniger. Un mecánico repara varios autos a lo largo del día. Cada departamento 13 . Smith Edith. apellidos. marca y color. De cada auto interesa saber la matrícula. nombre. 2) Una empresa necesita organizar la siguiente información referente a su organización interna. Los mecánicos tienen un ci. La empresa está organizada en una serie de departamentos. Un cliente puede comprar varios autos en el concesionario. dirección y teléfono. Bracho Damelys. Cuando un cliente compra un auto. fecha de contratación y salario. El concesionario también dispone de un taller en el que los mecánicos reparan los autos que llevan los clientes. Díaz Wilfredo. 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.

14 . Cada habilidad tendrá una descripción y un código”. Un empleado puede tener varias habilidades. y un mismo producto puede ser comprado por varios clientes. Smith Edith. Cada hijo de un empleado tendrá un código. pero una asignatura sólo es impartida por un único profesor. Un empleado puede tener varios hijos. Se necesita conocer los datos personales de los clientes (nombre. Díaz Wilfredo. y que un proveedor puede suministrar diferentes productos. La empresa tiene una serie de empleados. dirección y fecha de nacimiento). 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. población. nombre. Un empleado está asignado a un único departamento. Un profesor del centro puede impartir varias asignaturas. nombre y dirección. 3) Una empresa vende productos a varios clientes. dirección. nombre y presupuesto anual. De cada profesor y cada alumno se desea recoger el nombre. apellidos. trato con el cliente. fresador. De cada proveedor se desea conocer el RIF. Bracho Damelys. Estos se componen de uno o más departamentos. Los alumnos se matriculan en una o más asignaturas. nombre y fecha de nacimiento. La información que se desea guardar del centro de trabajo es el código de centro. ci. y de ellas se desea almacenar el código de asignatura. código postal y teléfono. Zavala Reina tiene un código. Sobre este supuesto diseñar el modelo E/R y el modelo relacional teniendo en cuenta los siguientes aspectos. Un centro de trabajo es dirigido por un empleado. Cada departamento se ubica en un único centro de trabajo. RIF. Se debe tener en cuenta que un producto sólo puede ser suministrado por un proveedor. población y dirección del centro. Un departamento estará compuesto por uno o más empleados. y una misma habilidad puede ser poseída por empleados diferentes. Los productos son suministrados por diferentes proveedores. Cada departamento está ubicado en un centro de trabajo. así como un precio unitario. Cada empleado tiene un teléfono. etc…).Profesores: Barriento Herminia. ci. Bracho Javier. Gutiérrez Aniger. mercadotecnia. Un cliente puede comprar varios productos a la empresa. Cada producto tiene un nombre y un código. nombre y número de horas que se imparten a la semana. operador de telefonía. Se desea mantener también información sobre las habilidades de los empleados (por ejemplo. A esta empresa también le interesa tener guardada información sobre los hijos de los empleados. apellidos. Un mismo empleado puede dirigir centros de trabajo distintos. nombre y salario. fecha de nacimiento.

La dirección del centro también designa a varios profesores como tutores en cada uno de los cursos. Cada relación tiene un número fijo de columnas o atributos (esquema o intensión) y un número variable de filas. Ejemplo: . Zavala Reina Además. Para ello se anotará el mes.Impedir borrar de la lista de cliente un registro cuyo código está incluido en la relación de cuentas por cobrar. De cada curso se guardará el código y el nombre. Díaz Wilfredo. Smith Edith. Por cada entidad. Llave Foránea: Es un atributo de una tabla que hace referencia a una llave primaria de otra tabla.Profesores: Barriento Herminia. Una asignatura se puede dar en diferentes aulas. PASOS DEL MODELO ENTIDAD RELACIÓN AL MODELO RELACIONAL 1. día y hora en el que se imparten cada una de las asignaturas en las distintas aulas. 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. esto origina que una relación pueda tener varias llaves foráneas. Esta definición determina que para un valor llave primaria sólo existirá una fila o registro en la tabla. por lo tanto impide ingresar valores en algunos atributos de filas que no tengan su correspondencia en la tabla relacionada. se desea llevar un control de los cursos que se imparten en el centro de enseñanza. 2. La clave principal de cada tabla correspondiente clave principal de la entidad proveniente. y en un aula se pueden impartir varias asignaturas. definir una tabla cuyo nombre es el mismo que el nombre de la entidad y cuyas columnas corresponden a los atributos de la entidad. 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.Impedir facturar a un cliente que no esté previamente creado en la tabla cliente . 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. En un curso se imparten varias asignaturas. Las asignaturas se imparten en diferentes aulas del centro. Un profesor es tutor tan sólo de un curso. y una asignatura sólo puede ser impartida en un único curso. 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. piso del centro en el que se encuentra y número de pupitres de que dispone. De cada aula se quiere almacenar el código. Un curso tiene un único tutor. Esta a situación garantiza que no tendrá información repetida o discordante. 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. Bracho Damelys. Bracho Javier. 15 . Gutiérrez Aniger.

Bracho Javier. dirección. Agregar también los atributos de la relación.Profesores: Barriento Herminia. y el ISBN (Número de Identificación Estándar) el cual es único. Realizar una lectura de la descripción del problema. De la editorial se tiene RIF. 2. EJEMPLO Se desea mantener información actualizada en una base de datos para lo cual se cuenta con la siguiente información: 1. Zavala Reina 3. Apellido. Nombre. númTeléf. 3. Por cada relación uno a uno en la cual las claves principales de las entidades relacionadas son diferentes. Diseñar el diagrama de Entidad-Relación (E-R) para el enunciado anterior. telefono. Díaz Wilfredo. ciudad. Solución: 1. PerContacto. Apellido. Smith Edith. nombre de la persona Contacto. fecha Nac) 16 . precio. La clave principal de la nueva tabla es la suma de las dos claves primarias. dirección. Nombre. un encargado. si existen. estableciendo la propiedad Sin Duplicados. Gutiérrez Aniger. dirección. Por cada autor se desea conocer sus datos personales (Nombre. pero un libro sólo está escrito por un autor. CI. precio. correspondiente a la clave principal de la entidad uno. De cada libro se tiene Título. teniendo la exclusividad de la publicación. cuyos atributos corresponden a las claves primarias de cada entidad involucrada en esa asociación o relación. ciudad. Bracho Damelys. año de publicación. Las librerías tienen muchos libros y un libro puede estar en muchas librerías. número de teléfono y número de Fax. Por cada relación uno a muchos. 5. NúmFax. agregar a la tabla del lado muchos una clave foránea. email) LIBRO (Título. agregar a la tabla correspondiente a una de las entidades una llave foránea asociada con la clave principal de la otra entidad. 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. 4. Las librerías tiene un nombre único. Autor. dirección. tabla de unión o tabla puente). ISBN ) AUTOR ( Nombre. fecha Nac). 4. Autor. Número de Fax y correo 2. número de Teléfono. añopublic. Se sabe que una editorial puede publicar varios libros. De las candidatas a entidades busquemos los atributos de cada uno EDITORIAL (RIF. telefono. dirección. CI. Por cada relación muchos a muchos definir una tabla adicional (tabla de enlace. Un autor puede escribir varios Libros. 5.

Bracho Javier. Smith Edith. ciudad. telefono. CI. dirección. NúmFax. númteléf. Zavala Reina LIBRERÍA (nombreLibro. númFax ) 4. ISBN ) ( Nombre. 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 . PerContacto. precio. númTeléf. Gutiérrez Aniger.Profesores: Barriento Herminia. añopublic. Díaz Wilfredo. encargado. fecha Nac) (nomLibrería. Busquemos las claves principales de Cada Entidad potencial EDITORIAL LIBRO AUTOR LIBRERÍA (RIF. númteléf. direc. NomEdit. númFax ) 5. dirección. Bracho Damelys. encargado. Autor. Apellido. direc. e-mail) (Título.

Es una estrategia de diseño de abajo hacia arriba. inexactitud. Gutiérrez Aniger. 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. Desarrollado por Edgar Codd en 1972. Para proteger la integridad de los datos. Bracho Javier. Díaz Wilfredo. flexibles. La normalización es un proceso que sirve para reducir. Bracho Damelys. Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de consultas y reportes. Smith Edith. consistencia. si no eliminar. Zavala Reina 6. 18 . 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.Profesores: Barriento Herminia. Para que Normalizar? Para diseñar base de datos sin redundancia. Conversión del Modelo Entidad Relación al Modelo Relacional. Un mal diseño de la base de datos puede afectar una aplicación. produciendo problemas con la redundancia. estos problemas con los datos. se parte de los atributos y estos se van agrupando en relaciones (Tablas) según su afinidad. adaptables y fáciles de mantener. y concurrencia de sus datos.

aquello en lo cual atributos que no son claves son dependientes de otros atributos que no son clave. en este caso código. cuando está formada por una estructura plana. es decir. y se colocan en una tabla aparte. 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. a) Primera Forma Normal. en la que no existen grupos repetitivos. UCR. Bracho Damelys. Bracho Javier.I. Se elimina el campo Total UC por ser un campo calculado. EJEMPLO 1: EJERCICIO PLANILLA DE INCRIPCIÓN INGENERIA Se listan todos los campos presentes en la planilla y se escoge una clave primaria. La clave primaria de esta nueva tabla está conformada. Se eliminan todos los campos que pueden ser generados a partir de otros ( campos calculados) Todos los atributos son atómicos. materia. sección. 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. es decir. Zavala Reina Para aplicar algunos procesos de normalización es conveniente conocer algunos conceptos. en la que cada dato toma un solo valor. se separa en cuatro campos apellidos y nombres atendiendo la premisa de que los datos deben ser atómicos. NRO. Smith Edith. Se separan en una tabla aparte los datos repetidos. no se pueden seguir dividiendo. Se alcanza cuando: Se eliminan todos los grupos repetidos. es decir. Se identifican las claves primarias. Nº Planilla Clave Primaria Apellidos y Nombres C. FORMAS NORMALES. numero de 19 . Díaz Wilfredo.Profesores: Barriento Herminia. Gutiérrez Aniger. (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). Aplicando la 1FN. Codigo1 Materia1 UCR1 Sección1 Codigo2 Materia2 UCR2 Sección2 Total UC Fecha 1. En esta forma se eliminan cualquier dependencia transitiva.

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. 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. Alli nos encontramos que los atributos apellido1. Fecha 3. Fecha 2. NRO. NRO.I.I. se verifica que esté en Primera forma Normal (1FN) y que todos los atributos dependan funcionalmente de la Llave primaria Completa. 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.I.I. Quedando el modelo de la siguiente manera: Planilla Nº Planilla Fecha C. 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. Así en la tabla alumno. Gutiérrez Aniger. NRO. Bracho Javier. No así con la tabla Materia cuyos atributos materia y UCR no dependen de la clave primaria completa sino solo de código. dependen del atributo C. Alumno C.I. Apellido1 Apellido2 Nombre1 Nombre2 Materia/Planilla Nº Planilla Código Sección Materia Código Materia UCR 20 . por lo tanto estos deben ser separados en una tabla aparte. 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. nombre1. apellido1.. Díaz Wilfredo. nombre2 y fecha. Aplicando la 2FN. nombre1 y nombre2. Quedando de la siguiente manera: Alumno Materia Nº Planilla Nº Planilla Apellido1 Código Apellido2 Materia Nombre1 UCR Nombre2 Sección C. apellido2. apellido2. por lo tanto estos campos se separan en una tabla aparte. NRO. NRO. Aplicando la 3FN.Profesores: Barriento Herminia. Smith Edith. Bracho Damelys.

deberemos repetir en el archivo los datos generales de la factura tantas veces como artículos se vendan dentro de la misma. En el primer caso nos basta con el número de factura para identificar de forma única a cada 21 . Apliquemos las formas normales: 1. en una Base de Datos de una empresa de venta de computadoras. Díaz Wilfredo. 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 por cada factura almacenamos todos los artículos vendidos en la misma tabla o archivo. Smith Edith. ¿Por qué debemos guardar por cada renglón el número o el nombre del cliente. en nuestro ejemplo para el número de factura. 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. Un grupo repetitivo es un dato que puede repetirse en una estructura determinada. 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. Los campos resaltados en negrita en cada una de las tablas constituyen la clave primaria de las mismas. la información sobre la facturación se encuentra almacenada de la siguiente forma: Nro. Bracho Damelys. La 1 FN dice que deben eliminarse los grupos repetitivos. 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. 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. Bracho Javier.Profesores: Barriento Herminia. Gutiérrez Aniger. Zavala Reina EJEMPLO 2:Supongamos que. Entonces los artículos vendidos constituyen un grupo repetitivo que producen redundancia innecesaria sobre los datos que no forman parte de ese grupo repetitivo. 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.

debemos optar por uno de ellos como clave primaria. El resultado de este proceso es el siguiente: Nro. El total de la factura es un campo calculado y la normalización nos dice que no es necesario almacenar campos calculados. Díaz Wilfredo. Ante una situación de este tipo. 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). de producto)? La respuesta es que depende de una parte de la clave primaria y no de toda la clave (depende del Cod. 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. y si tenemos más de un campo con posibilidad de convertirse en clave primaria. Las tablas resultantes (VENTAS e ITEMS DE VENTAS). Bracho Javier. lo más representativo de la información en ella almacenada. 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. de producto). debe estar en 1 FN y además todos los campos de la tabla deben depender totalmente de la clave primaria. o solo de una parte de ella (Cod. Zavala Reina registro. Notemos que dentro de la primera tabla ha sido eliminado el campo total factura. Factura 1 2 Nro. Para que una tabla esté en 2 FN. Gutiérrez Aniger. siendo denominados el o los restantes clave candidata. de producto). se encuentran en 1 FN 3. Podría haber ocurrido que dudáramos acerca del campo que sería la clave primaria de una tabla. 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 . de factura + cod. Por último cabe mencionar que cada tabla debe poseer un nombre. Smith Edith. como sería un código de cliente o el cuit del mismo. En la tabla ITEMS DE VENTAS. la descripción del producto: depende de toda la clave primaria (nro. 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).Profesores: Barriento Herminia. Bracho Damelys. Entonces deberemos colocar ese campo de dependencia parcial más el campo de cual depende en una nueva tabla.

podremos deducir que el campo nombre del cliente no depende directamente de la clave primaria (nro. Si miramos con detenimiento la tabla VENTAS. Bracho Damelys. Díaz Wilfredo. Para que una tabla se encuentre en 3 FN. 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.Profesores: Barriento Herminia. de factura). Así obtenemos: Nro. 3. La clave primaria de la tabla PRODUCTOS es sin duda el código de producto. 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. Gutiérrez Aniger. Factura 1 2 VENTAS Fecha 10/01/01 20/02/01 Código cliente 10 36 Nro. Nuevamente deberemos colocar ese campo en otra tabla adicionándole el campo del cual depende totalmente. 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 . Bracho Javier. sino que depende del código de cliente. Smith Edith. Además. por lo que existe una dependencia transitiva entre el nombre y el número de factura a través del código de cliente.

Bracho Javier. Smith Edith.Profesores: Barriento Herminia. La clave primaria de la tabla CLIENTES es el código de cliente. Bracho Damelys. Gutiérrez Aniger. Zavala Reina Las tablas obtenidas están en 3 FN. Además. dicho campo es clave foránea en la tabla VENTAS (por ser clave primaria en la tabla CLIENTES). Díaz Wilfredo. 24 .