1. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
1
UNIVERSIDAD NACIONAL EXPERIMENTAL
"FRANCISCO DE MIRANDA"
COMPLEJO ACADEMICO “ EL SABINO”
DEPARTAMENTO DE GERENCIA
PROGRAMACION DIGITAL
UNIDAD 2
BASE DE DATOS RELACIONALES
CONTENIDO:
BASES DE DATOS
DEFINICION
OBJETIVOS
CARACTERISTICAS. DESVENTAJAS
SISTEMA MANEJADOR DE BASES DE DATOS
MODELOS
BASE DE DATOS RELACIONAL. CARACTERISTICAS
MODELO ENTIDAD-RELACION
DEFINICION
ELEMENTOS
DIAGRAMA ENTIDAD-RELACION
SIMBOLOGIA
TIPOS DE RELACIONES
MODELO RELACIONAL
PASOS DEL MODELO ENTIDAD RELACIÓN AL MODELO RELACIONAL
NORMALIZACION
DEFINICION
CONCEPTOS BASICOS
FORMAS NORMALES
2. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
2
BASES DE DATOS
DEFINICION
Una Base de Datos puede definirse como una lista de información organizada; que posee
un aspecto o finalidad común. 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.
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: Los datos se encuentran todos en un solo lugar.
Mínima redundancia de datos: En los sistemas de archivos convencionales, dado que
cada aplicación tiene sus propios archivos privados, es común que un mismo dato, se
encuentre repetido e diferentes archivos. En un ambiente de Base de Datos, las
redundancias de ese tipo pueden minimizarse.
Consistencia de los Datos: Si bien lo ideal es que no exista ningún tipo de
redundancia, algunas veces no es posible, sin embargo la tecnología de base de datos
brinda facilidades para evitar que los datos redundantes sean inconsistentes, es decir, que
aparezcan el mismo valor en todos los registros que se presentan redundancia.
Integridad de los datos: El manejador de Base de datos facilita la integridad de los
datos de Internet evitando su destrucción accidental o intencional, impidiendo además que
sea alterado pro personas no autorizadas.
Minimización de las redundancias: Independencia de los datos y las aplicaciones:
Acceso concurrente a los datos: La información de una Base de Datos es compartida
por diversos usuarios, aún cuando existen requerimientos diferentes o conflictivos.
Versatilidad para la representación de las relaciones: La tecnología de base de datos
busca independizar las aplicaciones de tal forma que pueda modificarse una base de
datos (para incluir nuevos datos y registro), sin tener que modificar los programas de
aplicación que utilizan la base de datos.
Establecimiento de medidas de seguridad: La seguridades que ofrece el manejador
de Base de Datos permite aplicar restricciones de seguridad para tener acceso a la
información con el fin de proteger su confiabilidad.
Base de
datos
3. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
3
DESVENTAJAS DEL USO DE LA BASE DE DATOS
Los datos son almacenados en un solo lugar. Por lo tanto los datos son más
vulnerables y requiere respaldos completos ya que se podría producir perdida total
de datos.
Hay riesgo que el administrador de la Base de Datos llegue a ser el único
privilegiado con capacidad suficiente para acercarse a los datos.
Los costos de almacenamiento de los datos son altos
SISTEMA MANEJADOR DE BASES DE DATOS (SMBD)
Son programas de Software para la administración de la Base de Datos que permiten la
creación, modificación y actualización de la base de Datos, la recuperación de datos y la
generación de reportes. Ejemplo: Microsoft Access
Permite la creación, modificación y actualización de la Base de Datos, la recuperación de
datos y la generación de reportes.
Proporciona flexibilidad en el almacenamiento y recuperación de datos y producción de la
información.
Es un puente entre el programa de aplicación y el Sistema Operativo.
MODELOS DE BASE DE DATOS
– Un modelo es una representación de la realidad.
– Un modelo de datos es una colección de herramientas conceptuales que se emplean
para especificar datos, las relaciones entre ellos, su semántica asociada y las
restricciones de integridad.
Modelo Jerárquico. Este modelo se sirve de árboles para la representación lógica de
los datos. Un árbol esta compuesto por una jerarquía de elementos llamados nodos. El
nivel más alto de la jerarquía tiene un solo nodo que se llama raíz. Cada nodo representa
un tipo de registro llamado segmento con sus correspondientes campos.
Modelo Red. Utiliza estructura de datos en red. Las entidades se representan como
nodos, y las relaciones como líneas que unen a los nodos. En una estructura de red
cualquier componente puede vincularse con cualquier otro. Es posible describirla en
términos de padres e hijos, pero, a diferencia del modelo jerárquico, un hijo puede tener
varios padres.
Modelo Relacional. En este modelo cada ente del mundo real se almacena en un lugar
diferente y posteriormente se establecen relaciones entre dichos entes.
4. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
4
BASE DE DATOS RELACIONALES
Es aquella cuyos usuarios la perciben como un conjunto de tablas. Están formadas por
tablas que contienen información de una forma organizada y que están vinculadas entre
sí.
Una tabla es una estructura bidimensional constituida por filas (Tuplas o Registro) y
columnas (atributos) en las cuales se almacena Información.
Estructura General de una Base de Datos Relacional
Cédula Nombre Apellido Edad País
19.455.555 María Pérez 22 Venezuela
15.555.555 José Puerta 21 México
12.555.333 Pedro González 1 Chile
CARACTERISTICAS DE UNA BASE DE DATOS RELACIONAL
Una Base de datos relacional tiene el aspecto de un conjunto de tablas.
Las Tablas tienen un número concreto de columnas y un número arbitrario de filas
Las columnas de las tablas se denominan atributos (características o propiedades
de la entidad). Ejemplo: cédula, nombre, apellido, edad país; todas estas
características constituyen los atributos de la entidad.
Cada atributo debe tener un dominio (valores que los datos pueden tomar).
Ejemplo: Venezuela, México, Chile; es el domino del atributo país
Un domino es un conjunto de valores válidos.
Las filas se denominan Tuplas.
En la intersección de cada fila y columna se almacena un valor simple.
Venezuela
México
Chile
DOMINIO CAMPO
PAIS
CLAVE
PRIMARIA COLUMNAS
Atributos
FILAS
(Registros
o Tuplas)
5. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
5
MODELO ENTIDAD RELACIÓN. (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.
Se supone que en una etapa posterior, los diagramas entidad-relación son llevados a otros
modelos, ya sea de forma manual o automáticamente.
Dentro del modelo entidad relación se tienen:
Entidad: Es un objeto que existe y es distinguible de otros objetos. Puede ser concreta
como una persona o un libro o abstracta como un concepto. En otras palabras, es un
objeto del mundo real que tiene existencia por sí mismo y se puede identificar de
manera clara y precisa.
Hay que distinguir entre la entidad en sentido abstracto o genérico (Empleado) que se
refiere a un conjunto de elementos con características comunes, y las ocurrencias
realizaciones o instancias (Pedro, Luís, José, Alberto)
Atributos: definen cada una de las propiedades o características propias de una
entidad o de una relación, común para todas las ocurrencias del mismo tipo
Relación: Una relación es una asociación entre varias entidades. Puede haber más de
un vínculo entre dos entidades. Generalmente se establece entre dos entidades
(relación binaria). Una relación también puede tener atributos de relación, o atributos
descriptivos, los cuales representan características propias de la asociación entre
varias entidades.
Clave de Entidad: Atributo o conjunto de atributos que identifican de forma única cada
entidad.
Esta técnica que permite representar gráficamente el comportamiento de una base de
datos. Existen otras técnicas pero esta es una de las más utilizadas. Integra los siguientes
componentes:
Simbología utilizada en el Diagrama Entidad / Relación
DESCRIPCIÓN SÍMBOLO EJEMPLO
Rectángulos: representan conjuntos de
Entidades.
Consideraciones
Se deben elegir nombres que comuniquen
hasta donde sea posible el significado de
la entidad
Normalmente se utilizan nombres en
singular.
Entidad
CLIENTE
6. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
6
Elipses: Representan atributos Atributo
Líneas: Conectan los atributos a los
conjuntos de entidades, y los conjuntos
de relaciones
Conexión
Rombos: representan conjuntos de
relaciones
Relación
El modelo entidad-relación es una técnica para el modelado de datos utilizando
diagramas entidad relación. No es la única técnica pero sí la más utilizada. Además de
entidades y relaciones; el modelo entidad-relación representa ciertas restricciones a las
que deben ajustarse los contenidos de una Base de Datos. Una restricción importante es
la cardinalidad de asignación; que expresa el número de entidades con las que puede
asociarse otra entidad mediante un conjunto de relación.
Brevemente consiste en los siguientes pasos:
1. Se parte de una descripción textual del problema o sistema de información a
automatizar (los requisitos).
2. Se hace una lista de los sustantivos y verbos que aparecen.
3. Los sustantivos son posibles entidades o atributos.
4. Los verbos son posibles relaciones.
5. Analizando las frases se determina la cardinalidad de las relaciones y otros detalles.
6. Se elabora el diagrama entidad-relación.
7. Se completa el modelo con listas de atributos.
Tipos de relaciones: Modelo Entidad Relación
RELACIÓN SÍMBOLOGÍA
Relación uno a uno (1:1, 1/1): Se presenta
cuando existe una relación como su
nombre lo indica uno a uno, denominado
también relación de matrimonio. Una
entidad del tipo A solo se puede relacionar
con un registro de la entidad del tipo B, y
viceversa.
Relación uno a Muchos (1:n, 1/∞):
Significa que una entidad del tipo A puede
relacionarse con cualquier cantidad de
registros de la entidad B, y una entidad del
tipo B solo puede estar relacionada con un
registro de la entidad del tipo A.
Nombre
asigna
cliente Producto
Nombre CI
cliente
apellido
A B
A B
7. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
7
Relación Muchos a Muchos (n:n, ∞/∞):
Establece que cualquier cantidad de
registros de la entidad A pueden estar
relacionados con cualquier cantidad de
registros de la entidad B y viceversa.
La cardinalidad nos especifica los tipos de relaciones que existen entre las entidades en el
modelo E-R y establecer con esto las validaciones necesarias para conseguir que los
datos de la instancia (valor único en un momento dado de una base de datos)
correspondan con la realidad.
NOTA: Cabe mencionar que la cardinalidad para cada conjunto de entidades depende
del punto de vista que se le de al modelo en estudio, claro esta, sujetándose a la realidad.
EJEMPLOS DE LOS DISTINTOS TIPOS DE RELACIONES
Relación Uno a Uno
Diseñar el modelo E-R, 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- Modelo,
Placas, Color - Tarjeta de circulación -Propietario, No_serie, Tipo.
En este ejemplo existe una relación de pertenencia de uno a uno, ya que existe una tarjeta
de circulación registrada por cada automóvil.
Relación Uno a muchos.
El siguiente ejemplo indica que un cliente puede tener muchas cuentas, pero que una
cuenta puede llegar a pertenecer a un solo cliente (Se indica que puede, ya que existen
cuentas registradas a favor de más de una persona “En este caso”).
Relación Muchos a Muchos
Un estudiante puede cursar muchas materias, y una materia puede ser cursada por
muchos estudiantes
Propietario No Serie
Tarjeta de
Circulación
Tipo
Modelo Placa
Automóvil
Color
Registra
TipoCuenta No Cta
Cuenta
Saldo
Nombre CI
Cliente
Dirección
Apertura
A B
Materia Cod Mate
Materia
UC
Nombre CI
Estudiante
Dirección
cursa
8. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
8
EJERCICIOS RESUELTOS DE MODELO ENTIDAD RELACIÓN
1.- “Una empresa vende productos a varios clientes. Se necesita conocer los datos
personales de los clientes (nombre, apellidos, dni, dirección y fecha de nacimiento). Cada
producto tiene un nombre y un código, así como un precio unitario. Un cliente puede
comprar varios productos a la empresa, y un mismo producto puede ser comprado por
varios clientes.
Los productos son suministrados por diferentes proveedores. Se debe tener en cuenta que
un producto sólo puede ser suministrado por un proveedor, y que un proveedor puede
suministrar diferentes productos. De cada proveedor se desea conocer el NIF, nombre y
dirección”.
Proveedor
Producto
Cliente compra
Nombre
Apellido CI
Dirección
Fecha
Nac
Nombre Código
Precio
RIF Nombre Dirección
lleva
9. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
9
2.- “Se desea informatizar la gestión de una empresa de transportes que reparte paquetes
por toda Venezuela. Los encargados de llevar los paquetes son los camioneros, de los
que se quiere guardar el dni, nombre, teléfono, dirección, salario y población en la que
vive. De los paquetes transportados interesa conocer el código de paquete, descripción,
destinatario y dirección del destinatario. Un camionero distribuye muchos paquetes, y un
paquete sólo puede ser distribuido por un camionero.
De las provincias a las que llegan los paquetes interesa guardar el código de provincia y el
nombre. Un paquete sólo puede llegar a una provincia. Sin embargo, a una provincia
pueden llegar varios paquetes.
De los camiones que llevan los camioneros, interesa conocer la matrícula, modelo, tipo y
potencia. Un camionero puede conducir diferentes camiones, y un camión puede ser
conducido por varios camioneros”.
Paquete
Camión
Camionero conduce
Nombre
Teléfono DNI
Dirección
Salario
Modelo Matricula
Tipo
Código
Descripción Destinatario Dirección del
destinatario
llevan
Provincia
código Nombre
compra
Población
Potencia
10. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
10
3.- Se desea la base de datos de un instituto. En la base de datos se desea guardar los
datos de los profesores del instituto (DNI, nombre, dirección, teléfono). Los profesores
imparten módulos y cada modulo tiene un código y un nombre. Cada alumno está
matriculado en uno o varios módulos. De cada alumno se desea guardar el nro. de
expediente, nombre, apellido y fecha de nacimiento. Los profesores pueden impartir varios
módulos pero un modulo solo puede ser impartido por un profesor. Cada curso tiene un
grupo de alumno, uno de los cuales es el delegado del grupo.
PROFESOR
CURSOS
CI
nombre dirección
teléfono
Imparte
Cod_modul
o
Nombre
ALUMNO
Nroexpe
nombre apellidos
Fecha _nac
está
11. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
11
4.- 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.
De cada uno de los proyectos realizados interesa almacenar el código, descripción,
cuantía del proyecto, fecha de inicio y fecha de fin. Los proyectos son realizados por
clientes de los que se desea guardar el código, teléfono, domicilio y razón social. Un
cliente puede realizar varios proyectos, pero un solo proyecto es realizado por un único
cliente.
En los proyectos participan colaboradores de los que se dispone la siguiente información:
nit, nombre domicilio, teléfono, banco y número de cuenta. Un colaborador puede
participar en varios proyectos. Los proyectos son realizados por uno o más colaboradores.
Los colaboradores de los proyectos reciben pagos. De los pagos realizados se requiere
guardar el número de pago, concepto, cantidad y fecha de pago. También interesa
almacenar los diferentes tipos de pago que puede realizar la empresa. De cada uno de los
tipo de pagos se desea guardar el código y descripción. Un tipo de pago pude pertenecer
a varios pagos.
CLIENTE
Código Teléfono Domicilio
Razon Soc
COLABORADOR
Nro Cuenta
Nombre Domicilio
Teléfono
Banco
Nit
PAGO
Reciben
PROYECTO
Código Descripción Cuantía
Fecha Ini
Fecha Fin
Puede
Realizar
Participa
TIPO DE PAGO
Código Descripción
Pertenece
Nro pago
Fecha
Concepto
Cantidad
12. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
12
5. La Clínica “San Antonio”, necesita llevar un control informatizado de su gestión de
pacientes y médicos.
De cada paciente se desea guardar el código, nombre, apellidos, dirección, población,
provincia, código postal, teléfono, fecha de nacimiento.
De cada médico se desea guardar el código, nombre, apellido, teléfono y especialidad. Se
desea llevar el control de cada uno de los ingresos que el paciente hace en el hospital.
Cada ingreso que realiza el paciente queda registrado en la base de datos. De cada
ingreso se guarda el código de ingreso (que se incrementa automáticamente cada vez que
el paciente realice un ingreso), el número de habitación y cama en el que el paciente
realiza el ingreso y la fecha de ingreso.
Un médico puede atender varios ingresos, pero el ingreso del paciente solo puede ser
atendido por un único médico. Un paciente puede realizar varios ingresos al hospital
Realiza
Nombre
IDMedi
MEDICO
Especialidad
Apellido
Teléfono
INGRESO
CodigoIngreso
FechaIngreso
NroCama
NumHab
atiende
DIAGNOSTICO
Nombre
Código
Descripc.
Evolución
Tiene/
pertenece
PACIENTE
Fecha_N
Telefono
apellido
CodigoPa
nombre
Direccion
13. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
13
6. Una agencia de viajes desea informatizar toda la gestión de los viajeros que acuden a la
agencia y los viajes que estos realizan. Tras ponernos en contacto con la agencia, ésta
nos proporciona la siguiente información.
“La agencia desea guardar la siguiente información de los viajeros: dni, nombre, dirección
y teléfono. De cada uno de los viajes que maneja la agencia interesa guardar el código de
viaje, número de plazas, fecha en la que se realiza el viaje y otros datos. Un viajero puede
realizar tantos viajes como desee con la agencia. Un viaje determinado sólo puede ser
cubierto por un viajero.
Cada viaje realizado tiene un destino y un lugar de origen. De cada uno de ellos se quiere
almacenar el código, nombre y otros datos que puedan ser de interés. Un viaje tiene un
único lugar de destino y un único lugar de origen”.
VIAJE
Fecha
Num_plaza
Cod_origen
COD_VIAJE
VIAJERO
Nombre
DNI
Dirección
Teléfono
DESTINO
Nombre
Realiza
Tiene
Cod_destino
COD_DESTINO
ORIGEN
COD_ORIGEN
Nombre Hora_Salida
Hora_llegada
Duración
Num_pasajero
Tiene
14. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
14
EJERCICIOS PROPUESTOS
1) “A un concesionario de autos llegan clientes para comprar automóviles. De cada auto
interesa saber la matrícula, modelo, marca y color. Un cliente puede comprar varios autos
en el concesionario. Cuando un cliente compra un auto, se le hace una ficha en el
concesionario con la siguiente información: dni, nombre, apellidos, dirección y teléfono.
Los autos que el concesionario vende pueden ser nuevos o usados. De los autos nuevos
interesa saber el número de unidades que hay en el concesionario. De los autos viejos
interesa el número de kilómetros que lleva recorridos.
El concesionario también dispone de un taller en el que los mecánicos reparan los autos
que llevan los clientes. Un mecánico repara varios autos a lo largo del día, y un auto
puede ser reparado por varios mecánicos. Los mecánicos tienen un dni, nombre,
apellidos, fecha de contratación y salario.
2) “Una empresa necesita organizar la siguiente información referente a su organización
interna.
La empresa está organizada en una serie de departamentos. Cada departamento tiene un
código, nombre y presupuesto anual. Cada departamento está ubicado en un centro de
trabajo. La información que se desea guardar del centro de trabajo es el código de centro,
nombre, población y dirección del centro.
La empresa tiene una serie de empleados. Cada empleado tiene un teléfono, fecha de alta
en la empresa, RIF y nombre. De cada empleado también interesa saber el número de
hijos que tiene y el salario de cada empleado.
A esta empresa también le interesa tener guardada información sobre los hijos de los
empleados. Cada hijo de un empleado tendrá un código, nombre y fecha de nacimiento.
Se desea mantener también información sobre las habilidades de los empleados (por
ejemplo, mercadotecnia, trato con el cliente, fresador, operador de telefonía, etc…). Cada
habilidad tendrá una descripción y un código”.
Sobre este supuesto diseñar el modelo E/R y el modelo relacional teniendo en cuenta los
siguientes aspectos.
Un empleado está asignado a un único departamento. Un departamento estará
compuesto por uno o más empleados.
Cada departamento se ubica en un único centro de trabajo. Estos se componen de
uno o más departamentos.
Un empleado puede tener varios hijos.
15. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
15
Un empleado puede tener varias habilidades, y una misma habilidad puede ser
poseída por empleados diferentes.
Un centro de trabajo es dirigido por un empleado. Un mismo empleado puede dirigir
centros de trabajo distintos.
3) “Una empresa vende productos a varios clientes. Se necesita conocer los datos
personales de los clientes (nombre, apellidos, dni, dirección y fecha de nacimiento). Cada
producto tiene un nombre y un código, así como un precio unitario. Un cliente puede
comprar varios productos a la empresa, y un mismo producto puede ser comprado por
varios clientes.
Los productos son suministrados por diferentes proveedores. Se debe tener en cuenta que
un producto sólo puede ser suministrado por un proveedor, y que un proveedor puede
suministrar diferentes productos. De cada proveedor se desea conocer el NIF, nombre y
dirección”.
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. De cada
profesor y cada alumno se desea recoger el nombre, apellidos, dirección, población, dni,
fecha de nacimiento, código postal y teléfono.
Los alumnos se matriculan en una o más asignaturas, y de ellas se desea almacenar el
código de asignatura, nombre y número de horas que se imparten a la semana. Un
profesor del centro puede impartir varias asignaturas, pero una asignatura sólo es
impartida por un único profesor. De cada una de las asignaturas se desea almacenar
también la nota que saca el alumno y las incidencias que puedan darse con él.
Además, 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. En un curso se imparten
varias asignaturas, y una asignatura sólo puede ser impartida en un único curso.
Las asignaturas se imparten en diferentes aulas del centro. De cada aula se quiere
almacenar el código, piso del centro en el que se encuentra y número de pupitres de que
dispone. Una asignatura se puede dar en diferentes aulas, y en un aula se pueden impartir
varias asignaturas. Se desea llevar un registro de las asignaturas que se imparten en cada
aula. Para ello se anotará el mes, día y hora en el que se imparten cada una de las
asignaturas en las distintas aulas.
La dirección del centro también designa a varios profesores como tutores en cada uno de
los cursos. Un profesor es tutor tan sólo de un curso. Un curso tiene un único tutor. Se
habrá de tener en cuenta que puede que haya profesores que no sean tutores de ningún
curso”.
16. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
16
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. Cada relación tiene un número fijo de
columnas o atributos (esquema o intensión) y un número variable de filas.
Una BD relacional está compuesta por varias tablas o relaciones
PASOS DEL MODELO ENTIDAD RELACIÓN AL MODELO RELACIONAL
1. Por cada entidad, definir una tabla cuyo nombre es el mismo que el nombre de la
entidad y cuyas columnas corresponden a los atributos de la entidad.
2. Por cada relación uno a muchos, agregar a la tabla del lado muchos una llave
foránea, correspondiente a la llave primaria de la entidad uno.
3. la llave primaria de cada tabla correspondiente a una entidad es la llave primaria
(interno o externo) de la entidad.
4. Por cada relación uno a uno en la cual las llaves primarias de las entidades
relacionadas son diferentes, agregar a la tabla correspondiente a una de las
entidades una llave foránea asociada con la llave primaria de la otra entidad.
5. Por cada relación muchos a muchos definir una tabla adicional, cuyas columnas
corresponden a las llaves primarias k1 y k2 de cada entidad, y además los atributos
de la relación, si existen. La llave primaria de la nueva tabla es la suma de las dos
llaves primarias <k1,k2>
REGLAS DE INTEGRIDAD
Son restricciones que definen los estados de consistencia de la base de datos.
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. Esta definición determina que para un
valor llave primaria sólo existirá una fila o registro en la tabla. Esta a situación
garantiza que no tendrá información repetida o discordante.
Llave Foránea: Es un atributo de una tabla que hace referencia a una llave primaria
de otra tabla; esto origina que una relación pueda tener varias llaves foráneas.
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.
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, por lo tanto
impide ingresar valores en algunos atributos de filas que no tengan su
correspondencia en la tabla relacionada. Ejemplo:
- Impedir facturar a un cliente que no este previamente creado en la tabla
cliente
- Impedir borrar de la lista de cliente un registro cuyo código está incluido en la
relación de cuentas por obrar.
17. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
17
EJERCICIO 1
Se desea mantener información actualizada en una base de datos para lo cual se cuenta
con la siguiente información:
1. Se sabe que una editorial puede publicar varios libros, teniendo la exclusividad de la
publicación. De la editorial se tiene RIF, Nombre, dirección, ciudad, nombre de la
persona Contacto, número de Teléfono, Número de Fax y correo
2. Por cada autor se desea conocer qué libros escribió así como sus datos personales.
Un autor puede escribir varios Libros, pero un libro sólo está escrito por un autor.
3. Las librerías tienen muchos libros.
4. Las librerías tiene un nombre único, dirección, un encargado, número de teléfono y
número de Fax.
5. De cada libro se tiene Título, Autor, año de publicación, precio, y el ISBN (Número de
Identificación Estándar) el cual es único.
Diseñar el diagrama de Entidad-Relación (E-R) para el enunciado anterior.
Solución:
1. Realizar una lectura de la descripción del problema.
2. Busquemos en la descripción anterior los sustantivos presentes para identificar
los objetos reales o Abstractos candidatos a Entidad:
CANDIDATOS A ENTIDAD
editorial publicación librería
libro autor ventas
3. De las candidatas a entidades busquemos los atributos de cada uno
ENTIDAD POTENCIAL
EDITORIAL (RIF, Nombre, dirección, ciudad, PerContacto, númTeléf, NúmFax, e-mail)
LIBRO (Título, Autor, añopublic, precio, ISBN )
AUTOR ( Nombre. Apellido, CI, dirección, telefono, fecha Nac)
LIBRERÍA (nombreLibro, direc, encargado, númteléf, númFax )
4. Busquemos las llaves primarias de Cada Entidad potencial
EDITORIAL (RIF, NomEdit, dirección, ciudad, PerContacto, númTeléf, NúmFax, e-mail)
LIBRO (Título, Autor, añopublic, precio, ISBN )
AUTOR ( Nombre. Apellido, CI, dirección, telefono, fecha Nac)
LIBRERÍA (nomLibrería, direc, encargado, númteléf, númFax )
18. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
18
5. Construyamos el Modelo Entidad-Relación inicial
6. Conversión del Modelo Entidad Relación al Modelo Relacional.
LIBRERÍA
RIF
Direc
nombre
Númteléf
númFax
EDITORIAL
RIF
NomEdit
Dirección
Ciudad
Precontacto
NúmTeléf
NúmFax
e-mail
AUTOR
Nombre
Apellido
CI
Dirección
Telefono
fecha Nac
LIBRO
ISBN
Título
Autor
Precio
Año_public
RIF
CI
LIBRERÍA/LIBRO
RIF
ISBN
Cant_Libro
1
∞
∞
∞
∞
1
1
1
Escribir
Nombre CI
AUTOR
Dirección
Apellido
Teléfono
FechaNac
Tener
LIBRERÍA
RIF NumTelef
NumFaxf
NomLibrería
Direc
Cant_Libro
Título ISBN
LIBRO
AñoPublic
Precio
NomEdit RIF
EDITORIAL
NumTelef
NumFaxf
E-Mail
PerContacto
Direccion
publicar
Autor
19. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
19
EJERCICIO 2. REPORTE DE VENTA.
Num_vendedor:____________
Nombre:__________________ Fecha:_______
Área de Venta:____________________________
Número de Cliente Nombre del Cliente Número de
Bodega
Ubicación de
Bodega
Venta
0001 Pedro Álvarez 1 Falcón 3.048.478,00
0002 Miguel Ávila 1 Falcón 2.159.682,00
0003 Martha Cisneros 1 Falcón 456.892,85
1. Hagamos un listado de todos los elementos presentes en el Documento
Reporte de Venta:
o Númerodevendedor
o Nombre
o Área de venta
o Número de cliente
o Nombre de Cliente
o Número de bodega
o Ubicación de Bodega
o Venta ( monto)
o Fecha
2. Una vez indicado los elementos, demos inicio a nuestro análisis detectando las
posibles Entidades (objetos reales o abstractos presentes). Para cada objeto
señalemos las características o atributos presentes en el documento listados en
el paso anterior.
ENTIDADES POTENCIALES CANDIDATAS A ENTIDAD
VENDEDOR VENDEDOR(número, nombre, área de venta )
CLIENTE CLIENTE (Número de cliente, Nombre de Cliente, venta)
BODEGA BODEGA (Número de bodega, Ubicación)
VENTA VENTA ( Monto, fecha)
3. Busquemos las posibles Llaves primarias. Siga las siguientes consideraciones:
a. Para cada Entidad Potencial busquemos en los atributos presentes, aquel o aquellos
que permiten identificarlo de manera única.
b. Si alguna entidad no tiene un atributo o combinación de atributos que los identifique
de manera única proceda a incluir una llave primaria.
c. Puede completar información a las entidades, recuerde que debe ser coherente, aún
cuando no se necesite para este formulario en particular forma parte de la definición
de una entidad en particular.
CANDIDATAS A ENTIDAD
VENDEDOR (número vendedor, Nombre, área de venta )
CLIENTE (Número de Cliente, Nombre de Cliente)
BODEGA (Número de Bodega, Ubicación)
VENTA ( Número de cliente, numero de vendedor, Fecha, monto) Debido a que el monto de esa
venta la paga el cliente pero la realiza el vendedor, debe estar asociado el monto de la venta al vendedor y
20. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
20
el cliente. Igualmente usted puede pensar que un cliente puede realizar muchas compras y ser atendido
por el mismo vendedor, entonces esa clave no se única, por lo tanto se toma la fecha como parte de la
clave, para asumir que es el monto de ese cliente en esa fecha realizada por el vendedor. ( El cliente solo
asiste una vez al día a la tienda)
Para las entidades previas verifiquemos cada una:
a. En la entidad VENDEDOR consideramos la llave primaría Número de Vendedor,
adicionalmente puede incluir otros atributos en este caso incluimos: cédula, apellido,
dirección, teléfono…, es de hacer nota que el campo cédula también podría servir
como clave principal, pero como en el formato original no aparece de principio se
decide tomar el Número de vendedor; atendiendo de esta forma las reglas del
negocio que siempre marcan las pautas a seguir.
b. En la entidad CLIENTE, consideramos como llave primaria Número de cliente,
adicionalmente puede incluir otros atributos en este caso incluimos: cédula, nombre,
apellido, dirección, teléfono…, del cliente, al igual que en el análisis previo puede
considerarse al campo cédula como clave principal, ahora bien considerando que el
formato original incluye el Número de cliente, este es tomado como clave principal.
c. En la entidad BODEGA, la llave primaria es Número de Bodega
d. En la entidad VENTA, la llave primaria podría agregarse un nuevo campo que
represente una clave única, pero vale la pena destacar que combinando atributos
presentes en el formato puede identificarse de manera única un registro determinado,
los atributos considerados son: numero de cliente, número de vendedor y fecha.
4. Construyamos el Modelo Entidad-Relación
o Es recomendable ubicar siempre la entidad asociada al documento manejado en el
centro, pues todos los objetos están vinculados al mismo.
o Cuidar la ubicación de las entidades evitando en lo posible los cruces de líneas.
o Recuerde que en este modelo se considera lo que define a la entidad como tal
o Muestre las entidades en singular con letras mayúsculas, los atributos en letras
minúsculas y las llaves primarias subrayadas
21. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
21
5. Construyamos el Modelo Relacional
BODEGA
Número de Bodega
Ubicación
CLIENTE
Número de Cliente
Número de Bodega
Cédula del Cliente
Nombre del Cliente
Apellido del Cliente
Dirección
Teléfono VENTA
Número de Cliente
Número de Vendedor
Fecha
Monto
VENDEDOR
Número de Vendedor
Cédula del Vendedor
Nombre del Vendedor
Apellido del vendedor
Dirección del vendedor
Área de Venta
Teléfono
CLIENTE
Nro
Cliente
Cédula
Cliente
Nombre
Cliente
VENDEDOR
Nro Vendedor
Dirección
Área de
venta
Nombre
Cédula
BODEGA
Nro Bodega Ubicación
Pueden
ir
Apellido
Cliente
Dirección
Teléfono
Teléfono
VENTA
Monto
Número
Cliente
Número
vendedor
Puede
Hacer
Se le
Realiza
Fecha
1
1
1
∞
∞
∞
22. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
22
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. Es una estrategia de
diseño de abajo hacia arriba, se parte de los atributos y estos se van agrupando en
relaciones (Tablas) según su afinidad.
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.
Para que Normalizar?
Para diseñar base de datos sin redundancia, flexibles, adaptables y fáciles de
mantener.
Para proteger la integridad de los datos.
Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de
consultas y reportes.
Para aplicar algunos procesos de normalización es conveniente conocer algunos
conceptos.
a.- Clave
Se define de la siguiente forma: dada una relación R, un atributo X de R, es una clave si
un conjunto de valores identifica unívocamente cada una de las tuplas de esa relación.
Ejemplo: En la tabla 1 (MATERIA), el atributo Código _ materia identifica en forma única
cada una de las tuplas, similarmente en la tabla 2 (SALON) el atributo número _ salón
identifica cada una de las tuplas de la relación.
Materia (Tabla 1)
Codigo_Materia Nombre_Materia Tipo_Materia Cantidad_Hora Número_Credito
M401 Física Obligatoria 4 3
M502 Matemática V Obligatoria 6 4
Salón (Tabla2)
Número_salón Número_Edificio Número_Piso Cantidad_Asiento Tipo_Recurso
1 F 1 40 Pizarra
5 H 1 50 Pizarra
23. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
23
b.- Dependencia Funcional
Se define de la siguiente manera:
Dada una relación R, un atributo Y de R es funcionalmente dependiente de un atributo X
de R sí y sólo si cada valor del atributo X en R tiene asociado un solo valor del atributo Y
de R.
Ejemplo: en la relación profesor (tabla 3) los atributos: Nombre_profesor,
Fecha_Nacimiento, Fecha_Ingreso, Nivel_Instrucción, Escalafón, son funcionalmente
dependiente del atributo Cédula _profesor, porque dado un valor particular de
Cédula_profesor, existe uno y sólo un valor para cada uno de los atributos ya
mencionados.
Profesor (tabla 3)
Cédula_Profesor Nombre_Profesor Fecha_Nacimiento Fecha_Ingreso Nivel
Instrucción
Escalafón
5.478.365 Javier Pérez 30-05-1980 01-10-2005 Universitario Instructor
12.459.325 María López 08-12-1982 12-10-2005 Universitario Instructor
Por otro lado en la tabla 4, estudiante existe dependencia funcional entre los atributos
nombre, año_ingreso, cantidad_credito, cantidad_materias, promedio, y el atributo
cedula_estudiante, pero no existe ninguna entre los atributos año_ingreso,
cantidad_ingreso, cantidad_materias, promedio y el atributo nombre, porque no podemos
garantizar que todos los valores del dominio del atributo nombre tengan valores distintos,
puede haber dos estudiantes que coincidencialmente tengan nombres y apellidos iguales.
Estudiante (tabla 4)
Cédula_Estudiante Nombre Año_Ingreso Cantidad_Credito Cantidad_Materia Promedio
M401 Javier Pérez 2004 14 4 15.25
M502 Ana Mártinez 2001 16 6 12.36
La dependencia funcional existe únicamente cuando los atributos involucrados tienen
representaciones singulares.
24. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
24
FORMAS NORMALES. PASOS PARA NORMALIZAR.
Primera Forma Normal. (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), es decir,
cuando está formada por una estructura plana, en la que no existen grupos repetitivos, en
la que cada dato toma un solo valor.
Se alcanza cuando:
Se eliminan todos los grupos repetidos, y se colocan en una tabla aparte.
Se eliminan todos los campos que pueden ser generados a partir de otros (
campos calculados)
Todos los atributos son atómicos, es decir, no se pueden seguir dividiéndose
Se identifican las claves primarias. La clave primaria de los grupos repetidos estará
formada por la clave principal de la relación original y la clave del grupo.
Ejemplo: Supongamos que deseamos realizar una tabla para guardar las materias que
están realizando los alumnos de un determinado centro de estudios, podríamos considerar
el siguiente diseño:
Código Nombre Materia
001 Ana Inglés
002 Jose Contabilidad, Informática
003 Marcos Inglés, Contabilidad
Se puede observar que el registro de código 001 si cumplen con la primera forma normal,
cada atributo del registro contiene un único dato, pero no ocurre así con el registro 002 y
003, el atributo Materia contiene más de un dato cada uno. La solución en este caso es
crear dos tablas del siguiente modo:
ALUMNO MATERIA
Código Nombre Código CodigoMateria NombreMateria
001 Ana 001 M01 Inglés
002 Jose 002 M02 Contabilidad,
003 Marcos 002 M03 Informática
003 M01 Inglés
003 M02 Contabilidad
Como se puede comprobar ahora todos los registros de ambas tablas contienen
valores únicos en sus atributos, es decir se eliminaron todos los grupos repetidos, y se
ubicaron en una tabla aparte. En este ejemplo en particular no existen campos que
25. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
25
pueden ser generados a partir de otros (campos calculados). Así mismo se observa
que los atributos son atómicos, es decir, no se pueden seguir dividiéndose. Finalmente
cada tabla cuenta con su clave primaria. En el caso de la tabla ALUMNO La llave
primaria es código, y en la tabla MATERIA la clave estará formada por la clave
principal de la tabla original y la clave del grupo., es decir, Código y CódigoMateria.
Dando de esta manera una identificación única.
De lo anterior se desprende que está en primera forma normal.
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.
Consiste en 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. Es necesario que el modelo de datos esté previamente en 1FN
Ejemplo: Continuando con el ejemplo anterior:
ALUMNO MATERIA
Código Nombre Código CodigoMateria NombreMateria
001 Ana 001 M01 Inglés
002 José 002 M02 Contabilidad,
003 Marcos 002 M03 Informática
003 M01 Inglés
003 M02 Contabilidad
Tomamos como punto de partida que la clave está formada por los atributos Código y
CódigoMateria, podemos decir que la tabla se encuentra en primera forma normal,
procederemos a estudiar la segunda forma normal:
o El atributo NombreMateria no depende funcionalmente de toda la clave, sólo del
CódigoMateria.
Al no depender todos los atributos de la totalidad de la Llave primaria no está en Segunda
Forma Normal 2FN. Para solucionar consideremos lo siguiente:
o Debemos remover los atributos que dependen sólo de una parte de la clave a una
nueva entidad, en el caso que nos compete el nombre de la Materia sólo depende
de una parte de la llave primaria, es decir, del CódigoMateria.
o Esta nueva entidad debe asignársele una llave primaria y un nombre.
26. Profesoras:
Bracho Damelys, Delgado Dubraska, Medina Rayflor, Smith Edith
26
Tomando en cuenta los aspectos previos la solución sería la siguiente:
ALUMNO ALUMNO/MATERIA MATERIA
Código Nombre Código CodigoMateria CodigoMateria NombreMateria
001 Ana 001 M01 M01 Inglés
002 José 002 M02 M02 Contabilidad
003 Marcos 002 M03 M03 Informática
003 M01
003 M02
Se puede observar que ahora si se encuentran las tres tablas en segunda Forma Normal
2FN, considerando que la Tabla ALUMNO tiene como llave el atributo Código, la tabla
MATERIA cuya clave es CódigoMateria y finalmente la tabla ALUMNO/MATERIA sonde
la clave está compuesta por los atributos Código y CódigoMateria.
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.
En esta forma se eliminan cualquier dependencia transitiva, es decir, aquello en lo cual
atributos que no son claves son dependientes de otros atributos que no son clave.
Ejemplo: Supongamos que cada alumno sólo puede cursar una única Materia a la vez y
que deseamos guardar en que aula se imparte la Materia. Por lo cual se plantea la
siguiente estructura:
Código Nombre Materia CódigoMateria Aula
001 Ana Inglés M01 F-15
002 José Contabilidad M02 H-08
003 Marcos Informática M03 H-06
Estudiemos la dependencia de cada atributo con respecto a la llave primaria Código:
o El atributo Nombre depende directamente del Código del alumno.
o El atributo Materia depende del atributo CódigoMateria.
o El atributo Aula, aunque en parte también depende del alumno, está más ligado a la
Materia que éste está realizando.
Por esta última razón se dice que la tabla no está en 3FN, la solución sería la siguiente:
ALUMNO ALUMNO/MATERIA MATERIA
Código Nombre Código CodigoMateria CodigoMateria NombreMateria Aula
001 Ana 001 M01 M01 Inglés F-15
002 José 002 M02 M02 Contabilidad H-08
003 Marcos 003 M03 M03 Informática H-06