Vous êtes sur la page 1sur 32

CAPÍTULO 2

Introducción a la Relacional
Modelo
El modelo relacional es hoy en día el modelo de datos principal para Data-
comercial
aplicaciones de procesamiento. Se alcanzó su posición primaria debido a su
simplicidad,
lo que facilita el trabajo del programador, en comparación con los modelos de
datos anteriores, como
el modelo de red o el modelo jerárquico.
En este capítulo, primero se estudian los fundamentos del modelo relacional. UN
Existe la teoría sustancial para bases de datos relacionales. Estudiamos la parte
de esta teoría
atender las consultas en el capítulo 6. En los capítulos 7 y 8, que examinará
aspectos de la teoría de bases de datos que ayudan en el diseño de esquemas de
bases de datos relacionales,
mientras que en los capítulos 12 y 13 se discuten aspectos de la teoría de tratar
con eficacia
procesamiento de consultas.
2.1
Estructura de bases de datos relacionales
Una base de datos relacional se compone de una colección de tablas , cada una
de las cuales se asigna una
nombre único. Por ejemplo, considere el instructor tabla de la Figura 2.1, que
almacena
información acerca de los instructores. La tabla tiene cuatro títulos de las
columnas: ID , nombre , departamento
nombre y salario . Cada fila de esta tabla registra información acerca de un
instructor,
que consiste en que el instructor de ID , nombre , nombre de
departamento y salario . Del mismo modo, el supuesto
tabla de la Figura 2.2 almacena información sobre los cursos, que consiste en
un curso ID , título ,
Nombre del departamento , y créditos , para cada curso. Tenga en cuenta que
cada instructor se identifica por
el valor de la columna de ID , mientras que cada curso se identifica por el valor de
la
la columna ID de curso .
Figura 2.3 muestra una tabla tercero, Prereq , que almacena los cursos pre-
requisito para
cada curso. La tabla tiene dos columnas, ID del curso y la identificación
prerrequisito . Cada fila consta
de un par de identificadores de golf de tal manera que el segundo curso es un
requisito previo para la
Primer Curso.
Por lo tanto, una fila de la Prereq tabla indica que dos cursos se relacionan en el
sentido de que un curso es un requisito previo para el otro. Como otro ejemplo,
tener en cuenta la tabla de instructor , una fila de la tabla se puede pensarse como
representando
39

Página 27
40
Capítulo 2 Introducción al Modelo Relacional
CARNÉ DE IDENTIDAD
nombre
nombre del departamento
salario
10101
Srinivasan
Comp. Sci. 65000
12121
Wu
Financiar
90000
15151
Mozart
Música
40000
22222
Einstein
Física
95000
32343
El Said
Historia
60000
33456
Oro
Física
87000
45565
Katz
Comp. Sci. 75000
58583
Califieri
Historia
62000
76543
Singh
Financiar
80000
76766
Tortícolis
Biología
72000
83821
Brandt
Comp. Sci. 92000
98345
Kim
Elec. Ing.
80000
Figura 2.1 El instructor relación.
la relación entre un determinado ID y los valores correspondientes para el
nombre ,
Nombre del departamento y salariales valores.
En general, una fila de una tabla representa una relación entre un conjunto de
valores.
Desde una mesa es una colección de este tipo de relaciones, hay una estrecha
correspondencia
entre el concepto de mesa y el concepto matemático de relación , de la cual
el modelo de datos relacional lleva su nombre. En terminología matemática,
una tupla es
simplemente una secuencia (o lista) de valores. Una relación entre n valores es
repre-
tantes matemáticamente por una n-tupla de valores, es decir, una tupla
con n valores, que
corresponde a una fila de una tabla.
ID curso
título
nombre del departamento
créditos
BIO-101
Introducción. de Biología
Biología
4
BIO-301
Genética
Biología
4
BIO-399
Biología Computacional
Biología
3
CS-101
Introducción. a la Informática
Comp. Sci.
4
CS-190
Diseño de juego
Comp. Sci.
4
CS-315
Robótica
Comp. Sci.
3
CS-319
Procesamiento de imágenes
Comp. Sci.
3
CS-347
Base de datos del Sistema Conceptos Comp. Sci.
3
EE-181
Introducción. para Sistemas Digitales
Elec. Ing.
3
FIN-201
Banca de inversión
Financiar
3
SU-351
Historia mundial
Historia
3
MU-199
Música Vídeo
Música
3
PHY-101
Principios físicos
Física
4
Figura 2.2 El curso relación.

Página 28
2.1 Estructura de las bases de datos relacionales
41
ID curso
Identificación del Prereq
BIO-301
BIO-101
BIO-399
BIO-101
CS-190
CS-101
CS-315
CS-101
CS-319
CS-101
CS-347
CS-101
EE-181
PHY-101
Figura 2.3 El Prereq relación.
Así, en el modelo relacional el término relación se utiliza para referirse a una
tabla, mientras
el término tupla se utiliza para referirse a una fila. Del mismo modo, el
término atributo se refiere a una
columna de una tabla.
El examen de la figura 2.1, podemos ver que la relación instructor tiene cuatro
atributos:
Identificación , nombre , nombre de departamento y salario .
Usamos el término instancia relación para referirse a una instancia específica de
una relación,
es decir, que contiene un conjunto específico de filas. La instancia
de instructor muestra en la Figura 2.1
tiene 12 tuplas, correspondientes a 12 instructores.
En este capítulo, vamos a estar usando un número de diferentes relaciones para
ilustrar la
diversos conceptos que subyacen en el modelo de datos relacional. Estas
relaciones representan
parte de una universidad. No se incluyen todos los datos de una base de datos real
de la universidad
contendría, con el fin de simplificar la presentación. Discutiremos criterios para
la adecuación de las estructuras relacionales con gran detalle en los capítulos 7 y
8.
El orden en que aparecen tuplas en una relación es irrelevante, ya que una
relación
es un conjunto de tuplas. Por lo tanto, si las tuplas de una relación se enumeran
en orden clasificado,
como en la Figura 2.1, o están sin clasificar, como en la figura 2.4, no
importa; las relaciones en
CARNÉ DE IDENTIDAD
nombre
nombre del departamento
salario
22222
Einstein
Física
95000
12121
Wu
Financiar
90000
32343
El Said
Historia
60000
45565
Katz
Comp. Sci. 75000
98345
Kim
Elec. Ing.
80000
76766
Tortícolis
Biología
72000
10101
Srinivasan
Comp. Sci. 65000
58583
Califieri
Historia
62000
83821
Brandt
Comp. Sci. 92000
15151
Mozart
Música
40000
33456
Oro
Física
87000
76543
Singh
Financiar
80000
Figura 2.4 pantalla Unsorted del instructor relación.

Página 29
42
Capítulo 2 Introducción al Modelo Relacional
las dos figuras son los mismos, ya que ambos contienen el mismo conjunto de
tuplas. Para la facilidad
de la exposición, sobre todo vamos a mostrar las relaciones ordenados por su
primer atributo.
Para cada atributo de una relación, hay un conjunto de valores permitidos,
llamada
dominio de ese atributo. Por lo tanto, el dominio del salario atributo
del instructor
relación es el conjunto de todos los valores posibles de sueldo, mientras que el
dominio del nombre
atributo es el conjunto de todos los posibles nombres de instructor.
Es necesario que, a pesar de las relaciones r , los dominios de todos los atributos
de r ser atómica.
Un dominio es atómica si se consideran elementos del dominio para que sea
indivisible
unidades. Por ejemplo, supongamos que la tabla instructor tenía un
atributo número de teléfono ,
que puede almacenar un conjunto de números telefónicos correspondientes al
instructor. Entonces el
Dominio del número de teléfono no sería atómica, ya que un elemento del
dominio es una
un conjunto de números de teléfono, y tiene subpartes, es decir, los números de
teléfono individuales
en el conjunto.
La cuestión importante no es lo que el dominio de sí mismo es, sino más bien la
forma en que utilizamos
elementos del dominio en nuestra base de datos. Supongamos ahora que
el número de teléfono de atributos
almacena un único número de teléfono. Incluso entonces, si dividimos el valor
del teléfono
número de atributo en un código de país, código de área y un número local, que
lo haría
se trata como un valor no atómica. Si tratamos a cada número de teléfono como
una sola
unidad indivisible, entonces el atributo número de teléfono tendría un dominio
atómico.
En este capítulo, así como en los capítulos 3 a 6, se supone que todos los
atributos
tienen dominios atómicos. En el capítulo 22, discutiremos las extensiones a lo
relacional
modelo de datos para permitir que los dominios no atómicas.
El nulo valor es un valor especial que significa que el valor es desconocido o
no existe. Por ejemplo, supongamos que antes de que se incluya el atributo de
teléfono
número en el instructor de relación. Puede ser que el instructor no tiene una
el número de teléfono en absoluto, o que el número de teléfono no está
listado. Tendríamos entonces
tiene que utilizar el valor nulo para indicar que el valor es desconocido o no
existe.
Más adelante veremos que los valores nulos causan una serie de dificultades
cuando accedemos
o actualizar la base de datos, y por lo tanto deben ser eliminados si es
posible. Deberíamos
asumen valores nulos están ausentes inicialmente, y en la Sección 3.6 que
describen el efecto
de valores nulos en diferentes operaciones.
2.2
esquema de base de datos
Cuando hablamos de una base de datos, hay que diferenciar entre la base de
datos
esquema , que es el diseño lógico de la base de datos, y el ejemplo de base de
datos ,
que es una instantánea de los datos en la base de datos en un instante dado en el
tiempo.
El concepto de una relación corresponde a la programación en no-
ción de una variable, mientras que el concepto de un esquema de
relación corresponde a la
idea de la programación de lenguaje de definición de tipo.
En general, un esquema de relación consiste en una lista de atributos y su corres-
dominios pondientes. No debemos estar preocupados por la definición precisa de
la
Dominio de cada atributo hasta que discutir el SQL idioma en el Capítulo 3.
El concepto de una instancia de relación corresponde a la programación en
noción de un valor de una variable. El valor de una variable dada puede cambiar
con el tiempo;

Página 30
2.2 Esquema de base de datos
43
nombre del departamento
edificio
presupuesto
Biología
Watson
90000
Comp. Sci. Taylor
100000
Elec. Ing.
Taylor
85000
Financiar
Pintor
120000
Historia
Pintor
50000
Música
Packard
80000
Física
Watson
70000
Figura 2.5 El departamento de relación.
Del mismo modo el contenido de una instancia de relación pueden cambiar con
el tiempo como la relación
se actualiza. Por el contrario, el esquema de una relación por lo general no
cambia.
Aunque es importante saber la diferencia entre un esquema de la relación
y una instancia de relación, que a menudo utilizan el mismo nombre,
como instructor , para referirse
tanto para el esquema y la instancia. Cuando sea necesario, nos referimos
explícitamente a la
esquema o a la instancia, por ejemplo “el instructor esquema,” o “una instancia
de
el instructor de relación.”No obstante, cuando no está claro si nos referimos al
esquema
o la instancia, que sólo tiene que utilizar el nombre de la relación.
Considere el departamento de relación de la figura 2.5. El esquema para que la
relación es
departamento de ( nombre de departamento , edificio , presupuesto )
Tenga en cuenta que el atributo de nombre de departamento aparece tanto en
el instructor de esquema y el
departamento de esquema. Esta duplicación no es una coincidencia. Más bien, el
uso común
atributos en esquemas de relación es una forma de relacionarse tuplas de las
relaciones distintas.
Por ejemplo, supongamos que queremos encontrar la información sobre todos los
instructores
que trabajan en el edificio Watson. Miramos por primera vez en el departamento
de relación con
encontrar el nombre de departamento de todos los departamentos alojados en
Watson. Entonces, para cada uno de tales
departamento, nos fijamos en el instructor de relación para encontrar la
información sobre el
instructor asociado con el correspondiente nombre de departamento .
Sigamos con nuestro ejemplo de base de datos de la universidad.
Cada curso en una universidad puede ser ofrecido varias veces, a través de
diferentes
semestres, o incluso dentro de un semestre. Necesitamos una relación para
describir cada indivi-
UAL oferta, o sección, de la clase. El esquema es
sección ( Identificación por supuesto , seg
Identificación , semestre , año , edificio , número de habitación , tiempo de id
espacio )
La figura 2.6 muestra un ejemplo de muestra de la sección de relación.
Necesitamos una relación para describir la asociación entre los instructores y el
secciones de clases que enseñan. El esquema de relación para describir esta
asociación es
enseña ( ID , ID curso , seg Identificación , semestre , año )

Página 31
44
Capítulo 2 Introducción al Modelo Relacional
ID curso
Identificación del sec
semestre
año
edificio
sala de tiempo número ID de intervalo
BIO-101
1
verano 2009
Pintor
514
segundo
BIO-301
1
verano 2010
Pintor
514
UN
CS-101
1
Otoño
2009
Packard
101
H
CS-101
1
Primavera
2010
Packard
101
F
CS-190
1
Primavera
2009
Taylor
3128
mi
CS-190
2
Primavera
2009
Taylor
3128
UN
CS-315
1
Primavera
2010
Watson
120
re
CS-319
1
Primavera
2010
Watson
100
segundo
CS-319
2
Primavera
2010
Taylor
3128
do
CS-347
1
Otoño
2009
Taylor
3128
UN
EE-181
1
Primavera
2009
Taylor
3128
do
FIN-201
1
Primavera
2010
Packard
101
segundo
SU-351
1
Primavera
2010
Pintor
514
do
MU-199
1
Primavera
2010
Packard
101
re
PHY-101
1
Otoño
2009
Watson
100
UN
Figura 2.6 La sección de relación.
La Figura 2.7 muestra un ejemplo de muestra de la enseña relación.
Como se puede imaginar, hay muchas más las relaciones mantenidas en una
verdadera uni
versidad de base de datos. Además de esas relaciones que hemos enumerado
ya, instructor ,
departamento , por supuesto , la sección , Prereq , y enseña , usamos las
siguientes relaciones en este
texto:
CARNÉ DE IDENTIDAD
ID curso
Identificación del sec
semestre
año
10101
CS-101
1
Otoño
2009
10101
CS-315
1
Primavera
2010
10101
CS-347
1
Otoño
2009
12121
FIN-201
1
Primavera
2010
15151
MU-199
1
Primavera
2010
22222
PHY-101
1
Otoño
2009
32343
SU-351
1
Primavera
2010
45565
CS-101
1
Primavera
2010
45565
CS-319
1
Primavera
2010
76766
BIO-101
1
verano 2009
76766
BIO-301
1
verano 2010
83821
CS-190
1
Primavera
2009
83821
CS-190
2
Primavera
2009
83821
CS-319
2
Primavera
2010
98345
EE-181
1
Primavera
2009
Figura 2.7 El enseña relación.

Página 32
2.3 Teclas
45
• estudiante ( ID , nombre , nombre de departamento , tot CRED )
• asesor ( s Identificación , i ID )
• toma ( ID , ID curso , seg Identificación , semestre , año , grado )
• aula ( edificio , número de habitación , capacidad )
• espacio de tiempo ( tiempo de id espacio , día , hora de inicio , hora de finalización )
2.3
Llaves
Hay que tener una forma de especificar qué tuplas en una relación dada son
distin-
guido. Esto se expresa en términos de sus atributos. Es decir, los valores de la
valores de atributo de una tupla deben ser tales que puedan identificar de forma
exclusiva la tupla.
En otras palabras, no hay dos tuplas de una relación se les permite tener
exactamente el mismo
valor para todos los atributos.
Un superkey es un conjunto de uno o más atributos que, tomados en conjunto,
nos permiten
para identificar de forma única una tupla en la relación. Por ejemplo,
el ID atributo de la
relación instructor es suficiente para distinguir una tupla instructor de otro.
Por lo tanto, ID es una superclave. El nombre de atributo del instructor , por el
contrario, no es
una superclave, debido a que varios instructores podría tener el mismo nombre.
Formalmente, dejó R denota el conjunto de atributos en el esquema de la
relación r . Si nosotros
decir que un subconjunto K de R es un superkey para r , que se restringe a la
consideración
ejemplos de las relaciones r en la que no hay dos tuplas distintas tienen los
mismos valores en
todos los atributos de K . Es decir, si t 1 y t 2 son en r y t 1 = t 2 , a
continuación, t 1 .K = t 2 .K .
Un superkey puede contener atributos extraños. Por ejemplo, la combinación
de ID y el nombre es un superkey para la relación instructor . Si K es un superkey,
a continuación, por lo
es cualquier superconjunto de K . A menudo estamos interesados en superclaves
para los que no adecuada
subconjunto es una superclave. Tales superclaves mínimos se denominan claves
candidatas .
Es posible que varios grupos distintos de atributos podrían servir como candidato
llave. Supongamos que una combinación de nombre y dept nombre es suficiente
para distinguir
entre los miembros del instructor de relación. Entonces,
tanto { ID } y {nombre , nombre de departamento}
son claves candidatas. Aunque el atributos ID y nombre juntos pueden distinguir
instructor tuplas, su combinación, { ID , nombre} , no forma una clave candidata,
ya que el atributo de identificación por sí sola es una clave candidata.
Vamos a utilizar el término clave principal para denotar una clave candidata que
se elige
por el diseñador de base de datos como el principal medio de identificación
dentro de un tuplas
relación. Una de las claves (ya sea primaria, candidato, o super) es una propiedad
de la totalidad
relación, en lugar de de las tuplas individuales. Cualquier par de tuplas
individuales en el
relación tienen prohibido tener el mismo valor a los atributos clave en el
Mismo tiempo. La designación de una llave representa una limitación en el
mundo real
la empresa que se está modelando.
Las claves primarias deben ser escogidos con cuidado. Como hemos señalado, el
nombre de una persona es
obviamente no es suficiente, porque puede haber muchas personas con el mismo
nombre.
En los Estados Unidos, el número de atributos de seguridad social de una persona
sería
una clave candidata. Dado que los residentes no estadounidenses por lo general
no tienen la seguridad social

Página 33
46
Capítulo 2 Introducción al Modelo Relacional
los números, las empresas internacionales deben generar sus propios
identificadores únicos.
Una alternativa es utilizar una combinación única de otros atributos como clave.
La clave primaria debe ser elegido de tal manera que sus valores de atributos no
son nunca,
o muy raramente, cambiado. Por ejemplo, el campo de dirección de una persona
no debe ser
parte de la clave primaria, ya que es probable que cambie. los números de la
seguridad social, en
Por otro lado, se garantiza que nunca cambie. Los identificadores únicos
generados por
empresas en general no cambian, excepto si dos empresas se fusionan; En ese
caso
el mismo identificador puede haber sido emitida por ambas empresas, y una
reasignación
de identificadores puede ser necesaria para asegurarse de que son únicos.
Se acostumbra a enumerar los atributos de clave primaria de un esquema de
relación antes
los otros atributos; por ejemplo, el nombre de departamento atributo
del departamento está en la lista
En primer lugar, ya que es la clave principal. atributos de clave primaria también
están subrayados.
Una relación, digamos r 1 , puede incluir entre sus atributos de la clave principal
de an-
otra relación, digamos r 2 . Este atributo se denomina clave externa de r 1 ,
haciendo referencia r 2 .
La relación r 1 es también llamada la relación de referencia de la depen- clave
externa
dencia, y r 2 se denomina la relación de referencia de la clave externa. Por
ejemplo, el
atributo nombre de departamento en el instructor es una clave externa
de instructor , haciendo referencia departa-
ción , ya que el nombre del departamento es la clave principal
del departamento . En cualquier instancia de base,
dado ninguna tupla, por ejemplo t una , del instructor de relación, debe haber
alguna tupla, di
t b , en el departamento de relación tal que el valor del nombre dept atributo
de t un es
el mismo que el valor de la clave primaria, nombre de departamento , de t b .
Consideremos ahora la sección y enseña las relaciones. Sería razonable
requieren que si existe una sección para un curso, debe ser enseñado por al
menos una
instructor; sin embargo, podría ser enseñado por más de un instructor.
Para hacer cumplir esta restricción, que requeriría que si un particular,
( Identificación por supuesto , seg Identificación ,
semestre , año ) combinación aparece en la sección , a continuación, la misma
combinación debe
aparecerá en la enseña . Sin embargo, este conjunto de valores no forma una
clave principal para
enseña , ya que más de un instructor puede enseñar a un tal sección. Como
resultado,
no podemos declarar una restricción de clave externa de la
sección de enseña (aunque
puede definir una restricción de clave externa en la otra dirección,
desde enseña a sección ).
La restricción de la sección a enseña es un ejemplo de una integridad
referencial
restricción ; una restricción de integridad referencial requiere que los valores
que aparecen en las
atributos especificados de cualquier tupla en la relación de referencias también
aparecen en especifique
atributos de al menos una tupla en la relación que se hace referencia.
2.4
Diagramas de esquema
Un esquema de base de datos, junto con la clave principal y dependencias de
clave externa, puede
ser representada por diagramas de esquema . Figura 2.8 muestra el diagrama de
esquema para nuestra
organización universitaria. Cada relación aparece como un cuadro, con el nombre
de relación en
la parte superior en azul, y los atributos listados dentro del área. atributos de
clave primaria son
se muestra subrayado. dependencias de clave externa aparecen como flechas
desde el extranjero
atributos clave de la relación de referencia a la clave principal de la referencia
relación.

Página 34
2.5 de consultas relacionales Idiomas
47
CARNÉ DE IDENTIDAD
course_id
sec_id
semestre
año
grado
CARNÉ DE IDENTIDAD
nombre
DEPT_NAME
tot_cred
edificio
habitación no
capacidad
S_ID
i_id
CARNÉ DE IDENTIDAD
course_id
sec_id
semestre
año
toma
sección
aula
enseña
Prereq
course_id
prereq_id
course_id
título
DEPT_NAME
créditos
curso
estudiante
DEPT_NAME
edificio
presupuesto
Departamento
instructor
CARNÉ DE IDENTIDAD
nombre
DEPT_NAME
salario
tutor
time_slot
time_slot_id
día
hora de inicio
hora de finalización
course_id
sec_id
semestre
año
edificio
habitación no
time_slot_id
Figura 2.8 diagrama de esquema para la base de datos de la universidad.
restricciones de integridad referencial que no sean claves foráneas no son
se muestra explícitamente en los diagramas de esquema. Vamos a estudiar un
diagrama diferente
representación llamado el diagrama entidad-relación más adelante, en el capítulo
7. Entidad-
diagramas de relación Vamos a representar varios tipos de limitaciones, entre
ellas
restricciones de integridad referencial generales.
Muchos sistemas de bases de datos proporcionan herramientas de diseño con una
interfaz gráfica de usuario
para la creación de diagramas de esquema. Discutiremos representación
esquemática de
esquemas en detalle en el capítulo 7.
La empresa que utilizamos en los ejemplos en los capítulos siguientes es una
universidad.
Figura 2.9 da el esquema relacional que utilizamos en nuestros ejemplos, la de
primaria
atributos clave subrayados. Como veremos en el capítulo 3, esto corresponde a la
enfoque para definir las relaciones en el SQL lenguaje de definición de datos.
2.5
Consulta Relacional Idiomas
Un lenguaje de consulta es un lenguaje en el que un usuario solicita información
de la
base de datos. Estas lenguas son por lo general en un nivel más alto que el de un
patrón
lenguaje de programación. Los lenguajes de consulta pueden ser categorizados
como procedimental
o no procedimental. En un lenguaje de procedimientos , el usuario indica al
sistema que
realizar una secuencia de operaciones en la base de datos para calcular el
resultado deseado.
En un lenguaje no procedimental , el usuario describe la información deseada
sin
dándole un procedimiento específico para obtener esa información.

Página 35
48
Capítulo 2 Introducción al Modelo Relacional
aula ( edificio , número de habitación , capacidad )
departamento de ( nombre de departamento , edificio , presupuesto )
Por supuesto ( ID curso , título , nombre de departamento , créditos )
instructor ( ID , nombre , nombre de departamento , salario )
sección ( Identificación por supuesto , seg
Identificación , semestre , año , edificio , número de habitación , tiempo de id
espacio )
enseña ( ID , ID curso , seg Identificación , semestre , año )
estudiante ( ID , nombre , nombre de departamento , tot CRED )
toma ( ID , ID curso , seg Identificación , semestre , año , grado )
asesor ( s ID , i ID )
intervalo de tiempo ( tiempo de id espacio , día , hora de inicio , hora de
finalización )
Prereq ( ID curso , Prereq ID )
Figura 2.9 Esquema de la base de datos de la universidad.
Los lenguajes de consulta utilizados en la práctica incluyen elementos tanto del
procedimiento y
los enfoques no procedimentales. Se estudia el lenguaje de consulta muy
ampliamente utilizado
SQL en los capítulos 3 a 5.
Hay una serie de lenguajes de consulta “puros”: El álgebra relacional es pro-
cedural, mientras que el cálculo relacional de tuplas y dominio cálculo relacional
son
no procedimental. Estos lenguajes de consulta son escueta y formal, que carecen
de la “sintáctica
azúcar”de las lenguas comerciales, pero ilustran las técnicas fundamentales
para extraer datos de la base de datos. En el capítulo 6, se examina en detalle la
relación
álgebra cional y las dos versiones del cálculo relacional, la relacional de tuplas
cálculo y cálculo relacional de dominio. El álgebra relacional consiste en un
conjunto
las operaciones que tienen uno o dos relaciones como entrada y producen una
nueva relación
como su resultado. El cálculo relacional utiliza la lógica de predicados para
definir el resultado
deseado sin dar ningún procedimiento algebraico específico para la obtención de
este resultado.
2.6
Operaciones relacionales
Todos los lenguajes de consulta relacionales de procedimiento proporcionan un
conjunto de operaciones que se pueden
aplicada a un único relación o un par de relaciones. Estas operaciones tienen
la propiedad deseada agradable y que su resultado es siempre una única
relación. Esta
propiedad permite combinar varias de estas operaciones de forma modular.
Específicamente, puesto que el resultado de una consulta relacional es en sí una
relación, relacional
las operaciones se pueden aplicar a los resultados de las consultas, así como para
el conjunto dado de
relaciones.
Las operaciones relacionales específicos se expresan de forma diferente en
función de la
idioma, pero encaja en el marco general se describe en esta sección. En el
capítulo 3,
mostramos la forma específica las operaciones se expresan en SQL .
La operación más frecuente es la selección de tuplas específicas de un pecado
relación GLE (por ejemplo instructor ) que satisface algún predicado en
particular (digamos salarial>
$ 85.000). El resultado es una nueva relación que es un subconjunto de la
relación original ( in-

Página 36
2.6 operaciones relacionales
49
CARNÉ DE IDENTIDAD
nombre
nombre del departamento
salario
12121
Wu
Financiar
90000
22222
Einstein
Física
95000
33456
Oro
Física
87000
83821
Brandt
Comp. Sci. 92000
Figura 2.10 Resultado de la consulta de selección instructor tuplas con un
salario superior a $ 85000.
structor ). Por ejemplo, si seleccionamos tuplas del instructor relación de la
figura 2.1,
satisfacer el predicado “ salario es mayor que $ 85000”, obtenemos el resultado
se muestra en la
Figura 2.10.
Otra operación frecuente es seleccionar ciertos atributos (columnas) de una
relación. El resultado es una relación nueva que tiene solamente aquellos
atributos seleccionados. por
ejemplo, supongamos que queremos una lista de instructor ID s y salarios sin lista
los nombres y nombres dept valores del instructor relación de la figura 2.1,
entonces el
En consecuencia, se muestra en la figura 2.11, tiene los dos
atributos ID y salario . Cada tupla de
el resultado se deriva de una tupla de la instructor relación pero con sólo
selecciona
atributos mostrados.
El unirse a la operación permite la combinación de dos relaciones mediante la
fusión de pares de
tuplas, uno de cada relación, en una sola tupla. Hay un número de diferentes
maneras de unirse a las relaciones (como veremos en el capítulo 3). Figura 2.12
muestra un ejemplo
de unirse a las tuplas de los instructores y del departamento de tablas con las
nuevas tuplas
mostrando la información sobre cada instructor y el departamento en el que se
está trabajando. Este resultado se formó mediante la combinación de cada tupla
en el instructor
relación con la tupla en el departamento de relación para el departamento del
instructor.
En la forma de join muestra en la figura 2.12, que se llama un unen naturales ,
una tupla
Del instructor relación coincide con una tupla en el departamento de relación si
los valores
CARNÉ DE IDENTIDAD
salario
10101
65000
12121
90000
15151
40000
22222
95000
32343
60000
33456
87000
45565
75000
58583
62000
76543
80000
76766
72000
83821
92000
98345
80000
Figura 2.11 resultado de seleccionar consulta los atributos
de ID y salario del instructor relación.

Página 37
50
Capítulo 2 Introducción al Modelo Relacional
CARNÉ DE IDENTIDAD
nombre
salario
nombre del departamento
edificio
presupuesto
10101
Srinivasan
65000
Comp. Sci.
Taylor
100000
12121
Wu
90000
Financiar
Pintor
120000
15151
Mozart
40000
Música
Packard
80000
22222
Einstein
95000
Física
Watson
70000
32343
El Said
60000
Historia
Pintor
50000
33456
Oro
87000
Física
Watson
70000
45565
Katz
75000
Comp. Sci.
Taylor
100000
58583
Califieri
62000
Historia
Pintor
50000
76543
Singh
80000
Financiar
Pintor
120000
76766
Tortícolis
72000
Biología
Watson
90000
83821
Brandt
92000
Comp. Sci.
Taylor
100000
98345
Kim
80000
Elec. Ing.
Taylor
85000
Figura 2.12 Resultado de la unión natural de los instructores y del departamento
de relaciones.
de su departamento de nombres de atributos son los mismos. Todos estos pares
coincidentes de las tuplas son
presentar en el resultado unirse. En general, la reunión natural operación en dos
relaciones
los partidos tuplas cuyos valores son los mismos en todos los nombres de los
atributos que son comunes
tanto a las relaciones.
El producto cartesiano operación combina tuplas de dos relaciones, pero a
diferencia de
la operación de unión, su resultado contiene todos los pares de tuplas de las dos
relaciones,
independientemente de si sus valores de atributo coincidan.
Debido a que las relaciones son conjuntos, podemos realizar operaciones con el
conjunto de las relaciones normales.
La unión operación realiza una unión de conjuntos de dos tablas “de estructura
similar”
(Digamos una tabla de todos los estudiantes graduados y una mesa de todos los
estudiantes universitarios).
Por ejemplo, se puede obtener el conjunto de todos los estudiantes en un
departamento. otro conjunto
operaciones, como la intersección y diferencia de conjuntos se pueden realizar
también.
Como señalamos anteriormente, podemos realizar operaciones en los resultados
de las consultas. por
ejemplo, si queremos encontrar el ID y el salario de los profesores que tienen el
sueldo
mayor que $ 85.000 queremos llevar a cabo las dos primeras operaciones en
nuestro ejemplo
encima. En primer lugar seleccionamos aquellas tuplas del instructor de relación
donde el salario
valor es mayor que $ 85.000 y luego, a partir de ese resultado, seleccione los dos
atributos
ID y salario , resultando en la relación mostrada en la figura 2.13 que consiste en la ID
CARNÉ DE IDENTIDAD
salario
12121
90000
22222
95000
33456
87000
83821
92000
Figura 2.13 resultado de seleccionar atributos de ID y sueldo de instructores con
mayor sueldo
de $ 85.000.

Página 38
2.6 operaciones relacionales
51
Álgebra Relacional
El álgebra relacional define un conjunto de operaciones sobre las relaciones, en
paralelo con la
operaciones algebraicas habituales, tales como suma, resta o multiplicación, que
operar con números. Sólo operaciones algebraicas como en cifras tienen uno o
más
números como entrada y devolver un número como de salida, el álgebra
relacional op-
racio suelen tener uno o dos relaciones como entrada y devolver una relación tan
salida.
álgebra relacional se trata en detalle en el capítulo 6, pero esbozar algunas de
las operaciones siguientes.
Símbolo (Nombre)
Ejemplo de Uso
σ
σsalary > = 85000
( Instructor )
(Selección)
Devolver las filas de la relación de entrada que satisfacen
el predicado.
ID, el salario ( instructor )
(Proyección)
atributos de salida especificada de todas las filas de
la relación de entrada. Retire tuplas duplicadas
desde la salida.
1
instructor de 1 departamento
(Natural unirse)
pares de salida de las filas de la entrada de dos rela-
ciones que tienen el mismo valor en todos los atributos
que tienen el mismo nombre.
×
instructor × departamento
(Producto cartesiano)
Salida de todos los pares de filas de la entrada de dos
las relaciones (independientemente de si son o no
tener los mismos valores en los atributos comunes)

Nombre ( instructor ) ∪ nombre ( estudiante )
(Unión)
Salida de la unión de los dos tuplas de entrada
relaciones.
y salario . En este ejemplo, podríamos haber realizado las operaciones en
cualquiera
orden, pero eso no es el caso para todas las situaciones, como veremos más
adelante.
A veces, el resultado de una consulta contiene tuplas duplicadas. Por ejemplo, si
seleccione el nombre del departamento atributo del instructor de relación, hay
varios casos
de la duplicación, incluyendo “Comp. Sci.”, Que se muestra tres veces. cierta
relación
idiomas cionales se adhieren estrictamente a la definición matemática de un
conjunto y eliminan
duplicados. Otros, en consideración de la relativamente gran cantidad de
procesamiento
requerida para eliminar los duplicados de las grandes relaciones de resultados,
mantener duplicados. En
estos últimos casos, las relaciones no son verdaderamente las relaciones en la
matemática pura
sentido del término.
Por supuesto, los datos en una base de datos se deben cambiar con el tiempo. Una
relación puede ser
actualizado mediante la inserción de nuevas tuplas, borrar tuplas existentes, o
modificar tuplas por

Página 39
52
Capítulo 2 Introducción al Modelo Relacional
cambiando los valores de ciertos atributos. las relaciones enteras pueden ser
borrados y nuevos
los creados.
Discutiremos consultas relacionales y actualizaciones utilizando el SQL idioma en
Capítulos 3 a 5.
2.7
Resumen
• El modelo de datos relacional se basa en una colección de tablas. El usuario de la
sistema de base de datos puede consultar estas tablas, insertar nuevas tuplas,
eliminar tuplas,
y la actualización (modificar) tuplas. Hay varias lenguas para expresar estos
operaciones.
• El esquema de una relación se refiere a su diseño lógico, mientras que un ejemplo de la
relación se refiere a su contenido en un punto en el tiempo. El esquema de una
base de datos y
una instancia de una base de datos se define de manera similar. El esquema de
una relación in-
concluye sus atributos, y, opcionalmente, los tipos de los atributos y limitaciones
sobre la relación tales como las restricciones de claves primarias y externas.
• Un superkey de una relación es un conjunto de uno o más atributos cuyos valores son
garantizada para identificar las tuplas de la relación única. Una clave candidata es
una
superkey mínima, es decir, un conjunto de atributos que forma una superkey,
pero ninguno
de cuyos subconjuntos es una superclave. Una de las claves candidatas de una
relación es
elegido como su clave principal .
• Una clave externa es un conjunto de atributos en una relación de referencia, de manera que para cada
tupla en la relación referencia, los valores de los atributos clave son extranjeros
garantizada a ocurrir como el valor de la clave primaria de una tupla en la que se
hace referencia
relación.
• Un diagrama de esquema es una representación gráfica del esquema de una base de datos que
muestra las relaciones en la base de datos, sus atributos y claves primarias y
llaves extranjeras.
• Los lenguajes de consulta relacionales definen un conjunto de operaciones que operan en
tablas y cuadros de salida como de sus resultados. Estas operaciones se pueden
combinar
para obtener expresiones que expresan las consultas deseadas.
• El álgebra relacional proporciona un conjunto de operaciones que tienen uno o más
como las relaciones de entrada y devuelven una relación como una
salida. lenguajes de consulta prácticos
tales como SQL se basan en el álgebra relacional, además de añadir una serie de
útiles
características sintácticas.

Vous aimerez peut-être aussi