Bases de Datos: fundamentos del modelo relacional

Anuncio
Bases de Datos: fundamentos del modelo
relacional
Franco Guidi Polanco
Escuela de Ingeniería Industrial
Pontificia Universidad Católica de Valparaíso, Chile
[email protected]
Ejemplo de una Relación
Código
Franco Guidi Polanco
Canción
Intérprete
1
Help
The Beatles
2
The eye in the sky
Alan Parsons Project
3
Goodbye Stranger
Supertramp
4
Imagine
John Lennon
2
El Modelo Relacional: relaciones y tablas
v Fundamentos:
§  Producto cartesiano de dos conjuntos D1 y D2:
D1 x D2 = { (v1,v2) / v1 ∈ D1 ∧ v2 ∈ D2 }
§  Ejemplo:
A = { 10, 20, 25 }
B = { a, b }
A x B = { (10,a), (10,b),(20,a),(20,b),(25,a),(25,b)}
v Se define:
§  “Relación” sobre los “dominios” D1 y D2 al conjunto R:
R ⊆ D1 x D2
§  Ejemplo:
R = { (10,b),(20,a),(25,a)}
Franco Guidi Polanco
3
El Modelo Relacional: relaciones y tablas (cont.)
v Las relaciones pueden ser representadas en
formato tabular:
10
a
10
b
10
b
20
a
20
a
25
a
20
b
25
a
25
b
R
AxB
Franco Guidi Polanco
4
El Modelo Relacional: relaciones y tablas (cont.)
v Generalización respecto del número de
conjuntos (o dominios):
§  n > 0 conjuntos no necesariamente distintos D1,
D2, ..., Dn
§  El producto cartesiano será el conjunto:
D1x D2 x ...x Dn = { (v1,v2,...,vn) / vi ∈ Di , 1 ≤ i ≤ n }
R ⊆ D1 x D2 ... x Dn
Donde:
•  n: “grado” del producto cartesiano (y de la relación).
•  |R |: cardinalidad de la relación (número de
elementos).
Franco Guidi Polanco
5
El Modelo Relacional: relaciones y tablas (cont.)
v Ejemplo: relación de grado 3, sobre los dominios A={ Fiat,
Mazda}, B={ rojo, blanco, azul } y C={ 10, 20 }
Fiat
rojo
10
Fiat
rojo
20
Fiat
rojo
20
Fiat
blanco
20
Fiat
blanco
10
Fiat
azul
20
Fiat
blanco
20
Mazda
rojo
20
Fiat
azul
10
Mazda
azul
20
Fiat
azul
20
Mazda
rojo
10
Mazda
rojo
20
Mazda
blanco
10
Mazda
blanco
20
Mazda
azul
10
Mazda
azul
20
Franco Guidi Polanco
Relación de
cardinalidad igual a 5
AxBxC
6
Características de las Relaciones
v  Desde la perspectiva de las bases de
datos, cada tupla contiene datos en algún
modo vinculados.
Help
Beatles
125
Libertango
Piazzola
175
Tema
v  No se define ordenamiento alguno entre
las tuplas. El orden que aparece en la
representación tabular es casual. Dos
tablas con las mismas tuplas en distinto
orden, representan la misma relación (*).
v  Las tuplas de una relación deben ser
distintas entre ellas, es decir, una
relación no debe contener tuplas
repetidas (*).
Intérprete Duración
(sec)
a
20
b
30
c
70
=
a
20
c
70
b
30
a
20
b
30
a
20
(*) Propiedades de los conjuntos.
Franco Guidi Polanco
7
Relaciones y atributos
v Se asocia a cada ocurrencia de un dominio en una
relación un nombre denominado “atributo”.
Atributos
Equipo_Local
Equipo_Visita
Goles_Local
Goles_Visita
Colo-Colo
Est. de Quilpué
1
4
San Luis
U. Católica
5
2
U. de Chile
Curicó Unido
0
2
Franco Guidi Polanco
8
Una Base de Datos Relacional
ESTUDIANTES
NOTAS
Rol
Apellido
Nombre
Fecha nacimiento
551014-1
Cervantes
Miguel
14/07/1981
552017-6
Da Vinci
Leonardo
03/12/1982
563382-3
Ryan
Meg
22/11/1981
567601-5
Armani
Jorge
10/02/1981
Código
Descripción
Profesor
CURSOS
Rol
Código
Nota
551014-1
EII140
6,5
EII140
Intr. a la Ingeniería
Castillo
551014-1
EII147
5,3
EII147
Intr. a las T.I.
Cubillos
563382-3
EII140
4,4
EII248
Estructuras de Datos
Silva
567601-5
EII248
6,2
EII350
Estadística
Gatica
Franco Guidi Polanco
9
Definiciones en el Ambito de BD
v  Esquemas de relaciones: nombres de las relaciones más conjunto de
nombres de atributos. Ejemplo:
§  ESTUDIANTES ( Rol, Apellido, Nombre, Fecha nacimiento)
§  NOTAS ( Rol, Código, Nota )
§  CURSOS ( Código, Descripción, Profesor )
v  Esquema de la base de datos (R): conjunto de esquemas de relaciones
(con nombres distintos). Ejemplo:
R = { ESTUDIANTES ( Rol, Apellido, Nombre, Fecha nacimiento), NOTAS ( Rol, Código,
Nota ), CURSOS ( Código, Descripción, Profesor ) }
v  Instancia de una relación: es el conjunto de tuplas de la relación.
v  Instancia de la BD: es el conjunto de instancias de todas las relaciones
que componen el esquema de la BD.
Franco Guidi Polanco
10
Información incompleta y valores nulos
v Cuando el valor de un atributo no está disponible para una
tupla, no es correcto (o no es siempre posible) representar
su ausencia por medio de un valor propio del dominio del
atributo.
v El problema se resuelve extendiendo el modelo relacional
para permitir que una tupla pueda asumir para cada
atributo, ya sea:
§  Un valor del dominio
§  Un valor nulo, representado por NULL
NOTAS
Franco Guidi Polanco
Estudiante
Curso
Nota
551014-1
EII140
6,5
551014-1
EII147
NULL
563382-3
EII140
4,4
11
Restricciones de integridad
v Son propiedades que deben ser satisfechas por las
instancias correctas de la BD.
v Cada restricción puede ser expresada como un
predicado.
v Una instancia correcta es aquella que satisface
todos los predicados.
Franco Guidi Polanco
12
Restricciones de integridad (cont.)
v Restricciones intrarrelacionales: deben ser
cumplidas por cada relación de la base de datos
§  Ej: (Nota >= 1) AND (Nota <=7) para la relación Notas
v Restricciones interrelacionales: involucran más de
una relación
§  Ej. El valor del atributo Código en la relación Notas debe
existir también en la relación Curso
NOTAS
CURSOS
Rol
Código
Nota
Código
Descripción
Profesor
551014-1
EII140
6,5
EII140
Intr. a la Ingeniería
Castillo
551014-1
EII147
3,8
EII147
Intr. a las T.I.
Cubillos
563382-3
EII140
4,4
EII248
Estructuras de Datos
Silva
EII350
Estadística
Gatica
Franco Guidi Polanco
13
Claves
v Una clave es un conjunto de atributos utilizado
para identificar unívocamente las tuplas de una
relación
ESTUDIANTES
NOTAS
Rol
Apellido
Nombre
Fecha nacimiento
Rol
Código
Nota
551014-1
Cervantes
Miguel
14/07/1981
551014-1
EII140
6,5
552017-6
Da Vinci
Leonardo
03/12/1982
551014-1
EII147
5,3
563382-3
Ryan
Meg
22/11/1981
563382-3
EII140
4,4
567601-5
Armani
Jorge
10/02/1981
567601-5
EII248
6,2
Clave: Rol
Franco Guidi Polanco
Clave: Rol + Código
14
Operaciones de interrogación a BD relacional
v Álgebra relacional
v Cálculo relacional
Franco Guidi Polanco
15
Descargar