Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Xunta - A1 - T - 18 - MODELO ENTIDAD-RELACIÓN - 19

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 38

18.

MODELO ENTIDADE-
RELACIÓN. MODELO
RELACIONAL.
NORMALIZACIÓN.

Fecha de actualización 26 de julio de 2011


Tema 18. Modelo entidad-relación. Modelo relacional.
Normalización

ÍNDICE

18.2.1 Parte Estática del Modelo E/R....................................................................6


18.2.1.1 Entidad.............................................................................................. 6
18.2.1.2 Relación o Interrelación.....................................................................7
18.2.1.3. Dominio............................................................................................ 8
18.2.1.4 Atributos............................................................................................ 8
18.2.2 Parte Dinámica del Modelo E/R..................................................................9
18.2.2.1 Tipo de correspondencia..................................................................10
18.2.2.2 Entidades Débiles............................................................................ 11
18.2.2.3. Papel o rol....................................................................................... 13
18.2.2.4 Atributos multivaluados y compuestos............................................14
18.2.2.5 Atributos Derivados.........................................................................15
18.3.1 Cardinalidad............................................................................................ 15
18.3.2 Jerarquía Subconjunto.............................................................................16
18.3.3 Generalización......................................................................................... 17
18.3.4 Tipos de relaciones..................................................................................18
18.3.5 Control de redundancias.........................................................................20
18.3.6 Dimensión temporal................................................................................ 21
18.4.1 Elementos............................................................................................... 23
18.4.2 Restricciones........................................................................................... 25
Se llama datos al conjunto de propiedades que caracterizan un fenómeno,
e información al conjunto de valores que pueden tomar estas propiedades
junto con las relaciones o dependencias entre las mismas.

Los modelos de datos son herramientas de abstracción que permiten


representar la realidad captando las restricciones semánticas que en ella se
puedan dar.

Cuando en el mundo real se da información de cualquier suceso u objeto


siempre los datos suministrados van acompañados de una semántica o de
un significado. De la misma manera estos datos están sujetos a unas

1
restricciones y nosotros entendemos los datos suministrados sólo si
entendemos el dominio y las restricciones de significados que acompañan a
la información. Sin embargo, cuando aparecen los ordenadores y las bases
de datos se empiezan a informatizar ocurre que se tiende a almacenar
datos separando a estos de su interpretación, esto es, de su semántica.
Como consecuencia fue necesaria la aparición de los modelos de datos
como una herramienta que ayudara a incorporar significado a los datos
almacenados.

De esta manera, los modelos de datos proporcionan mecanismos de


abstracción que permiten la representación de la parte del mundo real que
nos interesa registrar. Esta representación se concibe en dos niveles: el de
las estructuras que hacen posible la representación de la información, y el
de la información en sí misma.

Esto nos lleva a diferenciar entre lo que se denomina el esquema de la


base de datos (descripción específica en términos de un modelo de datos) y
la colección de datos en sí misma que es lo que denominamos base de
datos.

El primer paso en la representación de un problema del mundo real es la


caracterización del mismo, o lo que es lo mismo, la determinación
mediante un proceso de simplificación de los datos de interés (de entre
todos los que intervienen en el problema) y sus límites (universo del
discurso).

Los modelos de datos ofrecen distintos niveles de abstracción que facilitan


la representación de los datos:

1. Clasificación. Es la acción de crear una categoría a partir de las


características comunes a un conjunto de ejemplares. Por ejemplo, a
partir de los elementos Pedro, Juan y Cristina podemos crear la
categoría profesor de instituto.

Su proceso inverso es la particularización.

2
2. Agregación. Es la capacidad de considerar un objeto en base a los
elementos que lo constituyen. Por ejemplo, podemos crear la clase
coche a partir de las clases volante, ruedas, motor y carrocería.

Su proceso inverso es la desagregación.

3. Generalización. Es similar a la clasificación, pero creando una


categoría a partir de las características comunes a un conjunto de
otras categorías. Por ejemplo, a partir de las categorías profesor de
matemáticas, profesor de física y profesor de informática, podemos
crear la categoría profesor de instituto.

Su proceso inverso es la especialización.

Según el nivel de abstracción que apliquemos, podemos hablar de tres


tipos de modelos de datos:

• Modelo conceptual. Describe los tipos o clases de objetos desde un


punto de vista estructural. Para cada uno de estos tipos de objetos
describe sus propiedades y el dominio y restricciones de cada una,
así como las relaciones entre ellos. (Modelo Entidad/Relación).

• Modelo lógico. Representa el problema bajo las restricciones


específicas del tipo de Sistema Gestor de Base de Datos (SGBD) que
se aplique en cada caso específico. (Modelo Relacional para el caso
de los SGBD Relacionales).

• Modelo físico. Representa el problema desde el punto de vista de su


implementación en el sistema de tratamiento utilizado y los métodos
y mecanismos que se van a usar en su almacenamiento.

Un modelo de datos define las reglas mediante las cuales se han de


estructurar los datos del mundo real.

3
La representación de un mundo real mediante un determinado modelo da
lugar a un esquema, el cual describe las categorías existentes. Sin
embargo, la realidad contempla además de los aspectos estáticos, los
aspectos dinámicos. Por tanto las propiedades del mundo real son de dos
tipos:

• Estáticas relativamente invariantes en el tiempo, que es lo que se


suele conocer como estructuras. Este tipo de propiedades está
compuesto por:

o Elementos permitidos como: los objetos (entidades, relaciones,


registros, …), asociaciones entre objetos, propiedades de los objetos
y asociaciones (atributos, elementos de datos, …), dominios
(conjuntos de valores que pueden tomar las propiedades).

o Elementos no permitidos o restricciones, puesto que no todos


los valores, cambios de valor o estructuras están permitidos en el
mundo real. Cada modelo tiene por sí mismo limitaciones en cuanto a
las estructuras que permite:

 Las restricciones impuestas por el modelo se conocen como


restricciones inherentes

 Las restricciones que permiten capturar la semántica del


universo de discurso que se quiere modelar y verificar la
corrección de los datos almacenados en la base de datos. Estas
últimas restricciones se conocen como restricciones de integridad
o semánticas.

 Las restricciones de integridad son impuestas por el usuario,


mientras que las restricciones inherentes al modelo son impuestas
directamente por el modelo.

• Dinámicas Son las operaciones que se aplican a los datos o valores


almacenados en las estructuras, los cuales varían a lo largo del tiempo

4
al aplicarles dichas operaciones. La aplicación de cualquier operación
sobre los valores de los elementos, debe dejar a estos con un estado
válido, es decir los valores de los elementos deben pertenecer a alguna
de las categorías definidas en el esquema y deben cumplir las
restricciones de integridad.

La componente estática de un modelo de datos se define a través del


lenguaje de definición de datos (DDL) y la componente dinámica se define
a través del lenguaje de manipulación de datos (DML), constituyendo
ambas componentes el lenguaje de datos. También se puede mencionar el
lenguaje de control de datos (DCL) que añade una capa de seguridad.

18.2.- MODELO ENTIDAD - RELACIÓN (E-R)


Propuesto por Peter Chen en dos artículos (1976 y 1977). Es un modelo
muy extendido que ha experimentado una serie de ampliaciones a lo largo
de los años.

El modelo se apoya en dos conceptos, el concepto de entidad y el concepto


de relación. Este modelo de datos permite representar casi cualquier
restricción del diseño de datos.

El modelo E/R percibe el mundo real como una serie de objetos


relacionados entre sí y pretende representarlos gráficamente mediante un
mecanismo de abstracción. Este mecanismo de abstracción está basado en
una serie de símbolos, reglas y métodos que permitirán representar los
datos de interés del mundo real, ofreciendo al diseñador una herramienta
para aislar al modelo de consideraciones relativas a la máquina y a los
usuarios.

Tal y como veíamos en los apartados anteriores distinguiremos entre la


estática del modelo y la dinámica del mismo

5
18.2.1 Parte Estática del Modelo E/R
Chen distingue en el modelo E/R los siguientes elementos: Entidad,
Relación, Atributo y Dominio

18.2.1.1 Entidad

Una entidad es un objeto real o abstracto de interés en una organización y


acerca del cual se puede y se quiere obtener una determinada información;
personas, cosas, lugares, etc., son ejemplos de entidades

La estructura genérica que describe un conjunto de entidades aplicando la


abstracción se denomina tipo de entidad, mientras que entidad se refiere a
cada una de las ocurrencias o ejemplares de ese tipo de entidad. Así pues,
asociado al concepto de entidad surge el concepto de ocurrencia de
entidad. Una ocurrencia de entidad es una realización concreta de una
entidad. De esta manera, Hospital es un tipo de entidad mientras que
“CHOU” es una ocurrencia o ejemplar.

Una entidad debe cumplir las siguientes reglas:

• Debe tener existencia propia (veremos que hay un tipo de entidades


que en puro rigor no cumple esta restricción como son las entidades
débiles)

• Cada ocurrencia de un tipo de entidad tiene que poder distinguirse de


los demás

• Todas las ocurrencias de un mismo tipo de entidad deben tener las


mismas propiedades o atributos

Una entidad se representa gráficamente en el modelo E/R mediante un


rectángulo y en el interior del mismo se escribe en mayúsculas el nombre
del tipo de entidad.

ENTIDA

6
D

Existen dos tipos de entidades:

• Regulares: sus ejemplares tienen existencia por sí mismos, p.ej.


LIBRO.

• Débiles en las que la existencia de un ejemplar depende de que


exista un cierto ejemplar de otro tipo de entidad. Se verán en el
apartado 2.2.2

18.2.1.2 Relación o Interrelación

Una interrelación es una asociación entre entidades y se caracterizará por


unas determinadas restricciones que determinarán las entidades que
pueden o no participar de dicha relación.

La interrelación se representa gráficamente por un rombo etiquetado con el


nombre de la interrelación en mayúsculas unido mediante arcos a las
relaciones que vincula.

Asociado al concepto de interrelación surge el concepto de ocurrencia de


interrelación.

Una ocurrencia de interrelación es la asociación concreta de ocurrencias de


entidad de diferentes entidades. Por ejemplo, si tenemos las entidades
MEDICO y HOSPITAL, y la interrelación “trabaja en”, una ocurrencia de
interrelación será: MARTA GARCÍA trabaja en el CHOU.

Una interrelación queda caracterizada por tres propiedades:

• Nombre: las interrelaciones deben tener un nombre que las


identifique unívocamente.

7
• Grado: número de tipos de entidad sobre las que se realiza la
asociación. La interrelación del ejemplo anterior será binaria, es
decir, su grado seria dos.

• Tipo de Correspondencia: Número máximo de ocurrencias de cada


tipo de entidad que pueden intervenir en una ocurrencia del tipo de
interrelación.

Las relaciones pueden tener atributos propios.

18.2.1.3. Dominio

Representa el conjunto de valores posibles de una determinada propiedad o


atributo de un tipo de entidad o de un tipo de interrelación. En términos de
abstracción, es una especialización de un conjunto. Con lo que se puede
decir que el dominio es un conjunto de valores homogéneos con un
nombre.

Se representa por un círculo pequeño acompañado de su nombre en


minúsculas.

Es importante resaltar en este punto que los dominios tienen existencia


propia y es el que realmente captura una semántica del mundo real. Lo que
ha ocurrido muy a menudo es que se tiende a confundir dominio con
atributo.

18.2.1.4 Atributos

Es cada una de las posibles propiedades o características de un tipo de


entidad o tipo de interrelación. Los atributos toman valor en un dominio por
lo que un atributo es una determinada interpretación de un dominio y
varios atributos pueden tomar valores en el mismo dominio. Por ejemplo, si
tenemos el atributo COLOR el dominio sobre el que se define podría ser:
(NARANJA, BLANCO, AZUL y NEGRO).

Se puede representa gráficamente de 2 formas:

8
a) Por un círculo pequeño unido por un arco al tipo de entidad y
acompañado del nombre del atributo.

b) Encerrando en un ovalo el nombre del atributo unido por un arco al


tipo de entidad.

En función de las características del atributo respecto de la entidad se


distinguen dos tipos de atributos:

• Atributo identificador clave: distingue de manera única una


ocurrencia de entidad del resto de ocurrencias de entidad.
Normalmente, el atributo identificador es único, pero puede haber
casos en los que haya varios atributos identificadores, por lo que
denominaremos a cada uno de ellos atributo identificador
candidato. Elegiremos uno como identificador clave y el resto serán
atributos identificadores. Se representa gráficamente:

• Atributo descriptor: caracteriza una ocurrencia de entidad pero no


la distingue del resto de ocurrencias de entidad.

Una relación puede tener atributos al igual que las entidades.

18.2.2 Parte Dinámica del Modelo E/R


Decíamos que el interés de los modelos de datos es captar tanta semántica
como sea posible del mundo real. Con lo que hemos visto hasta el
momento comprobamos que se permite establecer cualquier número de
relaciones diferentes entre tipos de entidad pero no podemos establecer
restricciones del tipo:

• Un médico sólo trabaja en un hospital

9
• En un hospital trabajan n médicos

• Todos los socios del videoclub han alquilado al menos una película

A continuación se analiza en detalle todos los aspectos de las relaciones


que nos permitirán captar toda la semántica deseada.

18.2.2.1 Tipo de correspondencia

Se denomina tipo de correspondencia al tipo de asociación que se


establece entre las entidades relacionadas. Concretamente, se puede
definir el tipo de correspondencia como el número máximo de ocurrencias
de una entidad asociada a una ocurrencia de otra o de la misma entidad a
través de una relación.

Para una relación binaria, es decir, de grado dos, entre las entidades A y B,
existen tres tipos posibles de correspondencias:

• Correspondencia 1:1 Una ocurrencia de la entidad A se asocia


como máximo con una ocurrencia de la entidad B y viceversa, como
se puede observar en la figura

Un ejemplo de este tipo de correspondencia puede ser que un cliente tiene


una única cuenta bancaria en una sucursal determinada y una cuenta
determinada de una sucursal pertenece a un único cliente.

• Correspondencia 1:N Una ocurrencia de la entidad A se asocia con


un número indeterminado de ocurrencias de la entidad B, pero una
ocurrencia de la entidad B se asocia como máximo con una
ocurrencia de la entidad A. Si fuera al revés la correspondencia sería
N:1.

10
Un ejemplo de este tipo de correspondencia puede ser que una persona
vive en una ciudad y en una ciudad viven muchas personas.

• Correspondencia N:M Una ocurrencia de la entidad A se asocia con


un número indeterminado de ocurrencias de la entidad B y viceversa.

Un ejemplo de este tipo de cardinalidad puede ser que un proveedor


suministra varios productos y cada producto puede ser suministrado por
varios proveedores.

18.2.2.2 Entidades Débiles

El concepto de entidad débil está directamente relacionado con las


restricciones de tipo semántico del modelo E/R y, más concretamente, con
la denominada restricción de existencia.

Esta restricción establece el hecho de que la existencia de una entidad no


tiene sentido sin la existencia de otra, es decir, una entidad tiene
dependencia de existencia de otra cuando sin la primera la segunda
carecería de sentido.

Esto conlleva que la desaparición de las ocurrencias de la entidad de la cual


depende su existencia lleve a la desaparición de las ocurrencias de la
entidad débil que dependan de ellas. Por ejemplo, un ejemplar de la
entidad EDICIÓN no existiría si no hubiera un ejemplar correspondiente en
la entidad LIBRO. Las entidades débiles se representan gráficamente por
dos rectángulos concéntricos y en el interior el nombre de la entidad.

ENTIDAD
DEBIL

11
Hay dos tipos de dependencias de las entidades débiles respecto a las
entidades regulares:

Dependencia en existencia los ejemplares de


la entidad débil no pueden existir si
desaparece el ejemplar de la entidad regular
con el que están relacionados, pero la
entidad débil puede ser identificada sin
necesidad de identificar la entidad fuerte
relacionada, es decir, la entidad débil tiene
un atributo identificador clave.

En el ejemplo es evidente que si desaparece


un empleado de la base de datos la
existencia de sus familiares carece de
sentido, es decir, la entidad FAMILIAR tiene
dependencia de existencia respecto de la
entidad EMPLEADO. Sin embargo, cada una
de las ocurrencias de la entidad familiar
puede identificarse por sí misma.

Por identificación la entidad débil no


tiene sentido en sí misma y no puede
ser identificada sin la entidad fuerte
relacionada, es decir no tiene un
atributo identificador clave sino tan
sólo un descriptor discriminador y
necesita el atributo clave de la entidad
fuerte para poder identificar de
manera única sus ocurrencias de
entidad.

12
En el ejemplo, el atributo identificador
clave será Cod_Libro (como clave de la
entidad fuerte LIBRO) más ID como
discriminador de la entidad EJEMPLAR.

Como conclusión al concepto de entidad débil conviene resaltar las


circunstancias siguientes:

1. La dependencia en existencia no implica una dependencia en


identificación, hecho que si sucede en el caso inverso pues una
entidad que depende de otra por su Atributo Clave no tendrá sentido
sin la existencia de esta última.

2. En una interrelación con cardinalidad N:M nunca habrá entidades


débiles. La razón es que la supuesta ocurrencia de la entidad débil
que se tuviera que borrar podría estar asociada a más de una
ocurrencia de la supuesta entidad fuerte, lo que implicaría la
imposibilidad de su borrado, hecho éste en clara contraposición con
la definición de entidad débil.

18.2.2.3. Papel o rol

Es la función que cada una de las entidades realiza en una interrelación


concreta. Gráficamente se representa indicando el nombre del rol en la
línea que une las entidades con las relaciones.

Los roles juegan un papel especialmente importante en relaciones


reflexivas donde es necesario conocer los dos roles que el mismo tipo de
entidad juega en una determinada relación.

13
La razón está en que estamos asociando
entre sí ocurrencias de una misma
entidad de forma que cada una de ellas
tiene un significado diferente. En el
ejemplo, una ocurrencia de PERSONAS
hará papel de ‘padre’ y la otra papel de
‘hijo’.

18.2.2.4 Atributos multivaluados y compuestos

Un último tipo de restricciones que se deben tener en cuenta a la hora de


realizar el diseño conceptual de una base de datos con el Modelo E/R son
las que afectan a la tipología de los diferentes atributos. Desde este punto
de vista podemos definir dos tipos diferentes de atributos respecto a los
manejados hasta el momento, que son los siguientes:

Atributos multivaluados. Son aquellos


atributos que para una misma ocurrencia de la
entidad toman más de un valor. Por, ejemplo si
cada cliente puede tener más de un teléfono y es
de interés guardar todos sus posibles valores, el
atributo teléfono seria multivaluado. Se
representa etiquetando su arco con un valor de
cardinalidad N.

Atributos Compuestos. Son aquellos que


agrupan en sí mismos, por afinidad o por forma
de uso, más de un atributo. Por ejemplo el
atributo “dirección” engloba los atributos calle,
numero, ciudad, provincia y código postal.

14
Se representa especificando sus atributos
componentes rodeando al mismo y enlazándolos
al símbolo del atributo compuesto mediante
arcos.

18.2.2.5 Atributos Derivados

Son aquellos que pueden calcularse a partir de otros. Por ejemplo, si


tenemos la entidad PERSONA con los atributos DNI, Nombre,
Fecha_Nacimiento y Edad, el último atributo (Edad) puede obtenerse a
partir de otro atributo (la fecha de nacimiento) y es, por lo tanto,
redundante. Este tipo de atributos deben eliminarse del esquema.

18.3.- MODELO ENTIDAD RELACIÓN EXTENDIDO


El Modelo E/R con el paso del tiempo ha sufrido una serie de modificaciones
tanto en su simbolismo gráfico, como en la ampliación de sus elementos.

18.3.1 Cardinalidad
Este primer concepto en cierto modo estaba tratado de forma implícita en
el Modelo E/R original. Sin embargo, ha sido posteriormente cuando se le
ha dado cierta relevancia e incluso una forma de representación.

El concepto cardinalidad, también denominado “clase de pertenencia”,


permite especificar si todas las ocurrencias de una entidad participan o no
en la interrelación establecida con otra(s) entidad(es):

• Si toda ocurrencia de la entidad A debe estar asociada con al menos


una ocurrencia de la entidad B a la que está asociada por una
determinada interrelación, se dice que la clase de pertenencia es
obligatoria, es decir, la cardinalidad mínima es 1.

15
• Por el contrario, si no toda ocurrencia de la entidad A necesita estar
asociada con alguna ocurrencia de la entidad B asociada, se dice que
la clase de pertenencia es opcional, es decir, la cardinalidad mínima
es 0.

Podemos definir la Cardinalidad de un tipo de Entidad como el número


mínimo y máximo de ocurrencias de un tipo de entidad que pueden estar
relacionadas con una ocurrencia del otro tipo de entidad que participan en
el tipo de interrelación.

Su representación gráfica es una etiqueta del tipo (0,1), (1,1), (0,n) ó (1,n)
según corresponda, al lado de las entidades asociadas por la relación tal
como se puede observar en el siguiente ejemplo, donde el primer elemento
de la tupla es la cardinalidad mínima, y el segundo elemento de la tupla es
la cardinalidad máxima, que coincide con el tipo de correspondencia

Ejemplo: ‘Un libro puede estar escrito


por ninguno, uno o varios autores. Un
autor escribe al menos un libro y puede
escribir varios.’

18.3.2 Jerarquía Subconjunto


La descomposición de tipos de entidad en varios subtipos es una necesidad
muy habitual en el modelado conceptual. En el mundo real se pueden
identificar varias jerarquías de entidades. La interrelación que se establece
entre un supertipo y sus subtipos corresponde a la noción de “ES-UN” ( IS-A
) o más exactamente “es un tipo de”.

Para su representación se utiliza un triángulo invertido, con la base paralela


al rectángulo que representa el supertipo.

El concepto jerarquía Subconjunto establece que una entidad A es un


subconjunto de otra entidad B cuando toda ocurrencia de la primera

16
también es una ocurrencia de la segunda, y lo contrario no tiene por qué
ser cierto.

Por tanto, tendremos una jerarquía subconjunto cuando cada ocurrencia de


una entidad genérica pueda ser también una ocurrencia de otras entidades
que, potencialmente, son subconjuntos no disjuntos (solapados). Es decir,
en las entidades subconjunto pueden aparecer ocurrencias repetidas.

Características:

• Toda ocurrencia de un subtipo es una ocurrencia del supertipo, las


cardinalidades serán siempre (1,1) en el supertipo y (0,1) o (1,1) en
los subtipos.

• Todo atributo del supertipo pasa a ser un atributo de los subtipos.

La entidad subconjunto puede tener atributos, además de tener los


atributos de la entidad genérica, pero siempre las entidades subconjunto se
encuentran identificadas por la clave de la entidad genérica. Además todos
los atributos comunes de las entidades subconjunto deberían aparecer en
la entidad genérica para evitar repetir los atributos en cada una de las
entidades subconjunto.

18.3.3 Generalización
El concepto de jerarquía de generalización o generalización establece que
una entidad genérica X es una generalización de otras entidades
especializadas si cada ocurrencia de la primera es una ocurrencia y
solamente una de las otras entidades. A veces este concepto se conoce
también como jerarquía de especialización.

Se tendrá una jerarquía de generalización cuando la entidad genérica se


divida en una serie de entidades en función del valor que tome un
determinado atributo de la entidad genérica.

La generalización tiene dos restricciones semánticas asociadas:

17
• Totalidad si todo ejemplar del supertipo tiene que pertenecer a
algún subtipo. El caso contrario se llama Parcialidad.

• Solapamiento si un mismo ejemplar del supertipo puede pertenecer


a más de un subtipo. El caso contrario se llama Exclusividad.

Pueden existir interrelaciones de cada una de las cuatro combinaciones


posibles, y se representarían de la siguiente forma:

TOTAL SIN SOLAPAMIENTO PARCIAL SIN SOLAPAMIENTO

Tanto un hombre como una mujer Tanto un artículo como un libro


son persona. son documentos.
Una persona no puede ser a la Un mismo documento no puede
vez hombre y mujer. ser a la vez un artículo y un libro.
Toda persona tiene que ser un Puede haber documentos que no
hombre o una mujer. sean ni artículos ni libros.
TOTAL CON SOLAPAMIENTO PARCIAL CON SOLAPAMIENTO

Tanto un empleado como un Tanto un docente como un


estudiante son personas. investigador son empleados.
Una misma persona puede ser Un mismo empleado puede ser
estudiante a la vez que docente a la vez que
empleado. investigador.
Toda persona en nuestra BD tiene
que ser un estudiante y/o
empleado.

18.3.4 Tipos de relaciones


A. RELACIONES REFLEXIVAS Son interrelaciones en las que interviene un
único tipo de entidad (unarias).

Ejemplo: Un trabajador puede ser jefe de ningún


trabajador o puede serlo de varios trabajadores,

18
mientras que un trabajador sólo es dirigido por
ninguno o un trabajador

B. INTERRELACIONES CON RESTRICCIONES DE EXCLUSIVIDAD. Dos


interrelaciones que implican a un mismo tipo de entidad participan de una
restricción de exclusividad si los ejemplares de esa entidad pueden
participar de una u otra interrelación, pero no de ambas.

Se ha recogido en el esquema que en una


determinada biblioteca los artículos están
publicados en revistas o aparecen en
recopilaciones, pero no en ambos

C. INTERRELACIONES CON RESTRICCIONES DE EXCLUSIÓN. Dos


interrelaciones entre los mismos dos tipos de entidad son exclusivas si un
ejemplar del primer tipo de entidad y otro ejemplar del segundo tipo de
entidad sólo pueden estar relacionados por una de las dos interrelaciones,
nunca por ambas simultáneamente.

Un profesor no puede recibir e impartir


el mismo curso, aunque al contrario
que en la restricción anterior puede
impartirlo o recibirlo.
D. INTERRELACIONES CON RESTRICCIONES DE INCLUSIVIDAD. Son dos
interelaciones que implican a un mismo tipo de entidad, en las que los
ejemplares de la entidad tienen que haber participado de una interrelación
con una cardinalidad determinada para poder participar de la otra.

Para que un profesor pueda


impartir un curso, tiene que
haber recibido el curso un
mínimo de 3 veces.

19
E. INTERRELACIONES CON RESTRICCIONES DE INCLUSIÓN. Son aquellas que
se establecen entre los mismos dos tipos de entidad y que restringen una
interrelación entre dos ejemplares de cada una de las entidades a la
vinculación de esos dos mismos ejemplares a través de la otra
interrelación.

Todo ejemplar de profesor que esté


unido a un ejemplar de curso
mediante la interrelación imparte
tiene necesariamente que estar unido
al mismo ejemplar de curso mediante
la interrelación recibe.

F. AGREGACIÓN. Es un tipo especial de interrelación que permite


representar tipos de entidad compuestos que se forman a partir de otros
más simples. Existen dos clases de agregaciones

Compuesto/Componente El supertipo de
entidad se obtiene por la unión de los
subtipos. Se representa de la siguiente
forma

Miembro/Colección: El supertipo de entidad


es una colección de elementos de un mismo
subtipo. Se representa como:

18.3.5 Control de redundancias


En el modelo E/R es necesario evitar las redundancias para no tener
problemas de inconsistencias de la representación. Un elemento de un
esquema es redundante si puede ser eliminado sin pérdida de semántica.

Existen dos formas principales de redundancia:

20
• En los atributos (atributos derivados o calculados): Aunque son
redundantes, no dan lugar a inconsistencias siempre que en el
esquema se indique su condición de derivados y la fórmula mediante
la que han de ser calculados.

• En las interrelaciones (también llamadas interrelaciones derivadas):


Una interrelación es redundante si su eliminación no implica pérdida
de semántica porque existe la posibilidad de realizar la misma
asociación de ejemplares por medio de otras interrelaciones. Para ello
es condición necesaria pero no suficiente que forme parte de un ciclo.

La existencia de un ciclo no implica la existencia de interrelaciones


redundantes.

Para que una interrelación pueda ser eliminada por redundante se tiene
que cumplir:

• Que exista un ciclo.

• Que las interrelaciones que componen el ciclo sean equivalentes


semánticamente,

• Que después de eliminar la interrelación se puedan seguir asociando


los ejemplares de las dos entidades que estaban interrelacionadas

• Que la interrelación no tenga atributos o que éstos puedan ser


transferidos a otro elemento del esquema a fin de no perder su
semántica.

18.3.6 Dimensión temporal


Es necesario establecer un método semántico y gráfico que recoja de algún
modo, en el esquema conceptual, el transcurso del tiempo y su influencia
en la forma en que cambian los datos. Existen varias aproximaciones:

• La más simple la constituyen los atributos de tipo fecha asociados a


algunas entidades o interrelaciones:

21
o Para sucesos instantáneos, es decir, sin duración, bastará con
un sólo atributo de este tipo.

o Para poder almacenar hechos que transcurren en un intervalo


de tiempo determinado necesitaremos una fecha_inicio y una
fecha_fin.

o En las bases de datos históricas, en las que una interrelación


entre dos ejemplares concretos se pueda repetir en el tiempo,
el atributo fecha será multivaluado.

• Cuando es necesario representar la evolución de un tipo de entidad a


lo largo del tiempo se utiliza un atributo de estado, que indicará en
qué estado concreto se encuentra la entidad.

En muchos casos lleva asociado otro atributo, que es la fecha en la que se


ha producido el cambio de estado o el intervalo de tiempo en que ha
permanecido en dicho estado.

18.4.- MODELO RELACIONAL


Es un modelo lógico de datos, desarrollado por Codd, que introdujo la teoría
matemática de las relaciones en el campo de las BD y supuso un
importante paso en la investigación de los SGBD. El documento de Codd
propone un modelo de datos basado en la “Teoría de las Relaciones”, donde
los datos se estructuran lógicamente en forma de relaciones –tablas-,
siendo un objetivo fundamental del modelo mantener la independencia de
esta estructura lógica respecto al modo de almacenamiento y a otras
características de tipo físico (independencia de ordenación, indexación y de
los caminos de acceso).

Este nuevo modelo de datos perseguía los siguientes objetivos:

22
• Independencia lógica: añadir, eliminar o modificar cualquier elemento
de la BD no debe repercutir en los programas y/o usuarios que
accedan a vistas de los mismos.

• Independencia física: el modo en que se almacenan los datos no debe


influir en su manipulación lógica y, por tanto, los usuarios que
acceden a esos datos no han de modificar sus programas por
cambios en el almacenamiento físico.

• Flexibilidad: poder ofrecer a cada usuario los datos de la forma más


adecuada a su aplicación.

• Uniformidad: Las estructuras lógicas de los datos presentan un


aspecto uniforme (tablas), lo que facilita la concepción y
manipulación de la BD por parte de los usuarios.

• Sencillez: Las características anteriores, así como unos lenguajes de


usuario muy sencillos, producen como resultado que el modelo de
datos relacional sea fácil de comprender y utilizar por parte del
usuario final.

18.4.1 Elementos
El modelo relacional introduce su propia terminología para denominar los
objetos y elementos utilizados:

1. Relación. Es el elemento central del modelo relacional. Son matrices


bidimensionales (tablas) caracterizadas por un nombre, un conjunto de
atributos (dimensión vertical de la tabla = columnas) y un conjunto de
tuplas (dimensión horizontal = filas).

Cada tupla está formada por el conjunto de valores que toma cada uno
de los atributos para un elemento de la relación.

En las relaciones podemos hablar de dos componentes:

23
• Intensión es la parte definitoria y estática de la relación. Define la
estructura abstracta de datos y las restricciones de integridad de la
misma. Es lo que llamaremos esquema de relación.

• Extensión es el conjunto de tuplas que satisfacen el esquema de


relación en un instante dado y se encuentran almacenadas en la base
de datos. Varía con el transcurso del tiempo.

Al número de tuplas de una relación en un instante dado se le denomina


cardinalidad de la relación, y normalmente varía con el transcurso del
tiempo. Al número de columnas o atributos se le denomina grado de la
relación.

2. Dominio. Es el conjunto definido, finito y homogéneo de los valores


atómicos posibles de un determinado atributo.

Cada atributo está ligado a un determinado dominio y representa el uso


de un dominio para una determinada relación.

Los dominios pueden estar definidos por intensión (conjunto definido


mediante una serie de reglas abstractas) o por extensión (conjunto
finito de valores posibles).

3. Claves de una relación. Una clave es una(s) columna(s) cuyos


valores identifican una única fila de una tabla. Hay varias clases de
claves

• Clave candidata Cada uno de los conjuntos mínimos de


atributos que identifiquen sin ambigüedad y de forma única cada una
de las tuplas de una relación.

24
• Clave primaria o principal De entre todas las claves candidatas
de una relación, en la definición del esquema se deberá especificar
cuál de ellas se considera como identificador primario. Al resto de las
claves candidatas se les denominará claves alternativas.

• Claves foráneas o claves ajenas son el conjunto de atributos de


una relación que se corresponden con la clave primaria de otra
relación del modelo. Proporcionan al modelo relacional los
mecanismos adecuados para representar las (inter)relaciones
existentes entre los objetos del problema.

o Puede referenciar la clave primaria de la misma tabla


(relaciones reflexivas)

o Debe tener siempre un valor correspondiente en la tabla donde


es clave primaria

o Debe estar formada por toda la clave primaria y no solo una


parte de ella

o Puede tener nulos

o Puede tener valores duplicados

o Una tabla puede contener múltiples claves foráneas, donde


cada una representa la relación con otra tabla

18.4.2 Restricciones
En el modelo relacional existen restricciones, es decir, estructuras u
ocurrencias no permitidas, siendo preciso distinguir entre restricciones
inherentes (propias del modelo) y restricciones semánticas (de usuario).

Restricciones inherentes

25
i.1. No se define ningún orden en los elementos que forman una
relación, ni en el sentido horizontal (tuplas) ni en el vertical (atributos).
El orden es siempre irrelevante.

i.2. En toda relación es obligatoria la existencia de la clave


primaria, y por tanto no puede haber dos tuplas iguales.

i.3. Cada atributo de una tupla sólo puede tomar un único valor del
dominio sobre el cual está definido.

i.4. Regla de integridad de clave o entidad : ninguno de los atributos que


forman parte de una clave primaria de una relación puede tomar un
valor nulo para ninguna tupla de esa relación.

Restricciones semánticas

1. Declaración de Clave primaria (PRIMARY KEY): Permite declarar un


atributo o un conjunto de atributos como clave primaria de una relación,
por lo que sus valores no se podrán repetir ni admitirán nulos.

2. Unicidad (UNIQUE): indica que los valores de un atributo (o conjunto) no


pueden repetirse en una relación. Esta restricción permite definir claves
candidatas.

3. Obligatoriedad (NOT NULL) , indica que un atributo (o conjunto) no


admite nulos

4. Integridad referencial (restricción de clave ajena): permiten que las


claves foráneas de una relación referencien una tupla válida de la
relación padre. El usuario puede especificar, en la definición del
esquema relacional, las operaciones que deben llevarse a cabo cuando
se produce el borrado o modificación de una tupla en la relación padre.
Las posibilidades son:

26
• Borrado/modificación en cascada (CASCADE). El borrado o
modificación de una tupla en la relación padre, provoca el borrado o
modificación de todas las tuplas relacionadas en la relación hija.

• Borrado / modificación restringido (NO ACTION). Si existen tuplas


relacionadas en la relación hija, no se permite el borrado o
modificación de las tuplas de la relación padre.

• Borrado / modificación con puesta a nulos (SET NULL). Pone a nulo los
valores de todos los atributos que conforman la clave ajena en la
relación hija. Sólo está permitido cuando esos valores se puedan
poner a nulo.

• Borrado / modificación con puesta a un valor por defecto (SET


DEFAULT). Similar al anterior, pero los atributos que conforman la
clave ajena en la relación hija se ponen a un valor especificado
previamente en la definición del esquema.

5. Restricciones de rechazo. En la definición del esquema relacional pueden


imponerse otra serie de restricciones que garanticen la integridad del
modelo, y por tanto, de la información almacenada en la base de datos.
Estas restricciones deben ser verificadas en toda operación de
actualización para que el nuevo estado constituya una ocurrencia válida
del esquema; en caso de que la operación intente violar la condición se
impide que la operación se lleve a cabo, como son:

• Restricciones de verificación (CHECK). Especifican condiciones


que deben cumplir los valores de determinados atributos de una
relación, corno pueden ser los atributos de existencia obligatoria
(NOT NULL).

• Aserciones (ASSERTION). Permiten especificar condiciones entre


los elementos de distintas relaciones del esquema.

27
• Disparadores (TRlGGER). Permiten especificar condiciones y
acciones que se lleven a cabo cuando se efectúe una acción
determinada sobre alguna relación del esquema

18.5.- NORMALIZACIÓN DE RELACIONES.


Al estudiar la estructura del modelo relacional, se deduce que la
información de nuestra base de datos puede representarse por medio de
un conjunto de objetos (relaciones y dominios) y de un conjunto de reglas
de integridad.

En el modelo relacional, corno en los demás modelos de datos, el diseño de


una base de datos se puede abordar de dos formas distintas:

• Obteniendo el esquema relacional directamente a partir de la


observación de nuestro universo del discurso, de forma que
plasmemos nuestra percepción del mismo en un conjunto de
esquemas de relación, los cuales contendrán los atributos y las
restricciones de integridad que representan los objetos y reglas que
hemos podido captar en nuestro análisis del mundo real.

• Realizando el proceso de diseño en dos fases, en la primera se lleva a


cabo el diseño conceptual, por ejemplo en el modelo E/R,
obteniéndose el correspondiente esquema conceptua1; en la
segunda, éste se transforma en un esquema relacional siguiendo
unas determinadas reglas de transformación.

Estas relaciones que resultan de la observación del mundo real o de la


transformación al modelo relacional del esquema E/R elaborado en la etapa
de modelado conceptual, pueden presentar algunos problemas, derivados
de fallos en la percepción del universo del discurso, en el diseño del
esquema E/R, o en el paso al modelo relacional;

Entre estos problemas cabe destacar los siguientes:

28
• Incapacidad para almacenar ciertos hechos.

• Redundancias y, por tanto, posibilidad de inconsistencias,

• Ambigüedades.

• Pérdida de información (aparición de tuplas repetidas).

• Pérdida de dependencias funcionales, es decir, de ciertas restricciones


de integridad que dan lugar a interdependencias entre los datos.

• Existencia de valores nulos.

• Aparición, en la base de datos, de estados que no son válidos en el


mundo real (anomalías de inserción, borrado y modificación).

En definitiva, el esquema relacional debe ser siempre analizado para


comprobar que no presenta los problemas anteriormente citados, evitando
la pérdida de información y la aparición de estados que no son válidos en el
mundo real.

Para evitar que se puedan dar estos problemas, existen una serie de reglas
o formas normales. Estas formas normales serán aplicadas normalmente a
bases de datos ya implantadas en forma de relaciones (tablas), lo que nos
permitirá pasar a otras relaciones (tablas) que no den los problemas
anteriormente descritos.

Existen seis formas normales. Las tres primeras en la mayor parte de los
casos son suficientes para normalizar los esquemas de relación.

1. Primera Forma Normal (1FN).

Se dice que una relación está en 1FN cuando cada atributo sólo toma un
valor del dominio simple subyacente. Es decir, cada atributo tiene asociado
un dominio del cual sólo toma un valor en cada tupla.

29
Es una restricción inherente al modelo relacional, por lo que su
cumplimiento es obligatorio y afecta al número de valores que pueden
tomar los atributos de una relación.

2. Segunda Forma Normal (2FN).

Se dice que una relación está en 2FN si:

• Está en 1FN.

• Cada atributo no principal de la relación tiene dependencia funcional


completa respecto de la clave primaria de esa relación, esto es, el
valor de los atributos no principales de la relación viene determinado
por el valor de todos los atributos de la clave.

Por ejemplo, la relación:

Matrícula (dni, asignatura, nombre, apellidos, curso, nota, aula,


lugar)

No está en 2FN, puesto que nombre y apellidos dependen únicamente de


dni y no del valor de asignatura. Igualmente, curso depende únicamente de
asignatura, y no del valor de dni.

Para pasar a 2FN se descompone la relación en otras tres, de la forma:

Matrícula2 (dni, asignatura, nota, aula, lugar)


Alumno (dni, nombre, apellidos)
Materia (asignatura, curso)

3. Tercera Forma Normal (3FN).

Una relación R satisface la tercera forma normal (3FN), si y sólo si está en


2FN, y, cada atributo no principal (atributo que no forma parte de la clave)
de la relación no depende funcionalmente de otros atributos no principales

30
de esa relación. Es decir, no pueden existir dependencias entre los
atributos que no forman parte de la clave primaria de la relación R.

Si se considera, como es lógico, que cada aula se encuentra ubicada


físicamente en un único lugar, se puede observar que la relación
Matricula2, la cual se encuentra en 2FN, sigue presentando problemas
debidos a que existe una dependencia entre los atributos aula y lugar (no
se encuentra, por tanto, en 3FN),

Para eliminar los problemas que ocasiona en la relación Matricula2 la


existencia de esta dependencia funcional, esta relación debe
descomponerse en dos relaciones, quedando el esquema de la forma:

Matrícula3 (dni, asignatura, nota, aula)


Ubicación (aula, lugar)
Alumno (dni, nombre, apellidos)
Materia (asignatura, curso)

4. Forma Normal de Boyce-Codd (FNBC).

Es una redefinición más estricta de la 3FN, ya que ésta presentaba ciertos


problemas en relaciones con varias claves candidatas compuestas que se
solapaban. Por ello en 1974, Boyce y Codd definieron la llamada forma
normal que lleva su nombre (FNBC). Se basa en el concepto de
determinante funcional.

Se llama determinante funcional a un atributo o a un conjunto de atributos


de una relación R del cual depende funcionalmente de forma completa
algún otro atributo de la misma relación.

Una relación R satisface la forma normal de Boyce-Codd (FNBC) si, y sólo si


se encuentra en 1 FN, y cada determinante funcional es una clave
candidata de la relación R, esto es, ningún atributo facilita información de
otro atributo que no es clave candidata.

31
Por ejemplo, en el esquema:

Matrícula4 (dni, asignatura, apellidos, nombre, nota, aula)


Ubicación (aula, lugar)
Materia (asignatura, curso)
(donde asignatura, apellidos, nombre es una clave candidata y dni,
asignatura es otra clave candidata de la relación Matricula4).

En este caso, el esquema está en 3FN pero no está en FNBC, puesto que
dni es un determinante funcional (apellidos y nombre dependen de dni) y
no es clave candidata de la relación. Para poner el esquema en FNBC hay
que descomponer Matricula4 en 2 relaciones, de tal forma que queda un
esquema similar al obtenido en el apartado anterior:

Matrícula3 (dni, asignatura, nota, aula)


Alumno (dni, nombre, apellidos)
Ubicación (aula, lugar)
Materia (asignatura, curso)

5. Cuarta Forma Normal (4FN)

Está basada en la eliminación de las dependencias multivaluadas. Se dice


que en una relación existe una dependencia multivaluada (α →→ β), si los
valores de un conjunto de atributos β depende únicamente del valor que
tome otro conjunto de atributos α, de forma independiente al resto de
atributos de la relación.

Por ejemplo, si tenemos una relación para un concesionario con todos los
modelos de coches que se vende, con su color y equipamiento respectivo:

Concesionario (modelo, color, equipamiento)


y sabemos que puede vender dos modelos, utilitario y berlina. Si el modelo
utilitario se puede vender en color azul o verde con dos tipos de
equipamiento (base o normal) y el modelo berlina se puede vender en color
plata o azul con equipamientos normal o lujo.

32
En este caso, si sabemos que el modelo es utilitario, sabemos los posibles
valores para el color y el equipamiento, y por tanto existen dos
dependencias multivaluadas: modelo →→ color y modelo →→
equipamiento, y la relación se encuentra en 4 FN pero no en FNBC

Para poner el esquema en 4FN se debe descomponer la relación en otras


dos de la forma:

Concesionariol (modelo, color)


Concesionario 2 (modelo, equipamiento)

6. Quinta Forma Normal (5FN).

Está basada en la eliminación de las dependencias de reunión. Se dice que


existe una dependencia de reunión si la relación puede ser construida en
base a la reunión natural de las proyecciones de esa relación sobre los
atributos que la forman.

Una relación está en 5FN si y sólo si toda dependencia de reunión en esa


relación está implicada por las claves candidatas entre sí, y no por
cualquier otro atributo de esa relación.

Por ejemplo, en la relación: Docencia (dni, asignatura, aula)

que define las aulas que se asignan a cada asignatura y los alumnos
matriculados en la misma (cada alumno matriculado en una asignatura
recibe clase en todas las aulas asignadas a la misma), existe dependencia
de reunión entre los atributos dni, asignatura y aula.

Para eliminar las dependencias de reunión y ponerlo en 5FN, se


descompone la relación en otras tres:

Docencia1 (dni, asignatura)


Docencia2 (asignatura, aula)
Docencia3 (dni, aula)

33
18.6.- TRADUCCIÓN DE ESQUEMAS E/R A ESQUEMAS
RELACIONALES.
1. Aplicar la 1 FN a los objetos que forman parte del esquema, esto es:

• Eliminar los atributos multivaluados. Se transforman en entidades


débiles dependientes en existencia de la entidad de la cual
formaban parte, con relación uno a muchos si el atributo es un
identificador alternativo o muchos a muchos en caso contrario.

2. Los tipos de entidad se transforman a relaciones en el esquema


relacional.

3. Los tipos de interrelación binarias uno a uno se transforman en general


en dos tablas mediante propagación de la clave, esto es, se añade a una
de las tablas como clave foránea el identificador principal de la otra
tabla con la que está relacionado.

Dependiendo de las cardinalidades mínimas de cada tipo de entidad,


tenemos:

• Cardinalidad mínima uno en ambos casos: propagación de la clave


hacia cualquiera de los dos lados.

• Cardinalidad mínima uno en ambos casos y dependencia en


identificación, con el mismo identificador principal en ambos tipos de
relaciones: se transforman ambos tipos de entidad en una única
tabla.

• Sólo uno de los dos tipos de entidades tiene cardinalidad mínima


cero: se convierte cada tipo de entidad en una tabla y se propaga la
clave hacia el lado de cardinalidad mínima cero.

• Cardinalidad mínima cero en ambos casos: se puede hacer una tabla


nueva (tres tablas), para evitar la existencia de demasiados valores
nulos en las tablas.

34
4. Los tipos de interrelación binarias uno a muchos se transforman en
general en dos tablas mediante propagación de la clave hacia el lado
muchos. Existe un caso especial:

• Cardinalidad mínima cero en la entidad del lado uno (0,1): para


evitar la presencia de demasiados valores nulos, se generan tres
tablas, una por cada tipo de entidad y otra con los identificadores
de ambas entidades y los atributos (si los hay) de la interrelación.
La clave principal será el identificador principal del tipo de entidad
con cardinalidad máxima n. El identificador principal del otro tipo
de entidad será clave foránea en esta tabla.

5. Los tipos de interrelación binarias muchos a muchos se transforman


siempre en tres tablas mediante propagación de la clave hacia el lado
muchos; una por cada tipo de entidad y otra con los identificadores de
ambas entidades y los atributos (si los hay) de la interrelación. La clave
principal de esta tabla estará compuesta por los identificadores
principales de ambos tipos de entidades.

6. Los tipos de interrelación en los que intervienen más de dos tipos de


entidad, se transforman de la misma forma que los tipos de interrelación
binarias muchos a muchos.

7. Los tipos de interrelación reflexivas se transforman:

• En interrelaciones reflexivas del tipo N:M, se transforman de la


misma forma que los tipos de interrelación binarias muchos a
muchos, es decir, se genera una tabla para el tipo de entidad y
otra para el tipo de interrelación.

• En interrelaciones reflexivas del tipo 1 :N, se puede proceder de


dos formas: se genera una única tabla para el tipo de entidad
añadiendo como clave foránea el identificador principal de la
misma; o se crean dos tablas, una para el tipo de entidad y otra

35
para el tipo de interrelación con el identificador principal de la
entidad duplicado (en un caso es la clave principal y en otro la
clave foránea de la otra tabla).

8. Los atributos de las interrelaciones, cuando hay propagación de la clave,


también se propagan.

9. Las relaciones jerárquicas de generalización - especialización se pueden


transformar de tres formas:

• Transformando el tipo de entidad padre en una relación y colgando


de ella los atributos comunes y no comunes de todos los tipos de
entidad hijo.

• Crear una relación para el tipo de entidad padre, con los atributos
comunes, y otra relación para cada uno de los tipos de entidad
hijo.

• Crear una relación para cada uno de los tipos de entidad hijo y
poniendo en cada una de ellas todos los atributos comunes del
tipo de entidad padre. Sólo sirve en caso de jerarquía total.

10. Las dependencias en identificación y en existencia, para evitar la


existencia de valores nulos en la clave foránea de la relación
proveniente del tipo de entidad débil, al transformarse deben obligar al
borrado y actualización en cascada (CASCADE).

18.7.- BIBLIOGRAFÍA
• The Entity/Relationship Model: Toward a unified view of data. CACM,
1,1. 1976

• The Entity/Relationship Model: A basis for the enterprise view of data.


AFIPS Conference Proceedings, Vol 46. 1977

36
• Introducción a los sistemas de bases de datos. C.J. Date. Pearson
Educación, 2001.

• Fundamentos de Sistemas de Bases de Datos. Ramez A. Elmasri &


Shamkant B. Navathe. Addison-Wesley, 2002 [3ª edición].

Autor: Francisco Javier Rodriguez Martínez

Subdirector de Sistemas Escola Superior Enxeñaría Informática Ourense

Colegiado del CPEIG

37

También podría gustarte