EL MODELO RELACIONAL

Download Report

Transcript EL MODELO RELACIONAL

CAPÍTULO 2
EL MODELO RELACIONAL
Guillermo Baquerizo
II Término 2012
Conceptos Básicos
El modelo relacional está basado en el concepto lógico de
relación, la cual se representa físicamente en forma de
una tabla.
Relación.- Está compuesta de atributos (columnas) y
tuplas (filas).
Atributo.- Es una columna nominada de una relación.
Dominio.- Es un conjunto de valores permitidos para
uno o más atributos.
Elaborado por: GABP
Conceptos Básicos
Tupla.- Es una fila o registro de una relación (tabla).
Grado.- Es el número de atributos que contiene una relación.
Cardinalidad.- Es el número de tuplas que contiene una
relación.
Términos
Formales
Opción 1
Opción 2
Relación
Tabla
Entidad
Tupla
Fila
Registro
Atributo
Columna
Campo
Elaborado por: GABP
Jerarquía de datos
 Empieza con los bits para agruparse y formar
conjuntos de bytes.
 Los bytes se pueden agrupar para formar un campo
(atributo).
 Los campos relacionados se pueden agrupar para
formar un registro (tupla).
 Los registros relacionados pueden formar un archivo o
tabla (relación).
 Los archivos relacionados se pueden organizar en una
base de datos.
Elaborado por: GABP
Ejemplo
Atributos
BRANCH
Tuplas
branchNo
Street
City
PostCode
B005
22 Deer Rd
London
SW1 4EH
B007
16 Argyll St
Aberdeen
AB2 3SU
B003
163 Main St
Glasgow
G11 9QX
B004
32 Manse Rd
Bristol
BS99 1NZ
B002
56 Clover Dr
London
NW10 6EU
Tupla 1: B005, 22 Deer Rd, London, SW1 4EH
Grado: 4 atributos.
Cardinalidad: 5 tuplas.
Dominio de branchNo: B### 1000 posibles combinaciones, tamaño: 4 caracteres.
Dominio de Street: Conjunto de todos los nombres de las calles, tamaño: 25 caracteres.
Elaborado por: GABP
Conceptos Básicos
Valor nulo.- Representa un valor para un atributo que
actualmente es desconocido o no es aplicable para esa tupla.
Integridad de entidad.- En una relación base ningún
atributo de una clave principal puede ser nulo.
Integridad referencial.- Si hay clave externa en una
relación, el valor de la clave externa debe corresponderse con
el valor de una clave principal de alguna tupla en su relación
de origen.
Elaborado por: GABP
Conceptos Básicos
Restricciones generales.- Son reglas adicionales
especificadas por los usuarios o DBAs que definen o
restringen algún aspecto de la organización.
Clave principal.- Es un atributo o conjunto de
atributos que permite identificar las tuplas de forma
unívoca dentro de una relación.
Elaborado por: GABP
Conceptos Básicos
Relación Matemática
Sea D1 = {2, 4} y D2 = {1, 3}, el producto cartesiano
D1xD2 es el conjunto de todas las parejas ordenadas
donde el primer elemento de la pareja es miembro de D1
y el segundo elemento es miembro de D2.
D1xD2 = {(2, 1), (2, 3), (4, 1), (4, 3)}
Cualquier subconjunto de este producto cartesiano será
una relación matemática R.
Elaborado por: GABP
Conceptos Básicos
Operaciones Unarias
Operaciones entre Conjuntos
Álgebra relacional
El álgebra relacional es un lenguaje teórico con
operaciones que se aplican a una o más relaciones,
con el fin de definir otra relación sin modificar las
relaciones originales.
Las cinco operaciones fundamentales en el álgebra
relacional son: selección, proyección, producto
cartesiano, unión y diferencia entre conjuntos.
Elaborado por: GABP
Operaciones Unarias
 Selección (σpredicadoR): Esta operación se aplica a
una única relación R (tabla) y define otra relación
que contiene únicamente aquellas tuplas de R que
satisfacen la condición (predicado) especificada.
Ejemplo:
σsalary>=24000 (Staff)
SL21
John
White
Manager
M 1-Oct-45
30000 B005
SG5
Susan
Brand
Manager
F
24000 B003
3-Jun-40
Elaborado por: GABP
Operaciones Unarias
• Proyección(∏a1,…,anR): Define otra relación
que contiene un subconjunto vertical de la
relación R, extrayendo los valores de los
atributos especificados y eliminando los
duplicados.
Ejemplo:
∏staffNo, fName, lName, salary(Staff)
staffNo
fName
lName
salary
SL21
John
White
3000
SG37
Ann
Beech
12000
SG14
David
Ford
10000
SG5
Susan
Brand
5000
Elaborado por: GABP
Operaciones entre Conjuntos
Unión (R  S).- La unión de dos relaciones R y S define una
relación que contiene todas las tuplas de R y S, eliminándose las
tuplas duplicadas. R y S deben ser compatibles con respecto a la
unión.
Ejemplo:
Mostrar todas las ciudades en las que existe una sucursal o un
inmueble en alquiler.
∏ city(Branch)  ∏ city(PropertyForRent)
City
London
Aberdeen
Glasgow
Bristol
Elaborado por: GABP
Operaciones entre Conjuntos
Diferencia (R – S).- La diferencia entre conjuntos define una
relación compuesta por las tuplas que se encuentren en la
relación R pero no en S. R y S deben ser compatibles.
Ejemplo:
Mostrar todas las ciudades en las que existe una sucursal, pero
no haya inmuebles en alquiler.
∏ city(Branch) – ∏ city(PropertyForRent)
City
Bristol
Elaborado por: GABP
Operaciones entre Conjuntos
Intersección(R ∩ S).- La operación de intersección define
una relación compuesta por el conjunto de todas las tuplas
que existen tanto en R como en S. R y S deben ser
compatibles.
Ejemplo:
Mostrar todas las ciudades en las que exista tanto una sucursal
como al menos un inmueble en alquiler.
∏ city(Branch) ∩ ∏ city(PropertyForRent)
City
London
Aberdeen
Glasgow
Elaborado por: GABP
Operaciones entre Conjuntos
Producto Cartesiano (RxS).- La operación de producto cartesiano
define una relación que es la concatenación de cada tupla de la relación
R con cada tupla de la relación S.
Ejemplo:
Enumerar los nombres y comentarios de todos los clientes que hayan
visto un inmueble en alquiler.
∏clientNo,fName,lName(Client) x ∏ clientNo,propertyNo,comment(Viewing)
Elaborado por: GABP
Operaciones entre Conjuntos
Combinación Natural (R
S).En la operación anterior hay
información incorrecta por lo que se debe realizar una operación de
selección en las que
Client.clientNo=Viewing.clientNo
La combinación natural se realiza entre las 2 relaciones R y S sobre todos
los atributos comunes. Del resultado se elimina una de las 2 apariciones
de cada atributo común.
(∏ clientNo,fName,lName(Client)
∏ clientNo,propertyNo,comment(Viewing))
Elaborado por: GABP