Professional Documents
Culture Documents
Modelamiento de Datos
y diseo de Base de datos
MANUAL DEL PARTICIPANTE
MP0901
Modelamiento de datos
y diseo de BD
Manual del participante
TABLA DE CONTENIDO
CAPITULO 1 Introduccin
Un poco de historia .................................................................................................................... 3
Sistema de procesamiento de archivos..................................................................................... 4
Sistema de procesamiento de base de datos............................................................................ 4
Historia de procesamiento de base de datos ............................................................................ 4
Conceptos Bsicos .................................................................................................................... 5
Campo: ................................................................................................................................... 5
Registro: ................................................................................................................................. 5
Archivo:................................................................................................................................... 5
Base de datos:........................................................................................................................ 5
Sistema Manejador de Base de Datos. (DBMS).................................................................... 5
Esquema de base de datos:................................................................................................... 5
Administrador de base de datos (DBA):................................................................................. 5
El Modelo Relacional ................................................................................................................. 6
Ventajas del Modelo Relacional ............................................................................................. 6
Resistencia al Modelo Relacional .......................................................................................... 7
Productos DBMS para microcomputadoras ........................................................................... 7
Aplicaciones de bases de datos cliente servidor ................................................................... 8
Procesamiento distribuido de bases de datos ....................................................................... 8
Los DBMS Orientados a Objetos (ODBMS)........................................................................... 9
Ciclo de vida de una base de datos........................................................................................... 9
Caracteristicas de una Base de Datos .................................................................................... 11
La metodologa de diseo de datos......................................................................................... 14
El Modelo lgico....................................................................................................................... 14
Restricciones de integridad...................................................................................................... 15
Preguntas de repaso................................................................................................................ 19
Modelamiento de
datos y diseo de BD
Manual del participante
ANEXO
CASO: Cursos de Formacion de Empleados .......................................................................... 57
CASO: Enseanza de lecciones de Baile................................................................................ 60
Diagrama E-R final para le JK Dance Club .......................................................................... 63
Evaluacin del modelo de datos E-R ................................................................................... 63
CASOS PROPUESTOS .......................................................................................................... 65
CASO: Campeonato de Ajedrez .......................................................................................... 65
CASO: Energia Elctrica ...................................................................................................... 65
CASO: Conflictos Blicos ..................................................................................................... 66
CASO: Gestin de Nminas................................................................................................. 67
2
Modelamiento de datos
y diseo de BD
Manual del participante
Captulo I
Introduccin
Objetivos:
Al finalizar este captulo, el participante tendr conocimientos sobre:
; Sistema de procesamiento de archivos.
; Sistema de procesamiento de base de datos
; Historia del procesamiento de base de datos
; El modelo relacional
; Procesamiento distribuido de base de datos
; Ciclo de vida de una base de datos
Un poco de historia
Desde tiempos remotos, los datos han sido registrados por el hombre en algn tipo de soporte
(piedra, papel, madera, etc.) a fin de que quedara constancia de un fenmeno o idea. Los datos
han de ser interpretados para que se conviertan en informacin til, esta interpretacin supone
un fenmeno de agrupacin y clasificacin.
En la era actual y con el auge de los medios informticos aparece el almacenamiento en
soporte electromagntico, ofreciendo mayores posibilidades de almacenaje, ocupando menos
espacio y ahorrando un tiempo considerable en la bsqueda y tratamiento de los datos. Es en
este momento donde surge el concepto de bases de datos y con ellas las diferentes
metodologas de diseo y tratamiento.
El objetivo bsico de toda base de datos es el almacenamiento de smbolos, nmeros y letras
carentes de un significado en s, que con un tratamiento adecuado se convierten en
informacin til. Un ejemplo podra ser el siguiente dato: 19941224, con el tratamiento correcto
podra convertirse en la siguiente informacin: "Fecha de nacimiento: 24 de diciembre de
1994".
Segn van evolucionando los tiempos, las necesidades de almacenamiento de datos van
creciendo y con ellas las necesidades de transformar los mismos datos en informacin de muy
diversa naturaleza. Esta informacin es utilizada diariamente como herramientas de trabajo y
como soporte para la toma de decisiones por un gran colectivo de profesionales que toman
dicha informacin como base de su negocio. Por este motivo el trabajo del diseador de bases
de datos es cada vez ms delicado, un error en el diseo o en la interpretacin de datos puede
dar lugar a informacin incorrecta y conducir al usuario a la toma de decisiones equivocadas.
Se hace necesaria la creacin de un sistema que ayude al diseador a crear estructuras
correctas y fiables, minimizando los tiempos de diseo y explotando todos los datos, nace as la
metodologa de diseo de bases de datos.
En un tiempo la frontera entre el programa de aplicacin y el DBMS (Sistema administrador de
base de datos) estaba bien definida. Las aplicaciones estaban escritas en lenguajes de tercera
generacin como COBOL, y se comunicaban con los DBMS para los servicios de organizacin
de datos. Esto todava se hace con ms frecuencia en base de datos en macrocomputadoras.
Las caractersticas y funciones de mltiples productos DBMS se han desarrollado tanto que
ahora el DBMS mismo puede procesar grandes partes de la aplicacin. La mayor parte de los
productos DBMS contienen escritores de informes y generadores de formularios que pueden
integrarse en una aplicacin.
Programa Nacional de Informtica
Modelamiento de
datos y diseo de BD
Manual del participante
Datos integrados
Modelamiento de datos
y diseo de BD
Manual del participante
aprendieron a escribir cdigos mas eficientes y actualizables. A mediados de los aos 70, las
bases de datos podan procesar muy bien las aplicaciones de una organizacin.
Los administradores aprendieron que de alguna forma todos los datos podan proporcionar
informacin para tomar decisiones tcticas de corto plazo y estratgicas de largo plazo. Sin
embargo, para hacer esto los usuarios deban acceder los datos ellos mismos, no podan
esperar semanas o meses para que los programadores obtuvieran la informacin de la
computadora.
Conceptos Bsicos
Campo:
Es un conjunto de datos del mismo tipo. Representa la caracterstica de un individuo u objeto.
Registro:
Es un conjunto de datos de un objeto u entidad.
Archivo:
Coleccin de registros almacenados siguiendo una estructura homognea.
Base de datos:
Es una coleccin de archivos interrelacionados, son creados con un DBMS. El contenido de
una base de datos abarca la informacin concerniente (almacenadas en archivos) de una
organizacin, de tal manera que los datos estn disponibles para los usuarios, una finalidad de
la base de datos es eliminar la redundancia o al menos minimizarla. Los tres componentes
principales de un sistema de base de datos son el hardware, el software DBMS y los datos a
manejar, as como el personal encargado del manejo del sistema.
Modelamiento de
datos y diseo de BD
Manual del participante
El Modelo Relacional
En 1970, E. F. Codd public un artculo memorable en el que aplicaba los conceptos de una
rama de las matemticas llamada lgebra relacional, a los problemas de almacenar enormes
cantidades de datos que en muy pocos aos condujo a la definicin del modelo de las bases
de datos relacionales.
Nombre estudiante
Carlos Bejarano
Roberto Fernandez
Angela Ramirez
Telfono
323-0098
232-9987
887-4484
Programa Nacional de Informtica
Modelamiento de datos
y diseo de BD
Manual del participante
ID Curso
MA114
MA214
MA314
MA414
FI115
FI215
FI315
DI100
Curso
Matemticas I
Matemticas II
Matemticas III
Matemticas IV
Fsica I
Fsica II
Fsica III
Diseo Mecnico
Ciclo
1
2
3
4
1
2
3
3
ID estudiante
100
200
200
300
300
100
100
300
Modelamiento de
datos y diseo de BD
Manual del participante
Modelamiento de datos
y diseo de BD
Manual del participante
tales, ofrecen un acceso de datos y un procesamiento todava ms flexibles, pero tiene varios
problemas an no resueltos.
La esencia de las bases de datos distribuidas es que todos los datos de la organizacin estn
dispersos en varias computadoras: micros, servidores LAN y macrocomputadoras, que se
comunican a medida que procesan la base de datos. Los objetivos de los sistemas distribuidos
de base de datos son hacer que cada usuario sienta que es el nico usuario de los datos de la
organizacin y proporcionan la misma consistencia, precisin y oportunidad que tendra si
nadie ms estuviera usando la base de datos distribuida.
Entre los problemas ms apremiantes con las bases de datos distribuidas se encuentran los de
seguridad y control. Son tareas complicadas permitir que muchos usuarios tengan acceso a la
base de datos (puede haber ciento de ellos a la vez) y controlar lo que ellos hacen en tal base
de datos.
Coordinar y sincronizar los datos puede ser difcil. Si un grupo introduce informacin y actualiza
parte de la base de datos y luego la regresa con los datos cambiados a la macrocomputadora,
Cmo puede el sistema evitar que, mientras tanto otro usuario pretenda usar la versin de los
datos que halle en la macrocomputadora? Imagine tal problema involucrando docenas de
archivos y cientos de usuarios que emplean varios equipos de computacin.
Supuestamente, una base de datos es un conjunto centralizado y controlado de datos y
relaciones. Si se fragmenta y se copia en varias computadoras diferentes, se altera el concepto
original de la base de datos.
Mientras que la transicin de organizacional a personal luego a grupos de trabajo del
procesamiento de bases de datos, fueron de algn modo fciles, las dificultades que enfrentan
los diseadores de bases de datos y los ingenieros de los DBMS distribuidos son
monumentales.
Modelamiento de
datos y diseo de BD
Manual del participante
Nombre
Cargo
rea de Responsabilidad
2. -Estudio de viabilidad
Un estudio de viabilidad implica la preparacin de un informe con las caractersticas siguientes:
Viabilidad tecnolgica.
Hay tecnologa suficiente para el desarrollo?
Viabilidad operacional.
Existen suficientes recursos humanos, presupuesto, experiencia y formacin para el
desarrollo?
Viabilidad econmica.
Se pueden identificar los beneficios?
Los beneficios costearan el desarrollo del sistema?
Se pueden medir los costes y los beneficios?
3. - Definicin de requisitos
Los requisitos de desarrollo involucran el software y hardware necesario para la
implementacin, los recursos humanos necesarios (tanto internos como externos), la formacin
al personal.
Aunque un poco al margen del tema es conveniente parar en este momento y planificar las
acciones a realizar elaborando un cronograma del proyecto y un organigrama con las
responsabilidades de cada miembro del equipo. Conviene sealar quienes van a ser los
interlocutores y fijar un calendario de reuniones de seguimiento del proyecto.
Hay que definir la figura del validador, esta persona ser la encargada de velar en cada
momento que no se est rebasando el alcance del proyecto, as como asegurar que la
implementacin est encaminada a subsanar las necesidades del cliente.
10
Modelamiento de datos
y diseo de BD
Manual del participante
4. Diseo
En esta etapa se crea un esquema conceptual de la base de datos. Se desarrollan las
especificaciones hasta el punto en que puede comenzar la implementacin. Durante esta etapa
se crean modelos detallados de las vistas de usuario y sobre todo las relaciones entre cada
elemento del sistema, documentando los derechos de uso y manipulacin de los diferentes
grupos de usuarios.
Si parte de la informacin necesaria para crear algn elemento establecido ya se encuentra
implementado en otro sistema de almacenamiento hay que documentar que relacin existir y
detallar los sistemas que eviten la duplicidad o incoherencia de los datos.
El diseo consta, como se vio anteriormente, de tres fases: el diseo global o conceptual, el
diseo lgico y el modelo fsico.
5. Implementacin
Una vez totalmente detallado el modelo conceptual se comienza con la implementacin fsica
del modelo de datos, a medida que se va avanzando en el modelo el administrador del sistema
va asegurando la correccin del modelo y el validador la utilidad del mismo.
La implementacin consiste en el desarrollo de las tablas, los ndices de los mismos, las
condiciones de validacin de los datos, la relacin entre las diferentes tablas. Por otro lado, la
definicin de las consultas y los parmetros a utilizar por cada una de ellas.
Una vez finalizada la implementacin fsica, se asignan las correspondientes medidas de
seguridad y se ubica la base de datos en el lugar correspondiente.
6. - Evaluacin y Perfeccionamiento
En esta ltima etapa todos los usuarios del sistema acceden a la base de datos y deben
asegurarse el correcto funcionamiento de la misma, que sus derechos son los adecuados,
teniendo a su disposicin cuanta informacin necesiten. Tambin debern asegurarse que el
acceso a los datos es cmodo, prctico, seguro y que se han eliminado, en la medida de lo
posible, las posibilidades de error.
El administrador se asegura que todos los derechos y todas las restricciones han sido
implementadas correctamente y que se ha seguido en manual de estilo en la totalidad de la
implementacin.
El validador se asegurar que todas las necesidades del cliente han sido satisfechas.
11
Modelamiento de
datos y diseo de BD
Manual del participante
Modificabilidad
Ningn sistema informtico es esttico, las necesidades de los usuarios varan con el tiempo y
por lo tanto las bases de datos se deben adaptar a las nuevas necesidades, por lo que se
precisa que un buen diseo facilite el mantenimiento, esto es, las modificaciones y
actualizaciones necesarias para adaptarlo a una nueva situacin.
Eficiencia
Se deben aprovechar al mximo los recursos de la computadora, minimizando la memoria
utilizada y el tiempo de proceso o ejecucin, siempre que no sea a costa de los requisitos
anteriores. En este punto se debe tener en cuenta los gestores cliente / servidor de bases de
datos. En muchas ocasiones es ms rentable cargar de trabajo al servidor y liberar recursos de
los clientes, pero no todos los gestores permiten este tipo de trabajo, por lo tanto se ha de tener
en cuenta estas dos circunstancias en el diseo de la base de datos.
Autodescripcin
En la documentacin generada debe estar todo el detalle del diseo, evitando referencias a
otros documentos que no estn incluidos dentro de la documentacin de la base de datos.
Trivialidad
Tanto el diseo como la implantacin se deben realizar utilizando los estndares fijados a priori,
estos estndares debern quedar reflejados al inicio del documento.
Claridad
Todos los documentos deben estar redactados de forma clara y fcil de entender, los nombres
utilizados para las tablas, los campos, ndices, etc. deben ser autodescriptivos y estar
perfectamente documentados.
Coherencia
Las anotaciones y terminologa utilizada deben ser uniformes, para ello se debe seguir algn
tipo de metodologa estndar, indicando cual se ha empleado, en los casos en que se utilice
alguna metodologa no estndar se debe adjuntar a la documentacin.
Completo
Todos los elementos constitutivos de la base de datos existen, no se han dejado partes
incompletas, sin documentar o sin implementar.
Concisin
No existen elementos intiles ni repetitivos. En este apartado hay que hacer un especial
hincapi en la repeticin de datos en diferentes tablas, hay que evitar a toda costa que el
mismo dato se repita en varias tablas para conseguir as una optimizacin del tamao de la
base de datos.
Facilidad de Aprendizaje
La documentacin de la base de datos se puede utilizar sin necesidad de otros conocimientos
informticos fuera del alcance del diseo e implementacin de la base de datos.
Facilidad de Uso
Los datos deben ser fciles de elaborar y los resultados fciles de entender.
Generalidad
La base de datos debe ser capaz de adaptarse a cualquier tipo de empresa y a cualquier
casustica.
Independencia de Usuario
La base de datos no debe estar ligada a la utilizacin en una nica instalacin, hay que tener
en cuenta que, aunque se trate de un desarrollo a medida, en un futuro se podra realizar la
instalacin en un cliente diferente al inicial.
Independencia de Sistema
Las prestaciones y diseo de la base de datos no estn vinculadas al entorno.
Independencia de Instalacin
La base de datos se puede transportar fcilmente de una instalacin a otra.
12
Modelamiento de datos
y diseo de BD
Manual del participante
Modularidad
La base de datos puede ser descompuesta en elementos independientes. Si se trata de un
diseo grande, en donde hay un gran nmero de tablas, conviene realizar agrupaciones entre
ellas, creando mdulos funcionales que permitan la mejor compresin del diseo y de la
implementacin
Observable
La base de datos debe permitir observar los accesos a los datos. Siempre que se pueda hay
que dejar un rastro de la utilizacin de los datos por parte de los usuarios, esta informacin
ayuda al redimensionado de la base de datos y a conocer el nmero de accesos a los datos.
Precisin
Los clculos efectuados se deben realizar con la precisin requerida.
Proteccin
La base de datos debe permitir la proteccin de los datos frente a usos no debidos, para ello
hay que elaborar un sistema de accesos definiendo diferentes usuarios con diferentes claves y
especificar que autorizaciones tendr cada usuario sobre los diferentes datos.
Trazabilidad
Tomando como punto de partida la versin actual se puede remontar su diseo hasta las
especificaciones iniciales
13
Modelamiento de
datos y diseo de BD
Manual del participante
El Modelo lgico
Antes de comenzar esta modelacin es necesario tener documentado las necesidades,
viabilidad y definicin de los requisitos, as como tener elaborado el modelo global o conceptual
del diseo.
El paso del modelo global o conceptual de datos al modelo lgico supone una abstraccin, un
mecanismo para la conversin del mundo real a un mundo formado por datos, a su agrupacin
y clasificacin. El proceso de abstraccin consiste en identificar los elementos conceptos
empleados en el modelo global y transformarlo en lo que denominamos entidades en el modelo
lgico. La abstraccin se puede realizar de las siguientes formas:
Clasificacin
Consiste en generar una nica entidad conceptos con caractersticas comunes, todos ellos
tendrn las mismas caractersticas y se diferencian unos de otros por los valores que toman
dichas caractersticas. Por ejemplo: los conceptos cursos de ingls, cursos de espaol y cursos
de francs se pueden agrupar en una nica entidad denominada "CURSOS" que agrupe y
diferencie cada uno de los diferentes cursos que se imparten.
Agregacin
Consiste en separar cada una de las partes de un concepto para generar distintas entidades,
por ejemplo el concepto auto lo podemos definir utilizando las entidades chasis, motor y llanta.
14
Modelamiento de datos
y diseo de BD
Manual del participante
MOTOR
CHASIS
LLANTA
AUTO
Generalizacin
Consiste en ir generando entidades de diferentes niveles de tal forma que cada entidad de nivel
superior agrupe las de nivel inferior.
PERSONA
CLIENTE
EMPLEADO
NACIONAL
LIMA
EXTRANJERO
PROVEEDOR
MAYORISTA
MINORISTA
TRUJILLO
Asociacin
Consiste en la generalizacin de entidades a partir de entidades ya existentes.
ARTICULO
PEDIDO
FACTURA
Restricciones de integridad
En el mundo real existen ciertas restricciones que deben cumplir los elementos en l
existentes; por ejemplo, una persona slo puede tener un nmero de DNI y una nica direccin
oficial. Cuando se disea una base de datos se debe reflejar fielmente el universo del discurso
que estamos tratando, lo que es lo mismo, reflejar las restricciones existentes en el mundo real.
Los componentes de una restriccin son los siguientes:
La operacin de actualizacin (insercin, borrado o eliminacin) cuya ejecucin ha de dar lugar
a la comprobacin del cumplimiento de la restriccin.
La condicin que debe cumplirse, la cual es en general una proposicin lgica, definida sobre
uno o varios elementos del esquema, que puede tomar uno de los valores de verdad
(Verdadero o falso).
Programa Nacional de Informtica
15
Modelamiento de
datos y diseo de BD
Manual del participante
La accin que debe llevarse a cabo dependiendo del resultado de la condicin. En general, se
puede decir que existen tres tipos de integridad:
Integridad de dominio: restringimos los valores que puede tomar un atributo respecto a
su dominio, por ejemplo EDAD >= 18.
Integridad de entidad: la clave primaria de una entidad no puede tener valores nulos y
siempre deber ser nica, por ejemplo DNI.
Integridad referencial: las claves ajenas de una tabla hija se tienen que corresponder
con la clave primaria de la tabla padre con la que se relaciona. Por ejemplo, en la tabla
FAMILIARES de los empleados necesitaremos el DNI de empleado, que es la clave
externa de la tabla.
No tiene que ser definidas por el usuario, ya que se encuentran en el propio modelo
Semnticas
Ajenas
Accin General
16
Es muy difcil (prcticamente imposible en la mayor parte de los casos) que el sistema
de bases de datos pueda comprobar su consistencia
Modelamiento de datos
y diseo de BD
Manual del participante
Procedimientos almacenados
Pueden ser tan complejas como imponga la semntica del mundo real (tanto en la
condicin como en la accin)
Disparadores
Pueden ser tan complejas como imponga la semntica del mundo real en cuanto a la
accin, y bastantes complejas en la condicin (todo lo que permite la proposicin lgica
mediante la que se expresa la condicin).
Accin Especfica
La accin est implcita en la misma restriccin, por lo que no hay que definirla
Condicin General
Verificacin
Asercin
17
Modelamiento de
datos y diseo de BD
Manual del participante
Tienen nombre.
Condicin Especfica
18
Modelamiento de datos
y diseo de BD
Manual del participante
Preguntas de repaso
1.
2.
3.
4.
5.
6.
7.
8.
9.
Entreviste personas que usen una aplicacin de base de datos. Qu funciones del
negocio son atendidas? Qu informacin se produce? Qu objetos estn
involucrados? Es esta una aplicacin personal, de grupos de trabajo o de una
organizacin?
10.
19
Modelamiento de
datos y diseo de BD
Manual del participante
20
Modelamiento de datos
y diseo de BD
Manual del participante
Captulo 2
El Modelo Entidad-Relacin
Objetivos:
Al finalizar este captulo, el participante tendr conocimientos sobre:
; Definicin del Modelo Entidad Relacin.
; Definicin de Entidades y Atributos.
; Tipos de relaciones binarias.
; Diagramas Entidad-Relacin
Entidades
Es un objeto en el mundo real con existencia independiente. Una entidad puede ser un objeto
fsico (una persona, un auto, una casa o un empleado) o un objeto conceptual (una compaa,
un puesto de trabajo o un curso). Una entidad es algo que puede identificarse en el ambiente
de trabajo de los usuarios, es algo que tiene importancia para los usuarios del sistema que se
requiere desarrollar.
Algunos ejemplos de entidades son:
CLIENTE 12345
PEDIDO-DE-VENTAS 1000
PRODUCTO A4200
Las entidades se agrupan en clases de entidades o conjuntos de entidades del mismo tipo. La
clase entidad se imprimen en letras maysculas. El nombre EMPLEADO representa entonces
una clase de entidad de empleados.
Usted necesita establecer la diferencia entre una clase de entidad y la ocurrencia de una
entidad: una clase de entidad es la forma general o descripcin de algo, pongamos un
CLIENTE, en tanto que una ocurrencia de una clase de entidad es la representacin de una
entidad particular tal como CLIENTE 12345.Con frecuencia los trminos entidad y clase de
entidad se usan de modo indistinto.
21
Modelamiento de
datos y diseo de BD
Manual del participante
Atributos
Las entidades tienen atributos o propiedades que describen las caractersticas de una entidad.
Ejemplos de atributos de la entidad EMPLEADO son:
NombreDeEmpleado
FechaDeContratacin
CdigoDeCategoria.
Los atributos se imprimen en maysculas y minsculas. El modelo E-R supone que todas las
ocurrencias de cierta clase de entidad tienen los mismos atributos.
Como se defini en el modelo E-R original los atributos pueden ser de valor nico o mltiple, o
bien compuestos. En CLIENTE el atributo compuesto Direccin puede definirse como el grupo
Avenida, Distrito, Cdigo Postal, Departamento. Sin embargo, algunas implementaciones del
modelo E-R no permite atributos de valores mltiples o compuestos.
Identificadores
Las ocurrencias de una entidad tienen nombres que las identifican. Tenemos los siguientes
ejemplos:
12399
Manufactura Atlas
Editorial Navarrete
Colonial 1245
Puno 245
Callao
Lima
Julio Martell
Pablo Carrizales
4253666
5621232
Fig. 2-1
22
Modelamiento de datos
y diseo de BD
Manual del participante
Relaciones
Las entidades pueden asociarse una con otra en relaciones. El modelo E-R contiene clases de
relaciones y ocurrencias de relaciones. Las clases de relaciones son asociadas entre las clases
de entidades y las ocurrencias de relaciones son asociaciones entre las ocurrencias de
entidades. Las relaciones pueden tener mltiples atributos.
Como se defini en el modelo E-R original una relacin puede incluir muchas entidades; la
cantidad de entidades en una relacin es el grado de la relacin. En la figura 2-2 la relacin
VENDEDOR-PEDIDO es el grado 2, porque cada ocurrencia de la relacin implica dos
ocurrencias de entidades: una ocurrencia VENDEDOR y una PEDIDO. En la figura la relacin
PADRE es el grado 3, porque cada ocurrencia implica 3 entidades: MADRE, PADRE e HIJO.
Aunque el modelo E-R permite relaciones de cualquier grado, la mayora de las aplicaciones
del modelo slo considera relaciones de grado 2. Cuando son de tal tipo, se denominan
relaciones binarias.
VENDEDOR
MADRE
PEDIDO
PADRE
HIJO
1:1
EMPLEADO
AUTO
23
Modelamiento de
datos y diseo de BD
Manual del participante
1: N
DORMITORIO
ESTUDIANTE
N:M
ESTUDIANTE
CLUB
Las relaciones de los tipos mostrados en ocasiones se denominan relaciones TIENE UN. Este
trmino se usa porque la entidad tiene una relacin con la otra. Por ejemplo, un EMPLEADO
tiene un AUTO; un ESTUDIANTE tiene un DORMITORIO; y un CLUB tiene ESTUDIANTES.
Diagramas Entidad-Relacion
Los diagramas entidad-relacin o E-R estn estandarizados en forma muy abierta. De acuerdo
con este estndar, las clases de entidades se muestran con rectngulos; las relaciones
mediante diamantes y la cardinalidad mxima de la relacin con otra. Por ejemplo, un
EMPLEADO tiene un AUTO; un ESTUDIANTE tiene un DORMITORIO; y un CLUB tiene
ESTUDIANTES.
Aunque en algunos diagramas E-R el nombre de la relacin aparece dentro del diamante, esto
hace que la representacin se vea desproporcionada, ya que los diamantes tendran que ser
grandes para incluir el nombre de la relacin. Para evitar esto en ocasiones los nombres de
relaciones se escriben arriba del diamante; cuando el nombre se coloca dentro o en la parte
superior del diamante la cardinalidad de la relacin se detalla colocando patas de gallo en las
lneas que conectan a las entidades en el lado varios de la relacin. La representacin de las
relaciones DORMITORIO-OCUPANTE y ESTUDIANTE-CLUB con las mencionadas patas de
gallo.
DORMITORIO
1:N
ESTUDIANTE
ESTUDIANTE
N:M
CLUB
Fig. 2-6
24
Modelamiento de datos
y diseo de BD
Manual del participante
La cardinalidad mxima indica a su vez la cantidad mxima de entidades que pueden participar
en una relacin. Los diagramas no indican la mnima. Por ejemplo la figura 2-4 muestra que un
estudiante se relaciona como mximo con un dormitorio, pero no es posible saber si un
estudiante debe relacionarse con una ocurrencia de dormitorio.
Se emplean varias formas para advertir la cardinalidad mnima. Una de ellas ilustrada en la
figura 2-7 es colocar un lnea perpendicular a la lnea de la relacin indicar que una entidad
debe existir en las relaciones, y colocar un valo perpendicular a la lnea de la relacin
sealando que pueda haber, o no una entidad en la relacin. La figura 2-7 nos dice que un
DORMITORIO debe tener una relacin con un ESTUDIANTE al menos, pero que no se
requiere que un ESTUDIANTE, tenga una relacin con un DORMITORIO. Las limitaciones
completas de la relacin son que un DORMITORIO posea una cardinalidad mnima de 1 y una
cardinalidad mxima de mltiples entidades ESTUDIANTE. Un ESTUDIANTE tiene una
cardinalidad mnima de cero y una cardinalidad mxima de una entidad DORMITORIO.
1:N
DORMITORIO
ESTUDIANTE
Puede existir una relacin entre entidades de la misma clase. Las relaciones entre entidades
de una sola clase se denominan relaciones recursivas.
NombreDe
Dormitorio
NumeroDe
Estudiante
Ubicacin
1:N
DORMITORIO
CantidadDeHa
bitaciones
Renta
ESTUDIANTE
NombreDe
Estudiante
AoDeEstudiante
25
Modelamiento de
datos y diseo de BD
Manual del participante
1:N
DORMITORIO
ESTUDIANTE
Dormitorio contiene:
Estudiante contiene:
NombredeDormitorio
NumerodeEstudiante
Ubicacin
NombredeEstudiante
CantidadDeHabitaciones
AodeEstudiante
Dormitorio-Ocupante contiene
Renta
Fig. 2-9 Relacin DORMITORIO-ESTUDIANTE
Entidades dbiles
El modelo entidad-relacin define un tipo especial de entidad denominado entidad dbil. Tales
entidades son aquellas cuya presencia en la base de datos depende de la presencia de otra
entidad. Un ejemplo de tal relacin es la que hay en los empleados y sus dependientes. En la
figura 2-10 la entidad DEPENDIENTE depende de la presencia de otra entidad. Un ejemplo de
tal relacin es la que hay entre los empleados y sus dependientes. En la Figura 2-10 la entidad
DEPENDIENTE depende de la presencia de la entidad EMPLEADO.
Esto significa que los datos de DEPENDIENTE dependen de la presencia de la entidad
EMPLEADO. Esto significa que los datos de DEPENDIENTE slo pueden almacenarse en la
base de datos si el DEPENDIENTE posee una relacin con una entidad EMPLEADO.
Como se aprecia en esta figura, las entidades dbiles se representan redondeando las
esquinas del rectngulo de la entidad..
1:N
EMPLEADO
DEPENDIENTE
Algunos diagramas E-R las entidades dbiles se dibujan empleando una doble lnea para el
rectngulo de la entidad dbil y diamantes dobles para la relacin de la que dependen.
Entidades Subtipo
Algunas entidades contienen grupos opcionales de atributos: Por ejemplo, considere CLIENTE,
con los atributos NmeroDeCliente, NombreDeCliente y CantidadAdeudada. Suponga que un
CLIENTE puede ser una persona, una sociedad o bien una empresa y que deben almacenarse
datos adicionales dependiendo del tipo. Digamos que estos datos adicionales son los
siguientes:
CLIENTE-PERSONA:
Direccin, NmeroDeSeguroSocial
CLIENTE-SOCIEDAD:
NombreDelSocioAdministrador, Direccin, NmeroDeIdentificacinFiscal.
CLIENTE-EMPRESA:
PersonaconQuienseHaceContacto, Telfono, NmeroDeldentificacinFiscal.
26
Modelamiento de datos
y diseo de BD
Manual del participante
Una posibilidad de asignar es asignar tales atributos a la entidad CLIENTE, como se muestra
en la figura 2-11. En este caso; algunos de los atributos no son aplicables.
NombreDelSocioAdmnistrador no significa nada para un cliente persona o empresa y por lo
tanto no puede poseer un valor.
Un modelo ms preciso definir tres entidades subtipo, tal como se muestra en la figura 2-11.
Aqu las entidades CLIENTE-PERSONA, CLIENTE-SOCIEDAD y CLIENTE-EMPRESA se
muestran como subtipos de CLIENTE. A su vez, CLIENTE es un supertipo de las entidades
CLIENTE-PERSONA, CLIENTE-SOCIEDAD y CLIENTE-EMPRESA.
CLIENTE
CLIENTE
CLIENTE
CLIENTE
PERSONA
SOCIEDAD
EMPRESA
27
Modelamiento de
datos y diseo de BD
Manual del participante
Preguntas de repaso
1.
2.
3.
4.
5.
6.
7.
8.
28
Modelamiento de datos
y diseo de BD
Manual del participante
Para lograrlo proporciona informacin sobre alojamiento de bajo costo a los gobiernos de
estado, municipal o regional. Adems mediante discursos, seminarios, publicidad en las
convenciones
lucha por
29
Modelamiento de
datos y diseo de BD
Manual del participante
30
Modelamiento de datos
y diseo de BD
Manual del participante
Captulo 3
El Modelo Relacional y la Normalizacin
Objetivos:
Al finalizar este captulo, el participante tendr conocimientos sobre:
; El Modelo relacional.
; Dependencias Funcionales.
; Normalizacin.
; Desnormalizacion
El Modelo Relacional
Una afinidad es una tabla de dos dimensiones donde cada hilera en la tabla tiene datos que
pertenecen a alguna cosa o a una parte de alguna cosa. Cada columna de la tabla contiene
datos referenciales a un atributo. Algunas hileras se denominan tuples y las columnas se
llaman atributos.
Los trminos afinidad, tuple y atributo surgen de las matemticas relacionales que son la fuente
terica de este modelo. Los profesionales en sistemas encuentran ms confortables los
trminos anlogos archivo, registro y campo pero la mayor parte de los usuarios encuentran
ms definidos los trminos tabla, hileras y columnas.
Para que una tabla sea una afinidad debe cumplir ciertas restricciones. Primero, las celdas de
la tabla deben ser de valor nico, no se permite repetir grupos ni tener arreglos como valores.
Todos los ingresos en cualquier columna (atributo) deben ser del mismo tipo. Si una columna
contiene nmeros de empleado debe haber nmeros de empleado para cada hilera de la tabla.
Cada columna posee un nombre nico y no es importante el orden de las columnas en la tabla.
La figura 3-2 es un ejemplo de una tabla. Observe que tiene siete hileras (tuples) constituidas
por cuatro columnas (atributos). Si se fuera a modificar el orden de las columnas colocando
NmeroDeEmpleado en el extremo izquierdo y tambin a reordenar las hileras quiz en
secuencia ascendiente de acuerdo a Edad se tendra una tabla equivalente.
La figura 3-2 muestra una ocurrencia de una tabla. El formato generalizado EMPLEADO
(Apellido, Edad, Sexo, NmeroDeEmpleado) se llama la estructura de la afinidad y es lo que la
mayor parte de la gente quiere decir cuando usa el trmino afinidad.
Para entender el modelo relacional y la normalizacin se deben comprender dos trminos:
dependencia funcional y clave. Estos conceptos aluden a las relaciones entre atributos en una
afinidad: ste es un buen ejemplo de por qu la terminologa en la tecnologa de las bases de
datos puede ser confusa. Una afinidad es una tabla. No confundirla con el trmino relacin que
es una asociacin entre cosas. Aunque las afinidades puedan expresar relaciones los dos
trminos hacen referencia a conceptos diferentes.
Modelo relacional
Programador
Usuario
Afinidad
Archivo
Tabla
Tuple (Fila)
Registro
Fila
Atributo
Campo
Columna
31
Modelamiento de
datos y diseo de BD
Manual del participante
Atributo 1
Atributo 2
Atributo 3
Atributo 4
Apellido
Edad
Sexo
NmeroDeEmpleado
Tuple 1
Ramirez
21
010110
Tuple 2
Alfaro
22
010100
Tuple 3
Bustamante
22
101000
Tuple 4
Altamirano
21
201100
Tuple 5
Juarez
19
111100
Tuple 6
Caceres
20
111101
Tuple 7
Solari
19
111111
Dependencias funcionales
Una dependencia funcional es una relacin entre uno o ms atributos. Suponga que si se da el
valor de un atributo se puede obtener o buscar el valor de otro. Si se conoce el valor de
NmeroDeCuentaDeCliente, se puede hallar el valor de EstadoDeCuentaCliente. Si esto es
cierto, se puede decir que EstadoDeCuentaDeCliente es funcionalmente dependiente de
NmeroDeCuentaDeCliente. En trminos ms generales, el atributo Y es dependiente del
atributo X si el valor de X determina el valor de Y. Dicho otro modo, si se conoce el valor de X,
se puede obtener el valor de Y.
Las ecuaciones pueden representar dependencias funcionales. Si se sabe el precio de un
artculo y la cantidad de artculos comprados, se puede calcular el precio total de esos artculos
como sigue:
PrecioTotal = PrecioDelArtculo x Cantidad
En este caso se podra decir que el PrecioTotal es dependiente del PrecioDelArtculo y
Cantidad.
Las dependencias funcionales entre atributos en una afinidad no involucran ecuaciones.
Suponga que los estudiantes tienen un nmero de identificacin nico IDEstudiante y que cada
alumno tiene una y slo una especialidad. Dado el valor de un IDEstudiante se puede encontrar
la especialidad del estudiante y as la Especialidad depende de IDEstudiante. Considere las
microcomputadoras en un laboratorio donde cada una tiene uno y solo un tamao de memoria
principal, por lo que TamaoDeMemoria depende de NmeroDeSerieDeComputadora.
A diferencia de una ecuacin, tales dependencias funcionales no pueden trabajarse usando
aritmtica; en vez de ello se listan en una base de datos. La expresin de las dependencias
funcionales es una de las razones para tener una base de datos.
Las dependencias funcionales se escriben usando la siguiente notacin:
IDEstudiante Especialidad
NmeroDeSerieDeComputadora TamaoDeMemoria
La primera expresin se lee como IDEstudiante determina funcionalmente Especialidad,
IDEstudiante determina Especialidad o Especialidad de IDEstudiante. Los atributos al lado
izquierdo de la flecha se llaman determinantes.
Una dependencia funcional es una relacin entre valores de atributos. Si IDEstudiante
determina Especialidad, un valor particular de IDEstudiante har pareja slo con un valor de
Especialidad. En sentido inverso un valor de Especialidad puede hacer pareja con uno o ms
valores diferentes de IDEstudiante.
IDEstudianteEspecialidad
Suponga que Contabilidad es la especialidad del estudiante cuyo IDEstudiante es 123. Cada
vez que IDEstudiante y Especialidad se encuentren juntos en una afinidad. El valor de
32
Modelamiento de datos
y diseo de BD
Manual del participante
IDEstudiante para 123 siempre har pareja con el valor Contabilidad de Especialidad. Sin
embargo lo opuesto no es cierto, pues la Especialidad de Contabilidad puede hacer pareja con
varios valores de IDEstudiante (diversos estudiantes pueden tener especialidad en
Contabilidad). Se puede decir que la relacin de IDEstudiante con Especialidad es muchos a
uno (N:1). En general se puede decir que si A determina a B, la relacin de los valores de A a B
es N:1.
Las dependencias funcionales pueden involucrar grupos de atributos. Considere la afinidad
CALIFICACIONES (IDEstudiante, NombreDeClase, Calificacin). La combinacin de un
IDEstudiante y un NombreDeClase determina una calificacin, una dependencia funcional que
se escribe as:
(IDEstudiante, NombreDeClase) Calificacin.
Observe que tanto IDEstudiante como NombreDeClase son necesarios para determinar una
calificacin. No se puede subdividir la dependencia funcional porque IDEstudiante no determina
la calificacin por si mismo.
Claves
Una clave es un grupo de uno o ms atributos que identifican de modo nico a una hilera.
Considere la afinidad ACTIVIDAD de la figura 3-3, cuyos atributos son IDEstudiante, Actividad y
Cuota. El significado de una hilera es que un estudiante se apunta en la actividad designada
por una cuota especificada. Suponga que a un estudiante se le permite participar slo en una
actividad a la vez. Un valor de IDEstudiante determina una hilera nica de modo que es una
clave.
IDEstudiante
Actividad
Cuota
100
Tenis
200
150
Natacin
50
175
Voley
50
200
Natacin
50
Las claves tambin pueden estar compuestas por un grupo de atributos tomados en conjunto.
Si a los estudiantes se les permitiera inscribirse en distintas actividades al mismo tiempo, sera
posible que un valor de IDEstudiante apareciera en dos o ms hileras de la tabla y por lo tanto,
IDEstudiante no identificara slo la hilera. Algunas combinaciones de atributos como
IDEstudiante, Actividad pueden ser requeridas
IDEstudiante
Actividad
Cuota
100
Tenis
200
100
Golf
65
150
Natacin
50
175
Voley
50
175
Natacin
50
200
Natacin
50
200
Golf
65
33
Modelamiento de
datos y diseo de BD
Manual del participante
Normalizacin
No todas las afinidades son deseables. Una tabla que cumple la definicin mnima de una
afinidad tal vez no tenga una estructura efectiva o apropiada. Para algunas afinidades el
cambiar los datos puede tener consecuencias no deseables llamadas anomalas de
modificacin. Las anomalas pueden eliminarse volviendo a definir la afinidad en dos o ms
afinidades. En la mayor parte de las circunstancias se prefieren las afinidades redefinidas o
normalizadas.
Clases de afinidades
Las afinidades pueden clasificarse por los tipos de anomalas de modificacin a las cuales son
vulnerables. En los aos setenta los tericos relacionales investigaron estos tipos. Alguien
encontraba una anomala la clasificaba y pensaba en una forma de prevenirla. Cada vez que
esto ocurra, mejoraban los criterios para disear las afinidades. Estas clases de afinidades y
las tcnicas para prevenir las anomalas son llamadas formas normales. Dependiendo de su
estructura, una afinidad puede estar en una primera forma normal, segunda forma normal o
alguna otra.
En 1970, E. F. Codd. estableci la primera, segunda y tercera forma normal (1NF, 2NF, 3NF).
Continuo con la forma normal de Boyce-Codd (BCNF) y despus se definieron la cuarta y la
quinta formas normales. Como se aprecia en la figura, estas formas normales estn anidadas.
Esto es una afinidad en la segunda forma normal tambin est en la primera forma normal y
una afinidad en la 5NF (quinta forma normal), est tambin en 4NF, BCNF, 3NF, 2NF y 1NF.
Primera forma normal (1NF)
Segunda forma normal (2NF)
Tercera forma normal (3NF)
Forma normal de Boyce-Codd (BCNF)
Cuarta forma normal (4NF)
Quinta forma normal (5NF)
Estas formas normales fueron tiles, aunque tenan serias limitaciones. Ninguna teora
garantizaba que una de ellas eliminara todas las anomalas: cada forma slo eliminaba
algunas.
Est situacin cambio en 1981, cuando R. Fagin defini una nueva llamada forma normal
dominio/clave (DK/NF). En un importante artculo, Fagin mostr que una afinidad en la forma
normal dominio/clave est libre de todas las anomalas de modificacin, sin importar su tipo.
34
Modelamiento de datos
y diseo de BD
Manual del participante
Tambin mostr que cualquier afinidad libre de anomalas de modificacin, tambin est en la
forma normal dominio/clave.
Hasta que se defini DK/NF, era necesario que los diseadores de bases de datos relacionales
busquen anomalas y ms formas normales. Sin embargo, la prueba de Fagin simplific la
situacin. Si se puede poner una afinidad en DK/NF, entonces se puede estar seguro de que
no tendr anomalas. El truco es saber cmo poner las afinidades en DK/NF.
El proceso de normalizacin es un estndar que consiste, bsicamente, en un proceso de
conversin de las relaciones entre las entidades, evitando:
Nacin
CodLibro
Titulo
Editor
Date
USA
999
IBD
AW
Ad.Mig.
ESP
888
CyD
RM
Ma.Piat.
ITA
777
CyD
RM
Date
USA
666
BdD
AW
Asegurando:
El proceso de normalizacin nos conduce hasta el modelo fsico de datos y consta de varias
fases denominadas formas normales, estas formas se detallan a continuacin.
Definicin de la clave
Antes de proceder a la normalizacin de la tabla lo primero que debemos de definir es una
clave, esta clave deber contener un valor nico para cada registro (no podrn existir dos
valores iguales en toda la tabla) y podr estar formado por un nico campo o por un grupo de
campos.
En la tabla de alumnos de un centro de estudios no podemos definir como campo clave el
nombre del alumno ya que pueden existir varios alumnos con el mismo nombre. Podramos
Programa Nacional de Informtica
35
Modelamiento de
datos y diseo de BD
Manual del participante
considerar la posibilidad de definir como clave los campos nombre y apellidos, pero estamos en
la misma situacin: podra darse el caso de alumnos que tuvieran los mismos apellidos y el
mismo nombre (Juan Fernndez Martn).
La solucin en este caso es asignar un cdigo de alumno a cada uno, un nmero que
identifique al alumno y que estemos seguros que es nico.
Una vez definida la clave podremos pasar a estudiar la primera forma normal.
Nombre
Cursos
Marcos
Ingles
Lucas
Contabilidad, Informtica
Marta
Ingles, Contabilidad
Podemos observar que el registro de cdigo 1 si cumple la primera forma normal, cada campo
del registro contiene un nico dato, pero no ocurre as con los registros 2 y 3 ya que en el
campo cursos contiene ms de un dato cada uno. La solucin en este caso es crear dos tablas
del siguiente modo:
TABLA A
Cdigo
Nombre
Marcos
Lucas
Marta
TABLA B
Cdigo
Curso
Ingls
Contabilidad
Informtica
Ingls
Contabilidad
Como se puede comprobar ahora todos los registros de ambas tablas contienen valores nicos
en sus campos, por lo tanto ambas tablas cumplen la primera forma normal.
Una vez normalizada la tabla en 1NF, podemos pasar a la segunda forma normal.
36
Modelamiento de datos
y diseo de BD
Manual del participante
Cdigo Dpto.
Nombre
Departamento Aos
Juan
Contabilidad
Pedro
Sistemas
Sonia
I+D
Vernica
Sistemas
10
Pedro
Contabilidad
Tomando como punto de partida que la clave de esta tabla est formada por los campos cdigo
de empleado y cdigo de departamento, podemos decir que la tabla se encuentra en primera
forma normal, por tanto vamos a estudiar la segunda:
El campo aos si que depende funcionalmente de la clave ya que depende del cdigo
del empleado y del cdigo del departamento (representa el nmero de aos que cada
empleado ha trabajado en cada departamento)
Por tanto, al no depender todos los campos de la totalidad de la clave la tabla no est en
segunda forma normal, la solucin es la siguiente:
TABLA A
Cdigo Empleado
Nombre
Juan
Pedro
Sonia
Vernica
TABLA B
Cdigo Departamento
Departamento
I+D
Sistemas
Contabilidad
37
Modelamiento de
datos y diseo de BD
Manual del participante
TABLA C
Cdigo Empleado
Cdigo Departamento
Aos
10
Podemos observar que ahora si tenemos las tres tablas en segunda forma normal,
considerando que la tabla A tiene como ndice el campo Cdigo Empleado, la tabla B Cdigo
Departamento y la tabla C una clave compuesta por los campos Cdigo Empleado y Cdigo
Departamento.
Nombre
Curso
Aula
Marcos
Informtica
Aula A
Lucas
Ingles
Aula B
Marta
Contabilidad
Aula C
El aula, aunque en parte tambin depende del alumno, est ms ligado al curso que el
alumno est realizando.
Por esta ltima razn se dice que la tabla no est en 3NF. La solucin sera la siguiente:
TABLA A
Cdigo
38
Nombre
Curso
Marcos
Informtica
Lucas
Ingles
Marta
Contabilidad
Modelamiento de datos
y diseo de BD
Manual del participante
TABLA B
Curso
Aula
Informtica
Aula A
Ingles
Aula B
Contabilidad
Aula C
Una vez conseguida la tercera forma normal, se puede estudiar la cuarta forma normal.
Color
Tamao
Cuadrado
Rojo
Grande
Cuadrado
Azul
Grande
Cuadrado
Azul
Mediano
Circulo
Blanco
Mediano
Circulo
Azul
Pequeo
Circulo
Azul
Mediano
Comparemos ahora la clave con el atributo Tamao, podemos observar que Cuadrado Grande
est repetido; igual pasa con Crculo Azul, entre otras. Estas repeticiones son las que se deben
evitar para tener una tabla en 4NF.
La solucin en este caso sera la siguiente:
TAMAO
Figura
Tamao
Cuadrado
Grande
Cuadrado
Pequeo
Circulo
Mediano
Circulo
Pequeo
39
Modelamiento de
datos y diseo de BD
Manual del participante
COLOR
Figura
Color
Cuadrado
Rojo
Cuadrado
Azul
Circulo
Blanco
Circulo
Azul
40
Modelamiento de datos
y diseo de BD
Manual del participante
Desnormalizacion
Las afinidades normalizadas evitan anomalas de modificacin y se prefieren a las afinidades
no normalizadas. Valorada bajo otros criterios algunas veces la normalizacin no vale la pena.
Considere esta afinidad:
CLIENTE (NumeroCliente,
NumeroCliente es la clave.
NombreCliente,
Ciudad,
Estado,
CodigoPostal),
donde
Esta afinidad no esta en DK/NF por que contiene la dependencia funcional CodigoPostal
(Ciudad, Estado), la cual no esta implcita en la clave, NumeroCliente. Por lo tanto existe una
restriccin que no esta implcita en la definicin de claves.
Esta afinidad puede transformarse en las siguientes dos afinidades DK/NF:
CLIENTE (NumeroCliente, NombreCliente, CodigoPostal) donde la clave es NumeroCliente
CODIGOS (CodigoPostal, Ciudad, Estado) donde la clave es CodigoPostal
Estas dos tablas estn en la forma normal dominio/clave, pero es muy probable que no
representen mejor el diseo. Tal vez sea mejor la tabla no normalizada, ser ms fcil de
procesar y no son muy importantes las desventajas de duplicar los datos de ciudad y Estado.
Algunas veces las afinidades se dejan a propsito no normalizadas o estn normalizadas y
despus desnormalizadas. Esto se hace para mejorar el funcionamiento. Siempre que los datos
deben combinarse de dos tablas separadas, el DBMS debe efectuar un trabajo adicional. En la
mayora de los casos se requieren cuando menos dos lecturas en vez de una.
41
Modelamiento de
datos y diseo de BD
Manual del participante
Preguntas de repaso
1.
Cules restricciones deben ponerse en una tabla para que se considere una afinidad?
2.
Defina los siguientes trminos: afinidad, tuple, atributo, archivo, registro, campo, tabla,
hilera, columna
3.
4.
5.
6.
7.
Qu es la Normalizacin?
8.
9.
Qu es la desnormalizacion?
10.
12.
(Fabricante,
Modelo,
FechadeAdquisicion,
NombreComprador,
42
Modelamiento de datos
y diseo de BD
Manual del participante
Captulo 4
Diseo de bases de datos empleando
Modelo entidad-relacin
Objetivos:
Al finalizar este captulo, el participante tendr conocimientos sobre:
; Representacin de entidades con el modelo relacional.
; Representacin de relaciones.
; Representacin de relaciones recursivas.
La funcin de la normalizacin
Durante la fase de requerimientos, slo se estipula que una entidad es importante para el
usuario. No se intenta determinar si la entidad se acerca a los criterios de normalizacin, una
vez que se ha definido una afinidad para una entidad, debe examinarse de acuerdo con los
criterios de normalizacin.
Considere afinidad CLIENTE de la figura 4-3. Est en DK/NF? Para saberlo, es necesario
conocer las limitaciones de esta afinidad. Sin una descripcin completa de los requisitos
implcitos, no se conocen todas las limitaciones, ni todas las restricciones de dominio. Es
43
Modelamiento de
datos y diseo de BD
Manual del participante
posible descubrir algunos requisitos analizando los nombres de los atributos y conociendo la
naturaleza del negocio.
NmeroDeCliente determina todos los otros atributos, ya que pueden determinarse los valores
nicos de NombreDeCliente, Direccin, Ciudad, Estado, PersonaConLaQueSeHaceContacto y
Telfono, a partir de cierto valor de NmeroDeCliente.
Hay otras limitaciones que surgen de otras dependencias funcionales. CdigoPostal determina
Ciudad y PersonaConLaQueSeHaceContacto determina Telfono. Para crear un conjunto de
afinidades en DK/NF, es necesario hacer de estas dependencias funcionales adicionales una
consecuencia lgica de los dominios y las claves. Eso se logra definiendo las tres afinidades
que aparecen en la figura 4-3. Observe que la clave de CLIENTE es NmeroDeCliente, la clave
de CDIGOPOSTAL-TABLA es cdigoPostal y la clave de CONTACTO es
PersonaConLaQueSeHaceContacto.
El diseo de la figura 4-3 est en DK/NF y no hay anomalas de modificacin. Se pueden incluir
cdigos postales y personas encargadas nuevas sin tener que agregar un cliente con el nuevo
cdigo o persona encargada. Adems cuando se elimina el ltimo cliente en cierto cdigo
postal no se pierden la ciudad y el estado de tal cdigo postal.
Puede ser predefinida la afinidad CLIENTE original. Aun cuando contiene anomalas de
modificacin, tal vez no sean muy importantes. Si un CLIENTE, es probable que no se requiera
conservar el telfono de las personas con las que se hace contacto que pasan a otra
compaa. Es decir no necesita saber que el telfono de Jurez es 555-1234 si la compaa
para la que trabaja Jurez no es un cliente.
CLIENTE (NmeroDeCliente, Direccin, CdigoPostal, PersonaConLaQueSeHaceContacto)
CDIGOPOSTAL-TABLA (CdigoPostal, Ciudad)
CONTACTO (PersonaConLaQueSeHaceContacto, Telfono)
Limitaciones de interrelacin.
CdigoPostal en CLIENTE debe existir en CdigoPostal en CODIGOPOSTAL-TABLA
PersonaConLaQueSeHaceContacto en CLIENTE debe ser igual a
PersonaConLaQueSeHaceContacto en CONTACTO.
Fig. 4-3 Representacin de la entidad Cliente con Afinidades en DK/NF
44
Modelamiento de datos
y diseo de BD
Manual del participante
VENTAS-COMISION
(NmeroDeVendedor,
NombreDeVendedor,
Telfono,
NmeroDeCheque, FechaDeCheque, PeriodoDeComisin, TotalDeVentasPorComisin,
CategoraDelPresupuesto)
Dependencias funcionales:
NmeroDeCheque es clave
NmeroDeVendedor determina NombreDeVendedor, Telfono, CategoriaDelPresupuesto
(NmeroDeVendedor, PeriodoDeComisin) determina
totalDeVentaProComisin, Comisin
Fig. 4-5 Representacin de VENTAS-COMISION con una afinidad nica
45
Modelamiento de
datos y diseo de BD
Manual del participante
1:N
FACTURA
ARTICULO-DE-LINEA
Para una entidad dbil dependiente es necesario agregar de la entidad padre a la afinidad de la
entidad dbil y este atributo incorporado se vuelve parte de la clave de la entidad dbil. En la
figura 4-9 se ha agregado NmeroDeFactura, la clave de FACTURA, a los atributos en
ARTICULO-DE-LINEA. La clave de ARTICULO-DE-LINEA es el objeto compuesto
(NmeroDeFactura, NmeroDeLnea).
Representaciones de relaciones
Se tienen las siguientes representaciones:
46
Modelamiento de datos
y diseo de BD
Manual del participante
Para una relacin 1:1, la clave de una tabla se coloca como clave ajena en la otra. En la figura
4-11 la clave ajena NmeroDeEmpleado se coloca en AUTO. Con tal diseo, es posible pasar
EMPLEADO a AUTO o de AUTO a EMPLEADO. En el primer caso, tenemos un empleado y
deseamos el auto asignado a tal trabajador. Para obtener sus datos, usamos
NmeroDeEmpleado y as obtener la hilera del empleado en EMPLEADO. De est hilera,
tomamos el NmeroDeLicencia del auto asignado a tal empleado. Despus, se usa este
nombre para buscar los datos del automvil en AUTO.
Consideramos ahora la otra direccin. Suponga que se tiene un auto y deseamos conocer al
empleado asignado a tal vehculo. Usando el diseo de la figura 4-11 se accede la tabla
EMPLEADO y se busca la hilera que posee el nmero de licencia determinado. En tal hilera
aparecen los datos del empleado que se ha asignado a tal auto.
EMPLEADO
1:1
AUTO
Se realizan acciones similares para pasar en cualquier direccin para el diseo alternativo, en
el cual la clave ajena NmeroDeLicencia se coloca en EMPLEADO. Usando este diseo, para
ir de EMPLEADO a AUTO y se busca la hilera en AUTO que tiene cierto empleado como valor
de NmeroDeEmpleado. Para pasar de AUTO a EMPLEADO se busca la hilera en AUTO que
posee cierto NmeroDeLicencia. De esta hilera se toma el NmeroDeEmpleado y se usa para
acceder los datos de empleado en EMPLEADO. El uso del trmino buscar quiere decir
encontrar cierta hilera, dado un valor de una de sus columnas.
Aunque los dos diseos de las figuras 4-11 y 4-12 son equivalentes en lo conceptual, en su
funcionamiento son diferentes. Si una consulta es una direccin es ms comn que una
consulta en otra, es posible que se prefiera un diseo a otro. Asimismo, si el producto DBMS es
mucho ms rpido en bsquedas de claves primarias que en bsquedas de claves ajenas,
tambin se puede elegir un diseo sobre otro.
EMPLEADO (NumeroDeEmpleado, NombreDeEmpleado, Telfono,....)
AUTO(NumeroDeLicencia, NumeroDeSerie, Color, Marca, Modelo,.NumeroDeEmpleado)
Fig. 4-11 Colocacion de la clave de EMPLEADO en AUTO
La figura 4-13 muestra otra relacin 1:1 en la cual cada EMPLEADO posee una EVALUACINDE-EMPLEO y cada EVALUACIN-DE-EMPLEO correspondiente a un empleado particular.
Por las marcas transversales se aprecia que la relacin es obligatoria en ambas direcciones. Es
probable que los registros describan aspectos diferentes de la misma entidad porque ambas
entidades tienen la misma clave. Cuando esto ocurre los registros deben combinarse en una
afinidad. Considere usted con muchas reservas tales relaciones obligatorias 1:1.
La separacin de una entidad en dos afinidades, en ocasiones puede justificarse. Una
justificacin se refiere al desempeo. Supongo que los datos de EVALUACIN-DE-EMPLEO
son extensos y se emplean con mucha menos frecuencia que el resto de la informacin sobre
empleados. En tales circunstancias, puede ser conveniente almacenar la informacin de
EVALUACIN-DE-EMPLEO en una tabla separada, de modo que se procesen con mayor
Programa Nacional de Informtica
47
Modelamiento de
datos y diseo de BD
Manual del participante
EMPLEADO
1:1
EVALUACION DE EMPLEO
Otra razn para dividir los dos registros es una mayor seguridad. Si el DBMS no da soporte la
seguridad a nivel de elementos de datos, puede ser necesario separar los datos de
EVALUACIN-DE-EMPLEO para evitar que los consulten usuarios no autorizados. Puede ser
conveniente colocar EVALUACIN-DE-EMPLEO en una tabla separada en un medio de disco
que se guarde en una seccin especial bajo clave.
Por este anlisis no se apresure a deducir que todas las relaciones 1:1 son inadecuadas; slo
son cuestionables aquellas que parecen describir distintos aspectos de la misma entidad. Es
muy conveniente la relacin 1:1 obligatoria entre EMPLEADO y AUTO, porque cada afinidad
describe una entidad diferente.
48
Modelamiento de datos
y diseo de BD
Manual del participante
PROFESOR
ESTUDIANTE
1:1
DORMITORIO
ESTUDIANTE
1:1
DORMITORIO
1:1
ESTUDIANTE
PROFESOR
NombreDeProfesor
Telfono
Departamento.
ESTUDIANTE
NmeroDeEstudiante NombreDeEstudiante DireccinDeUniversidad NombreDeProfesor
Fig. 4-17 Representacin relacional de las entidades PROFESOR y ESTUDIANTE
49
Modelamiento de
datos y diseo de BD
Manual del participante
Estado
CdigoPostal
CITA
NmeroDeCliente
Fecha
Hora
Costo
50
Modelamiento de datos
y diseo de BD
Manual del participante
ESTUDIANTE
CLASE
M:N
100
Arce, Leslie
100
10
10
Contabilidad
200
Palmer, Pablo
200
10
20
Finanzas
300
Milla, July
200
30
30
Mercadotecnia
300
30
40
Base de Datos
300
40
ESTUDIANTE
CLASE
NmeroDeEstudiante NombreDeEstudiante
NmeroDeClase
NmeroDeEStudiante
NombreDeClase
NumeroDeClase
51
Modelamiento de
datos y diseo de BD
Manual del participante
Considere usted primero la relacin PATROCINADOR de la figura 4-23, igual que con las
relaciones 1:1, una persona puede patrocinar a otra y cada persona es patrocinada por no ms
de una persona.
Para representar relaciones recursivas 1:1, se adopta un enfoque casi idntico al que se
emplea para relaciones regulares 1:1 es posible colocar la clave de la persona que se patrocina
en la hilera del patrocinador o poner la clave del patrocinador en la hilera de la persona que se
patrocina. La figura 4-24 muestra la primera alternativa, y la figura 4-25 incluye la segunda.
Ambas funcionan y la eleccin depende de aspectos tales como el rendimiento.
PATROCINADOR
1:1
PERSONA
Fig. 4-23 Relacin recursiva 1:1.
RECOMENDADO POR
1:N
CLIENTE
Fig. 4-24 Relacin recursiva 1:N.
TRATADO POR
N:M
DOCTOR
Fig. 4-25 Relacin recursiva N:M.
En esta tcnica es idntica a las que se emplea para relaciones no recursivas 1:1. Las hileras
hija y padre residen en la misma afinidad.
52
Modelamiento de datos
y diseo de BD
Manual del participante
Representacin de subtipos
La estrategia para representar subtipos o relaciones ES-UN. Considere el ejemplo CLIENTE
con los atributos NmeroDeCliente, NombreDeCliente y CantidadAdeudada. Suponga que hay
tres subtipos de CLIENTE, por ejemplo, CLIENTE-PERSONA, CLIENTE-SOCIEDAD, y
CLIENTE-EMPRESA, con los siguientes atributos.
CLIENTE-PERSONA: Direccin, NmeroDeSeguroSocial.
CLIENTE-SOCIEDAD:NombreDelSocioAdministrador,Direccin, NmeroDeIdentificacinFiscal.
Para representar esta estructura por medio de afinidades, se define una afinidad para el
supertipo (CLIENTE) y otra para cada subtipo. Se coloca despus cada uno de los atributos del
supertipo en la afinidad que lo representan. En este punto, las afinidades subtipo no tienen una
clave. Para crearla se agrega la clave del supertipo o NmeroDeCliente a cada uno de los
subtipos. La lista final de afinidad es:
CLIENTE (NmeroDeCliente, NombreDeCliente, CantidadAdeudada)
CLIENTE-PERSONA (NmeroDeCliente, Direccin, NmeroDeSeguroSocial)
CLIENTE-SOCIEDAD
(NmeroDeCliente,
NmeroDelidentificacinFiscal)
CLIENTE-EMPRESA (NmeroDeCliente,
NmeroDelidentificacinFiscal)
NombreDelSocioAdministrador,
Direccin,
PersonaConQuienSeHaceContrato,
Telfono,
Observe usted que con esta estructura la relacin entre una hilera en CLIENTE y una hilera en
uno de los subtipos es 1:1. Ningn cliente tiene ms de una hilera en una afinidad subtipo y
cada subtipo corresponde slo a una hilera del supertipo. Dependiendo de las restricciones de
la aplicacin sera posible que una hilera en CLIENTE correspondiera con varias hileras, cada
una de un subtipo distinto. Pero ninguna hilera de CLIENTE puede corresponder a ms de una
hilera en la misma afinidad subtipo.
Es posible que uno o ms de los subtipos tengan una clave propia. La aplicacin puede
solicitar que NmeroDeClienteEmpresa sea distinto de NmeroDeCliente. En este caso, la
clave de CLIENTE-EMPRESA es NmeroDeClienteEmpresa. Dado que la relacin entre
CLIENTE y CLIENTE-EMPRESA es 1:1, puede establecer colocando la clave de una en la otra.
Con ms frecuencia y por cuestiones estticas, se prefiere colocar la clave de la afinidad
supertipo. En tal caso, la estructura de CLIENTE-EMPRESA es:
CLIENTE-EMPRESA (NmeroDeClienteEmpresa, NmeroDeCliente.
PersonaConQuienSeHaceContrato, Telfono, NmeroDeIdentificacinFiscal)
Ejemplo
El siguiente diagrama E-R contiene los elementos empleados en los diagramas E-R. Para
representar este diagrama mediante afinidades, se comienza por establecer una afinidad por
cada entidad. Se supone que las claves son las siguientes:
AFINIDAD
CLAVE
EMPLEADO
NumeroDeEmpleado
INGENIERO
NumeroDeEmpleado
CAMION
NumeroDeLicencia
SERVICIO
NumeroDeFactura
CLIENTE
NumeroDeCliente
INGENIERO-CERTIFICACION
(Empleado, NombreDeCertificacion)
CERTIFICACION
NombreDeCertificacion
53
Modelamiento de
datos y diseo de BD
Manual del participante
EMPLEADO
CAMION-ASIGNACION
CAMION
INGENIERO
1:1
INGENIERO-HABILIDAD
SERVICIO-PROVEEDOR
1:N
1:N
SERVICIO
N:M
TARIFA
INGENIEROCERTIFICACION
CLIENTE-SERVICIO
N:1
CALIFICACIN-INGENIERO
CLIENTE
CERTIFICACION
1:N
RECOMENDADO POR
otros
atributos
de
CAMION
que
no
son
de
clave
otros
atributos
de
CLIENTE
que
no
son
de
clave,
otros
atributos
que
no
son
clave
de
Modelamiento de datos
y diseo de BD
Manual del participante
Preguntas de repaso
1.
2.
3.
Liste los tres tipos de relaciones binarias y proporcione un ejemplo de cada uno
4.
5.
6.
7.
Para una relacin 1:N explique por que debe colocar la clave del padre en el hijo, en
lugar de incorporar la clave del hijo en el padre.
55
Modelamiento de
datos y diseo de BD
Manual del participante
56
Modelamiento de datos
y diseo de BD
Manual del participante
Anexo
Presentacin de casos prcticos
para
La empresa organiza cursos internos de formacin de los que se desea conocer el cdigo de
curso, el nombre, descripcin, el nmero de horas de duracin y el coste del curso.
Un curso puede tener como prerrequisito haber realizado otros previamente y a su vez la
realizacin de un curso puede ser prerrequisito de otros. Un curso que es un prerrequisito de
otro puede serlo de forma obligatoria o solo recomendable.
Un mismo curso tiene diferentes ediciones es decir se imparte en diferentes lugares, fechas y
con diferentes horarios (intensivos de maana o de tarde). En una misma fecha de inicio solo
puede impartirse una edicin de un curso.
Los cursos se imparten por personal de la propia empresa.
De los empleados se desea almacenar su cdigo de empleado, nombre y apellidos, direccin,
telfono, fecha de nacimiento, nacionalidad, sexo, firma y salario as como si esta capacitado
para impartir cursos.
Un mismo empleado puede ser docente en una edicin de un curso y alumno en otra edicin,
pero nunca puede ser ambas cosas a la vez (en una misma edicin de curso o lo imparte o lo
recibe)
Requerimientos
Reglas de Negocio
Curso
Edicin
Empleado
57
Modelamiento de
datos y diseo de BD
Manual del participante
Capacitado
No Capacitado
Relaciones
N:M
CURSO
prerrequisito
CURSO
1:N
EDICION
EDICION
58
N:M
EMPLEADO
Modelamiento de datos
y diseo de BD
Manual del participante
N:M
EDICION
N:1
EMPLEADO
CAPACITADO
NO CAPACITADO
Propuesta de Solucin
La propuesta de solucin se obtendra agrupando las soluciones parciales obtenidas:
Prerrequisito
N:M
CURSO
1:N
N:M
EDICION
N:1
EMPLEADO
CAPACITADO
NO CAPACITADO
59
Modelamiento de
datos y diseo de BD
Manual del participante
Leccin privada.
Leccin en grupo.
Maestro.
Baile.
Cliente.
Es evidente que los nombres leccin privada en grupo denotan algo en comn, al igual que los
nombres maestro, maestro de tiempo completo y maestro por horas. Una solucin es definir
una entidad LECCIN, con subtipos LECCIN-PRIVADA y LECCIN-DE-GRUPO y otra
entidad MAESTRO, con subtipos MAESTRO-DE-TIEMPO-COMPLETO y MAESTRO-PORHORAS. Las entidades adicionales son BAILE y CLIENTE.
Relaciones
MAESTRO
tiene
dos
entidades
subtipo,
MAESTRO-DE-TIEMPO-COMPLETO
debe ser de uno o de otro; los subtipos son mutuamente excluyentes.
Despus se deben considerar las relaciones entre MAESTRO y LECCIN-PRIVADA y
LECCIN-EN-GRUPO. Un MAESTRO puede ensear mltiples LECCIONES-PRIVADAS y
una LECCIN-PRIVADA es impartida por un solo MAESTRO. Sin Embargo, un anlisis ms
detallado con los administradores del JK revela que, para los bailarines avanzados (en especial
los que se preparan para competencias), participan dos maestros en una leccin privada. La
60
Modelamiento de datos
y diseo de BD
Manual del participante
leccin entre MAESTRO y LECCIN-PRIVADA debe ser muchos a muchos. Se supone que
slo un MAESTRO participa en una leccin de grupo.
LECCIN EN
GRUPO
LECCIN
PRIVADA
1:N
N:2
MAESTRO
MAESTRO DE
TIEMPO COMPLETO
MAESTRO
POR HORAS
Entre los CLIENTES, stos pueden tomar LECCIONES-PRIVADAS o LECCIONES-ENGRUPO. En ocasiones, una leccin la toma slo una persona y a veces una pareja. Esta
situacin puede modelarse en dos formas. Definirse como una entidad PAREJA, y tener una
relacin uno a dos con CLIENTE, o que CLIENTE o PAREJA tengan una relacin con
LECCIN-PRIVADA. Se supone que las parejas no toman lecciones en grupo y que, si lo
hacen, no es importante almacenar tal hecho en la base de datos.
La existencia de LECCIN-PRIVADA depende de cliente o pareja. Esto es, una leccin no
puede existir a menos que se proporcione a un CLIENTE o una PAREJA.
61
Modelamiento de
datos y diseo de BD
Manual del participante
2:1
CLIENTE
1:N
PAREJA
N:1
LECCIN
PRIVADA
N:M
LECCIN
EN GRUPO
CLIENTE
2:N
LECCIN
PRIVADA
N:M
LECCIN
EN GRUPO
Modelamiento de datos
y diseo de BD
Manual del participante
CLIENTE
2:N
N:M
LECCIN
PRIVADA
LECCIN EN
GRUPO
1:N
MAESTRO
N:2
MAESTRO DE
TIEMPO
COMPLETO
N:M
BAILE
MAESTRO POR
HORAS
63
Modelamiento de
datos y diseo de BD
Manual del participante
Cundo se evala un modelo de datos E-R, se formulan tales preguntas y se muestran a los
usuarios para pedirles que hagan su propia lista de preguntas. Sus preguntas se prueban
contra el diseo para verificar si son apropiadas. Suponga usted que los usuarios preguntaron
cules clientes asistieron al baile del viernes en la noche de la semana anterior. Los
diseadores del modelo de datos de la figura 3 llegaran a la conclusin que su diseo no fue
correcto, debido a que no es posible responder a esta pregunta usando su modelo. Si es
necesaria una respuesta, entonces debe estructurarse una relacin entre CLIENTE y BAILE.
Resulta evidente que un proceso estructurado con tan escaso rigor no puede usarse para
comprobar que un diseo es correcto. Slo es una tcnica para verificar la exactitud potencial
de un diseo. Y es mejor que no hacer ninguna evaluacin.
64
Modelamiento de datos
y diseo de BD
Manual del participante
CASOS PROPUESTOS
CASO: Campeonato de Ajedrez
Enunciado
La Federacin Peruana de ajedrez, ha sido encargada por la Federacin Internacional de
Ajedrez de la organizacin de los prximos campeonatos mundiales que se celebraran en la
ciudad de Lima. Por este motivo, desea llevar a una base de datos de toda la gestin relativa a
participantes, alojamiento y participantes, alojamiento y partidas. Teniendo en cuenta que:
En el campeonato participan jugadores y rbitros; de ambos se requiere conocer el nmero de
asociado, nombre, direccin, telfono de contacto y campeonatos en los que han participado
(como jugador o como rbitro). De los jugadores se precisa adems el nivel del juego en una
escala de 1 a 10.
Ningn rbitro puede participar como jugador.
Los pases envan al campeonato un conjunto de jugadores y rbitros, aunque ni todos los
pases envan participantes. Todo jugador y rbitro es enviado por un nico pas. Un pas
puede ser representado por otro pas.
Cada pas se identifica por un nmero correlativo segn su orden alfabtico e interesa conocer
adems de su nombre, el nmero de clubes de ajedrez existentes en el mismo.
Cada partida se identifica por un nmero correlativo (Cd_P), la juegan dos jugadores y la
arbitra un rbitro. Interesa registrar las partidas que juegan cada jugador y el color (blancas o
negras) con el que juega. Ha de tenerse en cuenta que un rbitro no puede arbitrar a jugadores
enviados por el mismo pas que le ha enviado a l.
Todo participante participa en al menos una partida:
Los jugadores como rbitros se alojan en uno de los hoteles en los que se desarrollan las
partidas, se desean conocer en qu hotel y en qu fecha se ha alojado cada uno de los
participantes. Los participantes pueden no permanecer en Lima durante todo el campeonato,
sino acudir cuando tienen que jugar alguna partida alojndose en el mismo o distinto hotel. De
cada hotel, se desea conocer el nombre, la direccin y el nmero de telfono.
El campeonato se desarrolla a lo largo de una serie de jornadas (Ao, mes, da) y cada partida
tiene lugar en una de las jornadas aunque no tengan lugar partidas todas las jornadas.
Cada partida se celebran en una de las salas de las que pueden disponer los hoteles, se desea
conocer el nmero de entradas vendidas en la sala para cada partida. De cada sala, se desea
conocer la capacidad y medios de que dispone (radio, televisin, vdeo...) para facilitar la
retransmisin de los encuentros. Una sala puede disponer de varios medios distintos.
De cada partida se pretende registrar todos los movimientos que la componen, la identificacin
de movimiento se establece en base a un nmero de orden dentro de cada partida: para cada
movimiento se guardan la jugada (5 posiciones) y un breve comentario realizado por un
experto.
65
Modelamiento de
datos y diseo de BD
Manual del participante
total de paneles solares, la media anual de horas de sol y tipo (fotovoltaica o termodinmica).
De una central nuclear, no interesa saber el nmero de reactores que posee, el volumen de
plutonio consumido y el de residuos nucleares que produce. De una central trmica, nos
interesa saber el nmero de hornos que posee, el volumen de carbn consumido y el volumen
de su emisin de gases.
Por motivos de seguridad nacional interesa controlar de que se provee una central nuclear,
este control se refiere a la cantidad de plutonio que compra a cada uno de sus posibles
suministradores, (nombre y pas), y que porta un determinado transportista (nombre y
matrcula), se ha de tenerse en cuneta que el mismo suministrador puede vender plutonio a
distintas centrales nucleares y que cada porte, (un nico porte por compra), puede realizarlo un
transportista diferente.
Cada da, los productores entregan la energa producida a una o varias estaciones primarias,
las cuales pueden recibir diariamente una cantidad distinta de energa de cada uno de estos
productores. Los productores entregan siempre el total de su produccin. Las estaciones
primarias se identifican por su nombre y tiene un nmero de transformadores de baja a alta
tensin y son cabecera de una o varias redes de distribucin.
Una rede de distribucin se identifica por un nmero de red y slo puede tener una estacin
primaria como cabecera. La propiedad de una red pude ser compartida por varias compaas
elctricas, a cada compaa elctrica se le identifica por su nombre.
La energa sobrante en una de las redes puede enviarse a otra red. Se registra el volumen de
energa intercambiada entre dos redes.
Una red esta compuesta por una serie de lneas, cada lnea se identifica por un nmero
secuencial dentro del nmero de red y tiene una determinada longitud. La menor de las lneas
posibles abastecer al menos a dos subestaciones.
Una subestacin es abastecida slo por una lnea y distribuye a una o varias zonas de
servicios, a tales efectos, las provincias (cdigo y nombre), se encuentran divididas en tales
zonas de servicio, aunque no puede haber zonas de servicio que pertenezcan a ms de una
provincia. Cada zona de servicio puede ser atendida por ms de una subestacin.
En cada zona de servicio se desea registrar el consumo medio y el nombre de consumidores
finales de cada una de las siguientes categoras particulares, empresas e instituciones.
Modelamiento de datos
y diseo de BD
Manual del participante
67
Modelamiento de
datos y diseo de BD
Manual del participante
68