6 Version Electronica de Una Revista
6 Version Electronica de Una Revista
6 Version Electronica de Una Revista
de datos
Zea Ordoñez Mariuxi, Honores Tapia Joofre, Rivas Asanza Wilmer
COORDINACIÓN EDITORIAL
VICERRECTORADO ACADÉMICO
ISBN: 978-9942-24-074-3
Portada:
Concepto editorial
Samanta Cabezas (est. Comunicación Social)
Fotografía: Dir. de Comunicación UTMACH
PREFACIO........................................................................... 17
PRÓLOGO............................................................................ 19
DEDICATORIA..................................................................... 21
INTRODUCCIÓN.................................................................. 23
1. BASE DE DATOS RELACIONALES................................... 25
1.1. Generalidades de bases de datos................................... 26
1.2. Ejemplificación.............................................................. 27
1.3. Concepto de modelos de datos. Funciones y
sublenguajes........................................................................ 29
1.3.1. Diseño de los sistemas de bases de datos................... 31
1.3.2. Funciones de un SGBD.............................................. 31
1.4. Clasificación de los varios tipos de diseño de datos de
acuerdo al nivel de abstracción............................................ 33
1.4.1. Modelos de datos conceptuales................................... 33
1.4.2. Modelos de datos lógicos............................................ 35
1.4.3. Modelos de datos físicos............................................. 37
1.5. Enumeración de las reglas de Codd para un sistema
relacional..............................................................................38
2. DESCRIPCIÓN Y APLICACIÓN DEL MODELO
ENTIDAD-RELACIÓN PARA EL MODELADO DE DATOS....... 43
2.1. Proceso de realización de modelo entidad - relación....... 44
2.2. Elementos..................................................................... 44
2.2.1. Entidad...................................................................... 44
2.2.2. Relación..................................................................... 45
8 Segura M, Lam A, García C
[17]
Prólogo
Hoy en día las bases de datos han tomado gran importancia mundial,
es totalmente indispensable para las organizaciones puesto que brinda
mucha facilidad en el acceso a la información y una gran capacidad de
almacenaje de datos.
Es por este motivo que resulta muy grato dar a conocer este libro
que se titula “FUNDAMENTOS DE BASES DE DATOS”, el mismo que
ha sido creado para orientar a cualquier persona: desde un estudiante
en sus primeros pasos en el aprendizaje del mundo de la base de datos,
hasta un profesional ávido de nuevos conocimientos.
Con este libro se pretende que el lector pueda despejar toda clase de
interrogantes acerca de bases de datos y le permita familiarizarse rá-
pidamente con su contenido, no solo teórico sino también práctico me-
diante una serie de ejercicios.
La estructura de este libro está sujeta a un sinnúmero de temas,
los mismos que se encuentran organizados en 4 capítulos, cuyo con-
tenido se presenta de manera clara y precisa. Cada capítulo es suma-
mente importante en el proceso de aprendizaje de las bases de datos.
Los temas de este libro versan sobre las bases de datos relacionales y el
modelado de datos, cada uno con definiciones claras y entendibles, así
mismo reglas de transformación totalmente necesarias para crear un
modelado relacional y además el modelo orientado a objetos.
El objetivo del libro es lograr que cada lector enriquezca sus co-
nocimientos con los temas plasmados en cada capítulo, y servir como
ayuda didáctica a cientos de docentes en el área de bases de datos.
[19]
Dedicatoria
[21]
Introducción
[23]
24 Zea M, Honores J, Rivas W
[25]
26 Zea M, Honores J, Rivas W
1.2. Ejemplificación
de los datos, por lo cual se debe cumplir con las reglas de negocio que
establece la empresa. Además, un aspecto importante a considerar
es la privacidad de la base de datos, al hablar de privacidad estamos
hablando de los permisos o privilegios que se le otorgan a cada uno de
los empleados de una empresa, ya que eso depende las acciones u ope-
raciones que ellos puedan realizar dentro de la base de datos.
La disponibilidad también es un elemento fundamental de la base
de datos, ya que permite a los usuarios y aplicaciones manipular per-
FUNDAMENTOS
manentemente la información DE BASE DE DATOS
de una organización. 2015
Tabla Empleados
1 1 1 1
1
codi&o mombre 1eaero carso
- -+ Atributos
}
1000 Andrea Pineda Femenino Gerente de operaciones
Claves
Uno nuestra
Al diseñar de losbaseelementos primordiales
de datos indicamos de con
las tablas lassus
tablas son las
respectivos claves,
campos unade dato
y el tipo
que leclave
corresponde a cada
aspirante deuno
una derelación
ellos, como, por conjunto
es un ejemplo, al de
definir el código
atributos que debe ser de tipo
repre-
string sentan
(cadena) uncon valor
un tamaño
único de de
caracteres
cada filaasignado
de lapor el administrador
relación, lo cualsegún
quiere las decir
políticas del
negocio,
queelnonombre
podrácon un tamaño
haber en unade treinta caracteres,
relación más de una el género
fila concon
el un tamaño
mismo de nueve
valor
caracteres y
único. el cargo con un tamaño de cuarenta caracteres.
Una base de datos relacional debe garantizar la integridad y calidad de los datos, por lo cual se
Una relación posee más de una clave aspirante o candidata, las
debe cumplir con las reglas de negocio que establece la empresa. Además, un aspecto importante a
cuales pueden ser clave principal y claves alternativas, o denominadas
considerar es la privacidad de la base de datos, al hablar de privacidad estamos hablando de los
porootros
permisos autores
privilegios como:
que se candidata,
le otorgan externa
a cada uno o secundaria.
de los empleados de una empresa, ya que eso
depende las acciones u operaciones que ellos puedan realizar dentro de la base de datos.
La disponibilidad también es un elemento fundamental de la base de datos, ya que permite a los
usuarios y aplicaciones manipular permanentemente la información de una organización.
Claves
Uno de los elementos primordiales de las tablas son las claves, una clave aspirante de una relación
Base de datos relacionales 29
lidad, así mismo la definir las particularidades de tipo físico y las vistas
de los usuarios. Por lo que se da el uso de un lenguaje de definición de
datos (DDL) el cual provee precisar las estructuras físicas, lógica global
y externas, proporcionados a cada uno de los niveles del diseño.
~y AUTOR ~
M•~Y~ LIBRO ~
~(1.1)~
DI
~
(l.m) /~
e
EJEMPLAR
Autor Libro
M N
Códioo ~
Nombre lítulo
ISBN
1 Editolial
Páginas
SolicitarPrestamo()
.M 1 OevOlución()
Detalle .
Fech_dev
Fech_Pres 1
N • -
-
1
Usuario -• M
M N
Código ~~ Ejemplar
Nombre ' Códjgo
Teléfono Localización
Dirección
modelo relacional.
Figura. 3: Diagrama de clases para una biblioteca.
1.4.2.1. Modelo jerárquico
1.4.2. Modelos de datos lógicos
Este modelo usasonuna
Estos modelos estructura
usados en forma
para crear un diseño lógico quede árbol,
represente en la cual
la estructura la baseel
de padre
datos
puede que se va a diseñar. Un diseño lógico parte del diseño conceptual. Existen tres modelos de datos
poseer cualquier número de hijos, pero un hijo solo puede tener
lógicos: el modelo jerárquico, modelo en red y el más usado en la actualidad el modelo relacional.
un padre.
1.4.2.1. Modelo jerárquico
Este modelo usa una se
A continuación, estructura
mostraráen formael
de ejemplo
árbol, en la de
cual un
el padre puede poseer
diagrama decualquier
estruc-
número de hijos, pero un hijo solo puede tener un padre.
tura deA continuación,
árbol conse dos ejemplos de registros: sucursal y empleados,
mostrará el ejemplo de un diagrama de estructura de árbol con dos ejemplos de
en
donde registros:
variossucursal
empleados pueden
y empleados, tener
en donde varios muchos
empleados puedenhijos.
tener muchos hijos.
Sucursal
Oficina Empleado
¡
/Hijos~
1-Lu-is-Mo-rán~l
-1M-1-l-O1 Ana Morán 1 20 1 F 1
Oficina -----------;Emplead~
1 1
1 EloyAlfaro ~ lt <,
1-~1-~A~le~x~R~a~m~ó~n-~1~1~1
1 2 1 Fernando Morán 11 11 1 Lethy Blacio
t
1 Hijos
Localldad_Dtp
osa
41
1.4.3.Modelos
1.4.3. Modelos de de datos físicos físicos
datos
El diseño físico es la última etapa del diseño de una base de datos el cual consiste en crear en un
El SGBD
diseño los físico
elementosesque
laformarán
últimaparte etapa
de la del
base diseño deeluna
de datos. En caso base de datos
de una base de datos el
cual consiste en crear en un SGBD los elementos que formarán parte
relacional se debería crear tablas, disparadores, vistas, índices, etc.
de la base de datos. En el caso de una base de datos relacional se de-
bería crear tablas, disparadores, vistas, índices, etc.
Una base de datos relacional está compuesta por una o varias ta- 23
blas. Para la creación de una tabla mediante el lenguaje de definición
de datos se utiliza la instrucción CREATE TABLE. Es necesario definir
los atributos por los que estará compuesta una tabla como son: nom-
bre, tipo de datos y restricciones asociadas al atributo.
A continuación, veremos un ejemplo de cómo crear en el SGBD
Oracle la base de datos relacional, utilizando el mismo diseño lógico
que se muestra en la figura 2, para lo cual se utilizarían las siguientes
instrucciones CREATE TABLE:
create table Autor
(Código char (5) primary key,
38 Zea M, Honores J, Rivas W
[41]
Descripción y aplicación del modelo
entidad-relación para el modelado de
datos
[43]
44 Zea M, Honores J, Rivas W
Conjunto de Entidades
2.2.2. Relación
Se entiende por relación a la asociación o vínculo entre dos o más entidades, estableciendo
alguna interacción entre ellas. En el caso de un Curso y Alumno se establecería como
relación tiene para mostrar que los cursos tienen alumnos.
La representación gráfica de una relación es por medio de un rombo en el cual va el
coloca el nombre de la entidad. Ejemplo, entidad Producto.
2.2.2. Relación
Se entiende por relación a la asociación o vínculo entre dos o más en-
Figura. 7: Representación gráfica de una entidad
tidades, estableciendo alguna interacción entre ellas. En el caso de un
2.2.2. Relación
Curso y Alumno se establecería como relación tiene para mostrar que
Se entiende por relación a la asociación o vínculo entre dos o más entidades, estableciendo
los cursos tienen alumnos.
alguna interacción entre ellas. En el caso de un Curso y Alumno se establecería como
La representación gráfica de una relación es por medio de un rom-
relación tiene para mostrar que los cursos tienen alumnos.
bo en el cual va el nombre de la relación, asociadas de las entidades
La representación gráfica de una relación es por medio de un rombo en el cual va el
que forman parte de la relación. Para demostrar la representación
nombre de la relación, asociadas de las entidades que forman parte de la relación. Para
de la relación
demostrar se usará
la representación de el
la ejemplo
relación se dado
usaráanteriormente
el ejemplo dadoentre Curso yentre
anteriormente
Alumno. [5]
Curso y Alumno. [5]
CURSO ALUMNO
PERSONA
CURSO ALUMNO
AULA
Figura. 10: Relación ternaria
Figura. 10: Relación ternaria
ü Las relaciones poco usuales son las relaciones de grado 2, a diferencia de las
ü Las binarias
relaciones relaciones
quepoco usuales
son las son las relaciones
más utilizadas, de relaciones
le siguen las grado 2, areflexivas.
diferencia de las
• relaciones binarias que son las más utilizadas, le siguen
Tipo de correspondencia: Es el número de entidades en la que se puede asociar las relaciones reflexivas.
otra
Tipo de correspondencia: Es el número de entidades
entidad a través del conjunto de relaciones. Se clasifican en:
• en la que se puede asociar otra
ü entidad a través
1:1: Se del conjunto
da cuando de relaciones.
un registro de cada Se clasifican
entidad estáen:
relacionado con un único
ü Relaciones ternarias, cuaternarias, o de grado 3,4: Relaciones que asocian más de
dos entidades.
PERSONA USUARIO
MENÚ
____
atributos alternativos no se subrayan.
óvalos o círculos el nombre de los atributos de determinada entidad. El atributo
identificador principal se lo resalta mediante una línea de subrayado, mientras que los
atributos alternativos no se subrayan. ~/
Fecha
Nombre
PRODUCTO
También se puede representar colocando un círculo para cada atributo, el círculo rellenado
También se para
de negro será puede representar
el atributo colocando
identificador
Figura. principal,dey un
17: Representación círculo
el círculo
atributos vacíopara cada
será para atribu-
el atributo
identificador
to,También
el círculo alternativo.
rellenado
se puede decolocando
representar negro será parapara
un círculo el atributo identificador
cada atributo, prin-
el círculo rellenado
de negro
cipal, y elserá para el atributo
círculo identificador
vacío será para principal, y el círculo
el atributo vacío será para
identificador el atributo
alternativo.
identificador alternativo.
Fecha
Figura. 18: Representación de atributos alternativa
FACTURA
l:M O Nombre
32
32
Descripción y aplicación del modelo entidad-relación para el modelado de datos 49
En una relación reflexiva, decimos que muchos trabajadores tienen un solo jefe o no, y que
En una relaciónFigura. reflexiva, decimos
19: Representación que muchos
de cardinalidades trabajadores
en una relación binaria N:M. tienen un
un trabajador puede o no ser jefe de un trabajador.
solo jeferelación
En una o no, reflexiva,
y que un trabajador
decimos que muchos puede o no ser
trabajadores jefe
tienen un de
soloun
jefetrabajador.
o no, y que
un trabajador puede o no ser jefe de un trabajador.
Las relaciones ternarias o también conocidas como relaciones con grado mayor que 2,
Figura. 20: Representación de cardinalidades en una relación reflexiva N:M
representan la cardinalidad de manera diferente. En este caso tenemos la entidad: Curso,
Las relaciones
Aula y Alumnoternarias o también
las relaciones serían conocidas como relaciones con grado mayor que 2,
las siguientes:
representan la cardinalidad
§ Un Curso puede tenerdecomo
manera diferente.
mínimo En este caso
una impartición tenemos la entidad: Curso,
o varias.
Aula Alumno
§ y Un Aula las relaciones
puede albergarserían
variaslas siguientes: o una.
imparticiones
UnaCurso
§§ Un puede puede
impartición tener como mínimo
tener un unaalumnos.
o varios impartición o varias.
§ Un Aula puede albergar varias imparticiones o una.
§ Una impartición puede tener un o varios alumnos.
50 Zea M, Honores J, Rivas W
n n
AULA
Figura. 21: Representación de cardinalidades en una relación ternaria
2.3.2. Entidades
2.3.2. Entidades fuertes
fuertes y frágiles
y frágiles
Existen dos
Existen dostipos de
tipos entidades
de y estas
entidades
Figura. 21: Representación de son:
y estas son:
cardinalidades en una relación ternaria
• Entidades fuertes:
• Entidades fuertes: Se representa Se representa con uncon rectángulo dentro del dentro
un rectángulo cual se coloca el
del cual
nombre de la entidad. También conocida como entidad regular la cual es posible
2.3.2.se colocafuertes
Entidades el nombre de la entidad. También conocida como entidad
y frágiles
identificarla unívocamente por cada uno de sus atributos.
Existen dos
regular tipos de entidades
la cual y estas
es posible son:
• Entidades frágiles: Este tipoidentificarla unívocamente
de entidad se caracteriza por no serporidentificada
cada uno
• deEntidades
sus fuertes:
atributos. Se representa con un rectángulo dentro del cual se coloca el
unívocamente por sus atributos y que no puede existir sin ser parte de una relación.
nombre de la entidad. También conocida como entidad regular la cual es posible
• EntidadesSe la representa gráficamente
frágiles: Este tipomediante un doble rectángulo
de entidad y dentro depor
se caracteriza él nombre
no ser
identificarla unívocamente por cada uno de sus atributos.
de la entidad. [10]
• identificada unívocamente
Entidades frágiles: Este tipo depor susseatributos
entidad caracteriza yporque no no
ser puede existir
identificada
sin ser partepordesusuna
unívocamente relación.
atributos y que noSepuedela existir
representa gráficamente
sin ser parte de una relación.me-
Se la representa
diante un doble gráficamente
rectángulo mediante un doble
y dentro de rectángulo
él nombre y dentro
de ladeentidad.
él nombre[10]
1
de la entidad. [10]
Figura. 22: Representación gráfica de una entidad frágil.
De igual manera podemos encontrar tipos de relaciones dependiendo de las entidades que
[PRÉSTAMO
se asocien, tenemos a las relaciones habituales y frágiles.
• Relaciones Figura.
habituales:
22: Representación gráficaentidades
Relaciones entre habituales.
de una entidad frágil.
• Relaciones frágiles: Relaciones entre entidades frágiles y habituales. Se
De igual manera podemos encontrar tipos de relaciones dependiendo de las entidades que
De igual subdividen
manera en:podemos encontrar tipos de relaciones dependiendo
se asocien, tenemos a las relaciones habituales y frágiles.
ü Dependencia
de •lasRelaciones
entidades en identificar:
que seRelaciones
asocien, Se da cuando
tenemos lassolo es posible habituales
identificar las y
habituales: entre entidadesa habituales.
relaciones
ocurrencias de entidades frágiles con el atributo identificador principal de
frágiles.
• Relaciones frágiles: Relaciones entre entidades frágiles y habituales. Se
una entidad habitual. Ejemplo: Préstamo – Pago, la entidad Pago es una
subdividen en:
entidad habitual y no permitirá realizar un pago sino se cuenta con el
ü Dependencia en identificar: Se da cuando solo es posible identificar las
identificador principal de la entidad Préstamo.
ocurrencias de entidades frágiles con el atributo identificador principal de
una entidad habitual. Ejemplo: Préstamo – Pago, la entidad Pago es una
entidad habitual y no permitirá realizar un pago sino se cuenta con el
identificador principal de la entidad Préstamo.
Descripción y aplicación del modelo entidad-relación para el modelado de datos 51
PAGO
PRÉSTAMO
Figura. 24: Dependencia en existencia
Atributos en relaciones
2.3.3.
Un 2.3.3.
atributo puede serenparte
Atributos tanto de una entidad como de una relación. Su representación
relaciones
es igual a la representación
Un atributo puede ser parte de tanto
los atributos de las entidades,
de una entidad como de una cada relaciónSupuede
relación. tener
representación
atributos
es igualasociados. Por ejemplo,deenlos
a la representación el caso que se
atributos de desee la cantidad
las entidades, de productos
cada de unatener
relación puede
factura de unasociados.
atributos cliente, el Por
atributo cantidad
ejemplo, de laque
en el caso factura debería
se desee colocarse
la cantidad de en la relación
productos de una
52 Zea M, Honores J, Rivas W
__
PRODUCTO
~
/~
~
Figura. 25: Relación N:M con atributo.
Se
Se puede fijar
puede fijar atributos
atributos a relaciones
a relaciones 1,1 o 1,N, a1,1 o 1,N,dea las
cualquiera cualquiera
entidades quedeselas en-
encuentren asociadas. En la relación “tiene”, la entidad Curso
tidades que se encuentren asociadas. En la relación “tiene”, la el y Alumno se agregará entidad
Se puede
atributo fijar atributos
dirigente a relaciones
en la relación “tiene”,1,1 o 1,N,
ya que cadaacurso
cualquiera de las entidades
tiene designado que se
un dirigente.
Curso y Alumno se agregará el atributo dirigente en la relación “tiene”,
encuentren asociadas. En la relación “tiene”, la entidad Curso y Alumno se agregará el
[8]
ya que dirigente
atributo cada curso tiene designado
en la relación “tiene”, ya que uncada
dirigente.
curso tiene[8]
designado un dirigente.
[8]
Dirigente
EMPLEADO
1 1 1
doc_codigo
~ ~ ~
Figura. 27: Representación de Herencia
1 1 1 1
~ ~ ~ ~
Figura. 28: Jerarquía de tipos subtipos total y exclusiva
2.3.5. Agregación
El modelo entidad – relación no permite crear relaciones entre relaciones, es decir no admite crear
relación entre relación y entidad, es por esta razón que recibe el concepto de agregación.
La agregación permite crear a partir de más de dos entidades y una relación que las asocia entre sí,
54 Zea M, Honores J, Rivas W
3.5. Agregación
El modelo entidad – relación no permite crear relaciones entre relacio-
nes, es decir no admite crear relación entre relación y entidad, es por
esta razón que recibe el concepto de agregación.
La agregación permite crear a partir de más de dos entidades y una
relación que las asocia entre sí, una entidad de nivel mucho más alto.
Logrando a partir de objetos elementos, crear objetos compuestos. [12]
Un ejemplo de relación N,M tenemos las entidades Estudiante,
Curso y Acta de Notas, las cuales muestran que algunos estudiantes
se han matriculado en un curso y muestra en qué fecha y en qué esta-
do se encuentra la matrícula. Para relacionar las entidades Estudiante
y Curso se instaura la relación se matricula y la relación se registra que
asociará a la entidad Acta de Notas.
Una manera de representar este diagrama es envolviendo en un
rectángulo las entidades y relaciones que deseamos asociar (Estudian-
te, Curso, se matricula) FUNDAMENTOS
a través de una DE BASE
nueva que la2015
DE DATOS
relación llamare-
mos
matrícula.
Matricula
l:M O:N
ESTUDIANTE CURSO
ACTA DE NOTAS
Figura. 30:
2.4.1. Reglas concernientes alEsquema
modelo ejemplo de ER
entidad - relación básico
2.4.1.1. Transformación de entidades
Para transformar una entidad del modelo entidad – relación al modelo
relacional, cada una de las entidades pasarán como relaciones al mo-
delo relacional. 38
En En
el el
caso
casodede una relación
una relación reflexiva,
reflexiva, demanera
de igual igualsemanera
creará unasenueva
creará
tablauna
con las
nueva tabla con las claves principales de cada entidad asociada. Enque
claves principales de cada entidad asociada. En el siguiente ejemplo se muestra el un
menú puede dividirse en algunos submenús y dicho submenú puede constar en varios
siguiente ejemplo se muestra
menús. [14]
FUNDAMENTOS
que un menú DEpuede
BASE dividirse
DE DATOS 2015
en algunos
submenús y dicho submenú puede constar en varios menús. [14]
--------. l:M
39
MENÚ
La
La nueva tabla
nueva tabla creada
creada constará constará de claves
de claves secundarias secundarias
Cod_Menu, Cod_Menu, Cod_
Cod_Submenu.
Menú à
Submenu. Cod_Menu, Contenido
Menú Cod_Menu, Contenido
Z
Interrelaciones 1: N
Las entidades que forman parte de una interrelación 1, N se transforman en relaciones cada
FUNDAMENTOS DE BASE DE DATOS 2015
Figura. 31: Esquema ER con relación reflexiva N:M
Descripción y aplicación
La nueva tabla del modelo
creada constará entidad-relación
de claves para el modelado
secundarias Cod_Menu, de datos
Cod_Submenu. 57
Menú à Cod_Menu, Contenido
Si encontramos
Si encontramos un uncasocaso
de interrelación en dondeenesta
de interrelación poseaesta
donde atributos
poseapropios, estos
atributos
atributos podrán ser colocados en otra entidad además de la clave secundaria.
propios, estos atributos podrán ser colocados en otra entidad además
de la clave secundaria.
A estos casos de interrelación también es posible aplicar el mismo
40
proceso
de una interrelación N, M, en la cual se crearía una nueva
tabla con las claves secundarias y los atributos propios de la relación;
58 Zea M, Honores J, Rivas W
___
Comerciante y Pedido.
~ ~
/~
~ COMERCIANTE PEDIDO ~
En una relación reflexiva, Figura. el
32:método
Esquema ERmás común
con relación 1:N. es el primero, lo que
En una relación reflexiva, el método más común es el primero, lo que generaría una
generaría
una relación correspondiente a la misma entidad, con clave
relación correspondiente a la misma entidad, con clave secundaria que haga relación con la
secundaria
clave principal que
de hagaentidad.
lareflexiva,
misma relación con la clave principal de la misma enti-
En una relación el método más común es el primero, lo que generaría una
dad.
En el siguiente ejemplo se muestra que todo estudiante tiene un delegado y que un
relación correspondiente a la misma entidad, con clave secundaria que haga relación con la
estudiante
En es delegado
el siguiente de 0,ejemplo
1 o varios estudiantes.
clave principal de la misma entidad. se muestra que todo estudiante tiene un
En el siguiente
delegado y queejemplo se muestra es
un estudiante quedelegado
todo estudiante
de 0, tiene un delegado
1 o varios y que un
estudiantes.
estudiante es delegado de 0, 1 o varios estudiantes.
O:M
ESTUDIANTE
Figura. 33: Esquema ER con relación 1:N
Interrelaciones 1:1
Este tipo de interrelaciones pasan del modelo entidad – relación al modelo relacional con la
transformación de sus entidades
Estudiante (Num_Mat, nombre,enNum_Mat_Del)
relaciones y con sus atributos correspondientes.
Interrelaciones 1:1
Este tipo de interrelaciones pasan del modelo entidad – relación al modelo relacional con la
41
transformación de sus entidades en relaciones y con sus atributos correspondientes.
41
Descripción y aplicación del modelo entidad-relación para el modelado de datos 59
Interrelaciones 1:1
Este tipo de interrelaciones pasan del modelo entidad – relación al mo-
delo relacional con la transformación de sus entidades en relaciones y
con sus atributos correspondientes.
FUNDAMENTOS
Para representar esta interrelación DE BASE
solo bastaría DE DATOS
añadir 2015
en cualquiera
de
las dos relaciones una clave secundaria que haga referencia a la otra
relación. [14] esta interrelación solo bastaría añadir en cualquiera de las dos relaciones
Para representar
Para la transformación
una clave secundaria que hagadereferencia
esta interrelación hay
a la otra relación. dos opciones:
[14]
Para la transformación de esta interrelación hay dos opciones:
Primera
Primera
Delegación Nombre_del, nombre_ciu
Z
Segunda
Segunda
Delegación à Nombre_del
Delegación Nombre_del
Z
DELEGACIÓN
CIUDAD
Ciudad à Nombre_ciu
2.4.1.3. Transformación
2.4.1.3. Transformación de interrelaciones de grado superior
de interrelaciones a 2 superior a 2
de grado
Una relación ternaria genera la creación de una nueva tabla que contiene los atributos
Una relación ternaria genera la creación de una nueva tabla que contie-
propios de la relación, juntos con las claves principales de las tablas que se encuentran
ne los atributos
relacionadas. propios
La nueva tablade la relación,
creada juntos
tendrá como clavecon las claves
principal principales
la vinculación de las
de las tablas que se encuentran relacionadas. La nueva
claves secundarias de las entidades que forman parte de la relación. tabla creada
tendrá
Tenemoscomo clavemodelo
el siguiente principal la vinculación
entidad de las una
– relación que muestra claves secundarias
interrelación ternariade
.
las entidades que forman parte de la relación.
Tenemos el siguiente modelo entidad – relación que muestra una
interrelación ternaria.
60 Zea M, Honores J, Rivas W
FUNDAMENTOS DE BASE DE DATOS 2015
ESTUDIANTE
SEMESTRE
Cada unaCadadeuna
lasde
entidades deldelmodelo
las entidades modelo entidad - relación
entidad - relación se transforma-
se transformará en tablas y se
crearáy una
rá en tablas nueva tabla
se creará unacon las tres
nueva claves
tabla consecundarias que referencian
las tres claves a las claves
secundarias
principales adelas
que referencian lasclaves
entidades asociadas, en
principales delalas
cual con la vinculación
entidades de las
asociadas, enclaves
secundarias se tendrá la clave principal de la nueva tabla creada. [15]
la cual con la vinculación de las claves secundarias se tendrá la clave
principal2.4.2.
de la nueva
Reglas tabla creada.
concernientes al modelo[15]
entidad – relación extendido
2.4.2.1. Transformación de dependencias en existencia y en identificación
Figura. 35: Esquema ER con relación ternaria M:N:P
En primer
2.4.2. Reglas lugar, tenemos la dependencia
concernientes al modelo en entidad
existencia que son relaciones
– relación con cardinalidad
extendido
Cada 1,
2.4.2.1. unaN,deeslas
decir que la del
entidades
Transformación entidad
modelo
de queentidad
posee -larelación
dependencias cardinalidad
en N, es una en
se existencia
transformará entidad
en débil.
ytablas y se Lo que
iden-
crearáindica
una nueva
que notabla
podráconhaberlas registros
tres claves
si nosecundarias que referencian
existen registros a las
en la entidad clavesde la cual
regular
tificación
principales de las entidades asociadas, en la cual con la vinculación de las claves
depende.
En primer Así lugar,
secundarias se tendrá
mismo tenemos la dependencia
la clavelaprincipal
tenemos de la nueva
dependencia tabla en existencia
creada.
en identificación [15] quemanera
que de igual son re- como la
lacionesdependencia
con cardinalidad
en existencia son relaciones con cardinalidad 1, N, pero la diferencialaes que
1, N, es decir que la entidad que posee
2.4.2.para
cardinalidadReglas concernientes
poder
N, esidentificar al
cada
una entidad modelo entidad
registro
débil. la–entidad
de Lo relación extendido
frágil
que indica esque
necesario el AIP haber
no podrá de la entidad
2.4.2.1. Transformación
frágil y de la entidaddefuerte.
dependencias
[16] en existencia y en identificación
registros si no
En primer lugar,existen registros en la entidad regular de la cual depen-
Tenemos eltenemos
siguientela esquema
dependencia ER:en existencia que son relaciones con cardinalidad
de. 1, N, es decir que la entidad que posee la cardinalidad N, es una entidad débil. Lo que
indicamismo
Así que no podrá
tenemoshaber registros si no existen registros
la dependencia en la entidad regular
en identificación quededela cual
igual
depende.
manera como la dependencia en existencia son relaciones con cardina-
Así mismo tenemos la dependencia en identificación que de igual manera como la
lidaddependencia
1, N, pero la diferencia
en existencia es quecon
son relaciones para poder 1,identificar
cardinalidad cada registro
N, pero la diferencia es que
de lapara
entidad
poder identificar cada registro de la entidad frágil es necesario el AIPydede
frágil es necesario el AIP de la entidad frágil la enti-
la entidad
dad frágil y de [16]
fuerte. la entidad fuerte. [16]
Tenemos el siguiente esquema ER:
Tenemos el siguiente esquema ER:
CLIENTE
PRÉSTAMO
CI fecha
TÉCNICO INGENIERO
45
Ingeniero (CI, Nombre, Tipo)
2.4.2.3. Transformación de agregaciones
Las agregaciones del modelo entidad – relación al modelo relacional, se transforman como
entidades. En el siguiente ejemplo tenemos las entidades Estudiante, Curso y Acta de
Notas, las relaciones
Descripción matrícula
y aplicación y registra
del modelo han dado
entidad-relación lugar
para datosque estarán63
a nuevasdetablas
el modelado
formadas por las claves secundarias. [15]
45
2.5.Desarrollo
2.5. Desarrollo de diversos supuestossupuestos
de diversos prácticos de modelización
prácticosmediante diagramas
de modelización
Entidad-Relación
mediante diagramas Entidad-Relación
Dentro del planteamiento de ejercicios a resolver del tema, se proponen varias prácticas de
Dentro del planteamiento de ejercicios a resolver del tema, se proponen
modelado de ER. Se ha elaborado una transformación para cada diagrama de la entidad. Se
varias prácticas
encuentran de modelado
varias suposiciones en los de ER. Se
ejercicios ha elaborado una transforma-
propuestos.
ción para cada diagrama de la entidad. Se encuentran varias suposi-
ciones en los ejercicios propuestos.
46
Resumen
[65]
Análisis del modelo relacional y de
los elementos que lo integran
[67]
68 Zea M, Honores J, Rivas W
D1 D2 D3 (…) Dn
A1 A2 A3 (…) An
Articulos
codigo_art descrip_art pvp_art
A0025 Teclado 8.00
A0026 Mouse Inalámbrico 13.5
A0027 Disco Duro Samsung 85.00
A0028 Impresora Canon 300.50
A0029 Monitor Samsung 375.50
A0030 Portátil HP 800.00
Tabla 2: Relación Artículos
De la relación Artículos, se puede observar que el cuerpo, está deter-
De la relación Artículos,
minado por seissefilas,
puede
de observar
las cualesque
cadael una
cuerpo, estádedeterminado
cuenta tres pares depor seis filas,
de las cuales cada una cuenta
atributo-valor. Tomando de tres
como pares de atributo-valor.
ejemplo Tomando
la primera fila de como
la relación Ar- ejemplo la
ticulos se tiene la siguiente estructura: {(A1:V11), (A2:V12), (A3:V13)},
primera fila de la relación Articulos se tiene la siguiente estructura: {(A1:V11), (A2:V12),
la cual hace referencia a los siguientes datos: {codigo_art: ´A0025´.],
(A3:V13)}, la cual hace referencia a los siguientes datos: {codigo_art: ´A0025´.],
(descrip_art: “Teclado”), (pvp_art:8,00)}
(descrip_art: “Teclado”), (pvp_art:8,00)}
Propiedades de una relación:
• Toda relación está identificada por un nombre que es único dentro de la base de
datos relacional a la que pertenece.
• Es indispensable el valor de un atributo en una relación, además en la intersección
70 Zea M, Honores J, Rivas W
Linea_pedidos
referencia_ped codigo_art cantidad_art
P010 A0025 4
P011 A0026 12
P012 A0027 17
P013 A0028 20
P014 A0029 10
P014 A0030 5
P014 A0025 15
Tabla 4: Tabla Linea_pedidos
Linea_pedidos
referencia_ped codigo_art cantidad_art Articulos
P010 A0025 4 codigo_art descrip_art pvp_art
P011 A0026 12 A0025 Teclado 8.00
P012 A0027 17 A0026 Mouse Inalámbrico 13.5
P013 A0028 20 A0027 Disco Duro 85.00
P014 A0029 10 A0028 Impresora Canon 300.50
P014 A0030 5 A0029 Monitor Samsung 375.50
P014 A0025 15 A0030 Portátil HP 800.00
Pedidos
referencia_ped fecha_ped
P011 10/09/2015
P012 11/10/2015
P013 12/11/2015
P014 13/12/2015
Tabla 5: Esquema relacional con datos
Otra acción importante a más de definir las claves foráneas de una relación, es la de
determinar las consecuencias que conllevaría el hecho de borrar o editar las filas de una
relación referenciada para lo cual se ha definido las siguientes opciones:
Operación restringida: Esta indica que no es permitido tanto la edición como la
eliminación de una fila que esta referenciada a otra relación. Aplicando esta operación al
ejemplo anterior, esto implicaría que para eliminar un artículo de la relación Articulos, no
Análisis del modelo relacional y de los elementos que lo integran 75
Otra acción importante a más de definir las claves foráneas de una re-
lación, es la de determinar las consecuencias que conllevaría el hecho
de borrar o editar las filas de una relación referenciada para lo cual se
ha definido las siguientes opciones:
Operación restringida: Esta indica que no es permitido tanto la
edición como la eliminación de una fila que esta referenciada a otra
relación. Aplicando esta operación al ejemplo anterior, esto implicaría
que para eliminar un artículo de la relación Articulos, no debería existir
ningún registro (fila) en la tabla Linea_pedidos que contenga el artículo
que se piensa eliminar, por otro lado, tampoco será posible modificar
el atributo codigo_art de la relación Articulos mientras se tuviese algún
registro en la relación Linea_pedidos que haga referencia a ese artículo.
Operación de transferencia en cascada: Esta operación indica
que tanto la eliminación o modificación de una fila en la relación que
contenga la clave principal, implicaría inmediatamente la eliminación o
modificación en cascada de todas aquellas filas que contengan la clave
foránea y que hacían referencia a la fila eliminada de la otra relación.
Por ejemplo, si de la relación Pedidos se llegara a modificar el atributo
referencia_ped, en la tabla Linea_pedidos, se deberá modificar todas las
líneas de pedidos que hacían referencia al pedido modificado.
Operación con puesta a nulos: Esta operación indicaría que en
caso de que se eliminara una fila de la relación que contiene la clave
principal, inmediatamente modificaría el valor de la clave foránea en
otra relación a un valor nulo. De tal manera en el ejemplo anterior, si
se llegara a eliminar un registro (fila) de la relación Artículos, se modi-
ficaría el valor a nulo del atributo codigo_art de la relación Linea_pe-
didos de todas aquellas filas cuyo valor del atributo codigo_art hacían
referencia a la fila del artículo eliminado. Sin embargo, esta operación
no es válida en este ejemplo debido a que el atributo codigo_art en la
relación Linea_pedidos no puede tomar un valor nulo o inexistente ya
que anteriormente ya se había establecido que dicho atributo formaría
parte de la clave principal de la relación Linea_pedidos.
Operación con puesta de valor por defecto: Esta operación tiene
un comportamiento similar a la operación anterior, con la diferencia
de que, en este caso en lugar de establecer un valor nulo o inexistente
para el campo de la clave foránea de una relación, se establece un valor
predeterminado o por defecto para tal atributo.
FUNDAMENTOS DE BASE DE DATOS 2015
76 atributo
valor del Zea M, Honores J, Rivas W
codigo_art hacían referencia a la fila del artículo eliminado. Sin
embargo,
En esta operación
un modelo no es válida
relacional existen enotras
este ejemplo debido
limitaciones, a que
a las se pue-codigo_art
el atributo
cuales
en la derelación Linea_pedidos
llamar de comprobación o de rechazo y aserciones. En estas dos ya que
no puede tomar un valor nulo o inexistente
anteriormente ya seel había
limitaciones usuario establecido que dicho
debe determinar un atributo
predicado formaría
en basepartea uno de la clave
principal de la relación Linea_pedidos.
o varios atributos de una relación, de esta forma cada que se efectué
Operación con puesta
una operación de de valor por adefecto:
modificación través de Esta operación
la base tieneprimero
de datos, un comportamiento
se
verificará si se cumple con el predicado estipulado, y de
similar a la operación anterior, con la diferencia de que, en este caso en lugar de no ser así la establecer
ejecución
un valor de la operación
nulo o inexistente para elno será de
campo autorizada. Realmente
la clave foránea de una la relación,
diferencia se establece
entre estas dos limitaciones es que
un valor predeterminado o por defecto para tal atributo. en la de comprobación únicamente
se verá afectada una relación, mientras que en la de rechazo y asercio-
En un modelo relacional existen otras limitaciones, a las cuales se puede llamar de
nes se verán afectadas varias relaciones.
comprobación o de rechazo y aserciones. En estas dos limitaciones el usuario debe
determinar un predicado en base a uno o varios atributos de una relación, de esta forma
3.4. Nociones de álgebra relacional
cada que se efectué una operación de modificación a través de la base de datos, primero se
verificará si se cumple
El álgebra relacional coneselun predicado
lenguajeestipulado, y de no ser
formal de consultas así lade
a través ejecución
ba- de la
operación
ses deno datos
será autorizada.
relacionales Realmente
que compone la diferencia entre
la base del estas dos
lenguaje de limitaciones
consulta es que
en la de
SQL.comprobación únicamenteesseun
El álgebra relacional verá afectadadeuna
lenguaje relación,
consulta mientras que en la de
procedimental
rechazoque
y aserciones se verán afectadas varias relaciones.
está formada por un conjunto de operadores que retornan una o
3.4. Nociones de álgebra
más relaciones comorelacional
manejando y que causan otra relación como re-
El álgebra relacional es un lenguaje
sultado. Se dispone de dos grupos formal de consultas
de operadores queasontravés de bases de datos
los operado-
relacionales que compone
res tradicionales delalabase delde
teoría lenguaje
conjuntosde consulta SQL. El álgebra
y los operadores relacional es un
relacionales
concretos.
lenguaje de consulta procedimental que está formada por un conjunto de operadores que
retornan una o más relaciones como manejando y que causan otra relación como resultado.
3.4.1. Operadores tradicionales de la teoría de conjuntos
Se dispone de dos grupos de operadores que son los operadores tradicionales de la teoría
Generalmente todo par de tablas (relaciones), necesitan ser relaciona-
de conjuntos y los operadores relacionales concretos.
das con respecto a la unión, es decir que es necesario que sean de
3.4.1. Operadores tradicionales de la teoría de conjuntos
un mismo grado y que sus atributos deben corresponder a un mismo
Generalmente todo par de tablas (relaciones), necesitan ser relacionadas con respecto a la
dominio. En esta sección se utilizará las siguientes relaciones para los
unión, ejemplos
es decir que es necesario que sean de un mismo grado y que sus atributos deben
posteriores.
corresponder a un mismo dominio. En esta sección se utilizará las siguientes relaciones
para los ejemplos posteriores.
Empleados 1
codigo_emp nombre_emp Cargo
E001 Marlon Rodríguez Jefe
E002 Marcos Cevallos Director
E003 Jonathan Pereira Analista
E004 Andrés Flores Vendedor
Empleados 2
codigo_emp nombre_emp Cargo
E010 Cristian Quezada Contador
E011 Oliver Añasco Vendedor
E004 Andrés Flores Vendedor
Empleados 1
codigo_emp nombre_emp Cargo
E001 Marlon Rodríguez Jefe
E002 Marcos Cevallos Director
E003 Jonathan Pereira Analista
Análisis del modelo relacional y de los elementos que lo integran 77
E004 Andrés Flores Vendedor
Empleados 2
codigo_emp nombre_emp Cargo
E010 Cristian Quezada Contador
E011 Oliver Añasco Vendedor
FUNDAMENTOS DE BASE DE DATOS 2015
E004 FUNDAMENTOS
Andrés Flores DE BASE DE
Vendedor DATOS 2015
Tabla 6: Ejemplo de relaciones para el álgebra relacional
Operaciones de la teoría de conjuntos:
Operaciones de la
Operaciones
Unión: La unión deteoría
de lade conjuntos:
teoría
las relaciones
de conjuntos:
A y B (AUB) es una relación en la que se ven
Unión: La unión
Unión:
contenidas
La de las
filasrelaciones
unión
todas las
de las A y B (AUB)
relaciones
de las relaciones A y B.esy una
que relación
A y B (AUB) en existir
la que
es una relación
en caso de
ensela ven
que
redundancia se
se ven
contenidas
eliminan.
contenidas
todas las filas todas
de las las filas de
relaciones A las
y relaciones
B. y que en A y B.
caso de yexistir
que en caso
redundancia se 56
de existir redundancia se eliminan.
eliminan.
Empleados1 U Empleados 2
codigo_emp Empleados1 U Empleados
nombre_emp 2
Cargo
codigo_emp
E001 nombre_emp
Marlon Rodríguez Cargo Jefe
E001
E002 Marlon
Marcos Rodríguez
Cevallos Jefe
Director
E002
E003 Marcos Cevallos
Jonathan Pereira Director
Analista
E003
E004 JonathanFlores
Andrés Pereira Analista
Vendedor
E004
E010 Andrés Flores
Cristian Quezada Vendedor
Contador
E010
E011 Cristian Quezada
Oliver Añasco Contador
Vendedor
E011 Oliver
Tabla 7: UniónAñasco Vendedor
de dos relaciones
Tabla 7:
Intersección: Esta relación consiste enUnión de dostodas
contener relaciones
las filas que se encuentran tanto en
Intersección:
la relación Esta relación
A como en Esta
Intersección: consiste
la relación en contener
B aconsiste
relación todas
la vez. en contener las todas
filas que
las se encuentran
filas que se tanto en
la relación A como en
encuentran la relación
tanto B a la vez.
en la relación A como en la relación B a la vez.
Empleados 1 ∩ Empleados 2
Empleados
codigo_emp 1 ∩ Empleados
nombre_emp 2
Cargo
codigo_emp
E004 nombre_emp
Andrés Flores Cargo
Vendedor
E004 Tabla 8: Intersección
Andrés Flores Vendedor
de dos relaciones
Tabla 8: Intersección de dos relaciones
Diferencia: En una diferencia entre relaciones, (A - B) es una relación en la que se ven
Diferencia: En una
Diferencia:
contenidas todas diferencia
En
filasentre
una diferencia
aquellas que serelaciones, (A -enB)la(A
entre relaciones,
encuentran esrelación
-una relación
B) es en que
la que
una relación
A pero no se ven
tienen
contenidas
en latodas aquellas
que se filas
ven contenidas
correspondencia con la relación B. que se encuentran
todas aquellas en
filaslaque
relación A pero
se encuentran que
en no tienen
la relacióncon
correspondencia A pero que noB.tienen correspondencia con la relación B.
la relación
Empleados 1 - Empleados 2
Empleados
codigo_emp 1 - Empleados
nombre_emp 2
Cargo
codigo_emp
E001 nombre_emp
Marlon Rodríguez Jefe Cargo
E001
E002 Marlon Rodríguez
Marcos Cevallos Jefe
Director
E002
E003 Marcos Cevallos
Jonathan Pereira Director
Analista
E003 Jonathan Pereira Analista
Tabla 9: Diferencia entre dos relaciones
Tabla
Tabla 9:
9: Diferencia
Diferencia entre
entre dos
dos relaciones
relaciones
Producto cartesiano: Entre dos relaciones A y B, el producto cartesiano (AxB),
Producto
correspondecartesiano: Entre
a una relación en dos
la querelaciones A y B, eltodas
se ven involucrados producto cartesiano
las filas posibles (AxB),
que se
corresponde a una relación en la que se ven involucrados todas las filas posibles
obtengan de relacionar una fila de A con una fila de B. Considerando que si la relación que se
A
obtengan de relacionar
tiene un grado una filaBdetiene
m y la relación A con una fila
un grado n, de B. Considerando
la relación de (AxB)que si launrelación
tendrá A
grado de
Empleados 1 - Empleados 2
codigo_emp nombre_emp Cargo
E001 Marlon Rodríguez Jefe
78 ZeaE002
M, Honores J, Rivas Marcos
W Cevallos Director
E003 Jonathan Pereira Analista
Producto cartesiano: Tabla 9: Diferencia
Entre entre dos relaciones
dos relaciones A y B, el producto carte-
Productosiano (AxB), corresponde
cartesiano: Entre dos arelaciones
una relaciónA en y B,la que se ven involucrados
el producto cartesiano (AxB),
todas las filas posibles que se obtengan de relacionar una fila de A con
corresponde a una relación en la que se ven involucrados todas las filas posibles que se
una fila de B. Considerando que si la relación A tiene un grado m y la
obtengan de relacionar una fila de A con una fila de B. Considerando que si la relación A
relación B tiene un grado n, la relación de (AxB) tendrá un grado de
tiene un grado m y la relación B tiene un grado n, la relación de (AxB) tendrá un grado de
(m+n). Mientras tanto si la cardinalidad de la relación A es p y la car-
(m+n). Mientras tanto si la cardinalidad de la relación A es p y la cardinalidad de la
dinalidad de la relación B es q, la cardinalidad de la relación de (AxB)
relación B es q,
será la cardinalidad de la relación de (AxB) será (pxq).
(pxq).
Empleados
codigo_emp nombre_emp Cargo codigo_dep
E001 Marlon Rodríguez Jefe 4
E002 Marcos Cevallos Director 6
E003 Jonathan Pereira Analista 6
E004 Andrés Flores Vendedor
DE BASE DE8DATOS
FUNDAMENTOS 2015
Departamentos
codigo_dep nombre_dep ciudad
4 Sistemas Machala 57
6 Financiero Arenillas
8 Ventas Santa Rosa
Empleados x Departamentos
codigo_ nombre_emp cargo codigo_ codigo nombre_dep ciudad
emp dep _dep
E001 Marlon Rodríguez Jefe 4 4 Sistemas Machala
E001 Marlon Rodríguez Jefe 4 6 Financiero Arenillas
E001 Marlon Rodríguez Jefe 4 8 Ventas Santa Rosa
E002 Marcos Cevallos Director 6 4 Sistemas Machala
E002 Marcos Cevallos Director 6 6 Financiero Arenillas
E002 Marcos Cevallos Director 6 8 Ventas Santa Rosa
E003 Jonathan Pereira Analista 6 4 Sistemas Machala
E003 Jonathan Pereira Analista 6 6 Financiero Arenillas
E003 Jonathan Pereira Analista 6 8 Ventas Santa Rosa
E004 Andrés Flores Vendedor 8 4 Sistemas Machala
E004 Andrés Flores Vendedor 8 6 Financiero Arenillas
E004 Andrés Flores Vendedor 8 8 Ventas Santa Rosa
Tabla 11: Producto cartesiano de dos relaciones
Empleados
codigo_emp nombre_emp cargo codigo_dep
E002 Marcos Cevallos Director 6
E003 Jonathan Pereira Analista 6
Tabla 12: Selección sobre una relación
Operador
Operador de deproyección
proyección (π): Este
(π): Este operador
operador produce produce un subconjunto
un subconjunto vertical de una
relación ya
vertical deexistente,
una relación FUNDAMENTOS
el mismoyaqueexistente, DE BASE
resulta de seleccionar
el mismo losque DE
atributos, DATOS
resulta 2015
especificados en un
de seleccio-
orden conveniente de FUNDAMENTOS
izquierda a derecha, para DEeliminar
luego BASElasDE DATOS
filas
nar los atributos, especificados en un orden conveniente de izquierda a copiadas. 2015
derecha, para luego eliminar las filas copiadas.
Por ejemplo, para conseguir los cargos de los empleados en la relación Empleados, el
Por Por ejemplo,
ejemplo, para para conseguir
conseguir los
los lacargos decargos de los empleados
los empleados enEmpleados,
en la relación la relaciónel
resultado de la proyección seria siguiente:
Empleados,
resultado el resultado
de la proyección de la proyección seria la siguiente:
seria la siguiente: 58
Empleados
Empleados
cargo
cargo
Jefe
Jefe
Director
Director
Analista
Analista
Vendedor
Tabla 13: Vendedor
Proyección sobre una relación
Tabla 13: Proyección sobre una relación
De igual
De igual maneramanera paralosobtener
para obtener nombreslos nombres
y los cargos deycada
los empleado
cargos deque cada em-
labora en el
De igual manera
pleado que
departamento para obtener
cuyolabora
código en los nombres y
el departamento
(codigo_dep) los cargos de cada
cuyo código
es 6, la expresión empleado que
(codigo_dep)
algebraica labora
es 6,en
será la siguiente:lael
departamento
expresióncuyoalgebraica
πcódigo (codigo_dep)
nombre_emp,
serácargo es
(σ6,codigo_dep=
la expresión6algebraica
la siguiente: será la siguiente:
(Empleados))
π nombre_emp,
De la cual se obtendrá cargo
como resultado
π nombre_emp,
(σ codigo_dep=
lo siguiente:
cargo
6 (Empleados))
(σ codigo_dep= 6 (Empleados))
De la cual se obtendrá como resultado lo siguiente:
De la cual se obtendrá como resultado lo siguiente:
Empleados
EmpleadosCargo
nombre_emp
nombre_emp
Marcos Cevallos Cargo
Director
Marcos Cevallos
Jonathan Pereira Director
Analista
TablaJonathan Pereira
14: Selección Analista
y proyección sobre una relación
Tabla 14: Selección y proyección sobre una relación
Operador división (/): Este operador se encarga de dividir una relación A con un grado m,
Operador
entre una división
relación (/): Estegrado
B con operador
n, deseloencarga
cual sedeobtiene
dividircomo
una relación A con
resultado una un grado m,
relación con
entre
gradouna relación B con grado n, de lo cual se obtiene como resultado una relación con mn
es decir, que si la relación A tiene un grado 2 y la relación B un grado 1, la relaciónmn
grado de
esdivisión
decir, A/B
que si la relación
dará A tiene un
como resultado un conjunto
grado 2 ydelaaquellas
relaciónfilas
B un<x>grado
que1,enlaelrelación
instantede
en
De igual manera para obtener los nombres y los cargos de cada empleado que labora en el
departamento cuyo código (codigo_dep) es 6, la expresión algebraica será la siguiente:
π nombre_emp, cargo (σ codigo_dep= 6 (Empleados))
De la cual se obtendrá como resultado lo siguiente:
80 Zea M, Honores J, Rivas W
Operador división (/): Este Empleados operador se encarga de dividir una rela-
nombre_emp Cargo
ción A con un grado m, entre una relación B con grado n, de lo cual
Marcos Cevallos Director
se obtiene como resultado Jonathanuna relación
Pereira con grado mn es decir, que si
Analista
la relación A tiene Tablaun14: grado
Selección2y proyección
y la relación B relación
sobre una un grado 1, la relación
de división A/B dará como resultado un conjunto
Operador división (/): Este operador se encarga de dividir una relación de aquellas
A confilas <x>m,
un grado
entre una relación B con grado n, de lo cual se obtiene como resultado una relaciónBcon
que en el instante en que se unan con las filas <y> de la relación
gradoproduzcan filas contenidas en A <x,y>. mn
Además, si se efectuara un producto cartesiano a la relación
es decir, que si la relación A tiene un grado 2 y la relación B un grado 1, la relación de A/B y la
relación
división A/B daráB secomo
obtendría
resultado como resultado
un conjunto un conjunto
de aquellas de filas
filas <x> que enque corres- en
el instante
que seponden
unan con a las filas <y> de
la relación A. la relación B produzcan filas contenidas en A <x,y>.
Además, si se efectuara un producto A/B cartesiano
x B aA la relación A/B y la relación B se
obtendría
Por como
ejemplo,resultado
si seunrealiza
conjuntoladedivisión
filas que entre
corresponden a la relación
la relación A.
Empleados, la
misma que tiene un grado 4, A/By xlaB relación
A Departamentos de grado
Por ejemplo, si se realiza
1. La relación la división entre la relación Empleados,
Empleados/Departamentos tendrá un grado la misma3, que tiene un
y estará
gradoconformada Departamentos
4, y la relaciónpor de grado 1. La relación Empleados/Departamentos
todos aquellos atributos que pertenecen a la relación
tendráEmpleados
un grado 3, menos
y estarálosconformada
atributos porpertenecientes
todos aquellos atributos que pertenecen
a la relación Departa-a la
relación Empleados
mentos y a su vez presentara únicamente las filas de empleados quey a
menos los atributos pertenecientes a la relación Departamentos
su vez presentara únicamente las filas de empleados que laboran en el departamento 6.
laboran en el departamento 6.
Departamentos
codigo_dep
6
Empleados
codigo_emp FUNDAMENTOS
nombre_emp DE BASEcodigo_dep
Cargo DE DATOS 2015
E001 Marlon Rodríguez Jefe 4
E002 Marcos Cevallos Director 6
E003 Jonathan Pereira Analista 6
E004 Andrés Flores Vendedor 8
Tabla 15: Relaciones a utilizar en la división
59
Empleados/ Departamentos
codigo_emp nombre_emp cargo codigo_dep
E002 Marcos Cevallos Director 6
E003 Jonathan Pereira Analista 6
Tabla 16: División de las relaciones
Operador de combinación
Operador (*): De la (*):
de combinación combinación entre una relación
De la combinación entreA una
y unarelación
relación B,
se obtiene
A y una relación B, se obtiene una relación en la que constanuna
una relación en la que constan todas las filas que resultan de enlazar fila de
todas
la relación
las filas que resultan de enlazar una fila de la relación A y otra fila deuna
A y otra fila de la relación B, con el objetivo de que estas desempeñen
condición específica para los valores correspondientes a un atributo de dominio habitual en
ambas relaciones. Es por esto que usualmente se realiza primero el producto cartesiano de
las dos relaciones para luego realizar una selección de aquellas filas que desempeñen la
condición establecida.
Empleados
codigo_emp nombre_emp cargo
FUNDAMENTOS DE BASE DE DATOS
Empleados/ Departamentos 2015
codigo_emp nombre_emp cargo codigo_dep
E002
E003 Marcos
Jonathan CevallosAnalista
Pereira Director 6 6
E003
E004 Jonathan
Andrés Flores Pereira Vendedor Analista 8 6
Análisis del modelo relacional y de los elementos que lo integran 81
Tabla Tabla 16: División
15: Relaciones deenlas
a utilizar la relaciones
división
laOperador
relaciónde B,combinación Empleados/
con el objetivo(*): Dede laque Departamentos
combinación entre una relación
estas desempeñen A y una relación B,
una condición
se obtiene una
específica codigo_emp
pararelación
los valores nombre_emp
en la quecorrespondientes cargo
constan todas las filasa unque codigo_dep
resultan de
atributo de enlazar
dominio una fila de
la relaciónenAE002
habitual y otra fila
ambas deMarcos
relaciones.
Cevallos
la relación
Es porB, con Director
estoel que
objetivo 6
de que estas
usualmente se desempeñen
realiza una
E003 Jonathan Pereira Analista 6
condición específica para
primero el producto cartesiano los valores
Tabla 16:de correspondientes
las de
División dos a
las relaciones
relaciones un atributo de dominio
para luego realizar habitual en
ambas
una relaciones.
selección Es por
de aquellasesto que
filas usualmente se
que desempeñen realiza primero el producto cartesiano de
Operador de combinación (*): De la combinación entre una la condición
relación A y unaestable-
relación B,
las dos relaciones para luego realizar una selección de aquellas filas que desempeñen la
cida.
se obtiene una relación en la que constan todas las filas que resultan de enlazar una fila de
condición
la relación establecida.
A y otra fila de la relación B, con el objetivo de que estas desempeñen una
Empleadosa un atributo de dominio habitual en
condición específica para los valores correspondientes
codigo_emp
ambas relaciones. Es por nombre_emp
esto que usualmente cargo
se realiza primero el producto cartesiano de
E001 Marlon Rodríguez Jefe filas que desempeñen la
las dos relaciones para luego realizar una selección de aquellas
condición establecida. E002 Marcos Cevallos Director
E003 Jonathan Pereira Analista
Empleados
E004
codigo_emp
Andrés Flores cargoVendedor
nombre_emp
E001 Marlon Rodríguez Jefe
E002 Departamentos
Marcos Cevallos Director
E003 codigo_dep nombre_dep
Jonathan Pereira Ciudad
Analista
E004 4 AndrésSistemas
Flores Machala
Vendedor
6 Financiero Arenillas
8 Ventas
Departamentos Santa Rosa
Tabla 17: Relaciones
codigo_dep de ejemploCiudad
nombre_dep para la combinación
4 Sistemas Machala
Delas
De las relaciones
relaciones anteriores,
anteriores,
6 al al
efectuar
efectuarla combinación,
Financiero la Arenillas
combinación,quedaqueda
de tal de
manera
tal que el
manera codigo_dep
atributo que de
el atributo tabla Empleados,
8 lacodigo_dep tenga
Ventasde la tabla un
Santa Rosa mismo valor
Empleados, que un
tenga su atributo
correspondiente
mismo valor que ensulaTabla 17: Relaciones de ejemplo para la combinación
tabla
atributoDepartamentos,
correspondiente lo cualenquedaría
la tablaexpresado de la siguiente
Departamen-
forma:
De
tos, las relaciones
lo cual anteriores,
quedaría al efectuar
expresado de lala siguiente
combinación,forma:
queda de tal manera que el
atributo codigo_dep
(Empleados
(Empleados * de la tabla Empleados,
* Departamentos)
Departamentos) Empleados tenga un mismo
codigo_dep
Empleados valor que
=Departamentos
codigo_dep su codigo_dep
atributo
=Departa-
correspondiente
Cabe mencionar enque
la tabla
para Departamentos,
realizar esta lo cualesquedaría
operación expresado
necesario que de la siguiente
primeramente se efectúe
mentos codigo_dep
forma:
un producto cartesiano, de lo cual se obtiene como resultado lo siguiente:
Cabe mencionar que para realizar esta operación es necesario que pri-
(Empleados * Departamentos) Empleados codigo_dep =Departamentos codigo_dep
meramente
Cabe mencionarseque
efectúe un producto
para realizar cartesiano,
esta operación es necesariode
quelo cual se obtiene
primeramente se efectúe
como resultado lo siguiente: Empleados * Departamentos
un producto cartesiano, de lo cual se obtiene como resultado lo siguiente:
codigo_ nombre_emp Cargo codigo_ codigo_dep nombre_ ciudad
emp dep dep
E001 Marlon RodríguezEmpleados
Jefe * Departamentos
4 4 Sistemas Machala
codigo_
E002 nombre_emp
Marcos Cevallos Cargo
Director codigo_
6 codigo_dep
4 nombre_ ciudad Machala
Sistemas
emp
E003 Jonathan Pereira Analista dep 6 4 dep Sistemas Machala
E001 Marlon Rodríguez Jefe 4 4 Sistemas Machala
E004 Andrés Flores Vendedor 8 4 Sistemas Machala
E002 Marcos Cevallos Director 6 4 Sistemas Machala
Tabla 18: Producto cartesiano
E003 Jonathan Pereira Analista 6 4 Sistemas Machala
E004 Andrés Flores Vendedor 8 4 Sistemas Machala
Tabla 18: Producto cartesiano
60
60
82 Zea M, Honores J, FUNDAMENTOS
Rivas W DE BASE DE DATOS 2015
Empleados X Departamentos
codigo nombre_emp Cargo codigo_ codigo_ nombre_dep ciudad
_emp dep dep
E001 Marlon Rodríguez Jefe 4 4 Sistemas Machala
E001 Marlon Rodríguez Jefe 4 6 Financiero Arenillas
E001 Marlon Rodríguez Jefe 4 8 Ventas Santa Rosa
E002 Marcos Cevallos Director 6 4 Sistemas Machala
E002 Marcos Cevallos Director 6 6 Financiero Arenillas
E002 Marcos Cevallos Director 6 8 Ventas Santa Rosa
E003 Jonathan Pereira Analista 6 4 Sistemas Machala
E003 Jonathan Pereira Analista 6 6 Financiero Arenillas
E003 Jonathan Pereira Analista 6 8 Ventas Santa Rosa
E004 Andrés Flores Vendedor 8 4 Sistemas Machala
E004 Andrés Flores Vendedor 8 6 Financiero Arenillas
E004 Andrés Flores Vendedor 8 8 Ventas Santa Rosa
Tabla 19: Combinación o reunión
Luego será necesario, tomar en cuenta únicamente aquellas filas que
Luego será necesario, tomar en cuenta únicamente aquellas filas que cumplen directamente
cumplen
con directamente
el predicado establecido,cones el predicado
decir, establecido,
que el atributo codigo_depes decir,
de la que el
relación
atributo codigo_dep
Empelados, tome el mismode la relación
valor queEmpelados,
el atributo tome el mismo
codigo_dep de valor que
la relación
Departamentos.
el atributo codigo_dep de la relación Departamentos.
En estaEnsituación se observase
esta situación queobserva
es una comparación
que es una equivalente,
comparaciónes decirequivalente,
se trata de una
combinación por igualdad. La combinación que se suele
es decir se trata de una combinación por igualdad. La combinación dar con mayor frecuencia entre
relaciones o tablas es la denominada join o también conocida como reunión natural, el cual
que se suele dar con mayor frecuencia entre relaciones o tablas es la
no es más que el resultado de la eliminación de los atributos duplicados de una
denominada join o también conocida como reunión natural, el cual no
combinación por igualdad.
esoperador
El más que que el resultado
representa de la eliminación
esta combinación es |x|, por de los atributos
lo tanto, duplicados
la reunión natural entre las
de una combinación por igualdad.
relaciones A y B se representa de la siguiente forma: AxB
Por
El lo tanto, de estas
operador que relaciones
representa se seleccionarán todas aquellas
esta combinación es filas
|x|,quepor
contengan
lo tanto,valores
la
equivalentes
reunión naturalen sus respectivas
entre lascolumnas de igual
relaciones A y dominio, es decir tanto
B se representa delalaclave foránea
siguiente
yforma:
la claveAxB
principal, y se suprimen las que se consideran iguales.
Por ejemplo, en una reunión natural dada entre las relaciones Empleados y
Por lo tanto, de estas relaciones se seleccionarán todas aquellas
Departamentos tendría que suprimir una de las columnas codigo_dep, tal como se
filas que contengan valores equivalentes en sus respectivas columnas
muestra a continuación.
de igual dominio, es decir tanto la clave foránea y la clave principal, y
se suprimen las que se Empleados
consideran iguales.
* Departamentos
Por ejemplo,
codigo_ en una reunión
nombre_emp cargo natural
codigo_dada entre nombre_
codigo_d las relaciones
ciudad Em-
emp
pleados y Departamentos tendríadep ep
que suprimir dep
una de las columnas
E001 Marlon Rodríguez Jefe 4 4 Sistemas Machala
codigo_dep,
E002 tal como
Marcos Cevallosse muestra
Director a6 continuación.
4 Sistemas Machala
E003 Jonathan Pereira Analista 6 4 Sistemas Machala
E004 Andrés Flores Vendedor 8 4 Sistemas Machala
61
equivalentes en sus respectivas columnas de igual dominio, es decir tanto la clave foránea
y la clave principal, y se suprimen las que se consideran iguales.
Por ejemplo, en una reunión natural dada entre las relaciones Empleados y
Departamentos tendría que suprimir una de las columnas codigo_dep, tal como se
muestra a continuación.
Análisis del modelo relacional y de los elementos que lo integran 83
Empleados * Departamentos
codigo_ nombre_emp cargo
codigo_ codigo_d nombre_ ciudad
emp dep ep dep
E001 Marlon Rodríguez FUNDAMENTOS
Jefe 4 DE
4 BASE DE DATOS
Sistemas Machala 2015
E002 Marcos Cevallos Director 6 4 Sistemas Machala
E003 Jonathan Pereira Analista 6 4 Sistemas Machala
E004 Andrés Flores Vendedor 8 4 Sistemas Machala
Empleados * Departamentos
codigo_emp nombre_emp cargo codigo_ nombre_dep ciudad
FUNDAMENTOS dep
DE BASE DE DATOS 2015
61
E001 Marlon Rodríguez Jefe 4 Sistemas Machala
E002 Marcos Cevallos Director 6 Sistemas Machala
E003 Jonathan Pereira Analista 6 Sistemas Machala
E004 Andrés Flores Vendedor 8 Sistemas Machala
Empleados * Departamentos
Tabla 20: Combinación Natural
codigo_emp nombre_emp cargo codigo_ nombre_dep ciudad
3.5. Nociones
3.5. Nociones de Cálculo relacional
de Cálculo de filas para
relacional resolver
de dep
filas ejercicios
para prácticos
resolver ejercicios
esenciales
prácticos
E001 esenciales
Marlon Rodríguez Jefe 4 Sistemas Machala
En el E002álgebra relacional se exponenDirector
Marcos Cevallos todos aquellos 6 procedimientos
Sistemas queMachala
son precisos
realizar
E003para obtener el resultado
Jonathan Pereira de Analista
una consulta. 6 Por otroSistemas
lado, en el caso del cálculo
Machala
En elE004 álgebra relacional se exponen todos aquellos procedimientos que
relacional de las Andrés filas seFlores
refiere a la Vendedor
utilización 8de un lenguaje Sistemas Machala en el
no procedimental
son precisos realizar paraTabla obtener el
20: Combinación resultado
Natural de una
que se muestra directamente la información deseada consulta. Porsin
otro
3.5. lado,deen
Nociones
necesidad de el caso
Cálculo
exponer del cálculo
el relacional
procedimiento relacional
de filas
que para ade
resolver
se lleva cabolas filas
ejercicios
para se refiere
prácticos
lograr a lade
la obtención
utilización
esenciales de unEste
dicha información. lenguaje
tipo de no procedimental
consultas en el cálculoen el deque
relacional se muestra
las filas se expresa o
En el álgebra
se enuncian
directamente de relacional
lalasiguiente semanera:
información exponen todos aquellos
deseada procedimientos
sin necesidad que sonelprecisos
de exponer pro-
cedimiento que se lleva a cabo para lograr la obtención de caso
realizar para obtener el resultado de una {tconsulta.
| P (t)} Por otro lado, en el dichadelinfor-
cálculo
relacional
Dada estaEste
mación. deestructura,
las tipo
filas de
sese refiere
entiende
consultas a laque
utilización
enel conjunto de un
el cálculo fila t al no
de lenguaje
relacional procedimental
igualdeque laselfilas enseel
predicado
propuesto P, es cierto para t. Deque se muestra
lo cual se muestra t.A o t|A| allavalor
directamente información deseada
del atributo A parasinla
expresa o se enuncian de la siguiente manera:
fila t y t є de
necesidad r para
exponer el que
indicar la fila t está que
procedimiento lleva ar.cabo para lograr la obtención de
en laserelación
dicha información.
Para demostrar Este tiporelacional
el cálculo de consultas{t las
de |enPfilas,
el(t)}
cálculo relacional de
se ejemplificará las filas las
utilizando se expresa
relacioneso
Dada estade
seEmpleados
enuncian estructura,
1 ylaEmpleados se entiende
2 indicadas
siguiente manera: yaque el conjunto
en ejemplos de fila t al igual que
anteriores.
el predicado propuesto P, es cierto {t | Ppara
(t)} t. De lo cual se muestra t.A o
Dada al
t|A| estavalor
estructura, se entiende
del atributo A paraqueEmpleados
el
la conjunto
fila t y1 tdeє rfila parat alindicar
igual que queel la
predicado
fila t
propuesto P, es
está en la relación r. cierto para t.
codigo_emp
De lo cual nombre_emp
se muestra t.A o t|A|cargo
al valor del atributo A para la
fila t y t є r para indicar E001
que la fila t estáMarlon
en la Rodríguez
relación r. Jefe
Para demostrar el cálculo E002
relacional de las filas, se ejemplificará utili-
Para demostrar el cálculo relacional deMarcoslas filas, Cevallos Directorutilizando las relaciones
se ejemplificará
zando las relacionesE003 EmpleadosJonathan 1 y EmpleadosPereira 2 indicadas ya en ejem-
Analista
Empleados 1 y Empleados 2 indicadas ya en ejemplos anteriores.
plos anteriores. E004 Andrés Flores Vendedor
Empleados
Empleados12
codigo_emp
codigo_emp nombre_emp nombre_emp cargo
cargo
E001 Marlon Rodríguez Jefe
E010 Cristian Quezada Contador
E002 Marcos Cevallos Director
E011 Oliver Añasco Vendedor
E003 Jonathan Pereira Analista
E004 Andrés Flores Vendedor
E004 Andrés Flores Vendedor
Tabla
21:
Ejemplo
de
relaciones
para
el
cálculo
relacional
de
filas:
Empleados 2
codigo_emp nombre_emp cargo
E010 Cristian Quezada Contador
E011 Oliver Añasco Vendedor
E004 Andrés Flores Vendedor
Tabla
21:
Ejemplo
de
relaciones
para
el
cálculo
relacional
de
filas:
Empleados
codigo_emp nombre_emp Cargo
E001 Marlon Rodríguez Jefe
E002 Marcos Cevallos Director
E003 Jonathan Pereira Analista
E004 Andrés Flores Vendedor
Departamentos
codigo_dep nombre_dep ciudad
4 Sistemas Machala
6 Financiero Arenillas
8 Ventas Santa Rosa
Tabla 22: Ejemplo de relaciones para el cálculo relacional de fila
Si se
Si se desea
desea obtener
obtener las las
filasfilas
de laderelación Empleados
la relación que pertenezcan
Empleados únicamente a
que pertenezcan
cuyo valor de codigo_dep
únicamente a departamento cuyo valor de codigo_dep es igual a 1, sude
departamento es igual a 1, su expresión quedaría demostrada
la siguiente manera:
expresión quedaría demostrada de la siguiente manera:
{t | (t є Empleados) Ʌ (t.codigo_dep=1)}
{t | (t є Empleados) Ʌ (t.codigo_dep=1)}
Para obtener una proyección en base a una relación sobre uno o varios atributos, es
conveniente emplear el constructor “existe” de la logia matemática (Ǝ). Por ejemplo, si se
desea obtener todos los cargos que se encuentren asignados a los empleados de la relación
Empleados, sería necesario emplear la siguiente expresión.
{t | Ǝ s є Empleados (t.cargo = s.cargo)}
De esta manera la expresión anterior describe a todo el conjunto de filas t que existen en la
Análisis del modelo relacional y de los elementos que lo integran 85
Para obtener una proyección en base a una relación sobre uno o varios
atributos, es conveniente emplear el constructor “existe” de la logia
matemática (Ǝ). Por ejemplo, si se desea obtener todos los cargos que se
encuentren asignados a los empleados de la relación Empleados, sería
necesario emplear la siguiente expresión.
{t | Ǝ s є Empleados (t.cargo = s.cargo)}
De esta manera la expresión anterior describe a todo el conjunto de
filas t que existen en la relación Empleados cuyo valor en t tiene corres-
pondencia con los valores de s.
Para obtener tanto el nombre como el cargo de cada empleado que se
encuentre laborando en el departamento cuyo valor en el atributo codi-
go_dep sea 1, se utiliza la siguiente expresión:
{t | Ǝ s є Empleados ((t.nombre_emp = s.nombre_emp) Ʌ (t.cargo =
s.cargo) Ʌ (t.codigo_dep = 1))}
Por otro lado, para realizar la combinación natural entre las relaciones
Empleados y Departamentos los términos para el cálculo relacional
resultan aún más complejos, quedando su expresión planteada de la
siguiente manera:
{t | Ǝ s є Empleados ((t.nombre_emp = s.nombre_emp) Ʌ (t.nombre_emp
= s.nombre_emp) (t.cargo = s.cargo) Ʌ (t.nombre_emp = s.nombre_emp)
Ʌ Ǝ u є Departamentos ((s.codigo_dep = codigo_dep) Ʌ (t.nombre_emp
= u.nombre_emp) Ʌ (t.nombre_emp = u.nombre_emp) Ʌ (t.ciudad =
u.ciudad)))}
En esta expresión se utilizan dos constructores para hacer referencia a
las filas en ambas relaciones (tablas), además se estipulan condiciones
unidas por el operador (y). De las cuales las primeras son utilizadas
con el fin de que las filas t del resultado comprendan todos los atribu-
tos de la relación Empleados. La condición siguiente, es la que vincula
ambas relaciones mediante la clave foránea en relación a la clave prin-
cipal codigo_dep. Y las dos últimas condiciones se encargan de que
las filas t del resultado comprendan todos los atributos de la relación
Departamentos.
Luego de ya haber comprobado cómo se formulan ciertas consultas
en base al cálculo relacional de filas, es posible dar una definición más
formal a este lenguaje, de tal manera que las expresiones del cálculo
relacional de filas se obtienen partiendo de la siguiente forma:
{t | P (t)}
86 Zea M, Honores J, Rivas W
Pedidos
referencia_ fecha_ped codigo_art descrip_art cantidad_ pvp_art
ped art
P001 10/09/2015 A0025 Teclado 4 8.00
P001 11/10/2015 A0026 Mouse Inalámbrico 12 13.5
P002 12/11/2015 A0027 Disco Duro Samsung 17 85.00
P003 13/12/2015 A0028 Impresora Canon 20 300.50
P004 10/09/2015 A0029 Monitor Samsung 10 375.50
P004 11/10/2015 A0030 Portátil HP 5 800.00
P004 12/11/2015 A0025 Teclado 15 8.00
Tabla 23: Relación Pedidos
En este tipo de relación se demuestra todos estos problemas ya que se guardan situaciones
En este(pedidos
diferentes tipo deyrelación
artículos) se demuestra
en una todos estos problemas ya que se
relación semejante.
guardan situaciones diferentes (pedidos
Existe un procedimiento formal que se adapta a cualquier y artículos) en una que
esquema relacional relación
se apega
a semejante.
la realidad, y de no ser así, nos muestra la manera para lograr que sea lo más idéntico
posibleExiste
del mundo
un real.
procedimiento formal que se adapta a cualquier esque-
ma relacional que se apega a la realidad, y de no ser así, nos muestra
la manera para lograr que sea lo más idéntico posible del mundo real.
El procedimiento mencionado anteriormente es la teoría de la nor- 67
malización, ya que facilita la realización de esquemas relacionales sin
redundancias, por lo tanto, no presentan los problemas que se habían
FUNDAMENTOS DE BASE DE DATOS 2015
Análisis del modelo relacional y de los elementos que lo integran 91
El procedimiento mencionado anteriormente es la teoría de la normalización, ya que
descrito
facilita anteriormente.
la realización de esquemas relacionales sin redundancias, por lo tanto, no presentan
Si se hubiera
los problemas realizado
que se habían unanteriormente.
descrito proceso de normalización a la relación
anterior,
Si se hubiera se hubiera tenido
realizado un en de
proceso cuenta el siguiente
normalización diseño.anterior, se hubiera
a la relación
tenido en cuenta el siguiente diseño.
Pedido linea Pedido Articulo
#Referencua_Ped #Referencia_Ped #Codigo_Art
Fecha_Ped #Codigo_Art ~ Descrip_Art
Cantidad_Art Pvp_Art
Figura. 39: Diseño de modelo relacional
En
Endiseño
diseñorelacional anterioranterior
relacional se han guardado
se handiferentes hechos
guardado en relaciones
diferentes desiguales.
hechos en
Se puede establecer
relaciones desiguales. a la teoría de la normalización como una técnica formal, que permite la
organización de los datos que pueden ayudar a determinar los errores en un diseño
Se puede establecer a la teoría de la normalización como una técni-
relacional y de igual manera presente la manera de corregirlos.
ca formal, que permite la organización de los datos que pueden ayudar
La teoría de la normalización está fundamentada bajo el concepto de forma normal.
a determinar
Se considera quelos un errores en un diseño
diseño relacional de base relacional
de datos sey encuentra
de igualdentro
manera
de los
presente la
parámetros de manera
una formadenormal
corregirlos.
definida si este cumple con un conjunto específico de
La teoría de la normalización está fundamentada bajo el concepto
limitaciones.
Realmente hay
de forma seis formas normales:
normal.
•SePrimera formaque
considera normal
un diseño relacional de base de datos se encuen-
Segunda
tra •dentro deforma
los normal
parámetros de una forma normal definida si este
• Tercera
cumple con un forma normal específico de limitaciones.
conjunto
• Forma normal de Boyce/Codd
• Cuartahay
Realmente forma normal
seis formas normales:
•• Quinta forma normal
Primera forma normal
En la siguiente figura se podrá apreciar que algunas relaciones se encuentran en primera
• Segunda forma normal
forma normal, de aquellas algunas se hallan en segunda forma normal, de estas únicamente
• Tercera forma normal
una porción está en tercera forma normal, y así sucesivamente; es decir que en la segunda
forma• normal
Forma normal demás
se proporciona Boyce/Codd
limitaciones que en la primera forma normal, la tercera
• Cuarta forma normal
forma normal más que la segunda forma normal, etc. Por tanto, la quinta forma normal es
la que• asigna
Quinta forma normal
las limitaciones más fuertes.
RELACIONES
EN
PRIMERA
En la siguiente figura se podráFORMA
apreciarNORMAL
que algunas relaciones se en-
RELACIONES
EN
SEGUNDA
cuentran en primera forma normal,FORMA
NORMAL
de aquellas algunas se hallan en
segunda forma normal, deRELACIONES
estas Eúnicamente
N
TERCERA
FORMA
una porción está en ter-
NORMAL
cera forma normal, y así sucesivamente; es decir que en la segunda
forma normal se proporcionaRELACIONES
EN
FNBC
más limitaciones que en la primera forma
normal, la tercera forma normal más que la segunda forma normal,
RELACIONES
E N
C UARTA
FORMA
NORMAL
etc. Por tanto, la quinta forma normal
RELACIONES
EN
es la que asigna las limitaciones
más fuertes. QUINTA
FORMA
NORMAL
68
En la siguiente figura se podrá apreciar que algunas relaciones se encuentran en primera
forma normal, de aquellas algunas se hallan en segunda forma normal, de estas únicamente
una porción está en tercera forma normal, y así sucesivamente; es decir que en la segunda
forma normal se proporciona más limitaciones que en la primera forma normal, la tercera
92
forma normalZeamás que la segunda
M, Honores J, Rivas Wforma normal, etc. Por tanto, la quinta forma normal es
la que asigna las limitaciones más fuertes.
RELACIONES
EN
PRIMERA
FORMA
NORMAL
RELACIONES
EN
SEGUNDA
FORMA
NORMAL
RELACIONES
EN
TERCERA
FORMA
NORMAL
RELACIONES
EN
QUINTA
FORMA
NORMAL
s
1 codigo_art 1
~
1 fecba_ped j .--1
cu-=--t_ped~I
Figura. 41: Diagrama de dependencias funcionales
Vehiculos
matricula Marca modelo color
AAC-0123 Chevrolet Aveo Family Gris
AEC-0123 Ford F-150 FX4 Azul
AMC-0123 Hyundai Accent Blanco
CD-0123 Kia Rio Stylus Rojo
Tabla 25: Relación Coche
EnEn
estaesta relación
relación se ven presentes
se ven presentes las siguienteslas siguientesfuncionales:
dependencias dependencias funcio-
nales: matricula → marca
matricula
matricula→→modelo
marca
matricula →
matricula →modelo
color
matricula → color
71
96 Zea M, Honores J, Rivas W
FUNDAMENTOS DE BASE DE DATOS 2015
Debido a que, teniendo vehículo que se identifica por su matrícula, este
pertenece
Debido a unavehículo
a que, teniendo sola marca,
que se de igual por
identifica manera pertenecerá
su matrícula, a un aúnico
este pertenece una
sola marca, de igual manera pertenecerá a un único modelo y un único color. Por depen-
modelo y un único color. Por lo cual se ve presente la siguiente lo cual
se vedencia
presentefuncional.
la siguiente dependencia funcional.
modelo → marca
modelo → marca
Ya que
Ya aque
cadaamodelo de vehículo
cada modelo delevehículo
correspondele una sola marca. una sola marca.
corresponde
Todas las dependencias funcionales mencionadas
Todas las dependencias funcionales mencionadas anteriormente se pueden representar se
anteriormente a
través del siguiente grafo:
pueden representar a través del siguiente grafo:
color
Si se Si
presentan las siguientes
se presentan lasdependencias
siguientes funcionales:
dependencias funcionales:
matricula → marca
matricula → marca
modelo → modelo
modelomodelo → modelo
→ color
Se puede decir→que
modelo color
el atributo marca tiene una dependencia funcional transitiva con relación a al
atributo matricula
Se puede decirmediantequeel modelo y se representa
el atributo marcadetiene
la siguiente manera:
una dependencia funcional
matrícula -→ marca
transitiva con relación a al atributo matricula mediante el modelo y se
3.7.1.5. Dependencia multivaluada
representa de la siguiente manera:
Teniendo una relación R (X, Z), se podría decir que, Y tiene una dependencia multivaluada de otro
atributo de X o que X multidetermina a Ymatrícula
si por cada-→ marca
valor de X se establece un conjunto definido
de valores de Y, así mismo dicho conjunto es individual de cualquier valor que contenga otro
atributo Z el cual
3.7.1.5. tiene dependencia
Dependencia del valor de X. Estas dependencias multivaluadas se
multivaluada
representan
Teniendode la forma
una siguiente:
relación R (X, Z), se podría decir que, Y tiene una depen-
X→→Y
dencia multivaluada de otro atributo de X o que X multidetermina a
Por ejemplo, si se tiene la relación Cursos con los atributos, curso, profesor, texto, en la cual se
Y siquepor
presenta por cada valor
cada uno de losde X se
cursos queestablece
se van a dar,un conjuntoquedefinido
los profesores de valores
lo van a impartir y los
libros que serán utilizados. Tanto los atributos Profesor y Texto son asignados convalor
de Y, así mismo dicho conjunto es individual de cualquier que
múltiples
valores hacia un mismo valor de curso. Se ha establecido una norma que
contenga otro atributo Z el cual tiene dependencia del valor de X. Estas sugiere que todos los
profesores de un curso puedan usar cualquier libro de texto que se haya asignado a curso que
dependencias multivaluadas se representan de la forma siguiente:
dictara.
X→→Y
Cursos
Por ejemplo, si se tiene la relación Cursos con los atributos, curso,
Curso profesor texto
profesor,Case
Herramientas texto, en la Bertha
cual Mazón
se presenta que ypor
Análisis cada
Diseño uno de los cursos
de Sistemas
que se van a dar, losMariuxi
profesores
Zea queHerramientas
lo van a impartir y los libros que
cases y sus Aplicaciones
serán utilizados. Tanto los atributos Metodológicas
Profesor y Texto son asignados
Aplicación de Sistemas
con múltiples valoresJoffre
haciaHonores
un mismo Fundamentos
valor de de Sistemas
curso. SeOperativos
ha establecido
Operativos Milton Valarezo Administración de sistemas Operativos
Tabla 26 : Relación Con Dependencias Multivaluadas
72
de valores de Y, así mismo dicho conjunto es individual de cualquier valor que contenga otro
atributo Z el cual tiene dependencia del valor de X. Estas dependencias multivaluadas se
representan de la forma siguiente:
X→→Y
Por ejemplo, si se tiene la relación Cursos con los atributos, curso, profesor, texto, en la cual se
Análisis
presenta que por cada uno dedellos
modelo
cursosrelacional
que se vany de los los
a dar, elementos queque
profesores lo van a impartir y 97
lo integran los
libros que serán utilizados. Tanto los atributos Profesor y Texto son asignados con múltiples
una
valoresnorma
hacia un que
mismo sugiere
valor de quecurso.todos los profesores
Se ha establecido una normadeque
unsugiere
curso quepuedan
todos los
usar cualquier libro de texto que se haya asignado a curso quea dictara.
profesores de un curso puedan usar cualquier libro de texto que se haya asignado curso que
dictara.
Cursos
Curso profesor texto
Herramientas Case Bertha Mazón Análisis y Diseño de Sistemas
Mariuxi Zea Herramientas cases y sus Aplicaciones
Metodológicas
Aplicación de Sistemas Joffre Honores Fundamentos de Sistemas Operativos
Operativos Milton Valarezo Administración de sistemas Operativos
Tabla 26 : Relación Con Dependencias Multivaluadas
Jonathan Lavadora G
Jonathan Cocina G
Jonathan Lavadora 1
Julia Lavadora G
! l
Vendedor Electrodoméstico Vendedor Marca Electrodoméstico Marca
»>
Julia Lavadora Julia G Lavadora l
~
Vendedor
l
Electrodoméstico Marca
fonathan Lavadora G
Jonathan Lavadora l
Jonathan Cocina G
Jonathan Cocina l
Julla Lavadora G
Figura. 43: Comprobación de dependencia de reunión
Otro aspecto
Otro aspecto a considerar
a considerarpara que unaque
para relación
unaeste en primera
relación esteforma normal, esforma
en primera que los
atributos contengan valores únicos para cada registro, es decir que en cada dominio existan
normal, es que los atributos contengan valores únicos para cada regis-
valores únicos. Por ello si una relación no está en primera forma normal se debe eliminar
tro, es decir
de ella que
todos los en cada
atributos quedominio existan
tengan valores valores
múltiples únicos.
en cada Porla ello
tupla de si una
relación. Para
relación no está en primera forma normal se debe eliminar de ella todos
los atributos que tengan valores múltiples en cada tupla de la relación.
74
Para
eliminar esto, se debe colocarlos en una nueva relación y relacio-
FUNDAMENTOS DE BASE DE DATOS 2015
100 Zea M, HonoresFUNDAMENTOS
J, Rivas W DE BASE DE DATOS 2015
eliminar esto,asetravés
narla debe colocarlos
de la claveenprimaria
una nueva relación
a la relacióny relacionarla
de origen. a través de la clave
primaria a
eliminar esto, la relación
Asísepordebe de origen.
colocarlos
ejemplo si seentiene
una nueva relación
la relación y relacionarla
Alumnos a través
con los de la clave
siguientes
Así
primariaporcampos,
ejemplo si se de
a la relación tiene la relación
origen.
codigo_alum, Alumnosycon
nombre_alum de loscodigo_alum,
los siguientes campos,
asignaturas_alum, cuales
nombre_alum campoy si
Así porelejemplo asignaturas_alum,
se tiene la relaciónde
asignaturas_alum, los cuales
Alumnos
almacena conel los
las campo asignaturas_alum,
siguientes
asignaturas campos,
en las que almacena
codigo_alum,
reci-
las asignaturas
nombre_alum en las que recibe
asignaturas_alum,
y cada clases cada alumno.
de los cuales el campo asignaturas_alum, almacena
be clases alumno.
las asignaturas en las que recibe clases cada alumno.
Alumnos
codigo_alum nombre_alum
Alumnos asignaturas_alum
1 codigo_alum Jonathan
nombre_alum Matemáticas
asignaturas_alum
2
1 Andrés
Jonathan Física, Algebra
Matemáticas
3
2 Jaime
Andrés Geometría, Física
Física, Algebra
Tabla 27: Relación Alumnos
3 Jaime Geometría, Física
Como Como
se observa en la relación
se observa Alumnos,
Tabla
en la relación los registros
27: Relación
Alumnos, los dos
Alumnos y tres dos
registros tienen dominios
y tres tie- que
contienen
Como nen varios
se observa valores
dominios que
en la por tanto
contienen
relación la relación
Alumnos,varioslosno se
valores encuentra
pordos
registros tantoen primera forma
la relación
y tres normal.
no se
tienen dominios que
Para convertir
encuentra
contienen esta relación
en primera
varios valores en la
forma
por tanto primera forma
normal.no
la relación Para normal se
convertir en
se encuentra crea
esta una nueva
relación
primera relación
en normal.
forma la
Asignatura, en donde
Para convertir
primera forma cada asignatura
esta relación
normal enselacrearesponderá
primera a una
forma
una nueva clave principal.
normal
relación seAsignatura,
crea una nueva
en don-relación
Asignatura,
de cadaen donde cada asignatura
asignatura responderá
responderá a una clave
a una clave principal.
principal.
Alumnos
codigo_alum nombre_alum
Alumnos
1 codigo_alum Jonathan
nombre_alum
2
1 Andrés
Jonathan
3
2 Jaime
Andrés
3 Tabla 28: Relación Alumnos
Jaime
Asignaturas
Tabla 28: Relación Alumnos
codigo_asig nombre_asig
Asignaturas
1 codigo_asig Matemáticas
nombre_asig
2
1 Física
Matemáticas
3
2 Algebra
Física
4
3 Geometría
Algebra
4 Tabla 29: Relación Alumnos
Geometría
3.7.2.2 Segunda forma normal Tabla 29: Relación Alumnos
Se considera
3.7.2.2 Segunda que forma
una relación
normal se encuentra en segunda forma normal si primeramente esta
3.7.2.2
en considera
primera forma Segunda
normal, forma
además normal
cada atributo que noforma
pertenezca
Se que una relación se encuentra en segunda normala siuna clave candidata
primeramente esta
guarda Se
una considera
dependencia que una
funcionalrelación
con se encuentra
relación a dicha en segunda
clave, lo que forma normal
indicaría que cada uno
en primera forma normal, además cada atributo que no pertenezca a una clave candidata
de sus si primeramente
atributos tiene que esta en primera
depender de toda forma
la clave normal,
mas no además
solo de cada
una atributo
parte de ella. Para
guarda una dependencia funcional con relación a dicha clave, lo que indicaría que cada uno
lograr que no pertenezca aenuna claveforma
candidata guarda una dependencia fun-
de sus convertir la relación
atributos tiene segunda
que depender de toda la normal,
clave mas se no
necesita
solo deprescindir
una partededelaella.
relación
Para
al cional
atributo con
que relación
forma la a dicha
dependencia clave, lo
parcial que
y indicaría
determinar que
una cada uno
relación de
nueva sus
con ese
lograr convertir la relación en segunda forma normal, se necesita prescindir de la relación
atributo y con
al atributo queel forma
o los atributos del cual depende
la dependencia parcial ycomo clave principal.
determinar una relación nueva con ese
Siempre que una relación que se encuentra en primera forma
atributo y con el o los atributos del cual depende como clave principal. normal presenta una clave
principal, la cual se encuentra formada por un único
Siempre que una relación que se encuentra en primera forma normal atributo, de formapresenta
automática
una estará
clave
en su segunda forma normal. Asimismo, se considerará que se encuentran
principal, la cual se encuentra formada por un único atributo, de forma automática estará en su segunda
en su segunda forma normal. Asimismo, se considerará que se encuentran en su segunda
Análisis del modelo relacional y de los elementos que lo integran 101
atributos tiene que depender de toda la clave mas no solo de una parte
de ella. Para lograr convertir la relación en segunda forma normal, se
necesita prescindir de la relación al atributo que forma la dependencia
parcial y determinar una relación nueva con ese atributo y con el o los
atributos del cual depende como clave principal.
Siempre que una relación que se encuentra en primera forma nor-
mal presenta una clave principal, la cual se encuentra formada por un
único atributo, de forma automática estará en su segunda forma nor-
mal. Asimismo, se considerará que se encuentran en su segunda forma
normal todas aquellas relaciones que se encuentren en primera forma
normal y que además no ostenten atributos.
Utilizando el esquema relacional logrado anteriormente, se tendrá
que la relación Pedidos ya se encuentra en su segunda forma normal
inicialmente por el hecho de estar en primera forma normal y contar
como clave principal con un único atributo. Mientras que en lo que res-
pecta a la relación denominada Linea_pedidos, para que logre estar en
su segunda forma normal se deberá verificar que todos sus atributos
que no son considerados clave, como lo son la descrip_art, cantidad_art
y pvp_art, respondan completamente a la clave principal, por lo tanto,
lo siguiente quiere decir que deben tener totalmente una dependencia
funcional con relación al par de atributos (codigo_ped, codigo_art):
(codigo_ped, codigo_art) ⇒ Descrip_art
(codigo_ped, codigo_art) ⇒ cantidad_art
(codigo_ped, codigo_art) ⇒ pvp_art
codigo_art
11 cantidad_art
l
cantidad_art
1
J descrip_art, pvp_art 1
Si existieraFigura.
alguna flecha en la figura
45: Diagrama anterior quefuncionales
de dependencias cruce el área sobrante entre los atributos
que crean Silaexistiera
clave alguna
compuesta
flechayentodos aquellos
la figura anterior atributos que
que cruce el áreano son claves, por
sobran-
te entre los atributos que crean la clave compuesta y todos aquellos
atributos que no son claves, por consiguiente, existirán atributos que
requieren en su totalidad de la clave, por lo que la relación más conve-
niente no está en su segunda forma normal, como sucede en este caso.
Se transforma la relación Línea_pedidos a la segunda forma nor-
mal, para lo cual es necesario eliminar de la relación cada uno de sus
atributos que no requieran de la clave (descrip_art y pvp_art) y definir
en primera instancia una nueva relación con todos los atributos que
se suprimieron de la relación anterior y los que dependan de, codi-
go_art. Como se ha descrito en el ejemplo, los dos atributos requieren
del mismo codigo_art, por lo que no es indispensable definir una nueva
relación por cada uno de ellos, sino solamente una que contenga am-
relación más conveniente no está en su segunda forma normal, como sucede en este caso.
Se transforma la relación Línea_pedidos a la segunda forma normal, para lo cual es
necesario eliminar de la relación cada uno de sus atributos que no requieran de la clave
(descrip_art y pvp_art) y definir en primera instancia una nueva relación con todos los
atributos que se Análisis
suprimieron de larelacional
del modelo relacióny anterior y los que
de los elementos quedependan 103
lo integrande, codigo_art.
Como se ha descrito en el ejemplo, los dos atributos requieren del mismo codigo_art, por
bos atributos
lo que y el atributo
no es indispensable quenueva
definir una se requiera
relación porcomo clave.
cada uno De lo
de ellos, cual
sino se
solamente
representa en el siguiente esquema relacional.
una que contenga ambos atributos y el atributo que se requiera como clave. De lo cual se
representa en el siguiente esquema relacional.
funcionales: /
esquema relacional: #A1 A2 A3
Z
R1 (A1, A2)
/
placa modelo marca
Z
Z
104 Zea M, Honores J, Rivas W
Z
Modelos (modelo, marca)
Determinante Determinante
Por lo tanto, está comprobado que cualquier relación que se encuentre
en FNBC se encuentra en tercera forma normal.
Tomando en cuenta la relación R (A1, A2, A3) de la cual (A1, A2) A3
Z
y A3
Z
A2. Existen dos determinantes que son (A1, A2) y A3, entre las cuales
una solo es llave candidata (A1, A2), esto quiere decir que, la relación
no se encuentra en FNBC.
Para lograr que una relación este en FNBC lo que se debe realizar es
lo siguiente:
Establecer una clave usando la parte de la clave que es independiente
de A1 y cada uno de los atributos que no son principales A3.
R1 (A1, A3)
Se declara otra relación utilizando la otra parte de la clave que sobra
junto con el atributo secundario al cual se encuentra condicionado,
por lo que este último será la clave de la nueva tabla.
R2 (A3, A2)
R1 (A1, A3)
Se declara otra relación utilizando la otra parte de la clave que sobra junto con el atributo
secundario al cual se encuentra condicionado, por lo que este último será la clave de la
nueva tabla. Análisis del modelo relacional y de los elementos que lo integran 105
R2 (A3, A2)
Considerando la siguiente relación: Postal con sus atributos, dirección,
Considerando la siguiente
ciudad, cp. relación: Postal con sus atributos, dirección, ciudad, cp.
Postal
dirección Ciudad cp
Condado. 4 Quito 28809
Alborada. 5 Machala 28823
Los Sauces. 2 Machala 28823
El Bosque. 4 Guayaquil 28019
4. mil. 4 Guayaquil 28007
Tabla 30: Relación Postal
EnPostal
En la relación se posee
la relación lasse
Postal reglas
poseesemánticas descritas a continuación:
las reglas semánticas descritas a conti-
nuación:
• El mismo nombre de una calle puede presentarse en dos ciu-
dades distintas
• A Cada calle se le permitirá poseer un tramo en códigos posta-
les distintos
• No se podrá comprender dos ciudades en un mismo código pos-
tal
• No pueden existir dos ciudades con el mismo nombre
• Esta relación está en Tercera Forma Normal, pero no se en-
cuentra en FNBC, A razón de las siguientes dependencias fun-
cionales.
(dirección, ciudad) → cp
Cp → ciudad
Se cuenta con dos determinantes dirección y ciudad, las cuales repre-
sentan una clave candidata, pero cp no lo es, por lo cual es posible que
existan diversas tuplas utilizando el mismo cp. Convirtiendo la relación
a FNBC:
códigos (cp, ciudad)
Z
Cursos 2
Curso Texto
Herramientas Case FUNDAMENTOS
Análisis y DiseñoDE BASE DE DATOS
de Sistemas
2015
Herramientas Case Herramientas cases y sus Aplicaciones Metodológicas
Aplicación de Sistemas Operativos Fundamentos de Sistemas Operativos
Aplicación de Sistemas Operativos Administración de sistemas Operativos
Tabla 31: Relaciones en Cuarta Forma normal
3.7.2.6. Quinta forma normal
Se considera que una relación esta quinta forma normal cuando por cada dependencia de 79
3.7.2.6. Quinta forma normal
reunión, su proyección
Se considera que unacomprende una esta
relación clave quinta
de la relación
forma inicial.
normalEs realmente
cuandodifícil
por
identificar las dependencias de reunión, además que no es muy común el uso de esta forma
cada dependencia de reunión, su proyección comprende una clave de
normal. Es por esto que el resultado de aplicar esta forma normal entra en discusión con
la relación inicial. Es realmente difícil identificar las dependencias de
mucha frecuencia debido a la dificultad que involucra la división de la relación inicial en
unreunión, además que
número transcendental deno es muy
nuevas común el uso de esta forma normal.
relaciones.
Considerando la relación que se expuso aplicar
Es por esto que el resultado de esta forma
en el apartado 3.7.1.6, normal
a razón entra
de que enlas
proyecciones
discusión con figura 28frecuencia
de lamucha no comprenden la clave
debido de dificultad
a la la relación de inicio,
que se reconoce
involucra la
que no se de
división encuentra en Quinta
la relación FormaenNormal
inicial por lo que,
un número para solucionar de
transcendental estenuevas
pequeño
problema, la relación vendedores-electrodomésticos-marcas tendrá que dividirse en las tres
relaciones que conforman las proyecciones en esa misma figura.
relaciones.
Considerando la relación que se expuso en el apartado 3.7.1.6, a
razón de que las proyecciones de la figura 28 no comprenden la clave
de la relación de inicio, se reconoce que no se encuentra en Quinta For-
ma Normal por lo que, para solucionar este pequeño problema, la rela-
ción vendedores-electrodomésticos-marcas tendrá que dividirse en las
tres relaciones que conforman las proyecciones en esa misma figura.
•
Puede ocasionar que se detengan las modificaciones, por lo
cual no es apropiado que se efectúe en las bases de datos en
las que predominan las modificaciones.
• Por cada redundancia que se crea, a alguien le corresponde
asegurar la integridad de los datos, y de esta manera evitar
que se presenten inconsistencias. Por cada escenario que surja
se puede proponer dos opciones, la primera implica que sean
justamente los programas de aplicación los encargados de res-
guardar la integridad de los datos y la segunda opción y quizás
la más favorable, es la de crear triggers (es un procedimiento
almacenado en la base de datos que reacciona por cada actua-
lización que se realice a la base de datos.) también conocidos
como disparadores, que cumplan con la tarea de resguardar la
integridad de los datos.
• Es así que gracias al trabajo de este procedimiento se asegura
que todas y cada una de las copias redundantes se conserven
equilibradas.
• Se complicará la agregación de tablas nuevas que refieran da-
tos futuros a causa del crecimiento de la aplicación, en los cua-
les se hubieran ejecutado desviaciones con respecto al modelo
de datos normalizado.
• Se dice que, si se realzan varias consultas a una base de datos
en las cuales se comprenden más de cinco o seis tablas, se su-
giere una desnormalización. Obviamente, esto solo sucedería
si se estuviera hablando de una base de datos en las que las
actualizaciones son más habituales.
Seguidamente se analizarán escenarios en los que generalmente se
debe medir su eventual desnormalización.
NIF_Drr
Sabiendo que se ingresan datos con frecuencia en ambas tablas y que esto sucede al mismo
Sabiendo
tiempo para loquecual se ingresanrealizar
es necesario datosuna con frecuencia
combinación de en ambas
ambas tablas
relaciones y que
(tablas) y
esto
que por sucede al mismo
otro lado cuando Figura. 47:
tiempo
se ingresa Relación
datos para de uno a
lo cual
por separado, uno (1:1)
es necesario
es posible acoplarlasrealizar una
en una misma
combinación
tabla, como
Sabiendo quelose
que depresenta
se ambas
ingresan relaciones
datosa con frecuencia(tablas)
continuación: en ambas ytablas
quey por otrosucede
que esto lado alcuando
mismo
tiempo para lo datos
se ingresa cual es por
necesario realizar es
separado, unaposible
combinación de ambasen
acoplarlas relaciones (tablas)ta-
una misma y
que por otro lado cuando se ingresa datos
bla, como lo que se presenta a continuación:por separado, es posible acoplarlas en una misma
tabla, como lo que se presenta a continuación:
lnsbtuto
Nom_lns
Oor_lns
Figura. 48: CP_lns
Relación Instituto
Localldad_lns
NIF_Oor
Nom_Dor
Anl)Ouedad_01r
Empleados Departamentos
#NSS_emp ~m----- #num_dep
nom_emp nombre_dep
dir emo dir_dep
tel=emp
num_dep
Sabiendo que con frecuencia las consultas que involucra presentar los datos de empleados
también requieren presentar los datos del departamento en el que se encuentra laborando
cada uno de ellos, por lo cual es conveniente consolidar los atributos comprendidos entre
las dos tablas en una solo, de lo cual se tendría como resultado la siguiente tabla
presentaría
Para el siguiente
hacer algo esquema
diferente relacional
a lo que se hizo en la sección anterior con respecto a las
relaciones de 1:1, se puede contener en una composición de dos tablas todos aquellos
atributos de la tabla a la cual le corresponde la cardinalidad uno (1:) en la tabla a la cual le
corresponde la cardinalidad n (:n). Por citar un ejemplo, si se dispone de una tabla en la
que son almacenados los datos de los departamentos con lo que cuenta una empresa y otra
110 Zea M, Honores J, Rivas W
que contenga los datos de cada uno de los empleados que laboran en ellos, inicialmente se
presentaría el siguiente esquema relacional
Sabiendo que con frecuencia las consultas que involucra presentar los
Figura. 49: Relación de uno a muchos (1:n)
datos de empleados también requieren presentar los datos del departa-
Sabiendo que con frecuencia las consultas que involucra presentar los datos de empleados
mento en el que se encuentra laborando cada uno de ellos, por lo cual
también requieren presentar los datos del departamento en el que se encuentra laborando
es conveniente
cada uno de ellos, consolidar
por lo cual eslos atributos
conveniente comprendidos
consolidar entre
los atributos las dos entre
comprendidos ta-
las dos
blas entablas
unaensolo,
una solo,
de lodecual
lo cual
sesetendría
tendría como
como resultado la siguiente
resultado tabla
la siguiente tabla
Empelado
Figura. 49: Relación de uno a muchos (1:n)
~NSS_Emp
Sabiendo que con frecuencia las consultas que involucra presentar los datos de empleados
Nom_Emp
01rEmp Telf_Emp
también requieren presentar los datos del Num_Dep.
departamento en el que se encuentra laborando
Nom_Dep
cada uno de ellos, por lo cual es conveniente consolidar los atributos comprendidos entre
Dsr_Oep
las dos tablas en una solo, de lo cual se tendría como resultado la siguiente tabla
Figura. 50: Tabla Empleados
T
•A1(Cl.;)ve)
A2
A3
- A4 ~
AS
T1
T2
1
•A1(Cbve)
A2 1
~ •A1(Clave) 1
A4 1
A3 1 AS 1
Figura. 52: Partición vertical
Si se cuenta con
Figura. 52:una tabla que almacena
Partición vertical los datos correspondientes a los empleados de una
empresa la cual contiene entre sus datos, número de seguridad social, nombre, dirección y
Si se cuenta con una tabla que almacena los datos correspondientes a
teléfono y en la otra, datos que referentes a su labor en una empresa cargo y cualificación y
se sabe que los datos personales tienen mayores ingresos que los que se refieren al trabajo
del empleado, se puede determinar dos segmentos verticales: de los cuales en uno constara
los datos personales y en el otro los datos referentes a su trabajo. Estas dos particiones
necesariamente deben contener la clave principal que será el número de seguridad social
Se debe tener siempre presente que la segmentación vertical soporta los siguientes
problemas:
112 Zea M, Honores J, Rivas W
los empleados de una empresa la cual contiene entre sus datos, núme-
ro de seguridad social, nombre, dirección y teléfono y en la otra, datos
que referentes a su labor en una empresa cargo y cualificación y se
sabe que los datos personales tienen mayores ingresos que los que se
refieren al trabajo del empleado, se puede determinar dos segmentos
verticales: de los cuales en uno constara los datos personales y en el
otro los datos referentes a su trabajo. Estas dos particiones necesaria-
mente deben contener la clave principal que será el número de segu-
ridad social
Se debe tener siempre presente que la segmentación vertical sopor-
ta los siguientes problemas:
Se debe incrementar una tuplas en ambas tablas T1 y T2, por cada re-
gistro que ingresa a la FUNDAMENTOS DE BASE
tabla T, Y de la misma manera por cada2015
DE DATOS registro
que se elimine en la tabla T se deberán eliminar dos tuplas en ambas
tablas T1 y T2.
Se debe incrementar una tuplas en ambas tablas T1 y T2, por cada registro que ingresa a la
tabla T, Para
Y de laconsultar datos
misma manera porcorrespondientes a unoeno la
cada registro que se elimine varios
tabla Tregistros
se deberánde
las tablas T1 o T2es preciso realizar
eliminar dos tuplas en ambas tablas T1 y T2. una composición de las dos tablas
Para consultar
T1 y T2. datos correspondientes a uno o varios registros de las tablas T1 o T2es
preciso realizar una composición de las dos tablas T1 y T2.
T
- AHOavel
A2
-
-
A3
TI A4 TZ
16-- AS Al(Oave}
A2 A2
A3 A3
A4 A4
AS AS
Se debe tener siempre en cuenta que una partición horizontal es tolerante a los siguientes
Se debe tener siempre en cuenta que una partición horizontal es
problemas:
tolerante a losunsiguientes
Cada que se ingrese problemas:
nuevo registro a la tabla T es necesario que se incremente una tupla
en cualquiera de las dos tablas T1 o T2, yaregistro
Cada que se ingrese un nuevo a la tabla
que las aplicaciones se T es necesario
fundamentan que se
del criterio
de partición que se haya seleccionado.
incremente una tupla en cualquiera de las dos tablas T1 o T2, ya que
Si se
lasnecesita obtener losse
aplicaciones datos de uno de las tablas
fundamentan T1 y T2 yde
del criterio quepartición
se encuentran en se
que la tabla
haya
T, se deberá tener conocimiento de a que tabla se tiene que acudir T1 o T2, puesto que los
seleccionado.
programas necesitan conocer el criterio de partición que se haya acogido.
Si se efectuar
Si se necesita necesita obtener
consultas quelos datos de
involucran uno de las
la obtención tablas
de datos T1tablas
de las y T2 T1 y que
o
T2,sees encuentran
necesario usar elenoperador
la tabla T, se
unión, deberá
el cual resultatener conocimiento
ser muy caro, desde el depuntoa de
que
vista tecnológico.
tabla se tiene que acudir T1 o T2, puesto que los programas necesitan
Si conocer
es necesarioel unir los datos
criterio obtenidos de
de partición quela se
tabla T1 con
haya datos provenientes de otras
acogido.
tablas, es preciso efectuar tantas uniones como sea necesario.
Si se necesita
Posteriormente puedeefectuar
cambiar laconsultas
frecuencia deque involucran
utilización de lasla obtención
filas de datos
correspondientes a
ambas tablas, por lo que puede ser necesario que se reformen las tablas, esto provoca que
surjan alteraciones en los aplicativos que usen los datos de estas tablas.
3.7.3.6. Atributos repetidos en la misma fila
La primera forma normal se encarga de suprimir los conjuntos que se vean repetidos los
cuales se presentan en una relación, provocando la creación de una nueva tabla que
Análisis del modelo relacional y de los elementos que lo integran 113
Figura. 53: Partición horizontal
Se
de debe tener siempre
las tablas T1 oen cuenta
T2, que una partición
es necesario usar horizontal es tolerante
el operador unión,a los siguientes
el cual re-
problemas:
sulta ser muy caro, desde el punto de vista tecnológico.
Cada que se ingrese un nuevo registro a la tabla T es necesario que se incremente una tupla
Si es necesario unir los datos obtenidos de la tabla T1 con datos pro-
en cualquiera de las dos tablas T1 o T2, ya que las aplicaciones se fundamentan del criterio
venientes
de de se
partición que otras
haya tablas, es preciso efectuar tantas uniones como sea
seleccionado.
necesario.
Si se necesita obtener los datos de uno de las tablas T1 y T2 y que se encuentran en la tabla
T, se Posteriormente
deberá tener conocimiento
puededecambiar
a que tablalase frecuencia deT1
tiene que acudir o T2, puestode
utilización quelas
los
programas necesitan conocer a
filas correspondientes el ambas
criterio detablas,
particiónporque lo
se haya
que acogido.
puede ser necesario
Si se necesita efectuar consultas que involucran la obtención de datos de las tablas T1 o
que se reformen las tablas, esto provoca que surjan alteraciones en los
T2, es necesario usar el operador unión, el cual resulta ser muy caro, desde el punto de
aplicativos
vista que usen los datos de estas tablas.
tecnológico.
Si es necesario unir los datos obtenidos de la tabla T1 con datos provenientes de otras
tablas,
3.7.3.6.es preciso efectuarrepetidos
Atributos tantas uniones encomo sea necesario.
la misma fila
Posteriormente puede cambiar la frecuencia de utilización de las filas correspondientes a
La primera forma normal se encarga de suprimir los conjuntos que se
ambas tablas, por lo que puede ser necesario que se reformen las tablas, esto provoca que
vean alteraciones
surjan repetidos en losloscuales se presentan
aplicativos en una
que usen los datos relación,
de estas tablas. provocando la
creación de una nueva tabla que
3.7.3.6. Atributos repetidos en la misma fila contendrá los atributos que corres-
La primeraalforma
ponden normal repetido
conjunto se encarga adicionalmente
de suprimir los conjuntos
con la queclave
se vean repetidos de
principal los
cuales se presentan
la relación en una relación, provocando la creación de una nueva tabla que
de origen.
contendrá los atributos que corresponden al conjunto repetido adicionalmente con la clave
Si se tiene la tabla Universidad, en la cual serán almacenados por
principal de la relación de origen.
cada
Si universidad
se tiene el nombreendela su
la tabla Universidad, cualrector y sus vicerrectores:
serán almacenados por cada universidad el
nombre de su rector y sus vicerrectores:
Unlverdad
#nom_uni
rector
vicerrector
Figura. 54: Relación Universidad
Dado que por lo general una universidad cuenta con algunos vicerrectores (un máximo de
Dadoloque
tres), por lo general
que representa unarepetido,
un conjunto universidad cuenta
es por esto que lacon algunos
relación vicerrec-
en primera forma
tores (un
normal máximo
se vería de tres),
de la siguiente lo que representa un conjunto repetido, es
manera:
por esto que la relación FUNDAMENTOS
en primera forma DE BASE
normal seDE DATOS
vería 2015
de la siguien-
te manera:
84
Univerdadl Unlversidad2
r::nom_uni #nom_uni
rector vicerrector
Que se cuente con los datos tanto del rector como los del vicerrector de cada universidad
Que se cuente con los datos tanto del rector como los del vicerrector de
implica unir ambas tablas y analizar alrededor de dos y cuatro filas de datos. Si se quiere
cada
evitar universidad implica
esto, lo que se necesita unir
hacer es ambas tablas
desnormalizar tal ycomo
analizar alrededor
se muestra deque
en el caso dosse
ydescribirá
cuatro afilas de datos. Si se quiere evitar esto, lo que se necesita hacer
continuación.
Como
es en este caso se conoce
desnormalizar que elsenúmero
tal como máximo
muestra en deel vicerrectores
caso que se de ladescribirá
universidad aes
de tres, lo que se debe hacer es concentrar todos los atributos en una misma relación.
Si se tiene lo siguiente, Universidad (nom_uni, rector, vicerrector1, vicerrector2,
vicerrector3) ocasionaría un problema en cada ocasión en la que el número de
vicerrectores con los que cuente una universidad sea menor a tres ya que dada esta
situación va a tener uno o varios atributos con valor nulo.
114 Zea M, Honores J, Rivas W
continuación.
Como en este caso se conoce que el número máximo de vicerrec-
tores de la universidad es de tres, lo que se debe hacer es concentrar
todos los atributos en una misma relación.
Si se tiene lo siguiente, Universidad (nom_uni, rector, vicerrector1, vi-
cerrector2, vicerrector3) ocasionaría un problema en cada ocasión en
la que el número de vicerrectores con los que cuente una universidad
sea menor a tres ya que dada esta situación va a tener uno o varios
atributos con valor nulo.
[115]
116 Zea M, Honores J, Rivas W
[117]
118 Zea M, Honores J, Rivas W
solicita que el libro sea traspasado, acción que cambia estado de entre-
gado a “Verdadero”.
El objeto es una instancia de la clase, o también, una clase está
compuesta por una serie de objetos que poseen la misma estructura
y el mismo procedimiento. Por ejemplo, la clase Libro constituye cual-
quier libro de la biblioteca siendo un objeto cada uno de los ejemplares
de libros que se encuentran disponibles en la biblioteca.
Una clase está compuesta por los atributos que vendrían a ser las pro-
piedades que tiene la clase. Por ejemplo, la clase libro posee los atribu-
tos código, título, ISBN, entregado y editorial. Cada atributo tendrá su
nombre, un tipo de dato ya sea este (numérico, cadena de caracteres,
texto, alfanumérico etc.) y un valor por defecto.
Los métodos son considerados como las operaciones que se llevan a
cabo sobre los objetos de una clase y son quienes determinan el com-
portamiento de la clase. Khoshafian y Abnous (1990) clasifican los mé-
todos en tres clases:
• De acceso: Este método proporciona la facilidad de acceder a
las valore de los atributos para recuperar su valor.
• De actualización: Permite la modificación de estado o valor de
un respectivo atributo.
• Constructores y destructores: Métodos se encargan de crear y
destruir objetos de la clase a la que corresponden.
4.2.3.1. Asociación
A una relación normal entre las clases se la denomina asociación. Esta
suele ser reflexiva si existe una relación de clase consigo misma, bi-
naria si relaciona dos clases, ternaria si relaciona tres clases, y así
sucesivamente.
Las relaciones reflexivas y las binarias utilizan como símbolo una
línea para unir las asociaciones. Si la relación es de nivel superior a
dos, se simboliza gráficamente por medio de un rombo quien se encar-
ga de unir a las clases asociadas en la relación.
Las relaciones tienen un nombre, pero no de forma necesaria y se
detalla sobre la línea que simboliza la relación o interiormente del rom-
bo si la relación es de nivel superior a dos. Se dibuja una flecha en un
extremo de la asociación, lo que indica en qué sentido hay que leerla.
En toda relación se debe mostrar las cardinalidades que le corres-
pondan. Las cardinalidades tienen el mismo significado en los dia-
gramas de clase que en los diagramas Entidad Relación, pero no se
representan de la misma forma. Las posibles cardinalidades son:
*: Cero o varios.
1…*: Uno o varios
n…m: De n a m.
simboliza la relación o interiormente del rombo si la relación es de nivel superior a dos. Se
dibuja una flecha en un extremo de la asociación, lo que indica en qué sentido hay que
leerla.
En toda relación se debe mostrar las cardinalidades que le correspondan. Las
124cardinalidades
Zea M,tienen el mismo
Honores J, Rivassignificado
W en los diagramas de clase que en los diagramas
Entidad Relación, pero no se representan de la misma forma. Las posibles cardinalidades
También
son: se debe especificar en una relación los roles que desempeñan
las clases varios.
*: Cero o participantes en la relación. Cada rol especifica con una o
1…*: Uno
diversas o varios al lado de las clases participantes en la relación y al
palabras
n…m: De n a m.
lado de la línea que le corresponde a la asociación.
También se debe especificar en una relación los roles que desempeñan las clases
Con la figura
participantes 58 se mostrará
en la relación. una asociación
Cada rol especifica binaria
con una o diversas entre
palabras las de
al lado cla-
las
sesclases
Cliente y Cuenta Bancaria, con el cual un cliente puede ser dueño
participantes en la relación y al lado de la línea que le corresponde a la asociación.
unala ofigura
de Con 58 se mostrará
diversas cuentasuna asociación binaria
bancarias, y unaentre las clases
cuenta Cliente ypuede
bancaria Cuenta
Bancaria,
tener uno con el cual un inscripciones.
o muchas cliente puede ser dueño
Como de una o diversas cuentas
se observa, no se bancarias,
ha estable-y una
cuenta bancaria puede tener uno o muchas inscripciones. Como se observa, no se ha
cido nombre a la asociación, pues es opcional.
establecido nombre a la asociación, pues es opcional.
Cliente CuentaBancana
-NF -Num_cta
-Nombre 1 1 -Tipo
-OM'eccoon -sateo
-Telelono
-Emad
La figura 58 muestra una asociación reflexiva con el nombre "es jefe de", por lo que un
La figura 58 muestra una asociación reflexiva con el nombre “es jefe
practicante puede tener o no un jefe y, a la vez, un practicante puede ser jefe de varios
de”, por lo que
empleados un practicante
o de ninguno. Como se ve,puede tener o no
a esta agrupación se leun
ha jefe y, a launvez,
establecido uny
nombre
practicante puede ser
se han detallado roles. jefe de varios empleados o de ninguno. Como se
FUNDAMENTOS DE BASE DE
ve, a esta agrupación se le ha establecido un nombre y se han detallado DATOS 2015
roles.
93
Empleado
-NIF
-
-Nombre
-Direccion
o 1
-Telefono
-Emall
subordinado o • es jefe de
En la figura 60 se mostrará una asociación ternaria entre las clases Cliente, Proveedor y
Producto. Esta asociación nos muestra qué bienes surte un distribuidor a qué clientes.
En la figura 60 se mostrará una asociación ternaria entre las clases
Cliente, Proveedor y Producto. Esta asociación nos muestra qué bienes
surte un distribuidor a qué clientes.
Figura. 59: Asociación reflexiva con nombres y con valores.
En la figura 60 se mostrará
Análisis una asociación
del modelo relacionalternaria
y de los entre las clases
elementos que loCliente,
integranProveedor125
y
Producto. Esta asociación nos muestra qué bienes surte un distribuidor a qué clientes.
Cliente Pro11eedor
PYodUCIO
Las asociaciones poseen atributos y métodos, dando lugar a las llamadas clases asociativas.
Las asociaciones
Las clases asociativasposeen atributos
se simbolizan y métodos,
como unas dando lugar
clases cualquieras a las llama-
que se acopla con la
das clases asociativas. Las clases asociativas se simbolizan
línea que personaliza la asociación con una línea de trazado discontinuo. como unas
La figura
clases 61 indica una
cualquieras queclase
se asociativa
acopla con nombrada
la líneaLínea
quePedido, la que indica
personaliza cada
la asocia-
encargo
ción y artículo
con pedidode
una línea en trazado
él, la cantidad requerida de ese artículo en ese encargo.
discontinuo.
La figura 61 indica una clase asociativa nombrada Línea Pedido, la
que indica cada encargo y artículo pedido DEen él, la cantidad
DATOS requerida
FUNDAMENTOS BASE DE 2015
de ese artículo en ese encargo.
Pedido Alticulo
-1d_ped • -cod_an
-fecha_ped o . 1 -descnp_an
: .pvp~an
'
''
'
Linea Pedido
-e anudad 94
4.2.3.2. Agregación
4.2.3.2. Agregación
La agregación es un tipo especial de asociación que personifica un ob-
La agregación es un tipo especial de asociación que personifica un objeto mezclado por
jeto mezclado
distintos por
objetos. Se distintos
trata objetos.
de una relación entreSe trata(agregado)
un todo de unayrelación entre
las porciones un
que lo
todo (agregado)
disponen y lasLos
(componentes). porciones
componentes quealcanzan
lo disponen
a existir (componentes). Los
sin el añadido o, los
componentes que
componentes se hallan
alcanzan anteriormente
a existir sin el al elaboraro, el
añadido losañadido e inclusive
componentes que
consecutivamente de esfumarse el añadido.
se hallan anteriormente al elaborar el añadido e inclusive consecutiva-
Una agregación se figura mediante una línea que realiza la unión con el agregado y cada
mente de esfumarse el añadido.
uno de sus componentes, y con un rombo con fondo blanco al lado del agregado.
Una
En la agregación se figuraunmediante
figura 62 se representa ejemplo de una líneaenque
agregación realiza
el cual la unión
el agregado Auto con
se
compone de un motor y cuatro llantas. Las llantas y el motor pueden existir antes de que
exista el auto como tal y pueden existir después de que el auto como tal haya desaparecido.
Figura. 61: Clase Asociativa.
4.2.3.2. Agregación
La agregación es un tipo especial de asociación que personifica un objeto mezclado por
126 Zea M, Se
distintos objetos. Honores J, Rivas
trata de una Wrelación entre un todo (agregado) y las porciones que lo
disponen (componentes). Los componentes alcanzan a existir sin el añadido o, los
el componentes
agregado y que cadaseuno de sus
hallan componentes,
anteriormente y con el
al elaborar un añadido
rombo con fondo
e inclusive
blanco al lado del
consecutivamente agregado.
de esfumarse el añadido.
UnaEn agregación
la figura se figura
62 semediante
representauna línea
unque realiza ladeunión
ejemplo con el agregado
agregación en elycual
cada
el uno de sus componentes,
agregado y con un rombo
Auto se compone de uncon motor
fondo blanco al ladollantas.
y cuatro del agregado.
Las llantas
En la figura 62 se representa un ejemplo de agregación en el cual el agregado Auto se
y el motor pueden existir antes de que exista el auto como tal y pueden
compone de un motor y cuatro llantas. Las llantas y el motor pueden existir antes de que
existir después
exista el auto comodetalque el auto
y pueden existircomo tal
después dehaya
que el desaparecido.
auto como tal haya desaparecido.
Aut>
Llanta Motor
4.2.3.3. Composición
4.2.3.3. Composición
Una composición entre clases se facilita una relación más grande que una agregación.
Una composición
Naturalmente, entre
asimismo clases
presta se de
el nombre facilita unafuerte.
agregación relación más grande que
una agregación. Naturalmente, asimismo presta el nombre de agrega-
ción fuerte.
Los componentes se realizan en el mismo momento que el agregado
y se destruyen al momento de destruir el agregado. Es decir, un com-
ponente solo debe pertenecer a un agregado. 95
Una composición se figura por una línea que forma la unión con el
añadido y cada mecanismo y con un polígono con base negra al lado
del añadido.
En la figura 63 se muestra ejemplo de composición entre la clase
Ventana de un entorno de ventanas y sus componentes: título, menú y
contenido. En este caso se trata de una composición porque los com-
ponentes no tienen existencia propia ni pueden pertenecer a otro agre-
gado y, además, nacen y mueren con su agregado.
Una composición se figura por una línea que forma la unión con el añadido y cada
mecanismo y con un polígono con base negra al lado del añadido.
En la figura 63 se muestra ejemplo de composición entre la clase Ventana de un entorno
de ventanas y sus componentes: título, menú y contenido. En este caso se trata de una
composición porque los componentes no tienen existencia propia ni pueden pertenecer a
Análisis del modelo relacional y de los elementos que lo integran
otro agregado y, además, nacen y mueren con su agregado.
127
Ventana
Título Contenido
4.2.3.4. Generalización
4.2.3.4.
Se defineGeneralización
a una generalización como la relación que se da entre diferentes clases por la que
Se consta
defineunaaclase
unallamada
generalización
superclase quecomo
sujetan la
los relación que sefrecuentes
atributos y métodos da entre di-
a varias
clases, que
ferentes tienenpor
clases el nombre
la quede subclases.
consta De una estaclase
manerallamada
las subclases se sistematizan
superclase queen
una superclase
sujetan y la superclase
los atributos se dominafrecuentes
y métodos en otras subclases (especialización).
a varias clases, que tienen
Se considera a la herencia como una propiedad
el nombre de subclases. De esta manera las subclases de las subclases queseademás de tener sus
sistematizan
atributos y métodos propios, constituyen una parte de los atributos y métodos de su
en una superclase y la superclase se domina en otras subclases (espe-
superclase.
cialización).
Se representa a una generalización con la unión de la subclase con la superclase por una
Se considera a la herencia como una propiedad de las subclases
línea y trazando un triángulo con fondo blanco al lado de la superclase.
queEnademás de tener sus atributos y métodos propios, constituyen una
la figura 64 se mostrará la especialización de la clase Vehículo en las subclases Coche
parte de los atributos
y Camión. Vemos como la y superclase
métodostiene de su
dos superclase.
atributos (Matrícula y Precio), que son los
Se comunes
representa a una
a las clases generalización
Coche y Camión, cada con
una de lalas
unión
cuales de la un
posee subclase con la
atributo específico:
Plazas y Tonelaje.
superclase por una línea y trazando un triángulo con fondo blanco al
lado de la superclase.
En la figura 64 se mostrará la especialización de la clase Vehículo
en las subclases Coche y Camión. Vemos como la superclase tiene dos
atributos (Matrícula y Precio), que son los DE comunes a las clases Coche
FUNDAMENTOS BASE DE DATOS 2015
y Camión, cada una de las cuales posee un atributo específico: Plazas
y Tonelaje.
Vehiculo
-matricula 96
-orec¡o
En una jerarquía de clase y sus clases puede haber más de un nivel como en la siguiente
figura.
128 Zea M, Honores J, Rivas W
Figura. 64: Generalización.
Enuna
En una jerarquía
jerarquía dey clase
de clase y sus
sus clases puedeclases puede
haber más de unhaber másen de
nivel como un nivel
la siguiente
figura.
como en la siguiente figura.
t
Camión Auto Avión Helicóptero
Existen
Existen diferentes tipos de
diferentes especializaciones:
tipos de especializaciones:
• • Disjuntas o no disjuntas:
Disjuntas o no disjuntas: Una especialización es disjunta si unesobjeto
Una especialización solo debe
disjunta si un
pertenecer a una sola subclase; no disjunta, será lo inverso a la disjunta.
objeto solo debe pertenecer a una sola subclase; no disjunta,
• Totales (completas) o parciales (incompletas): Una especialidad es de tipo total si
será lo inverso a la disjunta.
las subclases establecen todos los casos que se puedan de la superclase; arbitraria,
• en Totales (completas) o parciales (incompletas): Una especialidad
caso inverso.
es deo dinámica:
• Estática tipo total Essi las subclases
cuando establecen
la especialidad todos
es estática, un objetolos casos que
es solicitud a
partir
se de su fabricación
puedan de la de la subclase yarbitraria,
superclase; la superclase en
en la que ha
caso fue creado. La
inverso.
• especialidad
Estáticaesodinámica,
dinámica: un objeto suele marcharse
Es cuando a lo extenso es
la especialidad de su vida entreun
estática,
las diferentes subclases de la especialidad.
objeto es solicitud a partir de su fabricación de la subclase y la
En la figura 66 se muestra una especialización disjunta porque un auto en concreto solo
superclase en la que ha fue creado. La especialidad es dinámi-
puede estar funcionando o estropeado, total porque no existirán autos que no se puedan
ca,
clasificar en losun
dosobjeto suele (funcionando
tipos indicados marcharseoaestropeado)
lo extenso de su porque
y dinámica vida entre
un autolas
en concreto,diferentes
a lo largosubclases de la especialidad.
de su existencia, puede pasar de estar funcionando a estar
estropeado
En la figura y viceversa.
66 se muestra una especialización disjunta porque un auto
en concreto solo puede estar funcionando o estropeado, total porque no
existirán autos que no se puedan clasificar en los dos tipos indicados
(funcionando o estropeado) y dinámica porque un auto en concreto,97
a lo largo de su existencia, puede pasar de estar funcionando a estar
estropeado y viceversa.
Existe herencia simple o herencia múltiple. En una herencia sim-
ple, cada subclase deriva de una sola superclase. En caso de ser he-
rencia múltiple, una subclase puede proceder de varias subclases.
También, en la jerarquía de clases de la figura 67 poseemos herencia
múltiple porque las subclases Camión y Bote proceden cada una de dos
superclases.
FUNDAMENTOS DE BASE DE DATOS 2015
Auto
f
1 1
Figura. 66: Especialización disjunta,
Funcionando
total y dinámica
Estropeado
Existe herencia simple o herencia múltiple. En una herencia simple, cada subclase deriva
de una sola superclase. En caso de ser herencia múltiple, una subclase puede proceder de
varias subclases. También, en Especialización
Figura. 66: la jerarquía de clasestotal
disjunta, deyla figura 67 poseemos herencia
dinámica
múltiple porque las subclases Camión y Bote proceden cada una de dos superclases.
Existe herencia simple o herencia múltiple. En una herencia simple, cada subclase deriva
de una sola superclase. En caso de ser herencia
Vehículo múltiple, una subclase puede proceder de
t t t
1 1
1 Velero 1 1 Camión 1
1 1 1 1
1 1 1 1
4.2.3.5. Dependencia
4.2.3.5. Dependencia
Se define a la dependencia como la relación que se da por dos clases la cual una de las
Se define
clases seainstancia
la dependencia como
a otra clase,Figura.
es decir la
67: relación
que una depende
Herencia quedese
Múltiple. otrada poruna
o que dos clases
clase lade
solicita
cualotra
unapara
deque
laspueda trabajar.
clases Por ejemplo,aen
se instancia un entorno
otra clase,de esventanas
decir queuna aplicación
una depen- gráfica
4.2.3.5. Dependencia
deSe instancia
de otra aouna ventana.
define laque una clase
dependencia como solicita de que
la relación otrasepara
da porque dos pueda
clases latrabajar.
cual una dePorlas
La relación de dependencia se simboliza mediante una flecha con diseño interrumpido que
ejemplo,
clases se en un entorno
instancia a otra clase,de ventanas
es decir que unauna aplicación
depende de otra o que gráfica
una claseinstancia
solicita de
empieza a partir de la clase dependiente.
unaotraventana.
para que pueda trabajar. Por ejemplo, en un entorno de ventanas una aplicación gráfica
instancia una ventana.
La relación de dependencia se simboliza mediante una flecha con
La relación de dependencia seFUNDAMENTOS
simboliza mediante una DEflecha
BASE DE
con DATOS
diseño 2015
interrumpido que
diseño interrumpido que empieza a partir de la clase dependiente.
empieza a partir de la clase dependiente.
Aplicación Aplicación
~
-
98
Figura. 68: Relación de Dependencia
Figura. 69: Objeto de la clase cliente
Cliente1 :Cliente
NIF= ·2314123C•
Figura. 70: Representación detallada
Nombre= •Juan Rojas•de un objeto de la clase cliente
Direccion= ·E1 Bosque Sector #1"
Un diagrama de objetos para Telefono=
el diagrama de clases tendría las cuentas bancarias de que
2925934
ubican uno o Email=
varios clientes en ·¡uanr23@hotmail.com·
un instante en específico de realización de la aplicación.
Como, por ejemplo, en la figura 71 se simboliza un diagrama de objetos en el que se
muestra el hecho de que el70:
Figura. cliente con NIEdetallada
Representación 12345678A
de un tiene
objeto dos
de lacuentas bancarias. [21]
clase cliente
Un diagrama de objetos para el diagrama de clases tendría las cuentas bancarias de que
ubican
Un uno o varios
diagrama clientes enpara
de objetos un instante en específico
el diagrama de realización
de clases tendríade las
la aplicación.
cuentas
por ejemplo, en la figura 71
bancarias de que ubican uno o varios clientes en un instante enque
Como, se simboliza un diagrama de objetos en el se
espe-
muestra el hecho de que el cliente con NIE 12345678A tiene dos cuentas bancarias. [21]
cífico de realización de la aplicación. Como, por ejemplo, en la figura
71 se simboliza un diagrama de objetos en el que se muestra el hecho
de que el cliente con NIE 12345678A tiene dos cuentas bancarias. [21]
Figura. 70: Representación detallada de un objeto de la clase cliente
Un diagrama de objetos para el diagrama de clases tendría las cuentas bancarias de que
ubican uno o varios clientes en un instante en específico de realización de la aplicación.
132
Como, por ejemplo, en la J,figura
Zea M, Honores Rivas W71 se simboliza un diagrama de objetos en el que se
muestra el hecho de que el cliente con NIE 12345678A tiene dos cuentas bancarias. [21]
Num_Cta=2302054779298
Tipo= "Ahorro·
Saldo= 7600,00
100
Resumen
[133]
134 Zea M, Honores J, Rivas W
Provincias
CodPro Pro
32 Guayas
45 Azuay
10 El Oro
Tabla 33: Código de Provincia
Para las consultas es necesario mostrar el resultado de cada una y escribir las expresiones
Para las consultas es necesario mostrar el resultado de cada una y
del álgebra y cálculo relacional de tuplas y el cálculo de relacional de dominios.
escribir las expresiones
a) Obtener las ciudades dedel álgebradelydirectorio.
las personas cálculo relacional de tuplas y el
cálculo de relacional de dominios.
b) Obtener las personas que viven en Guayaquil.
a).- c)Obtener
Obtener las
el nombre y la fecha
ciudades de de
lasnacimiento
personas de las
delpersonas que tienen menos de 28
directorio.
años.
b).- Obtener las personas que viven en Guayaquil.
c).- d) Obtener nombre, ciudad y provincia de las personas mayores de 35 años.
Obtener el nombre y la fecha de nacimiento de las personas que
e) Obtener nombre, fecha de nacimiento y teléfono de las personas de la Provincia de
tienen El menos
Oro.
de 28 años.
Solución
a) πciudad(Directorio) [135]
t|∃s Є Directorio (t.Ciudad=s.Ciudad))
b) αciudad=Guayaquil (Directori0)
t| (t Є Directorio) ∧ (t.Ciudad=”Guayaquil”))
Provincias
CodPro Pro
32 Guayas
45 Azuay
10 El Oro
Tabla 33: Código de Provincia
136 Zea M, Honores J, Rivas W
Para las consultas es necesario mostrar el resultado de cada una y escribir las expresiones
del álgebra
d).- y cálculo
Obtener relacionalciudad
nombre, de tuplasyy provincia
el cálculo de de
relacional de dominios.
las personas mayores de
a) Obtener las ciudades de las personas del directorio.
35 años.
b) Obtener las personas que viven en Guayaquil.
e).-c)Obtener nombre, fecha de nacimiento y teléfono de las personas de
Obtener el nombre y la fecha de nacimiento de las personas que tienen menos de 28
la Provincia
años. de El Oro.
d) Obtener nombre, ciudad y provincia de las personas mayores de 35 años.
e) Obtener nombre, fecha de nacimiento y teléfono de las personas de la Provincia de
Solución
El Oro.
a).- πciudad(Directorio)
Solución
t|∃s Є Directorio (t.Ciudad=s.Ciudad))
a) πciudad(Directorio)
b).- αciudad=Guayaquil (Directori0)
t|∃s Є Directorio (t.Ciudad=s.Ciudad))
t| (tb)Є Directorio)
αciudad=Guayaquil ∧ (t.Ciudad=”Guayaquil”))
(Directori0)
<c>|∃n, t| (tf,Єt,Directorio)
cp (<n, f, ∧c, (t.Ciudad=”Guayaquil”))
t, c p> Є Directorio)
<c>|∃n,
< n, f, c, f, t, cp (<n,
t, cp >|(<n, a, c,f, t,c,ct,p>
c p>ЄЄDirectorio∧|=”Guayaquil”)
Directorio)
< n, f, c, t, cp >|(<n, a, c,
c).- πNombre, Fec_Nac (αFec_Nac<28(Directori0)) t, c p> Є Directorio∧|=”Guayaquil”)
c) πNombre, Fec_Nac (αFec_Nac<28(Directori0))
t|∃s Є Directorio (t.Nombre=s.Nombre) ∧(t.FecNac=s.FecNac) ∧ cNac<28))
t|∃s Є Directorio (t.Nombre=s.Nombre) ∧(t.FecNac=s.FecNac) ∧ cNac<28))
Directorio
Nombre FecNac Ciudad Telefono CodPro
Karla Feijoo FUNDAMENTOS
10/01/95 Guayaquil DE BASE
0979290323 DE DATOS
32 2015
Tabla 34 Registro de Directorio
<n, f<n,
>∃ f >∃
c, t,c, cp
t, cp(<
(< n,
n, f,
f, c,c, t,t,cp>
cp>Є Directorio ∧ f< 28
Є Directorio ∧ f< 28
103
Nombre FecNac
Karla Feijoo 10/01/95
Ligia Sánchez 11/02/90
Tabla 35: Nombre - Fecha de un Directorio
Ciudad
Machala
Guayaquil
Manta
Cuenca
Tabla 36: Tabla Ciudad
Solución:
Solución:
La relación universal es que con el grupo repetitivo que se encuentra subrayado como
La
claverelación universal
principal el es que con el grupo repetitivo que se encuentra
atributo NPed:
subrayado como clave
Pedido (NroPed, FPed, NroPro, principal el atributo
NPro, DPro, NroProd, NPed:
DetalleProd, PUnit, Can, Impor,
Total)
Pedido (NroPed, FPed, NroPro, NPro, DPro, NroProd, DetalleProd, PU-
La relación
nit, pasa a otra
Can, Impor, forma normal suprimiendo el grupo repetitivo y con una nueva
Total)
relación con los atributos del grupo repetitivo y la llave principal de la relación.
La relación pasa a otra forma normal suprimiendo el grupo repetitivo y
Pedido (NroPed, FPed, NroPro, NPro, DPro, Total)
con una nueva relación con los atributos del grupo repetitivo y la llave
principal de la relación.
Pedido (NroPed, FPed, NroPro, NPro, DPro, Total)
104
Línea Pedido (NroPed, NroProd, DetProd, PUnit, Can, Impor)
Se necesita que la relación Línea Pedido este en la segunda forma nor-
mal, y que todos sus atributos no claves dependan de la clave.
(NroPed, NroPro) → DetProd
(NroPed, NroPro) → PUnit
(NroPed, NroPro) → Cant
(NroPed, NroPro) → Impor
Se supone que los valores de los productos son únicos, se entregan
con el mismo valor independientemente de a quien se realice la venta.
Tenemos que las 2 primeras dependencias no son correctas ya que un
producto y su valor no dependen del pedido.
NroPro -> DetProd
NroProd->PUnit
138 Zea M, Honores J, Rivas W
Solución:
En este ejercicio la clave principal será el ID del estudiante, lo que per-
mite mover del orden de los atributos en la relación. Algunos atributos
del grupo repetitivo están subrayados, ya que un estudiante puede ma-
tricularse en varias materias.
Matrícula (ID, Nom, Apellidos, Codmateria, Nota, Curso, Aula, Lu-
gar)
Debido al grupo repetitivo, la relación no está en 1era forma normal
Ya que existe un grupo repetitivo, la relación no está en primera forma
normal. La llevamos a esta forma normal descartando el grupo repeti-
tivo de la relación y estableciendo una nueva. La estructura relacional
en primera forma normal se vería de la siguiente manera:
Registro_Matricula (ID, Nom, Apellidos)
Documentación (ID, Codmateria, Nota, Curso, Aula, Lugar)
Para estar en segunda forma normal, las relaciones de documentación
necesitan que sus atributos no claves dependen totalmente de la clave,
obligando así a cumplir las dependencias funciones totales.
La relación Documentación para que se halle en segunda forma
normal es necesario que sus atributos no clave dependan de la totali-
dad de la clave, por lo tanto, deben cumplir las dependencias funciona-
les totales a continuación.
(ID, Codmateria) Nota
(ID, Codmateria) Curso
(ID, Codmateria) Aula
(ID, Codmateria) Lugar
140 Zea M, Honores J, Rivas W FUNDAMENTOS DE BASE DE DATOS 201
Al depender una materia a un único curso la segunda dependencia
funcional total no
Al depender unasemateria
cumple, entonces
a un tenemos
único curso que: dependencia funcional total no
la segunda
Codmateria -* Curso
cumple, entonces tenemos que:
Para llevar a segunda
Codmateria -* Cursoforma normal la relación documentación des-
carta el atributo curso y debe establecer una nueva relación con él y el
Para llevar a segunda forma normal la relación documentación descarta el atributo curs
atributo del que depende. Siendo de la siguiente manera el esquema de
debe establecer una nueva relación con él y el atributo del que depende. Siendo de
segunda forma normal:
siguiente manera el esquema de segunda forma normal:
Registro_Matricula’ (ID, Nombre, Apellidos)
Registro_Matricula' (ID, Nombre, Apellidos)
Documentación (ID, Codmateria, Nota, Aula, Lugar)
Documentación
Documentación (ID,
(ID, Codmateria,Nota,
Codmateria, Nota,Aula,
Aula, Lugar)
Lugar)
Documentación (ID, Codmateria, Nota, Aula, Lugar)
Materia (Codmateria, Curso)
La relación materia ya se
Materia (Codmateria, encuentra en tercera forma normal, y se debe
Curso)
buscar alguna materia
La relación dependencia
ya se funcional
encuentra entransitiva. La relación
tercera forma normal,dey docu-
se debe buscar algu
mentación se halla:
dependencia funcional transitiva. La relación de documentación se halla:
Solución:
Se ha colocado como llave principal a NroEp, ya que un Empleado pue-
de hacer varios cursos cada uno con su tema.
Empleado (NroEp, NSS, Sección, NroJefeSec, NroCurso, Tema)
Con la presencia de un grupo repetitivo la relación empleada está en la
primera forma normal, y debemos cambiar la forma adecuada descar-
tando el grupo repetitivo creando una nueva relación con los atributos
del grupo más una clave principal. Entonces el esquema relacional en
primera forma normal sería de la siguiente manera.
Empleado (NroEp, NSS, Sección, NroJefeSec)
Empleado (NroEp, NroCurso)
Propuestas de desnormalización:
Al conocer la información de un trabajador es necesario saber de quién
se trata si es un jefe, se puede desmoralizar agregando el atributo Nro-
JefeSec a la tabla Empleado y desasociando la relación con la tabla
Secciones.
La información de los cursos que han sido hechos por cada trabajador
y conocer el tema que trata, si la información no varía mucho se puede
eliminar la tabla cursos y en la tabla Estudios el atributo Tema.
Empleados y departamentos
Para los empleados se necesita almacenar información como un núme-
ro que lo identifique, nombre, apellido, salario y comisión. Cada uno de
estos empleados tiene designado un departamento y se almacenará un
número de departamento, nombre y localidad. También es necesario
almacenar la relación entre empleados y conocer si tiene designado un
jefe o no.
Solución:
En la entidad Empleado como atributos tenemos: un número, su nom-
bre, apellido, salario y comisión. Como atributo identificador principal
tomaremos el atributo número ya que para cada empleado es el iden-
tificador único.
En la entidad Departamento como atributos tenemos: un número,
nombre y localidad. Como atributos identificadores principal tomare-
mos el atributo número ya que para cada Departamento el número
será único.
Para crear las relaciones debemos saber por cada empleado el de-
partamento en donde trabaja, para ello creamos la relación entre Em-
pleado y Departamento con cardinalidad 1,1 junto al Departamento, ya
que todo empleado trabaja en un solo departamento; y la cardinalidad
1, n junto al Empleado, ya que en cada departamento trabajará como
mínimo un empleado y como máximo varios.
Otra relación seria entre los empleados y conocer cuál es su jefe,
para ello se crea una relación reflexiva en la entidad Empleado. Como
cardinalidad tendremos 1, N, con la que sabremos cual es el jefe de
cada empleado. Si es queFUNDAMENTOS
lo tiene o no. LaDE
otra cardinalidad es 0,N ya
que un empleado puede o no tener subordinados.
BASE DE DATOS 2015
El
diagrama entidad - relación que se propone es el siguiente:
1:1
Para obtener el esquema relacional, cada entidad se transformará en una relación en este
caso las entidades de Empleado y Departamento con cada uno de sus atributos.
Se analizarán cada una de las relaciones del diagrama entidad - relación:
La relación Trabaja es de cardinalidad 1,N, dando lugar a la cardinalidad N aparezca una
clave secundaria con el atributo de clave principal de la otra relación NroDep. El método
144 Zea M, Honores J, Rivas W
Departamento (NroDep,
Departamento (NroDep, Nombre,
Nombre,Localidad)
Localidad)
Tema: Modelo orientado a
Tema: Modelo orientado a objeto objeto
Se proponen varios ejercicios para la modelización de diagramas de clases. Por cada
Se proponen varios ejercicios para la modelización de diagramas de cla-
ejercicio se proporciona el enunciado que describe como se desea obtener el diagrama de
ses. Por cada ejercicio se proporciona el enunciado que describe como
clase.
se Sistema
desea obtener el diagrama
de monitorización de clase.
de sensores.
Para un sistema de monitorización de sensores se desea crear un diagrama de clases
•
Sistemaconde métodos para la monitorización.
monitorización de sensores.Este sistema además de monitorizar también
deberá indicar problemas.
• Para un sistema de monitorización de sensores se desea crear
• Como atributos del sensor tenemos fabricante, número de modelo, secuencia de
un diagrama de clases con métodos para la monitorización.
iniciación, factor de escala y unidad de medida, intervalo de muestreo, ubicación,
Este sistema además de monitorizar también deberá indicar
estado, valor actual y umbral de alarma.
• problemas.
El sistema hace seguimiento de cada sensor ubicados en edificios. Como atributos
• Como atributos
del edificio tenemosdel sensor
dirección tenemos
y número fabricante, número de mo-
de contacto.
• delo, secuenciadede
Una característica losiniciación, factor
sensores críticos es lade escala y unidad de me-
tolerancia.
dida, intervalo de muestreo, ubicación, estado, valor actual y
umbral de alarma.
• El sistema hace seguimiento de cada sensor ubicados en edi-
ficios. Como atributos del edificio tenemos dirección y número
110
de contacto.
• Una característica de los sensores críticos es la tolerancia.
• Para que el sistema se active debe superarse el umbral de cada
sensor. A los dispositivos de alarma se los identifica de acuerdo
Ejercicios propuestos y resueltos 145
SENSOR
FUNDAMENTOS DE BASE DE DATOS
EDIFICIO
2015
Está en
"Fabricaute *Dirección
"Nro. Modelo *NumContacto
"Secuencialniciación
"Factorlíscala
*UmbralAlarma *Estado
T
SENSORCRITICO
*Tolerancia
+Iniciar O
+MonitorizarO
Ejercicios Propuestos
Ejercicios Propuestos
Figura. 73: Diagrama de sistema de monitorización de sensores
TEMA: Análisis del modelo relacional y los elementos que lo integran.
1. Se proporciona
TEMA: Análisis el siguiente esquemarelacional
del modelo relacional: y los elementos que lo inte-
Ejercicios Propuestos
Pedido(RefPed, FPed)
gran.
TEMA: Análisis del modelo relacional y los elementos que lo integran.
Línea Pedido (RefPed, CodArt, Can, Impor)
1.
Articulo
Se proporciona
1. Se proporciona el siguiente
(CodArt, DetProd,
el siguiente
esquema
PUnit)
esquema relacional:
relacional:
Pedido(RefPed, FPed)
Pedido(RefPed, FPed)
Línea Pedido
Línea Pedido (RefPed,
(RefPed,CodArt, Can, Impor)
CodArt, Can, Impor)
Articulo (CodArt, DetProd, PUnit) Pedido
Articulo (CodArt, DetProd, PUnit)
Pedido FecPed
E010 05/01/2014
E011 Pedido
10/01/2014
Pedido
E012 FecPed
15/01/2014
E010
E013 05/01/2014
25/01/2014
E011 Tabla 38: Tabla
10/01/2014
pedido
E012 15/01/2014
E013 25/01/2014
Tabla 38: Tabla pedido
112
112
FUNDAMENTOS DE BASE DE DATOS 2015
Ejercicios propuestos y resueltos 147
Linea Pedido
RefPed CodArt CantArt
E010 A0043 10
E011 A0078 12
E012 A0043 5
E013 A0075 20
E010 A0012 15
E011 A0043 5
E012 A0089 50
Tabla 39: Tabla línea de pedido
Articulo
Cod Art DesArt PVPArt
A0043 Esfero negro fino 0,60
A0078 Esfero verde normal 0,45
A0075 Cuaderno espiral a cuadros x100 hojas 1,50
A0012 Tijera 1,00
A0089 Lápices de colores 1,25
Tabla 40: Tabla Artículo
PorPor
cadacadaconsulta
consulta indicar el resultado
indicar y escribirylas
el resultado expresiones
escribir lasdel algebra relacional,
expresiones del
cálculo relacional de tuplas y cálculo relacional de dominios:
algebra relacional, cálculo relacional de tuplas y cálculo relacional de
a) Adquirir artículos de precio inferior a 0,25 C.
dominios:
b) Adquirir la descripción y el precio de los artículos con precio superior a 1€.
a).- Adquirir artículos
c) Adquirir de precio
la descripción de losinferior
artículos ay 0,25 C.
las unidades solicitadas en el pedido
P0004.
b).- Adquirir la descripción y el precio de los artículos con precio supe-
d) Adquirir por cada pedido realizado con posterioridad al 20 de febrero de 2013, la
rior a 1€.
fecha del pedido, y por cada uno de los artículos solicitados en él, su descripción, el
c).- Adquirir la descripción de los artículos y las unidades solicitadas
precio del articulo y el número de unidades solicitadas.
en el
2. pedido P0004.varios ejercicios prácticos para la normalización en los cuales se
Se proporciona
d).- Adquirir por cada
deberán aplicar pedido
las formas realizado
normales desde lacon posterioridad
primera forma normal al 20lade
hasta fe-
tercera
brero forma
de 2013,normal,lapara mostrar
fecha del un esquemay relacional
pedido, por cada conuno
muchas
de más
los relaciones
artículosy
normalizado.
solicitados en él, su descripción, el precio del articulo y el número de
unidades solicitadas.
Resultado)
Hipótesis semánticas:
• Un jugador puede tener una o varias nacionalidades.
• Un jugador puede hablar uno o varios idiomas.
• Un jugador pertenecerá a un solo equipo.
• Un equipo solo pertenecerá a una ciudad con un único presi-
dente.
• Un código de partido es solo los partidos que ha jugado dicho
jugador.
2.2. Almacén
Relación universal:
Almacén (con Tienda, Nombre jinda, Código Ciudad, Nombre Ciudad,
Provincia, Con Autónoma, Código Art, Nombre Art, Cantidad Art, PVP
Art, IVA Art)
Hipótesis semánticas:
• Los artículos se identifican por un código y nombre.
• La mercancía Llevada depende de las necesidades locales.
• La cantidad y precio unitario de un artículo difiere de una tien-
da a otra depende siendo de la demanda local.
• Cada artículo posee el mismo IVA.
•
2.3. Cursos
Relación universal:
Cursos (Código Curso, Nombre Curso, Dm Estudiante, Nombre Estu-
diante, Numero Matricula, Centro, Profesor, Texto)
Hipótesis semánticas:
• El identificador único de un curso es su código.
• Un estudiante puede estar matriculado en varios cursos.
• Un estudiante posee números de matrícula distinta respecto a
cada curso matriculado.
• Un curso se imparte en un solo centro.
• Un curso se imparte por un solo profesor.
• Un profesor puede impartir varios cursos.
• Un profesor imparte clases en un solo centro.
• Un curso se apoya en distintos textos, y un mismo texto puede
servir para varios cursos.
Ejercicios propuestos y resueltos 149
Supermercado
En un supermercado existen varios proveedores, la información que se
desea guardar es su nombre, dirección y teléfono.
• Todo proveedor puede suministrar uno o varios artículos a la
vez, la información del artículo que se requiere almacenar es el
nombre, precio, número y el precio tanto del proveedor como el
precio de venta.
• Todo supermercado está estructurado por departamentos, la
información que se requiere es el código, director y la serie de
empleados. Cada uno de estos departamentos es responsable
de un área específica y cada departamento puede vender una
clase de artículo.
• De los empleados que trabajan en un supermercado, la infor-
mación que se necesita almacenar es el nombre, dirección, te-
léfono, salario y departamento.
• De los clientes que tiene el supermercado, la información que
se necesita almacenar es el nombre, dirección, teléfono y saldo.
• Cada cliente realiza un pedido la información a almacenar es el
número del pedido, fecha, artículos y cantidad.
Biblioteca
Una biblioteca tiene copias de libros.
• Los libros poseen un título, año y autor o autores.
• Los autores se caracterizan por su nombre y nacionalidad.
• Un libro puede ser escrito por uno o varios autores.
• Una copia de libro posee un identificador.
• Un libro puede estar en una biblioteca por motivos de présta-
mos, retraso o en reparación.
• Se almacena información acerca de los préstamos actuales y
antiguos.
• De un lector se almacena su ID, nombre, apellidos y dirección.
Ejercicios propuestos y resueltos 151
Entidad bancaria
Se desea sistematizar las operaciones de un banco del cual se necesita
conocer nombre, OF y dirección. Y de la cual se necesita obtener:
• Lista de sucursales: código de la sucursal, dirección, celular.
• Lista de cuentas corrientes: número de la cuenta, NIF del titu-
lar, nombre y apellidos, celular, dirección y saldo.
• Lista de operaciones realizables: código de la operación y des-
cripción.
• Lista de recibos domiciliados: número de recibo, número de
cuenta de pago, importe del recibo, entidad emisora (empresa
que emite el recibo) y fecha.
Las reglas del sistema son las siguientes:
• El banco posee varias sucursales.
• Cada sucursal posee varias cuentas corrientes.
• Una cuenta corriente puede asociar a uno o más clientes, es
decir varios clientes con la misma cuenta.
• Un cliente puede tener varias cuentas, y realizar operaciones
distintas en cada una de ellas.
• Cada cuenta puede o no tener uno o varios recibos domicilia-
dos.
Obtener el diagrama de clases indicando para cada clase su nombre y
los atributos.
Puerto de Santurce
Se desea conocer y analizar el control de tráfico del puerto de Santurce.
Del puerto los datos a almacenar son: el número, la denominación y la
razón social.
• Del muelle los datos a almacenar son: número, nombre des-
criptivo asociado y longitud variable entre 30 y 3000 metros.
• En este puerto transitan barcos de carga y de transbordo, den-
tro de los de carga hay varios tipos como pesqueros y comer-
ciales.
152 Zea M, Honores J, Rivas W
•
Los barcos pesqueros se dedican a la pesca de sardina, de este
tipo de barco se necesita almacenar el nombre del barco, el nú-
mero de licencia de pesca, la empresa propietaria, la longitud
del barco en metros y la capacidad total de carga en toneladas.
• De los buques petroleros la información que se necesita alma-
cenar es: nombre, país, empresa propietaria, eslora, la capaci-
dad total de carga en toneladas y la densidad del petróleo.
• De los barcos mercantes la información que se necesita alma-
cenar es: nombre, país, empresa, eslora, capacidad total de
carga y el factor de peligrosidad de la mercancía transportada.
• Existe una línea de transbordadores y se debe almacenar el
nombre, la eslora, el número de pasajeros y el número de ve-
hículos.
• Cada barco puede realizar operaciones y de cada operación
se debe almacenar nombre del barco, eslora, fecha y hora de
la operación. Si la operación es de entrada, se almacenará el
tiempo de estancia aproximado, y si operación de salida se al-
macenará el destino del barco y las observaciones que sean
necesarias.
• De la tripulación se almacenará ID, nombre, apellidos y sueldo.
Si es el capitán, también se requiere la antigüedad.
• Para realizar una operación el barco debe solicitar al capitán
del barco.
• Para realizar una operación de entrada, se necesita conocer si
hay espacio en el muelle.
• El espacio del muelle debe ser actualizada cada vez que se una
operación de entrada o salida.
Se pide obtener el diagrama de clases indicando para cada clase su
nombre, los atributos y los métodos.
Glosario
[153]
Bibliografía
[155]
156 Zea M, Honores J, Rivas W
php?id=1864.
[13] D. C. Costa, Introducción al Diseño de Bases de Datos, Edito-
rial UOC.
[14] A. C. Yera, Diseño y Programación de bases de Datos, Madrid:
Visión Libros.
[15] J. M. Vara, «Transformación de Modelos para el Desarrollo de
Bases de Datos Objeto-Relacionales,» 07 2007. [En línea]. Availa-
ble: http://www.ewh.ieee.org/reg/9/etrans/ieee/issues/vol05/
vol5issue4July2007/5TLA4_09Vara.pdf.
[16] M. C. Pabón, «Gestion y Modelación de Datos Diseño de
BD - Modelo Entidad Relación,» 06 2011. [En línea]. Avai-
lable: http://cic.javerianacali.edu.co/wiki/lib/exe/fetch.
php?media=materias:bd1:3_mer.pdf.
[17] M. A. Rodriguez, «Amazon S3,» 2014. [En línea]. Available:
https://s3.amazonaws.com/piazza-resources/hyiw1nus1o81pv/
i0dww1j7zt36sw/Normalizacion.pdf?AWSAccessKeyId=AKIAIEDN
RLJ4AZKBW6HA&Expires=1454108791&Signature=irOD1NHnty
NLUcYHjqkfM6oscUE%3D. [Último acceso: 28 01 2016].
[18] J. M. Cotos Yáñez y J. Á. Taboada González, Sistemas de infor-
mación medioambiental, España: Netbiblo, 2005.
[19] M. Y. Jimenez Capel, IFCT0310: Bases de datos relacionales y
modelado de datos., Malaga: IC Editorial, 2015.
[20] J. M. Piñeiro Gomez, Base de datos relacionales y modelos de
datos, España: Paraninfo, 2013.
[21] J. M. Peñiero Gómez, Lenguajes de definicion y modificacion de
datos SQ, España: Ediciones Paraninfo, S.A..
Fundamentos de base de datos
Se terminó de imprimir en marzo de 2016 en la
imprenta de la UTMACH, calle Loja y 25 de Junio
(campus Machala)
Esta edición consta de 300 ejemplares.
www.utmachala.edu.ec
ISBN: 978-9942-24-07 4-3
1
9 789942 240743