SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
1
Semestre 5
Fascículo
2
Bases de Datos
Bases de datos Semestre 5
Bases de datos
Bases de datos
Semestre 5
Tabla de contenido Página
Introducción 1
Conceptos previos 1
Mapa conceptual Fascículo 2 2
Logros 2
Modelaje Conceptual de los Datos 2
Modelos de Bases de Datos 3
Evolución de los modelos de datos 3
Lenguajes 6
Administración de Bases de Datos 6
Estructura de los Datos 7
Visión informal de una relación 7
Visión formal de una relación 8
Diferencias entre relaciones y archivos 9
Clave candidata, clave primaria y clave alternativa de las
relaciones 10
Claves foráneas de las relaciones 11
Creación de las relaciones de una base de datos 13
Operaciones del modelo relacional 13
Reglas de integridad 15
Regla de integridad de unicidad de la clave primaria 16
Regla de integridad de entidad de la clave primaria 16
Regla de integridad referencial 16
Regla de integridad de dominio 17
El álgebra relacional 18
Operaciones conjuntistas 19
Operaciones específicamente relacionales 22
Resumen 28
Bibliografía recomendada 29
Nexo 30
Seguimiento al autoaprendizaje 31
Créditos: 3
Tipo de asignatura: Teórico – Práctica
Bases de datos Semestre 5
Bases de datos
Copyright©2008 FUNDICIÓN UNIVERSITARIA SAN MARTÍN
Facultad de Universidad Abierta y a Distancia,
“Educación a Través de Escenarios Múltiples”
Bogotá, D.C.
Prohibida la reproducción total o parcial sin autorización
por escrito del Presidente de la Fundación.
La redacción de este fascículo estuvo a cargo de
JOHN FREDY ROJAS
Docente tutor – Programa de Ingeniería de Sistemas a Distancia.
Sede Bogotá, D.C.
Corrección de estilo
ADRIANA RODRÍGUEZ V.
Diseño gráfico y diagramación a cargo de
SANTIAGO BECERRA SÁENZ
ORLANDO DÍAZ CÁRDENAS
Impreso en: GRÁFICAS SAN MARTÍN
Calle 61A No. 14-18 - Tels.: 2350298 - 2359825
Bogotá, D.C., Noviembre de 2011
1
Fascículo No. 2
Semestre 5
Bases de datos
Bases de datos
Introducción
En este fascículo se dedicara al estudio del modelo de datos relacional y
del álgebra relacional.
SE profundizara en un modelo de datos concreto: el modelo relacional,
que actualmente tiene una gran relevancia. Sus conceptos fundamentales
están bien asentados y, además, los sistemas de gestión de bases de da-
tos relacionales son los más extendidos en su utilización práctica. Por es-
tos motivos pensamos que es importante conocerlo.
Se analizan también las operaciones del álgebra relacional, que sirven para
hacer consultas a una base de datos. Es preciso conocer estas operacio-
nes porque nos permiten saber qué servicios de consulta debe proporcio-
nar un lenguaje relacional. Otra aportación del álgebra relacional es que
facilita la comprensión de algunas de las construcciones del lenguaje SQL
que se estudiarán en fascículos posteriores. Además, constituye la base
para el estudio del tratamiento de las consultas que efectúan los DBMS
internamente (especialmente en lo que respecta a la optimización de con-
sultas).
Conceptos previos
Para una correcta comprensión de este fascículo el estudiante debe tener
claros los conceptos básicos de bases de datos y d elos sistemas maneja-
dores de bases de datos vistos en el fascículo anterior, de igual forma es
importante que tenga claro el concepto de teoría de conjuntos para asimi-
lar con mayor facilidad los conceptos asociados al algebra relacional.
2
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
El modelo de Base de Datos
es el conjunto de herramien-
tas conceptuales (piezas)
que se utilizan para construir
el modelo de la realidad.
Mapa conceptual fascículo 2
Al finalizar el estudio del presente fascículo, el estudiante estará en capacidad
de:
 Conocer los fundamentos del modelo de datos relacional.
 Saber distinguir las características que debe tener un sistema de gestión de
bases de datos relacional para que sea coherente con los fundamentos del
modelo relacional.
 Comprender las ventajas del modelo relacional que derivan del alto grado de
independencia de los datos que proporciona, y de la simplicidad y la unifor-
midad del modelo.
 Conocer las operaciones del álgebra relacional.
 Saber utilizar las operaciones del álgebra relacional para consultar una base
de datos.
Modelaje Conceptual de los Datos
Una Base de Datos es una representación de la realidad (de la parte de la
realidad que nos interesa en nuestro Sistema de Información). Dicho de
otro modo, una Base de Datos se puede considerar un modelo de la reali-
dad. El componente fundamental utilizado para modelar en un DBMS rela-
cional son las tablas (denominadas relaciones en el mundo teórico).
Sin embargo, en otros tipos de DBMS se utilizan otros componentes.
LogrosLogrosLogros
3
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Modelos de Bases de Datos
El conjunto de componentes o herramientas conceptuales que un DBMS
proporciona para modelar recibe el nombre de modelo de BD.
Los cuatro modelos de Bases de Datos más utilizados en los Sistemas de
Información son el modelo relacional, el modelo jerárquico, el modelo en
red y el modelo relacional con objetos.
Todo modelo de Base de Datos nos proporciona tres tipos de herramien-
tas:
a) Estructuras de datos con las que se puede construir las Bases de Datos:
tablas, árboles, etc.
b) Diferentes tipos de restricciones (o reglas) de integridad que el DBMS
tendrá que hacer cumplir a los datos: dominios, claves, etc.
c) Una serie de operaciones para trabajar con los datos. Un ejemplo de
ello, en el modelo relacional, es la operación SELECT, que sirve para se-
leccionar (o leer) las filas que cumplen alguna condición. Un ejemplo de
operación típica del modelo jerárquico y del modelo en red podría ser la
que nos dice si un determinado registro tiene “hijos” o no.
Evolución de los modelos de datos
De los cuatro modelos de Bases de Datos que hemos citado, el que apa-
reció primero, a principios de los años sesenta, fue el modelo jerárquico.
Sus estructuras son registros interrelacionados en forma de árboles. El
DBMS clásico de este modelo es el IMS/DL1 de IBM.
A principios de los setenta surgieron DBMS basados en un modelo en red.
Como en el modelo jerárquico, hay registros e interrelaciones, pero un re-
gistro ya no está limitado a ser “hijo” de un solo registro tipo. El comité
CODASYLDBTG propuso un estándar basado en este modelo, que fue
4
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
adoptado por muchos constructores de DBMS1. Sin embargo, encontró la
oposición de IBM, la empresa entonces dominante. La propuesta de CO-
DASYL-DBTG ya definía tres niveles de esquemas.
Durante los años ochenta apareció una gran cantidad de DBMS basados
en el modelo relacional propuesto en 1969 por E.F. Codd, de IBM, y
prácticamente todos utilizaban como lenguaje nativo el SQL2
. El modelo
relacional se basa en el concepto matemático de relación, que aquí pode-
mos considerar de momento equivalente al término tabla (formada por filas
y columnas). La mayor parte de los Sistemas de Información que actual-
mente están en funcionamiento utilizan DBMS relacionales, pero algunos
siguen utilizando los jerárquicos o en red (especialmente en Sistemas de
Información antiguos muy grandes).
Así como en los modelos prerrelacionales (jerárquico y en red), las estruc-
turas de datos constan de dos elementos básicos (los registros y las inter-
relaciones), en el modelo relacional constan de un solo elemento: la tabla,
formada por filas y columnas. Las interrelaciones se deben modelizar utili-
zando las tablas.
Otra diferencia importante entre los modelos prerrelacionales y el modelo
relacional es que el modelo relacional se limita al nivel lógico (no hace ab-
solutamente ninguna consideración sobre las representaciones físicas). Es
decir, nos da una independencia física de datos total. Esto es así si habla-
mos del modelo teórico, pero los DBMS del mercado nos proporcionan
una independencia limitada.
Estos últimos años se está extendiendo el modelo de Base de Datos rela-
cional con objetos.
1
Por ejemplo, IDS de Bull, DMS de Univac y DBMS de Digital.
2
Por ejemplo, Oracle, DB2 de IBM, Informix, Ingres, Allbase de HP y SQL-Server de Sybase
5
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Se trata de ampliar el modelo relacional, añadiéndole la posibilidad de que
los tipos de datos sean tipos abstractos de datos, TAD. Esto acerca los
sistemas relacionales al paradigma de la OO. Los primeros DBMS relacio-
nales que dieron esta posibilidad fueron Oracle (versión 8), Informix (ver-
sión 9) e IBM/DB2/UDB.
Modelos Bases de Datos
Los más conocidos de estos tipos de modelos son los modelos semánti-
cos y los funcionales. Éstos nos proporcionan herramientas muy potentes
para describir las estructuras de la información del mundo real, la semánti-
ca y las interrelaciones, pero normalmente no disponen de operaciones
para tratarlas. Se limitan a ser herramientas de descripción lógica. Son
muy utilizados en la etapa del diseño de Bases de Datos y en herramientas
CASE. El más extendido de estos modelos es el conocido como modelo
ER (entity-relationship), que estudiaremos más adelante.
Actualmente, la práctica más extendida en el mundo profesional de los
desarrolladores de SI es la utilización del modelo ER durante el análisis y
las primeras etapas del diseño de los datos, y la utilización del modelo re-
lacional para acabar el diseño y construir la Base de Datos con un DBMS.
6
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Lenguajes
Para comunicarse con el SGBD, el usuario, ya sea un programa de aplica-
ción o un usuario directo, se vale de un lenguaje. Hay muchos lenguajes
diferentes, según el tipo de usuarios para los que están pensados y el tipo
de cosas que los usuarios deben poder expresar con ellos:
a) Habrá usuarios informáticos muy expertos que querrán escribir proce-
sos complejos y que necesitarán lenguajes complejos.
b) Sin embargo, habrá usuarios finales no informáticos, ocasionales (es-
porádicos), que sólo harán consultas. Estos usuarios necesitarán un
lenguaje muy sencillo, aunque dé un rendimiento bajo en tiempo de
respuesta.
c) También podrá haber usuarios finales no informáticos, dedicados o es-
pecializados. Son usuarios cotidianos o, incluso, dedicados exclusiva-
mente a trabajar con la Base de Datos. Estos usuarios necesitarán len-
guajes muy eficientes y compactos, aunque no sea fácil aprenderlos. Tal
vez serán lenguajes especializados en tipos concretos de tareas.
Administración de Bases de Datos
Hay un tipo de usuario especial: el que realiza tareas de administración y
control de la Base de Datos. Una empresa o institución que tenga Sistemas
de Información construidos en torno a Bases de Datos necesita que al-
guien lleve a cabo una serie de funciones centralizadas de gestión y admi-
nistración, para asegurar que la explotación de la Base de Datos es la co-
rrecta. Este conjunto de funciones se conoce con el nombre de adminis-
tración de Base de Datos, y los usuarios que hacen este tipo especial de
trabajo se denominan administradores de Bases de Datos (DBA).
7
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
La estructura de los datos
del modelo relacional se
basa, en el concepto de
relación.
Estructura de los Datos
El modelo relacional proporciona una estructura de los datos que consiste
en un conjunto de relaciones con objeto de representar la información que
nos interesa del mundo real.
Visión informal de una relación
Se puede obtener una buena idea intuitiva de lo que es una relación si la
visualizamos como una tabla o un archivo. En la figura a continuación se
muestra la visualización tabular de una relación que contiene datos de em-
pleados.
Relación Empleados
Cada fila de la tabla contiene una colección de valores de datos relaciona-
dos entre sí; en nuestro ejemplo, son los datos correspondientes a un
mismo empleado. La tabla tiene un nombre (EMPLEADOS) y también tiene
un nombre cada una de sus columnas (DNI, nombre, apellido y sueldo). El
nombre de la tabla y los de las columnas ayudan a entender el significado
de los valores que contiene la tabla.
8
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Un relación se compone del
esquema (o intensión de la
relación) y de la extensión.
La estructura de los datos del modelo relacional se basa, pues, en el
concepto de relación.
Si definimos las relaciones de forma más precisa, nos daremos cuenta de
que presentan algunas características importantes que, en la visión super-
ficial que hemos presentado, quedan ocultas. Estas características son las
que motivan que el concepto de relación sea totalmente diferente del de
fichero, a pesar de que, a primera vista, relaciones y archivos puedan pa-
recer similares.
Visión formal de una relación
Un dominio D es un conjunto de valores atómicos. Por lo que respecta al
modelo relacional, atómico significa indivisible; es decir, que por muy
complejo o largo que sea un valor atómico, no tiene una estructuración
interna para un DBMS relacional.
Los dominios pueden ser de dos tipos:
Dominios predefinidos, que corresponde a los tipos de datos que nor-
malmente proporcionan los lenguajes de bases de datos, como por ejem-
plo los enteros, las cadenas de caracteres, los reales, etc.
Dominios definidos por el usuario, que pueden ser más específicos. To-
da definición de un dominio debe constar, como mínimo, del nombre del
dominio y de la descripción de los valores que forman parte de éste.
Si consideramos la representación tabular de la figura, el esquema corres-
pondería a la cabecera de la tabla y la extensión correspondería al cuerpo:
Esquema y Extensión
9
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
El grado de una relación es
el número de atributos que
pertenecen a su esquema.
La cardinalidad de una rela-
ción es el número de tuplas
que pertenecen a su exten-
sión.
El esquema de la relación consiste en un nombre de relación R y un con-
junto de atributos {A1, A2, ..., An}.
Conviene observar que cada atributo es único en un esquema de relación,
porque no tiene sentido que un mismo dominio ejerza dos veces el mismo
papel en un mismo esquema.
Por consiguiente, no puede ocurrir que en un esquema de relación haya
dos atributos con el mismo nombre. En cambio, sí que se puede repetir un
nombre de atributo en relaciones diferentes.
Diferencias entre relaciones y archivos
A primera vista, relaciones y ficheros resultan similares. Los registros y los
campos que forman los ficheros se parecen a las tuplas y a los atributos de
las relaciones, respectivamente.
A pesar de esta similitud superficial, la visión formal de relación que hemos
presentado establece algunas características de las relaciones que las
hacen diferentes de los archivos clásicos.
Atomicidad de los valores de los atributos: los valores de los atributos
de una relación deben ser atómicos; es decir, no deben tener estructura
interna.
Esta característica proviene del hecho de que los atributos siempre deben
tomar un valor de su dominio o bien un valor nulo, y de que se ha estable-
cido que los valores de los dominios deben ser atómicos en el modelo re-
lacional.
El objetivo de la atomicidad de los valores es dar simplicidad y uniformidad
al modelo relacional.
10
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
No-repetición de las tuplas: en un archivo clásico puede ocurrir que dos
de los registros sean exactamente iguales; es decir, que contengan los
mismos datos.
En el caso del modelo relacional, en cambio, no es posible que una rela-
ción contenga tuplas repetidas. Esta característica se deduce de la misma
definición de la extensión de una relación. La extensión es un conjunto de
tuplas y, en un conjunto, no puede haber elementos repetidos.
No-ordenación de las tuplas: de la definición de la extensión de una rela-
ción como un conjunto de tuplas se deduce también que estas tuplas no
estarán ordenadas, teniendo en cuenta que no es posible que haya una
ordenación entre los elementos de un conjunto.
La finalidad de esta característica es conseguir que, mediante el modelo
relacional, se puedan representar los hechos en un nivel abstracto que sea
independiente de su estructura física de implementación.
No-ordenación de los atributos: el esquema de una relación consta de
un nombre de relación R y un conjunto de atributos {A1, A2, ..., An}. Así
pues, no hay un orden entre los atributos de un esquema de relación, te-
niendo en cuenta que estos atributos forman un conjunto.
Clave candidata, clave primaria y clave alternativa de las relaciones
Toda la información que contiene una base de datos debe poderse identi-
ficar de alguna forma. En el caso particular de las bases de datos que si-
guen el modelo relacional, para identificar los datos que la base de datos
contiene, se pueden utilizar las claves candidatas de las relaciones.
Una superclave de una relación de esquema R(A1, A2, ..., An) es un sub-
conjunto de los atributos del esquema tal que no puede haber dos tuplas
en la extensión de la relación que tengan la misma combinación de valores
11
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Si una relación sólo tiene una
clave candidata, entonces
esta clave candidata debe ser
también su clave primaria.
para los atributos del subconjunto. Una superclave, por lo tanto, nos permi-
te identificar todas las tuplas que contiene la relación.
Una clave candidata de una relación es una superclave C de la relación
que cumple que ningún subconjunto propio de C es superclave.
Es decir, C cumple que la eliminación de cualquiera de sus atributos da un
conjunto de atributos que no es superclave de la relación. Intuitivamente,
una clave candidata permite identificar cualquier tupla de una relación, de
manera que no sobre ningún atributo para hacer la identificación.
Habitualmente, una de las claves candidatas de una relación se designa
clave primaria de la relación. La clave primaria es la clave candidata cuyos
valores se utilizarán para identificar las tuplas de la relación.
El diseñador de la base de datos es quien elige la clave primaria de entre
las claves candidatas.
Claves foráneas de las relaciones
Hasta ahora hemos estudiado las relaciones de forma individual, pero de-
bemos tener en cuenta que una base de datos relacional normalmente
contiene más de una relación, para poder representar distintos tipos de
hechos que suceden en el mundo real. Por ejemplo, podríamos tener una
pequeña base de datos que contuviese dos relaciones: una denominada
EMPLEADOS, que almacenaría datos de los empleados de una empresa, y
otra con el nombre DESPACHOS, que almacenaría los datos de los des-
pachos que tiene la empresa.
Debemos considerar también que entre los distintos hechos que se dan en
el mundo real pueden existir lazos o vínculos. Por ejemplo, los empleados
que trabajan para una empresa pueden estar vinculados con los despa-
12
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
chos de la empresa, porque a cada empleado se le asigna un despacho
concreto para trabajar.
En el modelo relacional, para reflejar este tipo de vínculos, tenemos la po-
sibilidad de expresar conexiones entre las distintas tuplas de las relacio-
nes. Por ejemplo, en la base de datos anterior, que tiene las relaciones
EMPLEADOS y DESPACHOS, puede ser necesario conectar tuplas de
EMPLEADOS con tuplas de DESPACHOS para indicar qué despacho tiene
asignado cada empleado.
En ocasiones, incluso puede ser necesario reflejar lazos entre tuplas que
pertenecen a una misma relación. Por ejemplo, en la misma base de datos
anterior puede ser necesario conectar determinadas tuplas de EMPLEA-
DOS con otras tuplas de EMPLEADOS para indicar, para cada empleado,
quién actúa como su jefe.
El mecanismo que proporcionan las bases de datos relacionales para co-
nectar tuplas son las claves foráneas de las relaciones. Las claves foráneas
permiten establecer conexiones entre las tuplas de las relaciones. Para
hacer la conexión, una clave foránea tiene el conjunto de atributos de una
relación que referencian la clave primaria de otra relación (o incluso de la
misma relación).
Claves foraneas
13
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Las claves foráneas tienen por objetivo establecer una conexión con la cla-
ve primaria que referencian. Por lo tanto, los valores de una clave foránea
deben estar presentes en la clave primaria correspondiente, o bien deben
ser valores nulos. En caso contrario, la clave foránea representaría una re-
ferencia o conexión incorrecta.
De forma más precisa podemos decir que:
Una clave foránea de una relación R es un subconjunto de atributos del
esquema de la relación, que denominamos CF y que cumple las siguientes
condiciones:
1) Existe una relación S (S no debe ser necesariamente diferente de R) que
tiene por clave primaria CP.
2) Se cumple que, para toda tupla t de la extensión de R, los valores para
CF de t son valores nulos o bien valores que coinciden con los valores
para CP de alguna tupla s de S.
Y entonces, se dice que la clave foránea CF referencia la clave primaria CP
de la relación S, y también que la clave foránea CF referencia la relación S.
Creación de las relaciones de una base de datos
Hemos visto que una base de datos relacional consta de varias relaciones.
Cada relación tiene varios atributos que toman valores de unos ciertos
dominios; también tiene una clave primaria y puede tener una o más claves
foráneas. Los lenguajes de los DBMS relacionales deben proporcionar la
forma de definir todos estos elementos para crear una base de datos.
Operaciones del modelo relacional
Las operaciones del modelo relacional deben permitir manipular datos al-
macenados en una base de datos relacional y, por lo tanto, estructurados
en forma de relaciones. La manipulación de datos incluye básicamente dos
aspectos: la actualización y la consulta.
14
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
La actualización de los datos consiste en hacer que los cambios que se
producen en la realidad queden reflejados en las relaciones de la base de
datos.
Existen tres operaciones básicas de actualización:
Inserción, que sirve para añadir una o más tuplas a una relación.
Borrado, que sirve para eliminar una o más tuplas de una relación.
Modificación, que sirve para alterar los valores que tienen una o más tu-
plas de una relación para uno o más de sus atributos.
La consulta de los datos consiste en la obtención de datos deducibles a
partir de las relaciones que contiene la base de datos.
La obtención de los datos que responden a una consulta puede requerir el
análisis y la extracción de datos de una o más de las relaciones que man-
tiene la base de datos.
Según la forma como se especifican las consultas, podemos clasificar los
lenguajes relacionales en dos tipos:
Lenguajes basados en el álgebra relacional. El álgebra relacional se ins-
pira en la teoría de conjuntos. Si queremos especificar una consulta, es
necesario seguir uno o más pasos que sirven para ir construyendo, me-
diante operaciones del álgebra relacional, una nueva relación que conten-
ga los datos que responden a la consulta a partir de las relaciones alma-
cenadas. Los lenguajes basados en el álgebra relacional son lenguajes
procedimentales, ya que los pasos que forman la consulta describen un
procedimiento.
Lenguajes basados en el cálculo relacional. El cálculo relacional tiene su
fundamento teórico en el cálculo de predicados de la lógica matemática.
Proporciona una notación que permite formular la definición de la relación
15
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Denominamos integridad la
propiedad de los datos de
corresponder a representa-
ciones plausibles del mundo
real.
donde están los datos que responden la consulta en términos de las rela-
ciones almacenadas. Esta definición no describe un procedimiento; por lo
tanto, se dice que los lenguajes basados en el cálculo relacional son len-
guajes declarativos (no procedimentales).
El lenguaje SQL, en las sentencias de consulta, combina construcciones
del álgebra relacional y del cálculo relacional con un predominio de las
construcciones del cálculo. Este predominio determina que SQL sea un
lenguaje declarativo.
Reglas de integridad
Una base de datos contiene unos datos que, en cada momento, deben
reflejar la realidad o, más concretamente, la situación de una porción del
mundo real.
En el caso de las bases de datos relacionales, esto significa que la exten-
sión de las relaciones (es decir, las tuplas que contienen las relaciones)
deben tener valores que reflejen la realidad correctamente.
Suele ser bastante frecuente que determinadas configuraciones de valores
para las tuplas de las relaciones no tengan sentido, porque no representan
ninguna situación posible del mundo real.
En general, las condiciones que garantizan la integridad de los datos pue-
den ser de dos tipos:
Las restricciones de integridad de usuario son condiciones específicas
de una base de datos concreta; es decir, son las que se deben cumplir en
una base de datos particular con unos usuarios concretos, pero que no
son necesariamente relevantes en otra base de datos.
16
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Las reglas de integridad de modelo, en cambio, son condiciones más
generales, propias de un modelo de datos, y se deben cumplir en toda
base de datos que siga dicho modelo.
Los DBMS deben proporcionar la forma de definir las restricciones de inte-
gridad de usuario de una base de datos; una vez definidas, deben velar
por su cumplimiento.
Regla de integridad de unicidad de la clave primaria
La regla de integridad de unicidad está relacionada con la definición de
clave primaria. Concretamente, establece que toda clave primaria que se
elija para una relación no debe tener valores repetidos.
Un DBMS relacional deberá garantizar el cumplimiento de esta regla de
integridad en todas las inserciones, así como en todas las modificaciones
que afecten a atributos que pertenecen a la clave primaria de la relación.
Regla de integridad de entidad de la clave primaria
La regla de integridad de entidad de la clave primaria dispone que los atri-
butos de la clave primaria de una relación no pueda tener valores nulos.
Esta regla es necesaria para que los valores de las claves primarias pue-
dan identificar las tuplas individuales de las relaciones. Si las claves prima-
rias tuviesen valores nulos, es posible que algunas tuplas no se pudieran
distinguir.
Un DBMS relacional tendrá que garantizar el cumplimiento de esta regla de
integridad en todas las inserciones y, también, en todas las modificaciones
que afecten a atributos que pertenecen a la clave primaria de la relación.
Regla de integridad referencial
La regla de integridad referencial está relacionada con el concepto de cla-
ve foránea.
17
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Concretamente, determina que todos los valores que toma una clave forá-
nea deben ser valores nulos o valores que existen en la clave primaria que
referencia.
La necesidad de la regla de integridad relacional proviene del hecho de
que las claves foráneas tienen por objetivo establecer una conexión con la
clave primaria que referencian. Si un valor de una clave foránea no estuvie-
se presente en la clave primaria correspondiente, representaría una refe-
rencia o una conexión incorrecta.
Un DBMS relacional tendrá que hacer cumplir esta regla de integridad. De-
berá efectuar comprobaciones cuando se produzcan las siguientes opera-
ciones:
 Inserciones en una relación que tenga una clave foránea.
 Modificaciones que afecten a atributos que pertenecen a la clave forá-
nea de una relación.
 Borrados en relaciones referenciadas por otras relaciones.
 Modificaciones que afecten a atributos que pertenecen a la clave prima-
ria de una relación referenciada por otra relación.
Una forma habitual de mantener estas reglas consiste en rechazar toda
operación de actualización que deje la base de datos en un estado en el
que alguna regla no se cumpla.
Regla de integridad de dominio
La regla de integridad de dominio está relacionada, como su nombre indi-
ca, con la noción de dominio. Esta regla establece dos condiciones.
La primera condición consiste en que un valor no nulo de un atributo Ai
debe pertenecer al dominio del atributo Ai; es decir, debe pertenecer a
dominio(Ai).
18
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Esta condición implica que todos los valores no nulos que contiene la base
de datos para un determinado atributo deben ser del dominio declarado
para dicho atributo.
La segunda condición de la regla de integridad de dominio es más com-
pleja, especialmente en el caso de dominios definidos por el usuario; los
DBMS actuales no la soportan para estos últimos dominios. Por estos mo-
tivos sólo la presentaremos superficialmente.
Esta segunda condición sirve para establecer que los operadores que
pueden aplicarse sobre los valores dependen de los dominios de estos
valores; es decir, un operador determinado sólo se puede aplicar sobre
valores que tengan dominios que le sean adecuados.
El álgebra relacional
El álgebra relacional se inspira en la teoría de conjuntos para especificar
consultas en una base de datos relacional.
Para especificar una consulta en álgebra relacional, es preciso definir uno
o más pasos que sirven para ir construyendo, mediante operaciones de
álgebra relacional, una nueva relación que contenga los datos que res-
ponden a la consulta a partir de las relaciones almacenadas. Los lenguajes
basados en el álgebra relacional son procedimentales, dado que los pasos
que forman la consulta describen un procedimiento.
Una característica destacable de todas las operaciones del álgebra rela-
cional es que tanto los operandos como el resultado son relaciones. Esta
propiedad se denomina cierre relacional.
Las operaciones del álgebra relacional han sido clasificadas según distin-
tos criterios; de todos ellos indicamos los tres siguientes:
19
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
1) Según se pueden expresar o no en términos de otras operaciones.
a) Operaciones primitivas: son aquellas operaciones a partir de las cua-
les podemos definir el resto. Estas operaciones son la unión, la dife-
rencia, el producto cartesiano, la selección y la proyección.
b) Operaciones no primitivas: el resto de las operaciones del álgebra re-
lacional que no son estrictamente necesarias, porque se pueden ex-
presar en términos de las primitivas; sin embargo, las operaciones no
primitivas permiten formular algunas consultas de forma más cómo-
da. Existen distintas versiones del álgebra relacional, según las ope-
raciones no primitivas que se incluyen. Nosotros estudiaremos las
operaciones no primitivas que se utilizan con mayor frecuencia: la in-
tersección y la combinación.
2) Según el número de relaciones que tienen como operandos:
a) Operaciones binarias: son las que tienen dos relaciones como ope-
randos. Son binarias todas las operaciones, excepto la selección y la
proyección.
b) Operaciones unarias: son las que tienen una sola relación como ope-
rando. La selección y la proyección son unarias.
3) Según se parecen o no a las operaciones de la teoría de conjuntos:
a) Operaciones conjuntistas: son las que se parecen a las de la teoría
de conjuntos. Se trata de la unión, la intersección, la diferencia y el
producto cartesiano.
b) Operaciones específicamente relacionales: son el resto de las opera-
ciones; es decir, la selección, la proyección y la combinación.
Operaciones conjuntistas
Las operaciones conjuntistas del álgebra relacional son la unión, la inter-
sección, la diferencia y el producto cartesiano.
20
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
La unión es una operación que, a partir de dos relaciones, obtiene una
nueva relación formada por todas las tuplas que están en alguna de las
relaciones de partida.
La unión es una operación binaria, y la unión de dos relaciones T y S se
indica T ∪ S.
Sólo tiene sentido aplicar la unión a relaciones que tengan tuplas similares.
La extensión de la relación resultante de T ∪ S es el conjunto de tuplas que
pertenecen a la extensión de T, a la extensión de S o a la extensión de am-
bas relaciones.
La intersección es una operación que, a partir de dos relaciones, obtiene
una nueva relación formada por las tuplas que pertenecen a las dos rela-
ciones de partida.
La intersección es una operación binaria; la intersección de dos relaciones
T y S se indica T ∩ S.
La intersección, como la unión, sólo se puede aplicar a relaciones que ten-
gan tuplas similares. Para poder hacer la intersección de dos relaciones,
es preciso, pues, que las relaciones sean compatibles.
Los atributos del esquema de la relación resultante de T ∩ S coinciden con
los atributos del esquema de la relación T.
La extensión de la relación resultante de T ∩ S es el conjunto de tuplas que
pertenecen a la extensión de ambas relaciones.
La diferencia es una operación que, a partir de dos relaciones, obtiene
una nueva relación formada por todas las tuplas que están en la primera
relación y, en cambio, no están en la segunda. La diferencia es una opera-
21
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
En el producto cartesiano
que T y S no tienen ningún
nombre de atributo común.
ción binaria, y la diferencia entre las relaciones T y S se indica como T – S.
La diferencia, como ocurría en la unión y la intersección, sólo tiene sentido
si se aplica a relaciones que tengan tuplas similares. Para poder realizar la
diferencia de dos relaciones es necesario que las relaciones sean compa-
tibles.
Los atributos del esquema de la relación resultante de T – S coinciden con
los atributos del esquema de la relación T.
La extensión de la relación resultante de T – S es el conjunto de tuplas que
pertenecen a la extensión de T, pero no a la de S.
El producto cartesiano es una operación que, a partir de dos relaciones,
obtiene una nueva relación formada por todas las tuplas que resultan de
concatenar tuplas de la primera relación con tuplas de la segunda.
El producto cartesiano es una operación binaria. Siendo T y S dos relacio-
nes que cumplen que sus esquemas no tienen ningún nombre de atributo
común, el producto cartesiano de T y S se indica como T × S.
Si se quiere calcular el producto cartesiano de dos relaciones que tienen
algún nombre de atributo común, sólo hace falta redenominar previamente
los atributos adecuados de una de las dos relaciones.
Los atributos del esquema de la relación resultante de T × S son todos los
atributos de T y todos los atributos de S.
El producto cartesiano es una operación que raramente se utiliza de forma
explícita, porque el resultado que da no suele ser útil para resolver las con-
sultas habituales.
22
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Operaciones específicamente relacionales
Las operaciones específicamente relacionales son la selección, la proyec-
ción y la combinación.
La selección: Podemos ver la selección como una operación que sirve
para elegir algunas tuplas de una relación y eliminar el resto. Más concre-
tamente, la selección es una operación que, a partir de una relación, obtie-
ne una nueva relación formada por todas las tuplas de la relación de parti-
da que cumplen una condición de selección especificada.
La selección es una operación unaria. Siendo C una condición de selec-
ción, la selección de T con la condición C se indica como T(C).
Los atributos del esquema de la relación resultante de T(C) coinciden con
los atributos del esquema de la relación T.
La extensión de la relación resultante de T(C) es el conjunto de tuplas que
pertenecen a la extensión de T y que satisfacen la condición de selección
C. Una tupla t satisface una condición de selección C si, después de susti-
tuir cada atributo que hay en C por su valor en t, la condición C se evalúa
en el valor cierto.
Proyección: Podemos considerar la proyección como una operación que
sirve para elegir algunos atributos de una relación y eliminar el resto. Más
concretamente, la proyección es una operación que, a partir de una rela-
ción, obtiene una nueva relación formada por todas las (sub)tuplas de la
relación de partida que resultan de eliminar unos atributos especificados.
Combinación: La combinación es una operación que, a partir de dos rela-
ciones, obtiene una nueva relación formada por todas las tuplas que resul-
tan de concadenar tuplas de la primera relación con tuplas de la segunda,
y que cumplen una condición de combinación especificada.
23
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
La combinación es una operación binaria. Siendo T y S dos relaciones cu-
yos esquemas no tienen ningún nombre de atributo común, y siendo B
una condición de combinación, la combinación de T y S según la condi-
ción B se indica T[B]S.
Si se quiere combinar dos relaciones que tienen algún nombre de atributo
común, sólo hace falta redenominar previamente los atributos repetidos de
una de las dos.
Los atributos del esquema de la relación resultante de T[B]S son todos los
atributos de T y todos los atributos de S.
La combinación natural de dos relaciones T y S se denota como T * S y
consiste básicamente en una equicombinación seguida de la eliminación
de los atributos superfluos; además, se considera por defecto que la con-
dición de combinación iguala todas las parejas de atributos que tienen el
mismo nombre en T y en S.
A continuación presentaremos un ejemplo que utilizaremos para ilustrar las
operaciones del álgebra relacional.
Supongamos que tenemos una base de datos relacional con las cuatro
relaciones siguientes:
1) La relación EDIFICIOS_EMP, que contiene datos de distintos edificios de
los que una empresa dispone para desarrollar sus actividades.
2) La relación DESPACHOS, que contiene datos de cada uno de los des-
pachos que hay en los edificios anteriores.
3) La relación EMPLEADOS_ADM, que contiene los datos de los emplea-
dos de la empresa que llevan a cabo tareas administrativas.
4) La relación EMPLEADOS_PROD, que almacena los datos de los em-
pleados de la empresa que se ocupan de tareas de producción.
24
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
A continuación describimos los esquemas de las relaciones anteriores y
sus extensiones en un momento determinado:
• Esquema y extensión de EDIFICIOS_EMP:
• Esquema y extensión de DESPACHOS:
• Esquema y extensión de EMPLEADOS_ADM:
• Esquema y extensión de EMPLEADOS_PROD:
Se considera que los valores nulos de los atributos edificiodesp y número-
desp de las relaciones EMPLEADOS_PROD y EMPLEADOS_ADM indican
que el empleado correspondiente no tiene despacho.
25
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Ejemplo de unión
Si queremos obtener una relación R que tenga a todos los empleados de
la empresa del ejemplo anterior, llevaremos a cabo la unión de las relacio-
nes EMPLEADOS_ADM y EMPLEADOS_PROD de la forma siguiente:
R := EMPLEADOS_ADM ∪ EMPLEADOS_PROD.
Entonces la relación R resultante será la reflejada en la tabla siguiente:
Ejemplo de intersección
Si queremos obtener una relación R que incluya a todos los empleados de
la empresa del ejemplo que trabajan tanto en administración como en pro-
ducción, realizaremos la intersección de las relaciones EMPLEADOS_ADM
y EMPLEADOS_PROD de la forma siguiente:
R : = EMPLEADOS_ADM EMPLEADOS_PROD.
Entonces, la relación R resultante será:
26
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Ejemplo de diferencia
Si queremos obtener una relación R con todos los empleados de la em-
presa del ejemplo que trabajan en administración, pero no en producción,
haremos la diferencia de las relaciones EMPLEADOS_ADM y EMPLEA-
DOS_PROD de la forma siguiente:
R := EMPLEADOS_ADM – EMPLEADOS_PROD
Entonces la relación R resultante será:
Ejemplo de producto cartesiano
El producto cartesiano de las relaciones DESPACHOS y EDIFICIOS_EMP
del ejemplo se puede hacer como se indica (es necesario redenominar
atributos previamente):
EDIFICIOS (nombreedificio, supmediadesp) := EDICIOS_EMP(edificio,
supmediadesp).
R := EDIFICIOS × DESPACHOS.
Entonces, la relación R resultante será:
27
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Ejemplo de selección
Si queremos obtener una relación R con los despachos de la base de da-
tos del ejemplo que están en el edificio Marina y que tienen una superficie
de más de 12 metros cuadrados, haremos la siguiente selección:
R := DESPACHOS(edificio = Marina y superficie > 12).
La relación R resultante será:
Ejemplo de proyección
Si queremos obtener una relación R con el nombre y el apellido de todos
los empleados de administración de la base de datos del ejemplo, hare-
mos la siguiente proyección:
R := EMPLEADOS_ADM[nombre, apellido].
Entonces, la relación R resultante será:
28
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
Ejemplo de combinación
Supongamos que se desea encontrar los datos de los despachos que tie-
nen una superficie mayor o igual que la superficie media de los despachos
del edificio donde están situados. La siguiente combinación nos propor-
cionará los datos de estos despachos junto con los datos de su edificio
(observad que es preciso redenominar previamente los atributos):
EDIFICIOS(nombreeedficio,supmediadesp) := EDIFICIOS_EMP(edificio,
supmediadesp),
R := EDIFICIOS[nombreedificio = edificio, supmediadesp . superficie]
DESPACHOS
Entonces, la relación R resultante será:
En este fascículo hemos presentado los conceptos fundamentales del mo-
delo relacional de datos y, a continuación, hemos explicado las operacio-
nes del álgebra relacional:
1) Los aspectos más relevantes del modelo relacional que hemos descrito
sonlos siguientes:
a) En lo que respecta a la estructura de los datos:
• Consiste en un conjunto de relaciones.
• Una relación permite almacenar datos relacionados entre sí.
• La clave primaria de una relación permite identificar sus datos.
• Las claves foráneas de las relaciones permiten referenciar claves
primarias
29
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
• y, de este modo, establecer conexiones entre los datos de las re-
laciones.
b) En lo que respecta a la integridad de los datos:
• La regla de integridad de unicidad y de entidad de la clave prima-
ria: las claves primarias no pueden contener valores repetidos ni
valores nulos.
• La regla de integridad referencial: los valores de las claves foráne-
as deben existir en la clave primaria referenciada o bien deben ser
valores nulos.
• La regla de integridad de dominio: los valores no nulos de un atri-
buto deben pertenecer al dominio del atributo, y los operadores
que es posible aplicar sobre los valores dependen de los dominios
de estos valores.
2) El álgebra relacional proporciona un conjunto de operaciones para ma-
nipular relaciones. Estas operaciones se pueden clasificar de la forma
siguiente:
 Operaciones conjuntistas: unión, intersección, diferencia y producto
cartesiano.
 Operaciones específicamente relacionales: selección, proyección y
combinación.
Las operaciones del álgebra relacional pueden formar secuencias que
permiten resolver consultas complejas.
Chen, Peter. The Entity-Relationship Model-Toward a Unified View of Data.
ACM Transactions on Data Base Systems. Vol. 1, Number 1, 1976
Elmasri, Ramez y Navathe Shamkant B. Sistemas de Bases de Datos:
Conceptos Fundamentales. Addison-Wesley.
30
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
J.C. Date. Introducción a los sistemas de Base de Datos. Volumen 1.
Quinta Edición.(Texto Guía)
Ullman, J.D.; Widom, J. "Introducción a los Sistemas de Bases de Datos".
Prentice Hall.
En el siguiente fascículo se trabajara con el lenguaje de consultas estructu-
radas SQL el cual nos va a permitir desde un DBMS acceder a las bases
de datos allí almacenadas realizando para tal fin consultas en este lenguaje
que son la representación de las operaciones de algebra relacional vistas
en este fascículo.
31
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
SeguimientoalautoaprendizajeSeguimientoalautoaprendizajeSeguimientoalautoaprendizaje
Bases de datos - Fascículo No. 1
Nombre_______________________________________________________
Apellidos ________________________________ Fecha: _________________
Ciudad___________________________________Semestre: _______________
1. Dada la relación que corresponde a la siguiente representación tabular:
a) Indique qué conjunto de atributos tiene.
b) Diga qué dominio tiene cada uno de sus atributos.
c) Escriba todas las distintas formas de denotar su esquema de relación.
d) Elija una de las formas de denotar su esquema de relación y utilícela para
dibujar el conjunto de tuplas correspondiente a su extensión.
2. Indique cuáles son todas las superclaves de las siguientes relaciones:
a) DESPACHOS(edificio, número, superficie), que tiene como única clave can-
didata la siguiente: edificio, número.
b) EMPLEADOS(DNI, NSS, nombre, apellido), que tiene las siguientes claves
candidatas: DNI y NSS.
32
Bases de datos
Bases de datos
Fascículo No. 2
Semestre 5
3. Diga, para cada una de las siguientes operaciones de actualización, si se podr-
ía aceptar su aplicación sobre la base de datos que se ha utilizado en este
fascículo:
a) Insertar en EDIFICIOS_EMP la tupla <Nexus, 30>.
b) Insertar en DESPACHOS la tupla <Diagonal, NULO, 15>.
c) Insertar en EMPLEADOS_ADM la tupla <55.555.555, María, Puig, Diagonal,
500>.
d) Modificar en DESPACHOS la tupla <Marina, 230, 20> por <Marina, 120,
20>.
e) Borrar en EMPLEADOS_PROD la tupla <88.999.20, Pedro, González, NU-
LO, NULO>.

Contenu connexe

Tendances

Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de red
weneliza99
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
doc-92
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
omarzon
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
Velmuz Buzz
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datos
Fernando Baculima
 

Tendances (19)

Modelos de bd
Modelos de bdModelos de bd
Modelos de bd
 
Presentación Modelo de Datos
Presentación Modelo de DatosPresentación Modelo de Datos
Presentación Modelo de Datos
 
Módulo de Herramientas case
Módulo de Herramientas caseMódulo de Herramientas case
Módulo de Herramientas case
 
Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de red
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Modelo de datos.
Modelo de datos.Modelo de datos.
Modelo de datos.
 
Bases de datos en red
Bases de datos en redBases de datos en red
Bases de datos en red
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Fundamentos bd
Fundamentos bdFundamentos bd
Fundamentos bd
 
Objeto relacional bases datos 2
Objeto relacional bases datos 2Objeto relacional bases datos 2
Objeto relacional bases datos 2
 
Modelo de una b.d
Modelo de una b.dModelo de una b.d
Modelo de una b.d
 
T2 bd
T2 bdT2 bd
T2 bd
 
Modelos de-datos
Modelos de-datosModelos de-datos
Modelos de-datos
 
Clase 2 -
Clase 2 -Clase 2 -
Clase 2 -
 
Base de datos
Base de datosBase de datos
Base de datos
 
Cuadro comparativo base de datos
Cuadro comparativo base de datosCuadro comparativo base de datos
Cuadro comparativo base de datos
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datos
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 

Similaire à Base datos f02

Base de datos_1
Base de datos_1Base de datos_1
Base de datos_1
SaraDevies
 
Base de datos
Base de datosBase de datos
Base de datos
Victor
 
Instituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaInstituto distrital evardo turizo palencia
Instituto distrital evardo turizo palencia
LeidyOsorioM
 
Modelo de base de datos
Modelo de base de datosModelo de base de datos
Modelo de base de datos
jel_69
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
alejandro
 
Base de datos
Base de datosBase de datos
Base de datos
manuel
 
Historia y desarrollo de sfbd
Historia y desarrollo de sfbdHistoria y desarrollo de sfbd
Historia y desarrollo de sfbd
jalejandrobp
 

Similaire à Base datos f02 (20)

EL MODELO BASE DE DATOS Y TIPOS.pptx
EL MODELO BASE DE DATOS Y TIPOS.pptxEL MODELO BASE DE DATOS Y TIPOS.pptx
EL MODELO BASE DE DATOS Y TIPOS.pptx
 
HERRAMIENTAS DE DISEÑO EN BASE DE DATOS (1).pdf
HERRAMIENTAS DE DISEÑO EN BASE DE DATOS (1).pdfHERRAMIENTAS DE DISEÑO EN BASE DE DATOS (1).pdf
HERRAMIENTAS DE DISEÑO EN BASE DE DATOS (1).pdf
 
Modelo de Datos
Modelo de DatosModelo de Datos
Modelo de Datos
 
Gestores de bases de datos
Gestores de bases de datosGestores de bases de datos
Gestores de bases de datos
 
Base de datos_1
Base de datos_1Base de datos_1
Base de datos_1
 
Funciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datosFunciones de un dba y tipos de base de datos
Funciones de un dba y tipos de base de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Instituto distrital evardo turizo palencia
Instituto distrital evardo turizo palenciaInstituto distrital evardo turizo palencia
Instituto distrital evardo turizo palencia
 
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOSFUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
FUNCIONES DEL DBA - TIPOS DE BASE DE DATOS
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelo de base de datos
Modelo de base de datosModelo de base de datos
Modelo de base de datos
 
Abd - funciones de dba y tipos de bd
Abd -  funciones de dba y tipos de bdAbd -  funciones de dba y tipos de bd
Abd - funciones de dba y tipos de bd
 
Base de datos 1
Base de datos 1Base de datos 1
Base de datos 1
 
Base de datos
Base de datosBase de datos
Base de datos
 
74 221-1-pb
74 221-1-pb74 221-1-pb
74 221-1-pb
 
Base datos f01
Base datos f01Base datos f01
Base datos f01
 
Historia y desarrollo de sfbd
Historia y desarrollo de sfbdHistoria y desarrollo de sfbd
Historia y desarrollo de sfbd
 
Diseño relacional
Diseño relacionalDiseño relacional
Diseño relacional
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Actividad 5, bases de datos, rubrica 3 contenido.docx
Actividad 5, bases de datos, rubrica 3 contenido.docxActividad 5, bases de datos, rubrica 3 contenido.docx
Actividad 5, bases de datos, rubrica 3 contenido.docx
 

Dernier

Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
JuanPablo452634
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
CristhianZetaNima
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
vladimirpaucarmontes
 

Dernier (20)

desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
osciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdfosciloscopios Mediciones Electricas ingenieria.pdf
osciloscopios Mediciones Electricas ingenieria.pdf
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
04. Sistema de fuerzas equivalentes II - UCV 2024 II.pdf
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADOPERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
PERFORACIÓN Y VOLADURA EN MINERÍA APLICADO
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
01 MATERIALES AERONAUTICOS VARIOS clase 1.ppt
 

Base datos f02

  • 2. Bases de datos Semestre 5 Bases de datos
  • 3. Bases de datos Semestre 5 Tabla de contenido Página Introducción 1 Conceptos previos 1 Mapa conceptual Fascículo 2 2 Logros 2 Modelaje Conceptual de los Datos 2 Modelos de Bases de Datos 3 Evolución de los modelos de datos 3 Lenguajes 6 Administración de Bases de Datos 6 Estructura de los Datos 7 Visión informal de una relación 7 Visión formal de una relación 8 Diferencias entre relaciones y archivos 9 Clave candidata, clave primaria y clave alternativa de las relaciones 10 Claves foráneas de las relaciones 11 Creación de las relaciones de una base de datos 13 Operaciones del modelo relacional 13 Reglas de integridad 15 Regla de integridad de unicidad de la clave primaria 16 Regla de integridad de entidad de la clave primaria 16 Regla de integridad referencial 16 Regla de integridad de dominio 17 El álgebra relacional 18 Operaciones conjuntistas 19 Operaciones específicamente relacionales 22 Resumen 28 Bibliografía recomendada 29 Nexo 30 Seguimiento al autoaprendizaje 31 Créditos: 3 Tipo de asignatura: Teórico – Práctica
  • 4. Bases de datos Semestre 5 Bases de datos Copyright©2008 FUNDICIÓN UNIVERSITARIA SAN MARTÍN Facultad de Universidad Abierta y a Distancia, “Educación a Través de Escenarios Múltiples” Bogotá, D.C. Prohibida la reproducción total o parcial sin autorización por escrito del Presidente de la Fundación. La redacción de este fascículo estuvo a cargo de JOHN FREDY ROJAS Docente tutor – Programa de Ingeniería de Sistemas a Distancia. Sede Bogotá, D.C. Corrección de estilo ADRIANA RODRÍGUEZ V. Diseño gráfico y diagramación a cargo de SANTIAGO BECERRA SÁENZ ORLANDO DÍAZ CÁRDENAS Impreso en: GRÁFICAS SAN MARTÍN Calle 61A No. 14-18 - Tels.: 2350298 - 2359825 Bogotá, D.C., Noviembre de 2011
  • 5. 1 Fascículo No. 2 Semestre 5 Bases de datos Bases de datos Introducción En este fascículo se dedicara al estudio del modelo de datos relacional y del álgebra relacional. SE profundizara en un modelo de datos concreto: el modelo relacional, que actualmente tiene una gran relevancia. Sus conceptos fundamentales están bien asentados y, además, los sistemas de gestión de bases de da- tos relacionales son los más extendidos en su utilización práctica. Por es- tos motivos pensamos que es importante conocerlo. Se analizan también las operaciones del álgebra relacional, que sirven para hacer consultas a una base de datos. Es preciso conocer estas operacio- nes porque nos permiten saber qué servicios de consulta debe proporcio- nar un lenguaje relacional. Otra aportación del álgebra relacional es que facilita la comprensión de algunas de las construcciones del lenguaje SQL que se estudiarán en fascículos posteriores. Además, constituye la base para el estudio del tratamiento de las consultas que efectúan los DBMS internamente (especialmente en lo que respecta a la optimización de con- sultas). Conceptos previos Para una correcta comprensión de este fascículo el estudiante debe tener claros los conceptos básicos de bases de datos y d elos sistemas maneja- dores de bases de datos vistos en el fascículo anterior, de igual forma es importante que tenga claro el concepto de teoría de conjuntos para asimi- lar con mayor facilidad los conceptos asociados al algebra relacional.
  • 6. 2 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 El modelo de Base de Datos es el conjunto de herramien- tas conceptuales (piezas) que se utilizan para construir el modelo de la realidad. Mapa conceptual fascículo 2 Al finalizar el estudio del presente fascículo, el estudiante estará en capacidad de:  Conocer los fundamentos del modelo de datos relacional.  Saber distinguir las características que debe tener un sistema de gestión de bases de datos relacional para que sea coherente con los fundamentos del modelo relacional.  Comprender las ventajas del modelo relacional que derivan del alto grado de independencia de los datos que proporciona, y de la simplicidad y la unifor- midad del modelo.  Conocer las operaciones del álgebra relacional.  Saber utilizar las operaciones del álgebra relacional para consultar una base de datos. Modelaje Conceptual de los Datos Una Base de Datos es una representación de la realidad (de la parte de la realidad que nos interesa en nuestro Sistema de Información). Dicho de otro modo, una Base de Datos se puede considerar un modelo de la reali- dad. El componente fundamental utilizado para modelar en un DBMS rela- cional son las tablas (denominadas relaciones en el mundo teórico). Sin embargo, en otros tipos de DBMS se utilizan otros componentes. LogrosLogrosLogros
  • 7. 3 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Modelos de Bases de Datos El conjunto de componentes o herramientas conceptuales que un DBMS proporciona para modelar recibe el nombre de modelo de BD. Los cuatro modelos de Bases de Datos más utilizados en los Sistemas de Información son el modelo relacional, el modelo jerárquico, el modelo en red y el modelo relacional con objetos. Todo modelo de Base de Datos nos proporciona tres tipos de herramien- tas: a) Estructuras de datos con las que se puede construir las Bases de Datos: tablas, árboles, etc. b) Diferentes tipos de restricciones (o reglas) de integridad que el DBMS tendrá que hacer cumplir a los datos: dominios, claves, etc. c) Una serie de operaciones para trabajar con los datos. Un ejemplo de ello, en el modelo relacional, es la operación SELECT, que sirve para se- leccionar (o leer) las filas que cumplen alguna condición. Un ejemplo de operación típica del modelo jerárquico y del modelo en red podría ser la que nos dice si un determinado registro tiene “hijos” o no. Evolución de los modelos de datos De los cuatro modelos de Bases de Datos que hemos citado, el que apa- reció primero, a principios de los años sesenta, fue el modelo jerárquico. Sus estructuras son registros interrelacionados en forma de árboles. El DBMS clásico de este modelo es el IMS/DL1 de IBM. A principios de los setenta surgieron DBMS basados en un modelo en red. Como en el modelo jerárquico, hay registros e interrelaciones, pero un re- gistro ya no está limitado a ser “hijo” de un solo registro tipo. El comité CODASYLDBTG propuso un estándar basado en este modelo, que fue
  • 8. 4 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 adoptado por muchos constructores de DBMS1. Sin embargo, encontró la oposición de IBM, la empresa entonces dominante. La propuesta de CO- DASYL-DBTG ya definía tres niveles de esquemas. Durante los años ochenta apareció una gran cantidad de DBMS basados en el modelo relacional propuesto en 1969 por E.F. Codd, de IBM, y prácticamente todos utilizaban como lenguaje nativo el SQL2 . El modelo relacional se basa en el concepto matemático de relación, que aquí pode- mos considerar de momento equivalente al término tabla (formada por filas y columnas). La mayor parte de los Sistemas de Información que actual- mente están en funcionamiento utilizan DBMS relacionales, pero algunos siguen utilizando los jerárquicos o en red (especialmente en Sistemas de Información antiguos muy grandes). Así como en los modelos prerrelacionales (jerárquico y en red), las estruc- turas de datos constan de dos elementos básicos (los registros y las inter- relaciones), en el modelo relacional constan de un solo elemento: la tabla, formada por filas y columnas. Las interrelaciones se deben modelizar utili- zando las tablas. Otra diferencia importante entre los modelos prerrelacionales y el modelo relacional es que el modelo relacional se limita al nivel lógico (no hace ab- solutamente ninguna consideración sobre las representaciones físicas). Es decir, nos da una independencia física de datos total. Esto es así si habla- mos del modelo teórico, pero los DBMS del mercado nos proporcionan una independencia limitada. Estos últimos años se está extendiendo el modelo de Base de Datos rela- cional con objetos. 1 Por ejemplo, IDS de Bull, DMS de Univac y DBMS de Digital. 2 Por ejemplo, Oracle, DB2 de IBM, Informix, Ingres, Allbase de HP y SQL-Server de Sybase
  • 9. 5 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Se trata de ampliar el modelo relacional, añadiéndole la posibilidad de que los tipos de datos sean tipos abstractos de datos, TAD. Esto acerca los sistemas relacionales al paradigma de la OO. Los primeros DBMS relacio- nales que dieron esta posibilidad fueron Oracle (versión 8), Informix (ver- sión 9) e IBM/DB2/UDB. Modelos Bases de Datos Los más conocidos de estos tipos de modelos son los modelos semánti- cos y los funcionales. Éstos nos proporcionan herramientas muy potentes para describir las estructuras de la información del mundo real, la semánti- ca y las interrelaciones, pero normalmente no disponen de operaciones para tratarlas. Se limitan a ser herramientas de descripción lógica. Son muy utilizados en la etapa del diseño de Bases de Datos y en herramientas CASE. El más extendido de estos modelos es el conocido como modelo ER (entity-relationship), que estudiaremos más adelante. Actualmente, la práctica más extendida en el mundo profesional de los desarrolladores de SI es la utilización del modelo ER durante el análisis y las primeras etapas del diseño de los datos, y la utilización del modelo re- lacional para acabar el diseño y construir la Base de Datos con un DBMS.
  • 10. 6 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Lenguajes Para comunicarse con el SGBD, el usuario, ya sea un programa de aplica- ción o un usuario directo, se vale de un lenguaje. Hay muchos lenguajes diferentes, según el tipo de usuarios para los que están pensados y el tipo de cosas que los usuarios deben poder expresar con ellos: a) Habrá usuarios informáticos muy expertos que querrán escribir proce- sos complejos y que necesitarán lenguajes complejos. b) Sin embargo, habrá usuarios finales no informáticos, ocasionales (es- porádicos), que sólo harán consultas. Estos usuarios necesitarán un lenguaje muy sencillo, aunque dé un rendimiento bajo en tiempo de respuesta. c) También podrá haber usuarios finales no informáticos, dedicados o es- pecializados. Son usuarios cotidianos o, incluso, dedicados exclusiva- mente a trabajar con la Base de Datos. Estos usuarios necesitarán len- guajes muy eficientes y compactos, aunque no sea fácil aprenderlos. Tal vez serán lenguajes especializados en tipos concretos de tareas. Administración de Bases de Datos Hay un tipo de usuario especial: el que realiza tareas de administración y control de la Base de Datos. Una empresa o institución que tenga Sistemas de Información construidos en torno a Bases de Datos necesita que al- guien lleve a cabo una serie de funciones centralizadas de gestión y admi- nistración, para asegurar que la explotación de la Base de Datos es la co- rrecta. Este conjunto de funciones se conoce con el nombre de adminis- tración de Base de Datos, y los usuarios que hacen este tipo especial de trabajo se denominan administradores de Bases de Datos (DBA).
  • 11. 7 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 La estructura de los datos del modelo relacional se basa, en el concepto de relación. Estructura de los Datos El modelo relacional proporciona una estructura de los datos que consiste en un conjunto de relaciones con objeto de representar la información que nos interesa del mundo real. Visión informal de una relación Se puede obtener una buena idea intuitiva de lo que es una relación si la visualizamos como una tabla o un archivo. En la figura a continuación se muestra la visualización tabular de una relación que contiene datos de em- pleados. Relación Empleados Cada fila de la tabla contiene una colección de valores de datos relaciona- dos entre sí; en nuestro ejemplo, son los datos correspondientes a un mismo empleado. La tabla tiene un nombre (EMPLEADOS) y también tiene un nombre cada una de sus columnas (DNI, nombre, apellido y sueldo). El nombre de la tabla y los de las columnas ayudan a entender el significado de los valores que contiene la tabla.
  • 12. 8 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Un relación se compone del esquema (o intensión de la relación) y de la extensión. La estructura de los datos del modelo relacional se basa, pues, en el concepto de relación. Si definimos las relaciones de forma más precisa, nos daremos cuenta de que presentan algunas características importantes que, en la visión super- ficial que hemos presentado, quedan ocultas. Estas características son las que motivan que el concepto de relación sea totalmente diferente del de fichero, a pesar de que, a primera vista, relaciones y archivos puedan pa- recer similares. Visión formal de una relación Un dominio D es un conjunto de valores atómicos. Por lo que respecta al modelo relacional, atómico significa indivisible; es decir, que por muy complejo o largo que sea un valor atómico, no tiene una estructuración interna para un DBMS relacional. Los dominios pueden ser de dos tipos: Dominios predefinidos, que corresponde a los tipos de datos que nor- malmente proporcionan los lenguajes de bases de datos, como por ejem- plo los enteros, las cadenas de caracteres, los reales, etc. Dominios definidos por el usuario, que pueden ser más específicos. To- da definición de un dominio debe constar, como mínimo, del nombre del dominio y de la descripción de los valores que forman parte de éste. Si consideramos la representación tabular de la figura, el esquema corres- pondería a la cabecera de la tabla y la extensión correspondería al cuerpo: Esquema y Extensión
  • 13. 9 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 El grado de una relación es el número de atributos que pertenecen a su esquema. La cardinalidad de una rela- ción es el número de tuplas que pertenecen a su exten- sión. El esquema de la relación consiste en un nombre de relación R y un con- junto de atributos {A1, A2, ..., An}. Conviene observar que cada atributo es único en un esquema de relación, porque no tiene sentido que un mismo dominio ejerza dos veces el mismo papel en un mismo esquema. Por consiguiente, no puede ocurrir que en un esquema de relación haya dos atributos con el mismo nombre. En cambio, sí que se puede repetir un nombre de atributo en relaciones diferentes. Diferencias entre relaciones y archivos A primera vista, relaciones y ficheros resultan similares. Los registros y los campos que forman los ficheros se parecen a las tuplas y a los atributos de las relaciones, respectivamente. A pesar de esta similitud superficial, la visión formal de relación que hemos presentado establece algunas características de las relaciones que las hacen diferentes de los archivos clásicos. Atomicidad de los valores de los atributos: los valores de los atributos de una relación deben ser atómicos; es decir, no deben tener estructura interna. Esta característica proviene del hecho de que los atributos siempre deben tomar un valor de su dominio o bien un valor nulo, y de que se ha estable- cido que los valores de los dominios deben ser atómicos en el modelo re- lacional. El objetivo de la atomicidad de los valores es dar simplicidad y uniformidad al modelo relacional.
  • 14. 10 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 No-repetición de las tuplas: en un archivo clásico puede ocurrir que dos de los registros sean exactamente iguales; es decir, que contengan los mismos datos. En el caso del modelo relacional, en cambio, no es posible que una rela- ción contenga tuplas repetidas. Esta característica se deduce de la misma definición de la extensión de una relación. La extensión es un conjunto de tuplas y, en un conjunto, no puede haber elementos repetidos. No-ordenación de las tuplas: de la definición de la extensión de una rela- ción como un conjunto de tuplas se deduce también que estas tuplas no estarán ordenadas, teniendo en cuenta que no es posible que haya una ordenación entre los elementos de un conjunto. La finalidad de esta característica es conseguir que, mediante el modelo relacional, se puedan representar los hechos en un nivel abstracto que sea independiente de su estructura física de implementación. No-ordenación de los atributos: el esquema de una relación consta de un nombre de relación R y un conjunto de atributos {A1, A2, ..., An}. Así pues, no hay un orden entre los atributos de un esquema de relación, te- niendo en cuenta que estos atributos forman un conjunto. Clave candidata, clave primaria y clave alternativa de las relaciones Toda la información que contiene una base de datos debe poderse identi- ficar de alguna forma. En el caso particular de las bases de datos que si- guen el modelo relacional, para identificar los datos que la base de datos contiene, se pueden utilizar las claves candidatas de las relaciones. Una superclave de una relación de esquema R(A1, A2, ..., An) es un sub- conjunto de los atributos del esquema tal que no puede haber dos tuplas en la extensión de la relación que tengan la misma combinación de valores
  • 15. 11 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Si una relación sólo tiene una clave candidata, entonces esta clave candidata debe ser también su clave primaria. para los atributos del subconjunto. Una superclave, por lo tanto, nos permi- te identificar todas las tuplas que contiene la relación. Una clave candidata de una relación es una superclave C de la relación que cumple que ningún subconjunto propio de C es superclave. Es decir, C cumple que la eliminación de cualquiera de sus atributos da un conjunto de atributos que no es superclave de la relación. Intuitivamente, una clave candidata permite identificar cualquier tupla de una relación, de manera que no sobre ningún atributo para hacer la identificación. Habitualmente, una de las claves candidatas de una relación se designa clave primaria de la relación. La clave primaria es la clave candidata cuyos valores se utilizarán para identificar las tuplas de la relación. El diseñador de la base de datos es quien elige la clave primaria de entre las claves candidatas. Claves foráneas de las relaciones Hasta ahora hemos estudiado las relaciones de forma individual, pero de- bemos tener en cuenta que una base de datos relacional normalmente contiene más de una relación, para poder representar distintos tipos de hechos que suceden en el mundo real. Por ejemplo, podríamos tener una pequeña base de datos que contuviese dos relaciones: una denominada EMPLEADOS, que almacenaría datos de los empleados de una empresa, y otra con el nombre DESPACHOS, que almacenaría los datos de los des- pachos que tiene la empresa. Debemos considerar también que entre los distintos hechos que se dan en el mundo real pueden existir lazos o vínculos. Por ejemplo, los empleados que trabajan para una empresa pueden estar vinculados con los despa-
  • 16. 12 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 chos de la empresa, porque a cada empleado se le asigna un despacho concreto para trabajar. En el modelo relacional, para reflejar este tipo de vínculos, tenemos la po- sibilidad de expresar conexiones entre las distintas tuplas de las relacio- nes. Por ejemplo, en la base de datos anterior, que tiene las relaciones EMPLEADOS y DESPACHOS, puede ser necesario conectar tuplas de EMPLEADOS con tuplas de DESPACHOS para indicar qué despacho tiene asignado cada empleado. En ocasiones, incluso puede ser necesario reflejar lazos entre tuplas que pertenecen a una misma relación. Por ejemplo, en la misma base de datos anterior puede ser necesario conectar determinadas tuplas de EMPLEA- DOS con otras tuplas de EMPLEADOS para indicar, para cada empleado, quién actúa como su jefe. El mecanismo que proporcionan las bases de datos relacionales para co- nectar tuplas son las claves foráneas de las relaciones. Las claves foráneas permiten establecer conexiones entre las tuplas de las relaciones. Para hacer la conexión, una clave foránea tiene el conjunto de atributos de una relación que referencian la clave primaria de otra relación (o incluso de la misma relación). Claves foraneas
  • 17. 13 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Las claves foráneas tienen por objetivo establecer una conexión con la cla- ve primaria que referencian. Por lo tanto, los valores de una clave foránea deben estar presentes en la clave primaria correspondiente, o bien deben ser valores nulos. En caso contrario, la clave foránea representaría una re- ferencia o conexión incorrecta. De forma más precisa podemos decir que: Una clave foránea de una relación R es un subconjunto de atributos del esquema de la relación, que denominamos CF y que cumple las siguientes condiciones: 1) Existe una relación S (S no debe ser necesariamente diferente de R) que tiene por clave primaria CP. 2) Se cumple que, para toda tupla t de la extensión de R, los valores para CF de t son valores nulos o bien valores que coinciden con los valores para CP de alguna tupla s de S. Y entonces, se dice que la clave foránea CF referencia la clave primaria CP de la relación S, y también que la clave foránea CF referencia la relación S. Creación de las relaciones de una base de datos Hemos visto que una base de datos relacional consta de varias relaciones. Cada relación tiene varios atributos que toman valores de unos ciertos dominios; también tiene una clave primaria y puede tener una o más claves foráneas. Los lenguajes de los DBMS relacionales deben proporcionar la forma de definir todos estos elementos para crear una base de datos. Operaciones del modelo relacional Las operaciones del modelo relacional deben permitir manipular datos al- macenados en una base de datos relacional y, por lo tanto, estructurados en forma de relaciones. La manipulación de datos incluye básicamente dos aspectos: la actualización y la consulta.
  • 18. 14 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 La actualización de los datos consiste en hacer que los cambios que se producen en la realidad queden reflejados en las relaciones de la base de datos. Existen tres operaciones básicas de actualización: Inserción, que sirve para añadir una o más tuplas a una relación. Borrado, que sirve para eliminar una o más tuplas de una relación. Modificación, que sirve para alterar los valores que tienen una o más tu- plas de una relación para uno o más de sus atributos. La consulta de los datos consiste en la obtención de datos deducibles a partir de las relaciones que contiene la base de datos. La obtención de los datos que responden a una consulta puede requerir el análisis y la extracción de datos de una o más de las relaciones que man- tiene la base de datos. Según la forma como se especifican las consultas, podemos clasificar los lenguajes relacionales en dos tipos: Lenguajes basados en el álgebra relacional. El álgebra relacional se ins- pira en la teoría de conjuntos. Si queremos especificar una consulta, es necesario seguir uno o más pasos que sirven para ir construyendo, me- diante operaciones del álgebra relacional, una nueva relación que conten- ga los datos que responden a la consulta a partir de las relaciones alma- cenadas. Los lenguajes basados en el álgebra relacional son lenguajes procedimentales, ya que los pasos que forman la consulta describen un procedimiento. Lenguajes basados en el cálculo relacional. El cálculo relacional tiene su fundamento teórico en el cálculo de predicados de la lógica matemática. Proporciona una notación que permite formular la definición de la relación
  • 19. 15 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Denominamos integridad la propiedad de los datos de corresponder a representa- ciones plausibles del mundo real. donde están los datos que responden la consulta en términos de las rela- ciones almacenadas. Esta definición no describe un procedimiento; por lo tanto, se dice que los lenguajes basados en el cálculo relacional son len- guajes declarativos (no procedimentales). El lenguaje SQL, en las sentencias de consulta, combina construcciones del álgebra relacional y del cálculo relacional con un predominio de las construcciones del cálculo. Este predominio determina que SQL sea un lenguaje declarativo. Reglas de integridad Una base de datos contiene unos datos que, en cada momento, deben reflejar la realidad o, más concretamente, la situación de una porción del mundo real. En el caso de las bases de datos relacionales, esto significa que la exten- sión de las relaciones (es decir, las tuplas que contienen las relaciones) deben tener valores que reflejen la realidad correctamente. Suele ser bastante frecuente que determinadas configuraciones de valores para las tuplas de las relaciones no tengan sentido, porque no representan ninguna situación posible del mundo real. En general, las condiciones que garantizan la integridad de los datos pue- den ser de dos tipos: Las restricciones de integridad de usuario son condiciones específicas de una base de datos concreta; es decir, son las que se deben cumplir en una base de datos particular con unos usuarios concretos, pero que no son necesariamente relevantes en otra base de datos.
  • 20. 16 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Las reglas de integridad de modelo, en cambio, son condiciones más generales, propias de un modelo de datos, y se deben cumplir en toda base de datos que siga dicho modelo. Los DBMS deben proporcionar la forma de definir las restricciones de inte- gridad de usuario de una base de datos; una vez definidas, deben velar por su cumplimiento. Regla de integridad de unicidad de la clave primaria La regla de integridad de unicidad está relacionada con la definición de clave primaria. Concretamente, establece que toda clave primaria que se elija para una relación no debe tener valores repetidos. Un DBMS relacional deberá garantizar el cumplimiento de esta regla de integridad en todas las inserciones, así como en todas las modificaciones que afecten a atributos que pertenecen a la clave primaria de la relación. Regla de integridad de entidad de la clave primaria La regla de integridad de entidad de la clave primaria dispone que los atri- butos de la clave primaria de una relación no pueda tener valores nulos. Esta regla es necesaria para que los valores de las claves primarias pue- dan identificar las tuplas individuales de las relaciones. Si las claves prima- rias tuviesen valores nulos, es posible que algunas tuplas no se pudieran distinguir. Un DBMS relacional tendrá que garantizar el cumplimiento de esta regla de integridad en todas las inserciones y, también, en todas las modificaciones que afecten a atributos que pertenecen a la clave primaria de la relación. Regla de integridad referencial La regla de integridad referencial está relacionada con el concepto de cla- ve foránea.
  • 21. 17 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Concretamente, determina que todos los valores que toma una clave forá- nea deben ser valores nulos o valores que existen en la clave primaria que referencia. La necesidad de la regla de integridad relacional proviene del hecho de que las claves foráneas tienen por objetivo establecer una conexión con la clave primaria que referencian. Si un valor de una clave foránea no estuvie- se presente en la clave primaria correspondiente, representaría una refe- rencia o una conexión incorrecta. Un DBMS relacional tendrá que hacer cumplir esta regla de integridad. De- berá efectuar comprobaciones cuando se produzcan las siguientes opera- ciones:  Inserciones en una relación que tenga una clave foránea.  Modificaciones que afecten a atributos que pertenecen a la clave forá- nea de una relación.  Borrados en relaciones referenciadas por otras relaciones.  Modificaciones que afecten a atributos que pertenecen a la clave prima- ria de una relación referenciada por otra relación. Una forma habitual de mantener estas reglas consiste en rechazar toda operación de actualización que deje la base de datos en un estado en el que alguna regla no se cumpla. Regla de integridad de dominio La regla de integridad de dominio está relacionada, como su nombre indi- ca, con la noción de dominio. Esta regla establece dos condiciones. La primera condición consiste en que un valor no nulo de un atributo Ai debe pertenecer al dominio del atributo Ai; es decir, debe pertenecer a dominio(Ai).
  • 22. 18 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Esta condición implica que todos los valores no nulos que contiene la base de datos para un determinado atributo deben ser del dominio declarado para dicho atributo. La segunda condición de la regla de integridad de dominio es más com- pleja, especialmente en el caso de dominios definidos por el usuario; los DBMS actuales no la soportan para estos últimos dominios. Por estos mo- tivos sólo la presentaremos superficialmente. Esta segunda condición sirve para establecer que los operadores que pueden aplicarse sobre los valores dependen de los dominios de estos valores; es decir, un operador determinado sólo se puede aplicar sobre valores que tengan dominios que le sean adecuados. El álgebra relacional El álgebra relacional se inspira en la teoría de conjuntos para especificar consultas en una base de datos relacional. Para especificar una consulta en álgebra relacional, es preciso definir uno o más pasos que sirven para ir construyendo, mediante operaciones de álgebra relacional, una nueva relación que contenga los datos que res- ponden a la consulta a partir de las relaciones almacenadas. Los lenguajes basados en el álgebra relacional son procedimentales, dado que los pasos que forman la consulta describen un procedimiento. Una característica destacable de todas las operaciones del álgebra rela- cional es que tanto los operandos como el resultado son relaciones. Esta propiedad se denomina cierre relacional. Las operaciones del álgebra relacional han sido clasificadas según distin- tos criterios; de todos ellos indicamos los tres siguientes:
  • 23. 19 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 1) Según se pueden expresar o no en términos de otras operaciones. a) Operaciones primitivas: son aquellas operaciones a partir de las cua- les podemos definir el resto. Estas operaciones son la unión, la dife- rencia, el producto cartesiano, la selección y la proyección. b) Operaciones no primitivas: el resto de las operaciones del álgebra re- lacional que no son estrictamente necesarias, porque se pueden ex- presar en términos de las primitivas; sin embargo, las operaciones no primitivas permiten formular algunas consultas de forma más cómo- da. Existen distintas versiones del álgebra relacional, según las ope- raciones no primitivas que se incluyen. Nosotros estudiaremos las operaciones no primitivas que se utilizan con mayor frecuencia: la in- tersección y la combinación. 2) Según el número de relaciones que tienen como operandos: a) Operaciones binarias: son las que tienen dos relaciones como ope- randos. Son binarias todas las operaciones, excepto la selección y la proyección. b) Operaciones unarias: son las que tienen una sola relación como ope- rando. La selección y la proyección son unarias. 3) Según se parecen o no a las operaciones de la teoría de conjuntos: a) Operaciones conjuntistas: son las que se parecen a las de la teoría de conjuntos. Se trata de la unión, la intersección, la diferencia y el producto cartesiano. b) Operaciones específicamente relacionales: son el resto de las opera- ciones; es decir, la selección, la proyección y la combinación. Operaciones conjuntistas Las operaciones conjuntistas del álgebra relacional son la unión, la inter- sección, la diferencia y el producto cartesiano.
  • 24. 20 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 La unión es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que están en alguna de las relaciones de partida. La unión es una operación binaria, y la unión de dos relaciones T y S se indica T ∪ S. Sólo tiene sentido aplicar la unión a relaciones que tengan tuplas similares. La extensión de la relación resultante de T ∪ S es el conjunto de tuplas que pertenecen a la extensión de T, a la extensión de S o a la extensión de am- bas relaciones. La intersección es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por las tuplas que pertenecen a las dos rela- ciones de partida. La intersección es una operación binaria; la intersección de dos relaciones T y S se indica T ∩ S. La intersección, como la unión, sólo se puede aplicar a relaciones que ten- gan tuplas similares. Para poder hacer la intersección de dos relaciones, es preciso, pues, que las relaciones sean compatibles. Los atributos del esquema de la relación resultante de T ∩ S coinciden con los atributos del esquema de la relación T. La extensión de la relación resultante de T ∩ S es el conjunto de tuplas que pertenecen a la extensión de ambas relaciones. La diferencia es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que están en la primera relación y, en cambio, no están en la segunda. La diferencia es una opera-
  • 25. 21 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 En el producto cartesiano que T y S no tienen ningún nombre de atributo común. ción binaria, y la diferencia entre las relaciones T y S se indica como T – S. La diferencia, como ocurría en la unión y la intersección, sólo tiene sentido si se aplica a relaciones que tengan tuplas similares. Para poder realizar la diferencia de dos relaciones es necesario que las relaciones sean compa- tibles. Los atributos del esquema de la relación resultante de T – S coinciden con los atributos del esquema de la relación T. La extensión de la relación resultante de T – S es el conjunto de tuplas que pertenecen a la extensión de T, pero no a la de S. El producto cartesiano es una operación que, a partir de dos relaciones, obtiene una nueva relación formada por todas las tuplas que resultan de concatenar tuplas de la primera relación con tuplas de la segunda. El producto cartesiano es una operación binaria. Siendo T y S dos relacio- nes que cumplen que sus esquemas no tienen ningún nombre de atributo común, el producto cartesiano de T y S se indica como T × S. Si se quiere calcular el producto cartesiano de dos relaciones que tienen algún nombre de atributo común, sólo hace falta redenominar previamente los atributos adecuados de una de las dos relaciones. Los atributos del esquema de la relación resultante de T × S son todos los atributos de T y todos los atributos de S. El producto cartesiano es una operación que raramente se utiliza de forma explícita, porque el resultado que da no suele ser útil para resolver las con- sultas habituales.
  • 26. 22 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Operaciones específicamente relacionales Las operaciones específicamente relacionales son la selección, la proyec- ción y la combinación. La selección: Podemos ver la selección como una operación que sirve para elegir algunas tuplas de una relación y eliminar el resto. Más concre- tamente, la selección es una operación que, a partir de una relación, obtie- ne una nueva relación formada por todas las tuplas de la relación de parti- da que cumplen una condición de selección especificada. La selección es una operación unaria. Siendo C una condición de selec- ción, la selección de T con la condición C se indica como T(C). Los atributos del esquema de la relación resultante de T(C) coinciden con los atributos del esquema de la relación T. La extensión de la relación resultante de T(C) es el conjunto de tuplas que pertenecen a la extensión de T y que satisfacen la condición de selección C. Una tupla t satisface una condición de selección C si, después de susti- tuir cada atributo que hay en C por su valor en t, la condición C se evalúa en el valor cierto. Proyección: Podemos considerar la proyección como una operación que sirve para elegir algunos atributos de una relación y eliminar el resto. Más concretamente, la proyección es una operación que, a partir de una rela- ción, obtiene una nueva relación formada por todas las (sub)tuplas de la relación de partida que resultan de eliminar unos atributos especificados. Combinación: La combinación es una operación que, a partir de dos rela- ciones, obtiene una nueva relación formada por todas las tuplas que resul- tan de concadenar tuplas de la primera relación con tuplas de la segunda, y que cumplen una condición de combinación especificada.
  • 27. 23 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 La combinación es una operación binaria. Siendo T y S dos relaciones cu- yos esquemas no tienen ningún nombre de atributo común, y siendo B una condición de combinación, la combinación de T y S según la condi- ción B se indica T[B]S. Si se quiere combinar dos relaciones que tienen algún nombre de atributo común, sólo hace falta redenominar previamente los atributos repetidos de una de las dos. Los atributos del esquema de la relación resultante de T[B]S son todos los atributos de T y todos los atributos de S. La combinación natural de dos relaciones T y S se denota como T * S y consiste básicamente en una equicombinación seguida de la eliminación de los atributos superfluos; además, se considera por defecto que la con- dición de combinación iguala todas las parejas de atributos que tienen el mismo nombre en T y en S. A continuación presentaremos un ejemplo que utilizaremos para ilustrar las operaciones del álgebra relacional. Supongamos que tenemos una base de datos relacional con las cuatro relaciones siguientes: 1) La relación EDIFICIOS_EMP, que contiene datos de distintos edificios de los que una empresa dispone para desarrollar sus actividades. 2) La relación DESPACHOS, que contiene datos de cada uno de los des- pachos que hay en los edificios anteriores. 3) La relación EMPLEADOS_ADM, que contiene los datos de los emplea- dos de la empresa que llevan a cabo tareas administrativas. 4) La relación EMPLEADOS_PROD, que almacena los datos de los em- pleados de la empresa que se ocupan de tareas de producción.
  • 28. 24 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 A continuación describimos los esquemas de las relaciones anteriores y sus extensiones en un momento determinado: • Esquema y extensión de EDIFICIOS_EMP: • Esquema y extensión de DESPACHOS: • Esquema y extensión de EMPLEADOS_ADM: • Esquema y extensión de EMPLEADOS_PROD: Se considera que los valores nulos de los atributos edificiodesp y número- desp de las relaciones EMPLEADOS_PROD y EMPLEADOS_ADM indican que el empleado correspondiente no tiene despacho.
  • 29. 25 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Ejemplo de unión Si queremos obtener una relación R que tenga a todos los empleados de la empresa del ejemplo anterior, llevaremos a cabo la unión de las relacio- nes EMPLEADOS_ADM y EMPLEADOS_PROD de la forma siguiente: R := EMPLEADOS_ADM ∪ EMPLEADOS_PROD. Entonces la relación R resultante será la reflejada en la tabla siguiente: Ejemplo de intersección Si queremos obtener una relación R que incluya a todos los empleados de la empresa del ejemplo que trabajan tanto en administración como en pro- ducción, realizaremos la intersección de las relaciones EMPLEADOS_ADM y EMPLEADOS_PROD de la forma siguiente: R : = EMPLEADOS_ADM EMPLEADOS_PROD. Entonces, la relación R resultante será:
  • 30. 26 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Ejemplo de diferencia Si queremos obtener una relación R con todos los empleados de la em- presa del ejemplo que trabajan en administración, pero no en producción, haremos la diferencia de las relaciones EMPLEADOS_ADM y EMPLEA- DOS_PROD de la forma siguiente: R := EMPLEADOS_ADM – EMPLEADOS_PROD Entonces la relación R resultante será: Ejemplo de producto cartesiano El producto cartesiano de las relaciones DESPACHOS y EDIFICIOS_EMP del ejemplo se puede hacer como se indica (es necesario redenominar atributos previamente): EDIFICIOS (nombreedificio, supmediadesp) := EDICIOS_EMP(edificio, supmediadesp). R := EDIFICIOS × DESPACHOS. Entonces, la relación R resultante será:
  • 31. 27 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Ejemplo de selección Si queremos obtener una relación R con los despachos de la base de da- tos del ejemplo que están en el edificio Marina y que tienen una superficie de más de 12 metros cuadrados, haremos la siguiente selección: R := DESPACHOS(edificio = Marina y superficie > 12). La relación R resultante será: Ejemplo de proyección Si queremos obtener una relación R con el nombre y el apellido de todos los empleados de administración de la base de datos del ejemplo, hare- mos la siguiente proyección: R := EMPLEADOS_ADM[nombre, apellido]. Entonces, la relación R resultante será:
  • 32. 28 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 Ejemplo de combinación Supongamos que se desea encontrar los datos de los despachos que tie- nen una superficie mayor o igual que la superficie media de los despachos del edificio donde están situados. La siguiente combinación nos propor- cionará los datos de estos despachos junto con los datos de su edificio (observad que es preciso redenominar previamente los atributos): EDIFICIOS(nombreeedficio,supmediadesp) := EDIFICIOS_EMP(edificio, supmediadesp), R := EDIFICIOS[nombreedificio = edificio, supmediadesp . superficie] DESPACHOS Entonces, la relación R resultante será: En este fascículo hemos presentado los conceptos fundamentales del mo- delo relacional de datos y, a continuación, hemos explicado las operacio- nes del álgebra relacional: 1) Los aspectos más relevantes del modelo relacional que hemos descrito sonlos siguientes: a) En lo que respecta a la estructura de los datos: • Consiste en un conjunto de relaciones. • Una relación permite almacenar datos relacionados entre sí. • La clave primaria de una relación permite identificar sus datos. • Las claves foráneas de las relaciones permiten referenciar claves primarias
  • 33. 29 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 • y, de este modo, establecer conexiones entre los datos de las re- laciones. b) En lo que respecta a la integridad de los datos: • La regla de integridad de unicidad y de entidad de la clave prima- ria: las claves primarias no pueden contener valores repetidos ni valores nulos. • La regla de integridad referencial: los valores de las claves foráne- as deben existir en la clave primaria referenciada o bien deben ser valores nulos. • La regla de integridad de dominio: los valores no nulos de un atri- buto deben pertenecer al dominio del atributo, y los operadores que es posible aplicar sobre los valores dependen de los dominios de estos valores. 2) El álgebra relacional proporciona un conjunto de operaciones para ma- nipular relaciones. Estas operaciones se pueden clasificar de la forma siguiente:  Operaciones conjuntistas: unión, intersección, diferencia y producto cartesiano.  Operaciones específicamente relacionales: selección, proyección y combinación. Las operaciones del álgebra relacional pueden formar secuencias que permiten resolver consultas complejas. Chen, Peter. The Entity-Relationship Model-Toward a Unified View of Data. ACM Transactions on Data Base Systems. Vol. 1, Number 1, 1976 Elmasri, Ramez y Navathe Shamkant B. Sistemas de Bases de Datos: Conceptos Fundamentales. Addison-Wesley.
  • 34. 30 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 J.C. Date. Introducción a los sistemas de Base de Datos. Volumen 1. Quinta Edición.(Texto Guía) Ullman, J.D.; Widom, J. "Introducción a los Sistemas de Bases de Datos". Prentice Hall. En el siguiente fascículo se trabajara con el lenguaje de consultas estructu- radas SQL el cual nos va a permitir desde un DBMS acceder a las bases de datos allí almacenadas realizando para tal fin consultas en este lenguaje que son la representación de las operaciones de algebra relacional vistas en este fascículo.
  • 35. 31 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 SeguimientoalautoaprendizajeSeguimientoalautoaprendizajeSeguimientoalautoaprendizaje Bases de datos - Fascículo No. 1 Nombre_______________________________________________________ Apellidos ________________________________ Fecha: _________________ Ciudad___________________________________Semestre: _______________ 1. Dada la relación que corresponde a la siguiente representación tabular: a) Indique qué conjunto de atributos tiene. b) Diga qué dominio tiene cada uno de sus atributos. c) Escriba todas las distintas formas de denotar su esquema de relación. d) Elija una de las formas de denotar su esquema de relación y utilícela para dibujar el conjunto de tuplas correspondiente a su extensión. 2. Indique cuáles son todas las superclaves de las siguientes relaciones: a) DESPACHOS(edificio, número, superficie), que tiene como única clave can- didata la siguiente: edificio, número. b) EMPLEADOS(DNI, NSS, nombre, apellido), que tiene las siguientes claves candidatas: DNI y NSS.
  • 36. 32 Bases de datos Bases de datos Fascículo No. 2 Semestre 5 3. Diga, para cada una de las siguientes operaciones de actualización, si se podr- ía aceptar su aplicación sobre la base de datos que se ha utilizado en este fascículo: a) Insertar en EDIFICIOS_EMP la tupla <Nexus, 30>. b) Insertar en DESPACHOS la tupla <Diagonal, NULO, 15>. c) Insertar en EMPLEADOS_ADM la tupla <55.555.555, María, Puig, Diagonal, 500>. d) Modificar en DESPACHOS la tupla <Marina, 230, 20> por <Marina, 120, 20>. e) Borrar en EMPLEADOS_PROD la tupla <88.999.20, Pedro, González, NU- LO, NULO>.