Está en la página 1de 42

)

En e_sta unidad:apreders
a:
|!
Describir la estructura del
modelo de datos relacinal.
Q
ttansformar elmodelo E.R
al, modelo lgico relacional.
O
Disear bases de datos
relacionales.
, :
O
Normanzar esquemas
relacionales.
O
Realizar operaciones bsicas
sobre tablas utilizando lqebra
relacional.
I'
2."1 Introduccin
Ya se ha visto en [a Unidad anterior [o que es un sstema gestor de bases de datos, y
cutes son sus objetivos. Tambin se vio [a arquitecturo 4fi5.I para su ap[icacin en [a
creacin de las bases de datos. Se han estudiado distintos modelos conceptuales de datos
pero no se ha [[egado a realizar ningn diseo lgico. Esta Unidad trata deI que actuat-
mente es el, principat modeto para las aplicaciones de procesamiento de datos, elmodeLo
relacional, que presenta una forma muy simpte y potente de representar [os datos.
A [o largo de [a Unidad, se exponen los fundamentos del modeto de datos retacional y su
apticacin para e[ diseo lgico de datos y de bases de datos retacionales.
2.2 El modelo relacional
EL modeto de datos retacional fue desarrottado por E.F. Codd para IBM, a finates de los
aos sesenta. Propone un mode[o basado en [a teora matemtica de las retaciones, con
et objetivo de mantener [a independencia de [a estructura lgica respecto a[ modo de
atmacenamiento
y otras caractersticas de tipo fisico. E[ modelo de Codd persigue, a[
igual que [a mayoa de los modetos de datos, los siguientes objetivos:
Independencia fsica de los datos. E[ modo de atmacenamiento de los datos no
debe inftuir en su maniputacin lgica.
Independencia tgica de los datos. Los cambios que se reaticen en [os objetos de [a
base de datos no deben repercutir en los programas y usuarios que acceden a [a misma.
Ftexibitidad. Para presentar a los usuarios los datos de [a forma ms adecuada a [a
apticacin que utilicen.
Uniformidad en [a presentacin de las estructuras [gicas de los datos, que son
tabtas, [o que facitita [a concepcin y maniputacin de [a base de datos por parte
de los usuarios.
Sencillez. Pues las caractersticas anteriores, as como unos lenguajes de usuario
sencittos, hacen que este modeto sea fciI de comprender y utilizar por e[ usuario.
Para conseguir estos objetivos, Codd introduce e[ concepto de relocin (tabta) como
estructura bsica del modeto. Todos los datos de una base de datos se representan en
forma de relaciones cuyo contenido vara en ettiempo. E[ modeto retacional se basa en
dos ramas de las matemticas: [a teora de conjuntos y la lgico de predicados. Esto hace
que sea un modelo seguro y robusto.
En 1985, Codd pubtica sus famosas doce regtas anatizando atgunos de los productos comer-
ciates de [a poca, que debe cumplir cuatquier base de datos para ser considerada retacional:
- Regla de informacin. Toda informacin de una base de datos relacional est repre-
sentada mediante vatores en tabtas.
I
-T
2. El modelo de datos relacional
2.2 El modelo relacional
Regla de acceso garantizado. Se garantiza que todos los datos de una base re[a-
cional son lgicamente accesibtes a travs de una combinacin de nombre de tabta,
valor de ctave primaria y nombre de columna.
Tratamiento sistemtico de valores nulos. Los valores nutos se sooortan en [os
SGBD para representar [a falta de informacin de un modo sistemtico e indepen-
diente de los tipos de datos.
Catlogo en lnea dinmico basado en e[ modelo relacional. La descripcin de [a
base de datos se representa en e[ mbito lgico de [a misma forma que los datos
ordinarios, de modo
que
los usuarios autorizados
pueden
acceder a e[[os utilizando
e[ mismo [enguaje relaciona[.
Regla de sublenguaje compteto de datos. Un sistema retaciona[ puede sopotar varios
lenguajes y varios modos de uso terminat. Sin embargo, debe haber a[ menos un [en-
guaje cuyas sentencias se puedan expresar mediante atguna sintaxis bien definjda,
como cadenas de caracteres, y que ofrezca completamente todos los puntos siguientes:
-
Definicin de datos.
Definicin de vistas.
Maniputacin de datos (interactiva y por programa).
Restricciones de integridad.
Autorizacin.
- Gestin de transacciones (comienzo, confirmacin y vuelta atrs).
Regta de actualizacin de vista. Todas las vistas, que sean tericamente actuati-
zabtes, son tambin actuatizables por e[ sistema.
Insercin, actualizacin y supresin de alto nivel. La capacidad de manejar una
retacin de base de datos o una retacin derivada como un nico ooerando se aotica
no solamente a [a recuperacin de datos, sino tambin a [a insercin, actuatizacin
y supresin de los datos.
Independencia fisica de los datos. Los cambios que se efectan tanto en [a repre-
sentacin del atmacenamiento, como en los mtodos de acceso no deben afectar ni
a los programas de aplicacin ni a las actividades con los datos.
Independencia lgica de tos datos. De[ mismo modo, los cambios que se efecten
sobre las tablas de [a base de datos no modifican ni a los programas ni a las activi-
dades con los datos.
Independencia de [a integridad. Las restricciones de integridad especficas de una
base de datos retacionaI deben ser definidas mediante e[ sublenguaje de datos reta-
cional y atmacenarse en e[ cattogo de [a base de datos.
Independencia de la distribucin. Un SGBD es independiente de [a distribucin.
-
Regta de no subversin. Si un SGBDR tiene un lenguaje de bajo nivel (una fita cada
u.i no se puede utitizar
para destruir o evitar las regtas de integridad o [as restric-
ciones expresadas en e[ lenguaje retacionaL de atto nivel (varias filas a[ mismo empo).
EL modeto retacionaI
propone una representacin de [a informacin
que:
- 0rigine esquemas
que representen fielmente [a informacin, los objetos
y las reta-
ciones existentes entre eltos forman e[ dominio del problema'
- Sea fcitmente entendida
por los usuarios.
- sea posibl,e ampliar e[ esquema de [a base de datos sin modificar [a estructura lgica
existente
y los programas de apticacin.
-
permita
[a mxima ftexjbitidad en [a formulacin de tos interrogantes sobre [a infor-
macin mantenida en [a base de datos.
2.3 Estructura
del modelo relacional
Como
ya se ha indicado anteriormente, [a relacin es e[ etemento bsico del modeto reta-
cionaiy se representa como una tabla, en [a que se puede distinguir el nombre de [a
iaU, t conjnto de co[umnas
que representan las propiedades de [a tabta y que se les
lLana atribuio.s,
y e[ conjunto de filas llamadas tuplas, que contienen los vatores
que
toma cada uno de los atributos
para cada etemento de [a retacin'
una retacin tiene una serie de etementos caractersticos
que [a distinguen de una tabta:
- No admiten fitas duPcadas.
- Las fitas y cotumnas no estn ordenadas.
- La tabLa es
ptana. En e[ cruce de una fila y una columna sto puede haber un vator,
no se admiten atributos multivaluados.
En [a figura
que se muestra a continuacin se representa una re[acin ltamada ALUMN0
en forma de tabta.
RELACIN ALUMNOS
1{Ut',| l4AT iloHBRE APELTIDOS
CURSO
5467
]UAN CABELLO
lBACH-A
342L
DOLORES GARCIA lBACH-C
7622
JESS SANCHEZ
2BACH-C
TRIBUTOS
TUPI.AS
Figura 2.1. Representacn de una relacn enforma de tabla'
A continuacin, se exponen los elementos
que constituyen e[ modeto relacional'
I
se define dominio como e[ conjunto finito de vatores homogneos (todos del mismo
tipo) y atmicos (son indivisibtes), que puede
tomar cada atributo. Los vatores con-
tenidos en una cotumna pertenecen
a un dominio que previamente
r. t,, definido.
Todos los dominios tienen un nombre y un tipo de datoi asociado. Existen dos tipos
de dominios:
- Dominios generates.
son aquettos cuyos vatores estn comprendidos
entre un
mximo y un mnimo..por ejempto, et cdigo-postal, que est rorrrao po,. todos los
nmeros enteros positivos
de 5 cifras.
- Dominios restringidos.
son los que pertenecen
a un conjunto de vatores espec_
fico. Por ejempto, Sexo, que puede
tomar los vatores H o M.
ue desempea un dominio en una retacin.
determinada retacin. Et atributo aporta un
empto, en [a retacin ALUMNO podemos
con_
- Atributo NUM-MAI dominio: conjunto de enteros formados por
4 dgitos.
- Atributo N0MBRE, dominio: conjunto de 15 caracteres.
- Atributo APELLID0S, dominio: conjunto de 20 caracteres.
- Atributo CURS0, dominio: conjunto de 7 caracteres.
A. Dominios
atributos
B. Relaciones
.
Tupla (fita). Representa una fita de ta tabta.
EMPLEADO con dos fitas o tuplas.
2. El modelo de datos relacional
2.3 Estructura del modelo relacional
En [a Figura 2.2 aparece La tabta
2. El modelo de datos relacional
2.3 Estructura del modelo relacional
De las tabtas se derivan los siguientes conceptos:
.
Cardinalidad. Es e[ nmero de fitas de [a tabta. En e[ ejemplo anterior es dos.
.
Grado. Es e[ nmero de cotumnas de [a tabta. En e[ ejempto anterior e[ grado es
cinco.
Valor. Viene representado por [a interseccin entre una fita y una cotumna. Por ejem-
pto, son vatores de [a tabta EMPLEAD0: 134078778, Mitagros Suela Sarro, 1500.
Vator Nu[[. Representa [a ausencia de informacin.
No Emple : Apellidos
I t34o7B77B
I i
Mitagros Sueta Sarro
1 41667897C ; Jos Mara Cabetto
Salario
1.500
2.000 :
Numdepart , FechaAlta
r8/11,/90
2e/10/e2
10
U
figura 2.2. Tabla EMPLEAD} con dos
flas.
O
oefnconesformales
La definicin matemtica de una retacin entren dominios (D1,,02,... Dn) es un sub-
conjunto del producto cartesiano de estos dominios donde cada etemento de [a retacin,
la tupta, es una serie de n vatores ordenados. Una retacin R definida sobre un conjunto
de dominios D1., D2,... Dn consta de:
- Cabecera: conjunto fijo de pares atributo:dominio,
i(A1:
D1), (A2: D2), ........ (An:
Dn)
),
donde cada atributo corresponde a un nico dominio y todos los atributos
son distintos. E[ grado de [a retacin R es n.
- Cuerpo: conjunto variabte de tup[as. Cada tupta es un conjunto de pares atributo:
vator,
{(A1:vi1),
( A2: vi2), (An: vim)i, coni=7,2,....m, donde m representa [a
cardinalidad de [a retacin R. En cada par (Ai: vij) se tiene que e[ valor peftenece a[
dominio, vij Dj.
Para estabtecer [a cabecera de [a retacin EMPLEAD0 primero se definen los dominios,
que tienen un nombre y un tipo de datos asociado:
- Dominio NUME_EMPLE, conjunto de 9 caracteres, de los cuates 8 son dgitos y e[
ttimo es una letra.
Dominio NOMBRES, conjunto de 25 caracteres.
Dominio PAGA, conjunto de 4 dgitos.
Dominio DEPARI posibtes vatores de nmeros de departamento, rango de 01 a 99.
Dominio FECHAS, conjunto de 10 caracteres.
L-
,. ,irn"O.fo a" datos relacional
2.3 Estructura del modelo relacional
La cabecera de [a tabla EMPLEAD0 sera:
{
(NqEmple
:NUME_EMPLE), (Apellidos
:NOMBRES), (Salario
:
pAGA)
,
(Numdepart:DEPART)
,
(FechaAlta:FECHAS)
)
Una de [as tuolas es:
{(N'qEmple: 7340781'lB
),
(Apellidos:
Milagros Suela Sarro)
(Sal-arro:
1500), (Numdepart_:10), (FechaAlta
1g/II/1990)
O
Propiedades de las relaciones
Las relaciones tienen las siguientes caractersticas:
Cada retacin tiene un nombre y ste es distinto de los dems.
Los valores de los atributos son atmicos: en cada tupta cada atributo toma un
soto vator. Se dice que las retaciones estn normalizadas.
No hay dos atributos que se [tamen iguat.
E[ orden de los atributos es irrelevante, no estn ordenados.
Cada tupta es distinta de las dems, no hay tuptas dupticadas.
AL iguaL que en los atributos, e[ orden de las tuptas es irrelevante, las tuptas no
estn ordenadas.
O
tpos de relaciones
En un SGBD retacionaI pueden existir varios tipos de retaciones, aunque no todos
manejan todos los tipos. unas retaciones permanecen
en [a base de datos v otras
son los resuttados de consuttas:
Relaciones base. son retaciones reates que tienen nombre y forman parte
directa de [a base de datos atmacenada. se corresponde con e[ nive[ conceptual
de [a arquitectura ANSI.
vistas. se corresponde con e[ nivel externo de [a arquitectura ANSI. son reta-
ciones con nombre que se definen a partir de una consutta. No tienen datos
atmacenados, [o que se almacena es [a definicin de [a consulta. se las ltama
tambin virtuales.
Instantneas. 5e corresponde con e[ nivel interno de [a arquitectura ANSI. son
retaciones con nombre y derivadas de otras. son relaciones de sto [ectura v se
refrescan peridicamente por eI sistema.
- Resultados de consultas. son las resuttantes de las consultas de usuario. No
persisten en [a base de datos.
2. El modelo de datos relacional
2.3 Estructura del modelo relacional
Resultados intermedios. Son las retaciones
que contienen los resuLtados de Las
subconsuttas de usuario. No persisten en [a base de datos'
Resultados temponles. Son retaciones con nombre, similares a |las retaciones base,
pero se destruyen automticamente en atgn momento
preamente determinado'
C. Claves
En una retacin no hay tuplas repedas. Se identifican de un modo nico mediante los
valores de sus atributos. Toda fita debe estar asociada con una ctave que permita iden-
tjficarta. A veces [a fita se puede identificar
por un nico atributo,
pero otras veces es
necesario recurrir a ms de un atributo. La clave debe cumptir dos requisitos:
- Identificacin unvoca. En cada fil.a de La tabLa e[ vator de [a clave ha de iden-
tificarta de forma unvoca.
-
No redundancia. No se puede descartar ningn atributo de [a clave para iden-
tificar [a fi[a.
Se define clave candidata de una relacin como e[ conjunto de atributos
que iden-
tifican unvoca y mnimamente
(necesarios para identificar [a tupta) cada tupta de
[a relacin. Siempre hay una ctave candjdata
pues por definicin no puede haber dos
tuplas iguates. Habr un atributo o atributos
que identifiquen [a tupla.
Una relacin puede tener ms de una ctave candidata entre las cuates se distinguen:

Clave
primaria o principal (pimary key): aquetta clav
rio escoge
para identificar las tuplas de [a relacin'
s
nutos. Si sto existe una ctave candidata, sta se eteg

Clave alternativa: aquellas ctaves candidatas
que no han sido escogidas como
clave primaria.
Se denomina clave ajena de una relacin Rl a[ conjunto de atributos cuyos va[o-
res han de coincidir con los valores de [a ctave primaria de otra relacin R2' Ambas
claves estarn definidas sobre e[ mismo dominio
y son muy importantes en e[ estu-
dio de ta integridad de datos de[ modelo relacional'
Q
Oisponeros de las tabtas TDEPART y TEMPLE. Las columnas de [a tabla TDEPART son:
No. de departamento
(NUMDEPT), Nombre de departamento
(NOMDEPT), Presupuesto (PRESUPUESTO)'
Las claves candidatas son No. de departamento
y Nombre de departamento,
pues son nicos y no se van a repetir' Podemos
escoger como primaria e[ No. de departamento. Normalmente se etegirn como claves primarias los campos cdigos o
nmero de empteado, departamento o artculo,
que suelen ser numricos.
I
2. El modelo de datos relacional
2.3 Estructura del modelo relacional
Las cotumnas de [a tabla TEMpLE son:
No' de empleado (NUMEMP),
Apel.tido (APELLIDO),
No. de departamento (NUMDEp),
Satario (SALARI6).
La ctave candidata es e[ No' de empteado. Et apetLido se puede repetir, as que no se [a considera candidata. como sto hay
una se escoge primaria
e[ No. de empleado.
E[ atributo N0. de departamento es ctave ajena; retaciona las tabtas TEMpLE y TDEpART.
La Figura 2.3 muestra eI contenido de tas tabtas TEMPLE y TDEPART con sus claves primarias y ajenas.
I CTAVE i
I _qqu4!!4 i
TDEPART
| lqMDEpT
NOMDEPT
pnrsupusro
Marketing
Desarrotlo
Investigacin
]i
iooo -,l
]
I
't'zoo
:
l, _5.0,09__
-
i ctvE
i
i AJENA i
i-
TEMILE
i
nq"try
,i
ApEruDt
li-MDEp-lI
sALARro--j
r..........................::.... ,
,l I il
.r.ouu
i
:l , I
Martnez
r
i:
1.800
j
i
!4
,l
sllcne1
_
j
iL _
z.ooo
f
Figura 2.3. Tablas TEMpLE y TDEpART con las claves prmarias y ajenas.
D. Esquema de la base de datos
El
L6pez
| ;
of
-_-i
--
r.soo - :
Er
i
L6pez
lj
or
il r.soo
-:
E2
i
Fernndez
lr
-;;*-***ii
1nn
i
^ | 1t ..:
Una base de datos relacional es un conjunto de relaciones normatizadas.
para
repre-
sentar un esquema de una base de datos se debe dar e[ nombre de sus relaciones,
los atributos de stas, los dominios sobre los que se definen estos atributos, las c[a_
ves primarias y las ctaves ajenas.
En e[ esquema [os nombres de las relaciones aparecen seguidos de los nombres de
los atributos encerrados entre parntesis.
Las claves pri-marias
son [os atributos
subrayados, y [as ctaves ajenas se representan
mediante diagramas referenciales.
E[ esquema de [a base de datos de empteados y departamentos
es e[ siguiente:
TDEPART
TEMPLE
TEMPLE
tuuoe.
TEDEPART:
(NUMDEPT, NOMDEPI PRESUPUESTO)
(NUMEMP, APELLIDO, NUMDE SALARIO)
Departamento
aI que pertenece
e[ empteado
(Continuacin)
2.4 Restricciones del modelo relacional
En todos los modetos de datos existen restricciones que a [a hora de disear una base de
datos se tienen que tener en cuenta. Los datos almacenados en [a base de datos han de
adaptarse a las estructuras impuestas por e[ modelo y deben cumplir una serie de reglas
para garantizar que son correctos. E[ modeto retacional impone dos tipos de restriccjo-
nes. Atgunas de eltas ya las hemos citado en las propiedades de las retaciones y las c[a-
ves. Los tipos de restricciones son:
-
Restricciones inherentes a[ modeto, indican las caractersticas propias de una reta-
cin
que han de cumptirse obligatoriamente y que diferencian una retacin de una
tabta. No hay dos tuptas iguates, e[ orden de [as tuptas y los atributos no es retevante.
Cada atributo slo puede tomar un nico valor del dominio a[ que pertenece. Ningn
atributo
que forme parte de [a clave primaria de una retacin puede tomar un va[or nulo'
-
Restricciones semnticas o de usuario, que representan [a semntica del mundo reat.
stas hacen que las ocurrencias de los esquemas de [a base de datos sean vtidos. Los
mecanismos
que proporciona e[ modelo pan este tipo de restricciones son los siguientes:
a) La restriccin de ctave primaria (PRIMARY KEY) permite declarar uno o varios
atributos como clave primaria de una relacin.
b) La restriccin de unicidad (UNIQUE) permite definir ctaves alternavas. Los vato-
res de [os atributos no pueden repetirse.
c) La restriccin de obtigatoriedad (N0T NULL) permite declarar si uno o varios atri-
butos no oueden tomar vatores nutos.
d) Integridad referencial o restriccin de clave ajena (F0REIGN KEY). 5e utitiza para
entazar relaciones, mediante ctaves ajenas, de una base de datos. La integridad
referenciaI indica
que los valores de [a ctave ajena en [a relacin hijo se corres-
ponden con los de [a clave primaria en [a relacin padre.
Adems de definir [as claves ajenas hay que tener en cuenta las operaciones de
borrado y actuatizacin
que se realizan sobre las tup[as de [a re[acin referen-
cjada. Las
posibilidades son las siguientes:
o
Borrado y/o modificacin en cascada (cAscADE). E[ borrado o modifica-
cin de una tupta en [a relacin padre (retacin con [a ctave primaria) oca-
siona un borrado o modjficacin de las tuplas retacionadas en [a retacin hija
(relacin que contiene [a clave ajena). En e[ caso de empteados y departa-
mentos, si se borra un departamento de [a tabta TDEPART se borrarn los
empteados
que pertenecen a ese depaftamento. Igualmente ocurrir si se
modifica et NUMDEPT de [a tabla TDEPART esa modificacin se arrastra a los
empteados
que pertenezcan a ese depaftamento.
o
Borrado y/o modificacin restringido (RESTRICT). En este caso no es posi-
b[e realizar e[ borrado o [a modificacin de las tuptas de [a relacin padre si
existen tuplas retacionadas en [a retacin hija. Es decir, no podra borrar un
departamento
que tiene empleados'
2. EI modelo de datos relacional
2.4 Restricciones del modelo relacional
Borrado y/o modificacin con puesta
a nulos (sET NULL). Esta restriccin
permite poner [a clave ajena en [a tabta referenciada
a NULL si se
produce
e[
borrado o modificacin en [a tabla primaria
o padre. As pues,
si se borra un
departamento, a los empteados de ese departamento se les asiqnar NULL
en e[ atributo NUMDEPT.
Borrado y/o modificacin con puesta
a valor por
defecto (sET DEFAULT).
En este caso, e[ valor que se pone en las ctaves ajenas de [a tabta referen-
ciada es un va[or por defecto que se habr especificado en [a creacin de
[a tabla.
e) Restricciones de verificacin (cHECK). Esta restriccin permite
especificar con_
diciones que deban cumplir los vatores de los atributot. cud, u., qr. se reatice
una insercin o una actuatizacin de datos se comprueba si los vatores cumplen
[a condicin. Rechaza [a operacin si no se cumpte.
A continuacin, se muestran dos sentencias de creacin de tabtas, ta tab[a
FABRICANTES (tabta maestra o padre)y
ta tabta ARTcuLOs (tabla relacionada o
hija). un fabricante fabrica muchos aftculos. Observa las restricciones:
CREATE TABIJE FABRICANTES (
CD_FAB NUMBER(3) NOT NUIJL DEFAUI,T 1OO,
NOMBRE VARCHAR2 (15)
UNIQUE,
PAIS VARCHAR2(15)CONSTRA]NT
CK PA
CHECK ( PAIS=UPPER (PAIS
) ),
CONSTRAINT PK-FA PRII4ARY KEY (CD-FAB),
CONSTRAINT
CK-NO CHECK (NOMBRE=UPPER
(NOMBRE)
)
);
CREATE TABI,E ARTICULOS (
ARTIC VARCHAR2 (20)NOT
NULL,
COD_F'A NUMBER (3
) NOT NULL,
PESO NUMBER(3) NOT NULL CONSTRATNT
CK1_AR CHECK
(PESO>O),
CATEGORIA VARCHAR2(10)
NOT NULL,
PREC]O_VENTA
NUMBER (4)
CONSTRA]NT
CK2-AR CHECK
( PRECTO_VENTA>0
) ,
PREC]O_COSTO
NUMBER (4)
CONSTRA]NT
CK3-AR CHECK
( PRECTO_cosTo>0
) ,
EXTSTENCIAS
NUMBER (5),
CONSTRAINT PK_ART PRIMARY KEY (ART]C,
COD-FA, PESO,
CATEGORIA)
,
CONSTRAINT F'K_ARFA FORETGN KEY (COD_FA)
REF'ERENCES
FABR]CANTES (CD_F'AB)
ON DEIJETE CASCADE,
CONSTRAINT
CK-CAT CHECK (CATEGOR]A
fN('Prtmera,,'Seg-unda,,,Tercera,
) )
);
0
Aserciones (ASSERTION).
son parecidas
a [a anterior, pero en este caso en rugar
de afectar a una re[acin como cHECK, puede afectar a dos o ms relaciones. La
condicin se establece sobre elementos de distintas retaciones.
pueden
imnli_
car a subconsultas en [a condicin. La definicin de una asercin debe tener un
nombre. Tiene vida oor s misma.
g) Disparadores (TRIGGER). Las restricciones anteriores son dectarativas. sin
embargo, este tipo es procedimentat. E[ usuario podr especificar una serie de
acciones distintas ante una determinada condicin. E[ usuario escribe e[ proce-
dimiento a apticar dependiendo del resultado de [a condicin. Los disparadores
estn soportados a partir de los estndares SQL3.
A continuacin, se muestra un disparador de base de datos que audita las opera-
ciones de insercin y borrado de datos en [a tabla EMPLE. Cada vez que se reatiza
una operacin de actualizacin o borrado se inserta en [a tabta AUDITAREMPLE
una fita que contendr: [a fecha y hora de [a operacin, e[ nmero y apettido det
empleado afectado, y [a operacin que se reatiza. La creacin de triggers se ver
en las siguientes unidades.
CREATE OR REPLACE TRIGGER audltar_act_emp
BEF'ORE INSERT OR DELETE ON EMPLE FOR EACH ROW
BEGIN
IF DELETING THEN
INSERT INTO AUDITAREMPLE
VALUES
( TO_CHAR ( sysdate, ' DD/MM/YY*HH2 4 : MI
*
' )
ll :OLD.EMP-NOll '*' ll :OLD.APELLIDO ll '*
EORRADO
');
ELSIF INSERTING THEN
INSERT ]NTO AUD]TAREMPLE
VALUES
(TO_CHAR (
sysdate,' DD/MM/YY*HH24 :Mf
*'
)
ll :NEW.EMP-NO ll '*' ll :NEW.APELLIDOII'* INSER-
CfoN ');
END IF;
END;
2"5 Transformacn de un esquema E-R a un esquema
relacional
Una vez obtenido e[ esquema conceptual mediante e[ mode[o E-R, hay que definir el
modelo lgico de datos. Las regtas bsicas para transformar un esquema conceptual E-R
a un esquema retacional son [as siguientes:
- Toda entidad se transforma en una tabta.
- Todo atributo se transforma en columna dentro de una tabla.
- Et identificador nico de [a entidad se convierte en ctave primaria.
- Toda retacin N:M se transforma en una tabta que tendr como c[ave primaria [a con-
catenacin de los atributos ctave de [as entidades que asocia.
2. El modelo de datos relacional
2.5 Transformacin de un esquema E-R a un esquema relacional
Q
OaUo e[ esquema que se muestra en la Figura 2.4, enel que se representan las compras de articulos que hacen los
clientes, convierte e[ esquema E-R en relacional.
Figura 2.4. Esquema E-R CLIENTE-C0MPRA-ARTICUL0S.
1. Cada entidad se conerte en una tabta y [os atributos de las entidades se conerten en columnas de las tablas. Lo repre-
sentamos as:
CLIENTE
ARTICULOS
(coD cIIEN, N0MBRE, DIRECCIN, TELEFoN0)
(coD ARncuL0, PRECIo, SToCK, DENOMINACIN)
2. La relacin N:M se convierte a tabta. E[ nombre que se [a da es e[ que pongamos a [a retacin, en este caso COMPRA. La
ctave estar formada por [a concatenacin de claves de las tabtas anteriores. Estas a su vez pasan a ser claves ajenas y
referencian a las tablas CLIENTE y ARTCUL0.
En esta retacin, adems de aadir las claves de las entidades anteriores, se aaden los atributos
que intervienen en [a
retacin. La tabta nos queda as:
coMpRA (coD cuEN (FK), Cop ARnCUL0(FK), UNr_VEND, FECHA_VENTA)
En [a Figura 2.5 se muestra cmo quedara grficamente e[ esquema retaciona[ creado en Access. 0bserva [a ventana de reta-
ciones en las que se indica las opciones de bonado y de modificacin.
Eigura 2.5. Representacin grfca relacional de CLIEME-C0MPM-ARTfiCUL0S.
(Contina)
2. El modelo de datos relacional
Transformacin de un esquema E-R a un esquema relacional
(Continuacin)
Las opciones de borrado y de modificcin suelen ser en cascada. A continuacin, se muestra e[ cdigo
que creara estas tres
tabtas:
CREATE TABI,E CI.IENTE
(
COD_CL]EN
NUMBER(6) NOT NUI,L PRII''ARY KEY,
NOMBRE VARCHAR2
(15),
DIRECCION
VARCHAR2
(15)
,
TELEFONO NUMBER(10) );
CREATE TABI,E ARTICULOS
(
COD ART]CULO NUMBER(6) NOT NULL PRIMARY KEY,
.
PRECIO
NUMBER
(6,2)
,
STOCK
NUMBER
(4),
DENOMINACION VARCHAR2
(15)
);
CREATE TABLE COMPRA(
COD CLIEN NUMBER(6) NOT NULL,
COD ARTICULO NUMBER(6) NOT NULL,
UNI VEND NUMBER
(4),
FECHA VENTA DATE'
CONSTRATNT PK-COMPRA PRIIARY KEY
(COD_CLIEN, COD-ARTICULO)'
CONSTRAINT FK-CLIEN FOREIGN KEY
(COD_CL]EN)
REFERENCES CLIENTE
(COD_CLIEN)
ON DELETE CASCADE ON UPDATE CASCADE'
CONSTRAINT F'K-ARTIC FOREIGN KEY
(COD ARTICULO)
REFERENCES ART]CULOS
(COD_ARTICULO)
ON DELETE CASCADE ON UPDATE CASCADE);
- En [a transformacin de relaciones 1:N existen dos sotuciones:
o
Transformar [a relacin en una tabta. Se hace como si se tratara de una reta-
cin N:M. Esta sotucin se reatiza cuando se prev que en un futuro [a retacin
se convertir en N:M y cuando [a relacin tiene atributos
propios. Tambin se
crea una nueva tabta iuando [a cardinatidad es opcional, es decir, (0'1) y (0,M)'
La ctave de esta tabla es [a de [a entidad del lado muchos'
tos
propios en [a retacin, stos tambin se propagarn'
^-
I
I
2. El modelo
de datos
relacional
2.5 Transformacin
de un esquema
E_R a un esquema
relacional
I
o
3il:l::1r'.T,it$,;TJ;,.l:l:l
* Fisura
2.6, en er
sue
se representa
ra crasincacin
de ros ribros en temas,
con-
Figura 2.6. Esquema
E-R. IEMA_CLASIFICA_LIBR0.
1. Se convierten
a tabta tas dos entidades:
(EOOIEI.,IA,
D ESCRI PcI N )
(COD
LIBRO,
AUTOR,
iSg, rrULO,
NUM_EJEMPLARES)
2' Se propaga
[a ctave' de [a entidad
TEMAS
a ta entidad
LIBROs.
La entidad
LIBROs quedar
as:
LIB ROS (EOA-U''O,
A UTOR, ISB N, TTU LO, N U M_EJ EM PLA R ES, COD_TEMA
(FIO
)
En [a Figura 2'7 podemos
observar
cmo quedara
grficamente
e[ esquema
retacionat,
creado
en Access.
Figura
2' 7' Representacn
grdfi
ca relaconat
de TEMA-,LASIFICA-LIBR0.
En [a transformacin
de retaciones
1.:]. se tienen en cuenta
las cardinatidades
de las entidades que participan.
Existen
dr, ;;.;;;r;'
'
Transformar
[a retacin
en una tabta.
5i las entidades poseen
cardinatidades
(0,1),
ta retacin
se convierte.n
,n. irfu.--'
TEMAS
LIBROS
2. El modelo de datos relacional
Transformacin de un esquema E-R a un esquema relacional
@
Consideramos la relacin EMPLEADO-0CUPA-PUEST0TRABAJ0. Un empleado ocupa un soto puesto de trabajo, y ese
puesto de trabajo es ocupado por un solo empleado o por ninguno. E[ esquema E-R se muestra en [a Figura 2.8; trans-
formarlo aI modelo retaciona[.
Figura 2.8. Esquema E-R de EMPLEAD0-0CUPA-PWST0TRABN0.
En este caso, [a ctave se propaga desde [a entidad PUESTOTRABAJ0, con cardinalidad (1,1), a [a entidad EMPLEAD0, con car-
dinatidad (0,1). Las tabtas las representaremos as:
PUEST0TRABAJO (COD PUEST0,DESCRIPCIN,oFICINA,DESPACHo,MESA)
EMPLEAD (coD EMPLE, NoMBRE, DIRECCIN, TELEF0N0, Cop PUESTo(FK))
En [a Figura 2.9 se representa grficamente e[ esquema relacionat, creado en Access. En este caso, hay que tener en cuenta
que e[ C0D_PUEST0 de EMPLEAD0 no se puede repetir, por [o tanto ltevar [a restriccin de UNIQUE, aparte de ser ctave ajena.
Figura 2.9. Representacin grdfica relacional de
E MP LE AD O - O CWA- PU E STOTRABN O.
Q
Reatiza e[ diagrama E-R que cumpla las especificaciones y psato a[ modelo de datos relacional.
Se desea mecanizar [a bibtioteca de un centro educativo. En [a biblioteca existen fichas de autores y libros. Un autor puede
escribir varios libros, y un [ibro puede ser escrito por varios autores. Un libro est formado por ejemplares que son los que
se prestan a los usuarios.
As un [ibro ene muchos ejemptares y un ejemptar pertenece sto a un libro. De los ejemptares nos interesa saber [a localizacin
dentro de [a bibtioteca. Los ejemptares son prestados a los usuarios, un usuario puede tomar prestados varios ejemptares y un
ejemptar puede ser prestado a varios usuarios. De[ prstamo nos interesa saber [a fecha de prstamo y [a de devotucin.
t'
t
I
A. Transformacin
de otros elementos
del modelo E-R
o
Relaciones reflexivas o recursivas
son retaciones binarias en las que participa
un tipo de entidad. En e[ proceso
de con_
vertir una retacin reflexiva a tabla hay que tener en cuenta sobre todo [a cardina_
tidad.-Lo normal es que toda retacin reflexiva se conefta en dos tabtas, una para
la entidad y otra para [a retacin. se pueden presentar
los siguientes casos:
- si ta retacin es 1:1, ta ctave de ta entidad se repite, con [o que [a tabta resut-
tante tendr dos veces ese atributo, una como clave primaria y otra como clave
ajena de etta misma. No se crea [a segunda tabta.
- 5i ta retacin es 1:M, podemos
tener dos casos:
a) caso de que [a entidad muchos sea siempre obtigatoria se procede
como en
e[ caso i.:1.
b) si no es obtigatoria, se crea una nueva tabta cuya ctave ser [a de ta entidad det
lado muchos, y adems se propaga
[a clave a t nueva tabla como ctave ajena.
O
PIEADo-DIRIGE-EMPLEAD0.
un empteado puede
dirigira muchos empleados o a ninguno
leado es dirigido por un director o por ninguno si ets .t qr. oirig.. En este caso no hay
muchos. El esquema E-R se muestra en ta figun 2.10, transforr.rfl.iioli.
i.l.rli,
Figura 2.10. Esquema E-R de EI'1pLEAD0-DINGE_EM1LEAD0.
La tabta DIRIGE tiene como ctave primaria
et cdigo de empteado, que a su vez ser ctave ajena. Adems se te aade et cdigo
de empteado pero,
en este caso, tendr e[ papet
e director, que a'su u.t t.ia ctave ajena a [a tabla EMPLEAD0. E[ resuttado
ser e[ siguiente:
EMPLEAD0 (coD EMPLE, DIRECCIN, TELFoNo, NoMBRE)
DTRTGE (cop EMPLE(FK), C0D_DTREC(FK))
2. El modelo de datos relacional
2'5 Transformacin
de un esquema E-R a un esquema reracional
2. El modelo de datos relacional
Transformacin de un esquema E-R a un esquema relacional
-
Si es N:M, se trata igual que en las retaciones binarias. La tabta resuttante de [a
retacin contendr dos veces [a ctave primaria de [a entidad de[ [ado muchos,
ms los atributos de [a retacin si los hubiera. La ctave de esta nueva tabta ser
[a combinacin de las dos.
@
Consideramos [a retacin: una pieza se compone de muchas piezas, que a su vez estn compuestas de otras piezas,
-
es decir, PIEZA-COMP0NE-PIEZA. E[ esquema E-R se muestra en la Figura 2.11. Transfrmalo al modelo relacional.
Figura 2.1 1. Esquema E-R de PIEZA-C0MP0NE-PIEZA.
En este caso, obtenemos [a segunda tabta COMPONE_PIEZA en [a que aparecer repetido e[ cdigo de pieza y formar [a ctave
de ta tabLa. Et atributo C0D_PIEZ_C0N representa [a pieza que se compone de otras, y C0D-PIEZA tiene e[ papel de pieza que
compone a otras piezas. Ambos atributos son ctaves ajenas a [a tabta PIEZA. La representacin quedar as:
PIEZA
(COD PIEZA, DESCRIPCIN, TAMAo, C0L0R)
C0MP0NE_PTEZA (Cop PIEZ CoM(FK), CoD PIEZA(FK))
o
Generalizaciones, transformacin de
jerarquas a[ modelo relacional
E[ modelo retacional no dispone de mecanismos para [a representacin de las retaciones
jerrquicas,
as pues, las relacionesjerrquicas se tienen que eliminar. Para elto hay que
tener en cuenta:
- La especiatizacin que los subtipos tienen respecto a los supertipos, es decir, los
atributos diferentes que tengan asociados cada uno de los subtipos, que son los que
se diferencian con e[ resto de atributos de los otros subtipos.
-
Et tipo de especiatizacin que representa e[ tipo de retacin
jerrquica:
total o par-
cal uclusiva, y total o parcial solapada.
- 0tros tipos de retacin que mantengan tanto los subtipos como e[ supertipo.
- La forma en [a que se va a acceder a [a informacin que representan tanto e[ super-
tipo como e[ subtipo.
l
Teniendo en cuenta [os puntos seatados para pasar estas retaciones a[ modeto retacio-
nal se apticar una de las siguientes regtas:
- se crea redundancia.en
[a.informacin, pues los atributos del supertipo se repi_
ten en cada uno de los subtipos.
- EI nmero de relaciones aumenta, pues
si eI supertipo tiene relaciones, stas
pasan a cada uno de los subtipos.
2. El modelo de datos relacional
2.5 Transformacin
de un esquema E-R a un esquema relacional
Figura 2.12. Esquema E-R de
pR2FES2RES-CEMR}S.
(Contina)
Gontinuacin)
2. El modelo de datos relacional
de un esquema E-R a un esquema relacional
0bserva
que se ha aadido eI atributo TIp0_cENTR0
que no se ha dado en e[ enunciado, sin embargo en las generalizacio-
nes conviene aadir un atributo que identifique e[ tipo del. subtipo. Para [a transformacin
podemos apticar cualquiera de
[as tres regtas ya que se trata de una
jerarqua total y exclusiva:
A. Integramos ,os subtipos en e[ supertipo. E[ esquema E-R ser e[ que se muestra en [a Figura 2.13:
Figura 2.13. SolucinA. Unan[ca entidad'
E[ resuttado en e[ modelo relacional contar con las s'iguientes tablas:
pR9FESSRES
(COp
pRoFESoR,
DTRECCIN, NOMBRE, TLF, ESPECIALIDAD)
cENTRgs icoo
crurno, NoMBRE, DrREccIN, NUM-ALUMNos, TIP0-CENTR0, ORGANIZACION, cuOTA'
IMPARTE
SERVIOS, PRESU PU ESTO)
(cop PRoFES0R(FK), coD CENTRo(FK), ASIGNATURA)
B. ELiminacin del supertipo, e[ esquema E-R se muestra en [a Figura 2.14:
Figura 2.14. Solucin B. Eliminacn del supertipo, dos entdades'
BeL esywt LLfv,
2. El modelo de datos relacional
2.5 Transformacin de un esquema E-R a un esquema relacional
(Continuocin)
EL TIPO-CENTRO se puede arrastrar a [as subentidades pero no tendra mucho sentido, pues tomara siempre e[ mismo
vator, es decir, en un centro pbtico sera siempre pbtico y en uno concertado, concertado. As pues se elimina. E[ resut-
tado en e[ modeto retacional contar con las siquientes tablas:
PRoFESORES (CoD PROFES0R. DIRECCIN, NoMBRE, TLF, ESPECIALIDAD)
PBLlcos (c0D cENTR0, NoMBRE, DIRECcIN, NUM_ALUMNos, sERVIcios,
pREsupuESTo)
PRIVADoS (CoD_CENTRo, NOMBRE, DTRECCTN, NUM_ALUMN0S,0RGANiZACTN, CUOTA)
TMPARTE_PR (Cop PR0FESoR(FK), C0D_CENTR0(FtO, ASTGNATURA)
TMPARTE_PU (Cop PR0FESoR(FK), C0D_CENTRO(FK), ASTGNATURA)
5i nos fijamos en e[ esquema retacional resultante vemos que las tablas PUBLICOS y PRIVAD0S tiene [a misma ctave, y
no existe ningn condicionante lgico que impida que un centro est en las dos tabtas, atgo que va en contra del enun-
ciado del problema. Para contro[ar esta situacin habr que recurrir a [os programas que manejen las tablas o a [a crea-
cin de triggers asociados a cada una de las tabtas.
De[ mismo modo, podemos pensar que las tabtas IMPARTE_PR e IMPARTE_PU, son iguales y podran agruparse en una
sota, sin embargo, habra probtemas con e[ control de [a integridad puesto que habra que definir [a ctave de esta tabla
como clave ajena de las tabtas PBLIC0S y PRIVAD0S, y esto no sera correcto.
Inserta una re[acin ].:L entre e[ supertipo y cada uno de los subtipos. E[ esquema E-R se muestra en [a Figura 2.15:
Figura 2.15. Solucn C. Relacin 1:1 entre supertpo y subtpos.
E[ atributo TIPO-CENTR0 se incluye en e[ supertipo. E[ resultado en e[ modeto relacional contar con las siguientes tabtas:
PROFESORES
CENTROS
PBLICOS
PRIVADOS
IMPARTE
(coD PRoFES0R, DIRECCIoN, N0MBRE, TLF, ESPECIALIDAD)
(c0D GENTR0, N0MBRE, DIRECCIoN, NUM_ALUMN0S, TIP0_CENTRO)
(cop CENTR0(FK), SERVTCT0S, PRESUpUESTo)
(coD CENTRo(FK), 0RGANTZACTt't, CUOtn
(c0p PRoFESoR(FK), CoD_CENTRo(FK), ASTGNATURA)
2. El modelo de datos relacional
Transformacin de un esquema E-R a un esquema relacional
o
Suponemos una relacin ternaria entre las entidades PROFESORES-CURSOS-ASIGNATURAS, en la gue un profesor
imparte en varios cursos varias asignaturas, y adems [as asignaturas son impartidas por varios profesores en varios
cursos. E[ esquema E-R se muestra en la Figura 2.16. Transformarlo a[ modelo relacional.
Figura 2. 1 6. Esquema E-R de PR0FES0RES-CURS0S-ASIGNATURAS.
E[ resultado en e[ modeto retacional contar con las siguientes tablas:
PR0FES0RES (COD PR0FESoR, DIRECCIN, NoMBRE, TLF, ESPECIALIDAD)
cuRsos (coD cuRso, DESCRIPcIN, NIVEL, TURNo)
ASTGNATURAS (CD ASIGNATURA, N0MBRE)
TMPARTE (CoD PRoFESoR(FK),CoD_CURSo(FK),CD_ASIGNATURA(FK))
o
Relaciones N-arias
En este tipo de relaciones se agrupan 3 o ms entidades, y para pasar aI modeto de
datos retacional cada entidad se conviefte en tabta, as como [a relacin, que va a con-
tener los atributos propios de e[[a ms las claves de todas las entidades. La clave de
ta tabla resultante ser [a concatenacin de las ctaves de las entidades. Hay que tener
en cuenta:
- Si ta retacin es M:M:M, es decir, si todas [as entidades participan con cardinalidad
mxima M, [a ctave de [a tabta resuttante es [a unin de las claves de las entidades
que relaciona. Esa tabta incluir los atributos de [a relacjn si los hubiera.
Si [a retacin es L:M:M, es decir, una de las entidades participa con cardinatidad
mxima 1, [a clave de esta entidad no pasa a formar parte de [a clave de [a tabta
resultante, pero forma parte de [a relacin como un atributo ms.
2. El modelo de datos relacional
2.5 Transformacin
de un esquema E_R a un esquema relacional
Q
suponemos e[ caso de una tienda de venta de coches, en [a que
un empteado vende muchos coches a muchos clien-
'
tes' y los coches son vendidos por un solo empteado. En ta venta hay que tener en.u.ni, [a forma de pago y ta fecha
I
dt venta. Elesguema E-R se muestra en [a tigura2.TT.Transfrmalo
a[ modelo relacional.
figura 2.17. Esquema E-R de EMpLEAD0-CLIENTES-C0CHES.
E[ resultado en eI modelo re[acionaI
es:
CLIENTES
EMPLEADO
c0cH Es
VENTA
(cD CLIENTE, NOMBRE, TLF)
(coD EMPLEADO,
NoMBRE, TLF, SALARI0. FECHA_ALTA)
(cop cocHE, MATRTCULA,
M0DELo,
pRECr0)
(COD COCHE(FK),
CD CTIENTE(FK},
COD_MPLEADO,
FORMA_PAGO, FECHA-VENTA)
En [a Tab[a 2.1 se muestra un resumen de las transformaciones
E-R a Relacionat:
Modelo Entidad-Relacin (Chen)
odeto relacionat
Entidad
Tahla
t:N
I
.
ur. a.na oti.-ir.i iarL
I
,
Binarias
'
1,i1.
, .
propagar
[a clave: c[ave ajena, o
,
M:N i , Otra tabLa nueva, con ctave prim
.
;
l:N
i .
Ctave ajena o bien otra tabla.
ellextvas
:
, 1.:1. j
, Ctave ajena o bien otra tabta.
M:N
Otra tabla .on ar,,t , r.
_ =a ,
ll,_, :,_.....
-
con guarara
[aentidaJdupticada.
I ' )e crea un
a [a
clave se rLqvr Jg
1
rernarias
:

I ::l:::::i:l:l
o'
:!":i
onT..".s
de tas entidJ,, .on q,ro
direrente a 1 (M,M,M...)
;
,
2' si alguna tiene cardinalida mxima 1. a[ menos ha de haber (N-1) ctaves primarias
de otras (N-1) enti- I
lt
dades, y han de participar
en [a relacin las ctaves primarias
de las entidades con cardinatidad
mxima 1. I
"
-"
*
:i.-i.]::: l'll"'l''
'.
r
2.6 Prdida de semntica en la transformacin
al modelo relacional
A[gunas restficciones son necesarias controlarlas con mecanismos externos aI modelo
retacional dado que muchos de SGBD no implementan e[ modeto retacional compteto.
Por ejemp[0, los mecanismos tipo CHECKy ASSERTI0N no sueten estar disponibles en
todos los SGBD to que imptica que hay que recurrir a otros medios para recoger estas
restricciones como: e[ uso de disparadores, procedimientos atmacenados o apticaciones
externas.
Atgunas de [as restricciones de los esquemas E-R que deben contemptarse en [a transfor-
macin aI modelo relacional mediante checls, aserciones o disparadores son:
- Cardinatidades mnimas de 1 en relaciones N:M y 1:N (excluyendo aqueltas que se
controtan con [a restriccin NOT NULL cuando se reatiza una propagacin de ctave).
- Cardinalidades mximas conocidas en relaciones binarias N:M y 1:N y relaciones ter-
narias.
- Exctusividad en las generatizaciones.
- Inserciones y borrado en las generalizaciones.
- Restricciones que no figuran en e[ enunciado original pero que se consideran ade-
cuadas o convenientes (por ejemplo, restricciones que implican operadores de com-
paracin de fechas, etctera).
2.7 Normalizacin de esquemas relacionales
La normalizacin es una tcnica para disear [a estructura lgica de [os datos de un sis-
tema de informacin en e[ modeto retacionat, desarrottada por E. F. Codd en 1972. Es una
estrategia de diseo de abajo arriba: se parte de los atributos y stos se van agrupando
en relaciones (tabtas) segn su afinidad. Aqu no se utilizar [a normalizacin como una
tcnica de diseo de bases de datos, sino como una etapa posterior a [a corresponden-
cia entre e[ esquema conceptuaty e[ esquema lgico, que elimine las dependencias no
deseadas entre atributos. Las ventajas de [a normalizacin son las siguientes:
o
Evita anomatas en inserciones. modificaciones v borrados.
Mejora [a independencia de datos.
No estabtece restricciones artificiates en [a estructura de los datos.
Uno de los conceptos fundamentates en [a normatizacin es elde dependenca
funconol.
Una dependencia funcional es una relacin entre atributos de una misma retacin
(tabta).
I
I
I
I
I
I
;
I
I
I
I
I
I
Esto es [o mismo que decir que si dos tuplas de R tienen e[ mismo vator para su atributo
X, forzosamente han de tener e[ mismo va[or para eI atributo
y.
_ 4.
c_lgglg
de_{ep_endencias
Las dependencias son propiedades
inherentes aI contenido semntico de los datos for-
mando parte de las restricciones de usuario del modelo relacional. Entre los atributos de
una retacin pueden existir dependencias de varios tipos:
o
Dependenciasfuncionales
Son de primordialimportancia
a [a hora de encontrary etiminar [a redundancia de
los datos almacenados en [a tablas de una base de datos relacionat, se centran en
eI estudio de las dependenci'as que presenta
cada atributo de una re[acin con res_
pecto aI resto de atributos de [a misma.
Dada una relacin R que contiene los atributos X e
y
se dice que
y
depende funcio_
nalmente de X (X -+ Y) si y sto si en todo momento cada valor de X tiene asociado
un solo valor de Y. Esto es [o mismo que decir que si dos tuptas de R tienen e[ mismo
vator para su atributo X forzosamente han de tener e[ mismo vator para
e[ atributo
y.
Tipos de dependencias:
- Dependencias completa y parciat.
Dado un atributo compuesto X formado por los
atributos x1, y x2, se dice que e[ atributo
y
tiene una dependencia funcionaI com_
pleta con respecto a X si: X1 -->y;xz -+y;y -/ -+ x (y no imptica X) pero X -+
y.
2. El modelo de datos relacional
2.7 Normalizacin de esquemas relacionales
2. El modelo de datos relacional
2.7 Normalizacin de esouemas relacionales
Por e[ contrario, dado un atributo compuesto X formado por los atributos X1 y
X2, se dice que e[ atributo Y tiene una dependencia funcionaI parciaI con res-
pecto a X si: X1 - -+ Y o X2 -/ Y y X + Y
Dependencia transitiva. Dados los atributos X,Y yZ de [a retacin R en [a que
existen [as siguientes dependencias funcionates X -+ Y
;
Y -+ 7; se dice que Z
tjene una dependencia transitiva respecto X a travs de Y: X -+ 7. Por ejemp[o:
Nombre de atumno Direccin; Direccin Ciudad; Nombre de a[umno Ciudad.
Dependencia muttivaluada o de valores mttiples. Sean X e Y dos descriptores,
X multidetermjna a Y (X -+ Y) si para cada vator de X existe un conjunto bien defi-
nido de vatores posibles en
Y
con independencia del resto de los atributos de [a
retacin. Este tipo de dependencias produce redundancia de datos, como se puede
apreciar en [a Tabta 2.2, en donde las ctaves 34567-B y 89345-M tienen dos regis-
tros
para
mantener [a serie de datos en forma independiente. Esto ocasiona que a[
realizarse una actuatizacin se requiera de demasiadas operaciones para tal fin.
En [a tab[a siguiente, e[ atributo DNI multidetermina a Titulacin; verTabla 2.2:
DNt
-
i
---
rflurncOrl
i
i 34567-8 i
| 34567-8
i
56667-c
1 89345-M
'
89345-M
lngeniero de Te[ecomunicaciones
Licenciado en Historia
Tabla 2. 2. Dependencia mult[valuada.
- Dependencias de reunin o en combinacin. Se dice que una retacin satis-
face [a dependencia de reunin (X,
Y
...
,
Z) si y sto si [a relacin es igual a [a
reunin de sus proyecciones segn X,
Y
...
,
Z. Donde X, Y
...
,
Z son subcon-
juntos
de[ conjunto de atributos de [a retacin.
Reglas de normatizacin
Se dice que una retacin est en una forma norrqpl,si satisface un cierto conjunto
especfico de restricciones impuestas por [a regta Unormatizacin correspondiente.
La apticacin de una regta es una operacin que toma como entrada una retacin y
da como resultado dos o ms relaciones.
Primera forma normal. 1FN
Se dice que una relacin est en 1FN si y slo si los vatores que componen cada atri-
buto de una tupla son atmicos, es decir, cada atributo de [a relacin toma un nico
valor del dominio correspondiente, o [o que es [o mismo no existen grupos repetitivos.
La tabta estar en 1FN si tiene un soto valor en [a interseccin de cada fi[a con cada
co[umna. Un conjunto de relaciones se encuentra en 1FN si ninguna de eltas tiene
grupos repetitivos.
4-
r i Licenciado en Filosofia
2. El modelo de datos relacional
2.7 Normalizacin de esquemas relacionales
Si una retacin no est en 1FN, hay que eliminar de elta los grupos repetitivos.
Un
grupo repetitivo ser e[ atributo o grupo de atributos que tiene mttiples valores
para cada tupta de [a retacin. Hay dos formas de etiminar los grupos repetitivos:
Repetir los atributos con un soto valor para cada vator del grupo repetitivo. De
este modo, se introducen redundancias ya que se duptican vatores, pero estas
redundancias se eliminarn despus mediante las restantes formas norma[es.
La segunda forma de etiminar los grupos repetitivos consiste en poner cada uno
de ettos en una retacin aparte, heredando [a ctave
primaria
de [a retacin en [a
que se encontraban.
@
,. apticacin de esta regta es fcit. Este proceso se reatiza casi siempre en e[ anlisis det probtema. Por ejemplo, con-
sideramos [a tabla ALUMN0, con ctave primaria C0D-ALUMN0, en [a que e[ atributo TLF puede tomar varios valores:
e[ mvi[, e[ de casa, el del padre, e[ de [a madre, etctera. Ver Tabla 2.3:
coD ALUMII-o_
I
ogent_-
-
Pryq'9!
z+sooaoo
I
1 91-2233441
i
GARCA
I
enncn
i cnncn
I
sunrz
I
crr
GIL
L'oryplr
ipir-
-
l
ll
I
que no estd en lFN.
9r-7237232
91-7008001
97-7562324
660-1,1,1222
678-556443 i
C/Las caas 45
C/Mayor !2
Esta tab[a no est en 1FN, ya que hay dos atumnos que tienen varios tetfonos. Para que esta tabta est en 1FN se puede:
o
Definir como ctave primaria de [a tabta C0D-ALUMN0, y e[ TLF, con e[ fin de que cada atributo tome un nico vator en [a
tupta correspondiente. Ver Tabta 2.4.
I C/Las caas 45
C/Las caas 45
C/Las caas 45
C/Mayor 12
C/La plaza
C/La plaza
i
vq{89.
Tabla 2.4. Tabla ALUMN1, primera transformacn a I,FN.
PEPE
PEPE
PEPE
MARA
JUAN
JUAN
FRANCISCO
(Contind)
2. El modelo de datos relacional
2.7 Normalizacin de esouemas relacionales
(Continuacin)
.
0 tambin se eliminan los grupos repevos (TLF) y se crea una retacin (tabta)
COD ALUMNO NOMBRE APELLIDO
tr1,1,
2222
3775
4444
PEPE
MARA
JUAN
FRANCISCO
GARCIA
SUREZ
GIL
MONTOYA
junto
con [a ctave iniciat. Ver Tablas 2.5 y 2.6.
DIRECCION
C/Las caas 45
C/Mayor t2
,
C/La plaza
C/La arboteda
Tabla 2.5. Tabla ALUMN} segunda transformac[n a LFN.
La segunda tabta estar formada por e[ TLF, y eL COD ALUMN0. Los dos formarn [a ctave. Ver Tabla 2.6:
COD ALUMNO(FK) TLF
11.1.1 678-900800
ttll ' 91,-2233441
t'tll 91,-1231232
2222 91-7008001
Tabla 2.6.TablaALI,M TLFenlFN.
Segunda forma norma[. 2FN
Se dice que una retacin se encuentra en 2FN si y sto si satisface [a 1FN, y cada
atributo de [a re[acin que no est en [a clave depende funcionatmente de forma
completa de [a ctave primaria de [a retacin. La 2FN se aplica a las retaciones que
tienen ctaves primarias compuestas por dos o ms atributos.
Si una retacin est en 1FN y su ctave primaria es simpte (tiene un soto atributo),
entonces tambin est en 2FN. Las relaciones que no estn en 2FN pueden sufrir
anomatas cuando se reatizan actuatizaciones.
Si [a ctave primaria est formada por un soto atributo y [a retacin est en 1FN, ya
est en 2FN.
Teorema
de [a 2FN: sea una retacin formada por los atributos A, B, C, D con ctave
primaria
compuesta por los atributos A y B. Si se cumpte que (D depende funcional
mente de A): A -+ D, entonces [a retacin puede descomponerse en dos retaciones
R1 y R2 con los atributos respectivos: R1 (A, D) y R2 (A, B, C).
Para pasar
una retacin en 1FN a 2FN hay que etiminar las dependencias parciates
de [a ctave primaria. Para e[to, se e[iminan los atributos, que son funcionatmente
dependientes,
y se ponen en una nueva retacin con una copia de su determinante
([os
atributos de [a ctave primaria de los que dependen).
Se crearn
dos tabtas para etiminar las dependencias funcionates, una de ettas ten-
dr los atributos que dependen funcionatmente de [a ctave, y [a otra los atributos
que
forman parte de [a ctave de [a que dependen.

2. El modelo de datos relacional


2.7 Normalizacin de esquemas relacionales
@
Supong.tos que tenemos una retacin ALUMN0 en [a que representamos los datos de los atumnos y las notas en cada
una de las asignaturas en que est matricutado. La ctave es e[ nmero de matricuta COD_ALUMN0 y ta asignatura ASIG-
NATURA, ver Tabla 2.7:
'-
--ilrer4.g
Ii-
.!q
lL @tr% llru*l"-ltE l
lttt
l1,tL
2222
2222
3333
3333
4444
4444
PEPE
PEPE
MARA
MARA
JUAN
JUAN
FRANCISCO
FRANCISCO
lcnncin
-
-
-_l
lrr,rcun
I
, GARCIA i IDIOMA

unrurlncns r
gEIcrAs
-
I
5:
7
7
6
6
4
6
8
LL
I4
SUAREZ I i IDIOMA
SUAREZ
I
CTENCTAS
GIL i PLSNCN
GIL ; MATEMATICAS 1
MONTOYA ]i LENGUAII
MONTOYA
r0\torA
i
l
I
1
1
Tabla 2.7. Relacin ALUMN0 para transformar a 2FN.
Es obvio que todos [os atributos no dependen de [a ctave completa (C0D_ALUMN0, ASIGNATURA). En primer lugar, hay que
ver las dependencias funcionates de cada uno de los atributos con respecto a los atributos de [a clave y e[ resto de atributos:
- NOM_ALUM y APE_ALUM, slo dependen de C0D_ALUMN0.
- Los atributos CURSO y AULA estn relacionados con [a ASIGNATURA, es decir, existe una dependencia entre ASIGNATURA
-+ CURS0, ASIGNATURA -+ AULA. Una asignatura pertenece a un curso y se imparte en un auta.
- E[ atributo NOTA depende funcionalmente de [a clave, pues para que haya una nota ene que haber una asignatura y un atumno.
Vistas las dependencias funcionales [[egamos a [a siguiente conctusin para que [a retacin ALUMNO est en 2FN necesita-
mos crear tres retaciones: ALUMN0, ASIGNATURAS y N0TAS (ver Tabtas 2.8,2.9 y 2.10):
i
FRANCISC0
t5
lo
I+
18
t
't
1,
LgD.Uttlltoryl i
nsrclrunntrxl
il
NorA
i
2222
3333
4444
Tabla 2.8. Tabla ALUMN} en 2FN.
LENGUA I
IDIOMA
CIENCIAS
PL5TICA
MATEMTICAS I
LENGUA II
Tabla 2.9. Tabla ASIGNATUMS en 2FN.
1,"t"t1
"t1,1,1
2222
2222
5333
55JJ
4444
4444
4444
Tabla 2.10. Tabla N1AS en 2FN.
LENGUA I
IDIOMA
IDIOMA
CIENCIAS
PLSTICA
MATEMTICAs I
LENGUA II
MATEMTICAS I
CIENCIAS
; l
'l
ql
tl
i
,',]
I
l
l
7
6
6
+
6
8
2. El modelo de datos relacional
2.7 Normalizacin de esquemas relacionales
Tercera forma normal. 3FN
Una retacjn est en tercera forma normal si, y slo si, est en 2FN y, adems, cada
atributo
que no est en [a ctave primaria no depende transitivamente de [a clave pri-
maria. Es decir, los atributos de [a relacin no dependen unos de otros, dependen
nicamente de [a ctave, est formada
por uno o ms atributos. La dependencia X
->
Z es transitiva si exjsten las dependencias X -+ Y, Y -+ Z, siendo X, Y, atributos o
conjuntos de atributos de una misma retacin'
Para pasar una retacin de 2FN a 3FN hay que eliminar las dependencjas transjtivas.
Para e[[0, se eliminan los atributos que dependen transitivamente y se ponen en una
nueva retacin con una copia de su determinante (e[ atributo o atributos no ctave
de los que dependen).
Teorema de ta 3FN: sea una relacin formada
por los atributos A, B, C con ctave pri-
maria formada por et atributo A. Si se cumple que: B -+ C, entonces [a relacin
puede descomponerse en dos retaciones, R1 y R2, con los atributos respectivos: R1
(A, B) y R2 (8, c).
TTUtO
@
Supongamos que tenemos una retacin LIBR0S en [a que representamos los datos de las editoriales de los mismos,
verTabta 2.11:
-''-1r----
12345
I L
DISENo DE BD RELACI0NALES
34562 1
|
rusrnLncrN y MANTENIMIENTo DE EQUIP05
72224 , ,
I-UNUAMTNTOS DE PROGRAMACION
34522
,
I
BASE DE DATOS OO
i
EplroRr4l_
:L_llls_
'
Tabla 2.1 1. Relacn LIBRlS para transformar a
jFN.
Veamos las dependencias con respecto a [a clave:
- TTUL0 y EDITORIAL dependen directamente deL cdigo del libro.
- Et PAS, aunque en parte tambin depende del [ibro, est ms ligado a ta EDIT0RIAL a [a que pertenece e[ [ibro. Por esta
ttima razn, [a relacin [ibros no est en 3FN, [a solucin se muestra en las Tablas 2.72y 2.73:
I
-
i
-
-'' t-
-l
r
-
-
I
,cop
+Bg_ _ IfTUlo __
EDToRIAI(FK) i EDFoRIAL r
PAls
:
] RAMA
MCGRAW-HILL
i snrnuun
Tabla2.t2, Tabla LIBR0S en 3EN. Iabta 2.13. Tabla EDIT1MAL en 3FN.
Q
oaAa ta tabta 2.14 normatizar hasta ta 3FN.
2. El modelo de datos relacional
2.7 Normalizacin de esquemas relacionales
il
DNI
41,3245-B
23456-J
34561-8
222346-J
NOMBRE
JUAN
i PEDRO
MARA
JUAN
APEtIIDOS
RAMOS
PREZ
RODRGUEZ
CABELLO
DIRECCIN
C/Las caas 59
C/PiIn 12
C/Vitoria 3
C/E[ attozano
C/SanzVzguez 2
C/EL ensanche 3
C/Los abedutes 10
I
ri
'l
I
I
C-POST POBLACIN
19005 GUADALAJARA
45589
I
CALERUELA
28804
I
RLCRL DE HENARES
T0392 I
BERROCALEJO
1,9004 ]
GUADALAJARA
28802
] NLCNL DE HENARES
1O3OO NAVALMORAL DE LA MATA
)
PROVINCIA
GUADALAJARA
TOLEDO
MADRID
ccEREs
GUADALAJARA
MADRID
CCERES
Tabla 2.14. Transformar a 3FN.
.
Forma Normal de Boyce - Codd (FNBC)
Se define determinante en una retacin a un atributo del cual depende funcionatmente de
manera compteta cuatquier otro atributo de [a retacin. Una retacin est en [a Forma Nor-
mal de Boyce - Codd (FNBC) si, y sto si, todo determinante de etta es una ctave candidata.
La 2FN y [a 3FN etiminan las dependencias parciates y las dependencias transitivas
de [a ctave primaria.
pero
este tipo de dependenciaitodava pueden existirsobre
otras ctaves candidatas, si las hubiera. La BCFN es ms fuerie que [a 3FN, por to
tanto, toda retacin en FNBC est en 3FN.
La viotacin de ta FNBC es poco frecuente ya que se da bajo ciertas condiciones que
raramente se presentan.
Se debe comprobar si una retacin viota [a FNBC si tiene dos
o ms ctaves candidatas compuestas que tienen a[ menos un atributo en comn.
Teorema de Boyce - codd: sea una retacin R formada por los atributos A, B, c, D
con ctaves candidatas compuestas (A, B)
v
(8, c) tat que: A c, entonces [a retacin
puede descomponerse en cuatquiera de las dos siguientes maneras: R1 (A, c) y R2
(8, C, D) o bien, R1 (A, C) y R2 (A, B, D).
28-2345686
79-458766
45-223344
JUAN
PEDRO
MARA
ANTONIO
PUESTO
GERENTE
AUXILIAR
CONSERJE
GESTIN
SATARIO
2.300
1.200
1.530
?.200
APETLIDOS
RA[4OS
PREZ
GIL
SANZ
DEPARTAMENTO
COM PRAS
NMINAS
ALMACN
CO[4 PRAS
@
suogns3m-os que tenemos una relacin EMPLEADoS en [a que representamos los datos de [os empleados de una fbrica,
verTabla 2.15:
I
ia izt+iai
23456-J
7231.23-C
1234556-8
Tabla 2. 1 5. Relacin EMpLEAD 0S para transformar a FNB C.
(Contina)
2. El modelo de datos relacional
2.7 Normalizacin de esquemas relacionales
(Continuacin)
0bservando los atributos de esta retacin podemos ver que NUM-SEG-SOC y e[ grupo NOMBRE-APELLIDOS son claves candi-
datas (determinantes). Esta retacin se transforma en dos tabtas: una contendr [a ctavejunto con las claves candidatas
(EMPLEADOS)y [a otra [a ctave con e[ resto de campos (EMPLE_TRABAJ0), ver Tabtas 2.16 y 2.17:
JUAN
PEDRO
MARA
l;ffi" Tabla 2.16. Relacn EMPLEAD}S e NBC.
,a
DNt(FKl
li
DEPARTAMENTO i PUESTO I SALAI SALARIO
DNI
4t3245-B
23456-J
723723-C
r234556-B
COMPRAS
NMINAS
ALMACN
COMPRAS
G ERENTE
AUXILIAR
CONSERJE
GESTIN
2.300
1.200
1.530
2.200
Tabla 2.17. Relacn EMPLE TRABAJj en FNBC.
Cuarta Forma Normat (4FN)
Una relacin se encuentra en 4FN si, y slo si, est en FNBC y no existen dependen-
cias mu[tivatuadas.
Teorema de Fagin: Dada [a retacin formada por [os atributos X,
V
Z con las siguien-
tes dependencias multivatuadas: X -+ -+ Y y X -+ + Z, entonces [a retacin puede
descomponerse en dos retaciones: R1 (X, Y) y R2 (X, Z).
fsrEnn
]
-RoJo
t-
@
Consideramos [a siguiente relacin: GE0METRA, con tres atributos con dependencias multivatuadas, los tres atribu-
tos forman la ctave, ver Tabla 2.18:
GRANDE
GRANDE
GRANDE
MEDIANO
GRANDE
GRANDE
Tabta 2.18. Relacin GE1METRIA con dependencas mulvaluadas.
(Contino)
I
I
2. El modelo de datos relacional
2.7 Normalizacin de esquemas relacionales
(Continuacin)
En [a Tabta 2.18, FIGURA determina valores mttiptes de C0L0R y TAMA0, pero C0L0R y TAMA0 son independientes entre
t.^l:l
P.l:t: ! !99naecias
son FIGURA -+ -+ C0L0R y FIGURA + -+ TAMA0. 0bservamos que se repiten ESFERA-GRANDE,
o PIRAMIDE-BLANCO, o PIRMIDE-GRANDE. Para el.iminr [a redundancia de tos datos se deben etiminar las dependencias de
vatores mttiptes. Esto se logra construyendo dos tabtas, donde cada una atmacena datos para solamente uno de los atribu-
tos de vatores mltiptes.
Estas repeticiones hacen que [a tabta no est en 4FN. Para pasarta a 4FN, creamos las Tabtas Z.l9 v 2.20:
L-@--i [rue 1
Tabla 2.19. Tabla C0L0R en 4FN.
Tabla 2.20. TablaTAMA1| en 4FN.
Q
Normatiza ta Tabta 2.21. Suponemos gue los estudiantes de una academia pueden inscribirse en varias especiatida-
des y en varios cursos. Por ejempto, et nmero de matrcula 12345 tiene eipeciatidades en Sistemas y Temtica y
toma los cursos de Natacin y Danza.
prsrrr'rns
-
_]
I
j
rruNrrcR
I I
Tabla 2.2 1. Tabla ACADEMIA,
.
Quinta Forma Normat (5FN)
una retacin se encuentra en 5FN si, y sl.o si, toda dependencia de reunin en [a
retacin es una consecuencia de las ctaves candidatas. Esto es, [a relacin estar en
5FN si
uestas por e[ creador de [a base de
datos.
extraas. Tiene que ver con tabtas
que pu
ueden reconstruirse. Su vator prc-
tico es
in de tabtas.
2.8 Dinmica del modelo relacional: lgebra relacional
Hasta ahora, hemos visto [a estructura y restricciones del modeto retaciona[. Es [o que se
[tama [a componente esttica o estca del modelo retacional. Todo modeto de datos
lteva asociado a su parte estca una dinmica que permite [a transformacin de un estado
origen a un estado final de [a base de datos. Esta transformacin se reatiza aplicando un
conjunto
de operadores mediante los cuales se podrn realizar operaciones de insercin,
borrado, modificacin
y consutta de tuplas.
La dinmica del modelo retacional acta sobre conjuntos de tuplas y se expresa mediante
lenguajes de maniputacin retacionates que asocian una sintaxis a las operaciones. En [o
que a[ tgebra se refiere [a dinmica [a constituye una serie de operadores que apticados
a las retaciones dan como resuttado nuevas relaciones.
Operaciones bsicas sobre tablas
En este apaftado, se muestran diferentes tipos de operaciones de consutta que se pueden
reatizar con tas tablas. Estas operaciones estn basadas en e[ lgebra retacional. Los ope-
randos de cada operacin tos constituyen una o varias tabtas, y e[ resuttado es otra tabla.
Esta tabta resuttante puede ser, a su vez, operando en otra operacin.
Existen dos pos de operaciones sobre tabtas: rscas y deivadas. Las operaciones bsi-
cas se dividen, de nuevo, en unoios y binaras. En [as operaciones unarias se utitiza una
tabta de entrada para obtener e[ resuttado; en las binarias se emptean dos tabtas.
Las operaciones derivadas son binarias que necesitan las operaciones bsicas, y son [a
nterseccn, eLcocienteyla combnacin oioin. La Figura 2.18 resume los tipos de opera-
ciones bsicas y derivadas.
OPERACIONES
BAS cAs
OPERACIONES
DERIVADAS
Iigura 2.18. 0peraciones bsicas y derivadas sobre tablas.
.
0peraciones bsicas unarias
- Seleccin. Esta operacin obene un subconjunto de fitas de una tabta con todas
sus cotumnas. Se pueden seleccionar determinadas fitas inctuyendo en [a opera-
cin una condicin. En sta se pueden utizar los operadores booteanos: Y (AND),
0 (0R)
,
N0 (N0T) para expresar varios criterios. Se representa de [a siguiente
manera: ocondicin
(Tabta
) .
Unin
Diferencia
Producto caesiano
Interseccin
Cociente
Combinacin
L-_
@
n partir
de ta tabla EMPLEADoS
mostrada
en [a Figura 2.19, seleccionamos
aquettas
firas cuyo departamento
es e[ 20.
-1
2. El modelo
de datos relacionat
2.8 Dinmica
del modelo relaconal:
lgebra relacional
N.. EMPLE
APEtIIDO
sNCHEZ
ARROYO
SALA
JIMNEZ
MARTN
NEGRO
CEREZO
GIL
REY
I
j ALONSO
sArAR!O
1.040
2.080
1,.625
3.867
t.oJ
3.705
3.185
3.900
6.500
1..430
coMtstoN
N". DEPART
JEFE
7369
7499
T)L
7566
7654
/ oy
7782
7788
7839
7876
I
390
650
1820
20
30
30
20
30
30
10
20
10
20
7902
7698
7698
7839
7698
7839
7839
7566
7788
ri
Figura 2.19. TablaEMpLEADIS
con
j.0
filas.
Representamos
[a seteccin de [a siguiente
manera: oroorno"r=2.
i No. EMPTE
APELLIDO
i sAtARtO
7369
7566
7788
7876
SNcHEZ
JIMNEZ
GIL
ALONSO
1,.040
3.867
3.900
1..430
(EMpLEADOS)
. La tabta resuttante
se muestra en ta Fiqura 2.20.
coMtstoN
r No DEPART
20
20
20
20
JEFE
7902
7839
7566
7788
i
li
ii
f
I
I
f
I
figura 2.20. Emplead.os
de:l d.epartamento
20.
-
racin da como resuttado
una nueva tabla a partir
de otra
cotumnas indicado.
Las fitas dupticadas
sto aparecern
una
representa
de [a siguiente
manera: [cor1,cor2,.. (Tabla)
.
aquellas fitas cuyo JEFE se corresponde
con e[ nrero ?g39
t;i;;p;;:
tamento es et 30.
2. El modelo de datos relacional
Dinmica del modelo relacional: loebra relacional
@
troyeCamos [a tabla EMPLEADOS segn las columnas APEILID0 y SAIARI0. Se representa as: lT*,oo,-,.o,.*ro(EMPLEADos) .
La tabla resultante es [a de [a Figura 2.21.
2
APELLIDO
SNCH EZ
ARROYO
SALA
JIMNEZ
MARTN
NEGRO
CEREZO
GIL
REY
At0N50
SALARIO
1..040
2.080
r.625
3.867
1.625
3.705
3.185
3.900
6.500
1,.430
figura2.21. ProyeccndelatablaEMPLEAD}SsegnlascolumnasAPELLID}ySALARI}.
Obtenemos las cotumnas APELLIDO y SALARIO de aqueltas fitas de [a tabta EMPLEAD0S cuyo departamento es 20. Se repre-
senta as: fr^=ur"rro,
r""o*r"
(o,,,"u."*r=ro (EMPLEADOS
)
).
La tabla resultante es [a de [a Figura 2.21.
APETLIDO
SNcHEz
JIMNEZ
GIL
ALONSO
SATARIO
1,.040
3.867
3.900
1,.430
Figura 2.22. APELLID} y SALAN} de los empleados del departamento 20.
Q
n partir de ta tabta EMPLEAD0S mostrada en [a Figura 2.19, obtn et APE-
LLID0 y SALARIO de aquellos empleados cuyo JEFE se corresponde con
e[ nmero 7839 y e[ departamento sea e[ 30.
0peraciones bsicas binarias
- Unin. Dos tablas se pueden unir si tjenen et mismo nmero de columnas y
dominios comoatibles. E[ resultado de [a unin es otra tabta con las filas de
ambas tabtas. Las filas repetidas aparecen una sota vez. La unin de dos tabtas
se reoresenta de [a siquiente manera: Tab]a u Tabla2 .
2. El modelo de datos relacional
2.8 Dinmica del modelo relacional: lgebra relaconal
fD
tr unin de tas tabtas EMPLEI y EMpLE2 se muestra en ta Figura 2.23.
EMPLEl
Figura 2.23. Unn tle las tabtas EWLE| y EMpLE2.
- Diferencia. La diferencia entre dos tablas sto es posibte
si tienen e[ mismo
n-mero de columnas y dominios compatibtes. E[ resultado es otra tabta con [as
fitas pertenecientes
a una de [as tabtas y no pertenecientes
a [a otra tabta. se
representa as: Tabla
-
Tabf a2 .
@
,. Figura 2.24refteja
ta diferencia de ras tabras EMptEl y EMpLE2.
EMPLE2
- EMPLE1
EMPLE1
-
EMPLE2
Figura 2.24. Diferenca de lds tablas EMpLEI y EMpLE2.
O
(Nombre, Editoriat) y EDITORES (Nombrq
do para sus filas y cotumnas, y representa
de la diferencia.
,
L8/7!/05
;
i
100
|
,
t8/77/05
,,
100
,
l-.i{q.
Denominacin
Cebottas
Patatas
I
l
l
l
i
L
P
c
r
Figura 2.2 5. Producto cartestano de las tablas VEMAS y ARTICUL1S.
.
0peracionesderivadas
-
Interseccin. Es una operacin derivada de [a diferencia. La interseccin de dos
tablas es otra tabta formada
por [as fitas que aparecen en ambas tablas y las
cotumnas de una de las tablas. At iguaI que en [a diferencia, [as tabtas han de
tener e[ mismo nmero de cotumnas y dominios compatibles. La operacin de [a
diferencia es [a siguiente: Tabla1-
(Tablal-TabIa2
) . La interseccin se
representa de [a siguiente manera: Tab]alnTabla2. La Figura 2.26 muestra
[a
jnterseccin
de las tablas EMPLE1 y EMPLE2.
-
producto
cartesiano. Se puede realizar entre dos tabls que tengan diferente nmero
de columnas. E[ resuttado es otn tabla
que contendr [a suma de cotumnas de ambas
tablas
y e[ conjunto formado por todas las fitas de ambas tablas. No pueden
existir columnas con e[ mismo nombre. E[ producto se representa de este modo:
Tabla1 X Tabla2.
En [a Figura 2.25 se muestra e[ producto cartesiano de las tablas VENTAS y ARCUL0S.
-,--- -l
I Fecha i i
cantidad
t
ARTICULOS
t_gqeei i=_-ellerlaryd E4'!s!{
['* l
I
iioo
il
p'iit.i
-
lt
5oo-
lI
I,f--i
i :ro_q
ilq.lelt* lL
?:!
-)l
!:1- t
VENTAS X ARTICULOS
[idtte".i.r
lt-E
-_l
I
n partir de las tabtas EMPLEADSS (NoEmpte, Apettido, Salario, Comision)
-
y DEPARTAMENTOS (NoDepart, Nombre, Locatidad) inventa un contenido
pan sus filas y columnas y representa [a opencin de[ producto cartesiano.
--.
EMP[EtnEMpLE2
No. emple
i
Nombre I
I Fernando
Figura 2.26. Interseccn
d.e las tablas EMpLEI y EMpLE2.
- cociente. E[ cociente se realiza entre dos tablas, Tablal y TabLa2,con
diferen_
tes cotumnas que
cumpten las siguientes
con
e tener cotum_
nas de Tabta2 y e[ nmero de cotumnas
ha de
Tabta2. TabLa2
debe tener, a[ menos, una fila. Se-pu:de
exp
[a proyeccin,
del producto
cartesiano y de ta diferercia
d
Tablal:Tabla2
=
tTc (Tablal) _
ITc (Tabl
a2 XTIc(Tablal) _
Tablal)
Donde c representa
e[ conjunto
de atributos
de ta Tabtal menos los atributos de
La Tabta2.
1005
I
jj
*

.\
[,,Ioo""o (COLORES
X [,ooo""o (COCHES
) - COCHES
)
MoDELo
MoDEro
col-_
,seat
, .-,.,,.,,,-.,.,
--91.,,
M9q+9-il
-corgq-'
i nnotro--i
: , l5eat ipnin
-
,--- _
I
-,
--:
I
. I
Rojo
i jRenautt
rlR.
I
lRenautt :lAz
:Renaurt
,l;:I
ff:
I in."uurt
-li.j;
1i;n;;n--.,
,,i
:,lud
, 1 .rrr,,
:i
noio
I
/
Renautt
,i :ll
]
t
,0.
]
;Ford
iRena,,rr ,r-,., ] ilo4
'iRojo
]
i fff'n
, j
::,,
ri
;;il
I i
iil:;lf
l- -:--
i
r\uJU
Renault
; i AzuL
Ford j
noio
rj
Roio
@
tn [a Figura 2'27 serefteja
e[ cociente
de las tabtas cocHEs y C0LORES.
La expresin
es [a siguiente:
'
Seat
Rena u [t
I Ford
i
AzuL
1
;
Ford 'l
N.gro
1
Seat
Azut
COCHES : COLORES=
4'roo"ro
(COCHES
)
_
::*o
,
i
Renautt
"'
tli
I
I l-olg 'i
$jg
]
Seat
":"'
:::1 tojo
, .
i :pl.l-
-
il-{41==_--_l
*
(cocils
.X
r,oo""o (coLoRES)
- cocHEs)
Eigata,27.Divisndelastablasc0cHESyluLuRES.
se e-Liminan
filas
duplicadas
Este operador
es til para
simptificar
consultas
det tipo de [a presentada
en [a figura anterior
donde se desea obtener todos
Los modetos de coches para
los que
hay todos los cotores, contenidos
en ta tabta c0LoREs.
2. El modelo de datos relacional
Dinmica del modelo relacional: lgebra relacional
-^-
A partir de las tablas AUT0RES(Nombre, Provincia, Editoriat) y EDIT0RIA-
LES(Editoriat) inventa un contenido para sus filas y columnas y repre-
sentar la operacin de Disin (AUT0RES:EDIT0RIALES).
Qu
representa
e[ resultado final?
- Combinacin o
join.
Con esta operacin se obtiene e[ producto cartesiano de
dos tabtas cuyas filas cumptan una condicin determinada. La combinacin de
dos tablas con respecto a una cierta condicin de combinacin es otra tabta
constituida por pares de fitas de ambas tablas concatenadas tates que en cada
par las correspondientes fi[as satisfucen [a condicin. Se representa del siguiente
modo:
(Tabla1*Tabla2
) condicin.
@
,. Figura 2.28 muestra ta combinacin de las tabtas VENTAS y ARCUIOS stas en el Caso prctico 19. La combina-
-
cin de ambas tablas da tugar a una nueva tabla en la que las fitas de cada venta contienen los datos del articulo
correspondiente. E[ criterio de combinacin es la iguatdad en e[ cdigo de artculo de ambas tablas. Los cdigos de
artculo estn representados por las columnas CODI y COICO.
i---r.ql
i
5200
l
i
5100
__-l
figura 2.28. Combinacn de las tablas WMAS y ARTflCIIL1S.
-^-
Q
n partir de tas tabtas EMPLEADOS (No.Empte, Apettido, Salario, Comisin,
No.Depa, Jefe) y DEPARTAMENT0S(No.Departamento, NombreDeparta-
mento, Locatidad) inventa un contenido para sus fitas y columnas y
representa [a operacin de Combinacin. 0btn despus una expresin
donde se obtengan s[o las columnas: No.Emple, Apellido, Salario y Nom-
breDepartamento.
Conceptos bsicos
La Figura 2.29 muestra un esquema bsico de la estructura del modeto retacional.
ESTRUCTURA DEL MODELO REI.ACIONAL
Propuesto por Cood en el ao 197(),
Elsmento bsico: Relacin
Tupla Fila
Atrjbuto Columna
Grado No de columnes
Cardlnalldad No de fllss
FlaB o
tuplas
Figura 2.29. Estructura del l,Iodelo relaconal.
En [a Figura 2.30 se muestra un esquema bsico de las operaciones bsicas sobre tabtas basadas en e[ lgebra retacionat.
ALGEBRA REI.ACIONAL
Relacin I - Rl
r-j)
[Relacin 2
- R2]
OPERAOORES
Seleccn o.ooa"a6^ (R)
Proyeccin nt1,rr,u,
..
(R)
unin Rlr.;R2
Dil-ercncla RJ-
-
R2
Producto Certeslano RUIR2
lnterseccln RL n R2
Dlvlsln RllR2
Combinacin R1*R2oo-atoro.l
Figun 2.30. ?peraciones bdscas en algebra relacional.
I
Actividades
comPlementarias
O
S. desea informatizar [a gestin de los proyectos del
-
departamento de qumica de una universidad siguiendo
las siguientes esPecifi caciones:
- Al, departamento llegan una serie de ctientes que
quieren realizar proyectos. Generalmente los clientes
son empresas que realizan contratos con e[ grupo de
investigacin del departamento. Un cliente puede
realizar varios proYectos.
-
Un proyecto es de un cliente. Cada proyecto tiene
asignada una cuanta de dinero que se utitizar para
pagar los gastos del proyecto' De esta cuanta se
saca e[ dinero para realizar los pagos a los colabora-
dores. Tambin nos interesa saber de los proyectos
e[ nombre, [a fecha de comienzo, [a de fin, entre
otros.
-
De cada proyecto se reatizan muchos pagos para
pagar a los colaboradores.
-
De los pagos nos interesa saber e[ concepto, [a canti-
dad, et IVA aplicado y [a fecha del pago'
-
Existen varios tipos de pagos (por ejemp[0, Nmina,
Representacin, Materiat, etctera). Un pago es de un
tipo de pago, y a un tipo de pago pueden pertenecer
mucn0s pag0s.
- Existen una serie de cotaboradores
que son perso-
nas o entidades
que van a recibir e[ dinero de los
pagos en concepto de una tarea reatizada o [a com-
pra de materiat. Un pago sto puede ser para un
colaborador. ste a su vez puede recibir muchos
pag0s.
-
De los colaboradores nos interesa saber: Nombre, NIF,
Domici[io, Tetfono, Retencin, Banco, N0. Cuenta.
Realiza e[ diagrama E-R que cump[a [as especificaciones
y psato a[ modelo de datos retacional'
Q
oaUa ta tabta 2.22,lransiormarla a 3FN.
@i MEI IF,Tffii ffi
Tabla2.22. Tabla ejercicio 2.
Q
n partir de las siguientes tablas:
AGENDA (Nombre, Edad, CdigoProvincia, Telef)
PROVINCIAS (Cdigo, NombreProv)
- Escribe [a cotumna o conjunto de cotumnas
que pue-
den ser ctaves primarias
Y
ajenas'
-
Escribe un enunciado
para [as siguientes expresiones:
a) o,.,rr(AGENDA)
b) IfHo',"
Ed"d(AGENDA)
c) (AGENDA.PR0VINCIAS)
codjsoproncia-codiso
d) llro',"
codisoProvincia, Teter, o'*ou
( (AG EN DA* PR0VIN -
CIAS)codisoP,on.ia
- coiso)
) [Nomure,coisoProvincia,Tetef,Nomb,.p,ou(Od.d'z
((AG EN DA-
PRoVINCIAS)codigoprovincia
= codiqo) )
@
A partir de las siguientes tabtas:
ALU M N0S( DNI, Nom bre, Di reccin, Tetef, Curso)
ASIGNATU RAS(Cdigoasig, Nombreasig)
NOTAS(DNINo, Cdigoasignatura, Nota)
a) Define las claves primarias y ajenas.
b) 0btn expresiones retacionales para:
- los atumnos de primer curso (Curso=l).
- los atumnos de primer curso, sto las columnas
DNI y Nombre.
- e[ Nombre de los atumnos, e[ Cdigo de asignatura
y [a Nota de los alumnos de primer curso.
- Los DNI de los atumnos cuyo nombre de asignatura
es INFORMTICA.