Elementos de Bases de Datos Modelo Relacional

Anuncio
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Modelo Relacional
Elementos de
Bases de Datos
Está basado en el uso de relaciones.
Las relaciones permiten representar
conjuntos de entidades y conjuntos de
relaciones del modelo E-R.
Cada relación puede pensarse como una
tabla compuesta por filas o tuplas.
Cada tupla está compuesta por una serie de
atributos y representa una entidad.
Dpto.Ciencias e Ingeniería de la Computación
Universidad Nacional del Sur
Lic. María Mercedes Vitturini
[[email protected]]
Clase 6
1er. Cuatrimestre de 2004
Elementos de Bases de Datos
Clase 6
Esquema del Modelo Relacional
Modelo E-R a Modelo Relacional
Modelo Relacional: usa una colección de tablas para
representar datos y relaciones entre ellos.
Para las siguientes definiciones sobre
relaciones “binarias” definidas en el modelo
E-R asumimos los conjuntos de entidades:
„
Atributos
A1
Relación r
A2
…
„
An
„
Tupla
„
Solución Costosa (general):
relación m:1 sin
atributos, la llave de la
Š E1=(A1,…,Ai,…,,Am).
relación es la llave del
Š E2=(B1,…,Bj,…,Bn).
muchos.
Š R= (A1,…,Ai,B1,…,Bj).
Solución Económica:
Š E1=(A1,…,Ai,…,,Am,B1,…, Bj).
Š E2=(B1,…,Bj,…,Bn).
Elementos de Bases de Datos
Clase 6
4
Modelo E-R a Modelo Relacional
Sea R una relación “binaria” del modelo E-R
que la vincula E1 y E2 con cardinalidad
muchos a uno:
Notar que para una
„
(A1,…,Ai) para E1
(B1,…,Bj) para E2
Elementos de Bases de Datos
Clase 6
3
Modelo E-R a Modelo Relacional
„
E1=(A1,…,Am)
E2=(B1,…,Bn)
Con llaves primarias:
Relación
Elementos de Bases de Datos
Clase 6
2
5
Sea R una relación “binaria” del modelo E-R que
la vincula E1 y E2: Con cardinalidad uno a uno:
„
Se puede resolver como un caso particular de relación
muchos a uno.
Š E1=(A1,…,Ai,…,,Am,B1,…,Bj).
Š E2=(B1,…,Bj,…,Bn).
Sea R una relación “binaria” del modelo E-R que
la vincula E1 y E2: Con cardinalidad muchos a
muchos:
„
Existe una única representación posible
Š E1=(A1,…,Ai,…,,Am).
La llave de la relación
Š E2=(B1,…,Bj,…,Bn).
depende de la semántica
Š R= (A1,…,Ai,B1,…,Bj)
Elementos de Bases de Datos
Clase 6
del problema.
6
1
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Modelo E-R a Modelo Relacional
Modelo E-R a Modelo Relacional
Sean los conjuntos de entidades E1,E2,…,En,
con llaves k1,…,kn respectivamente.
Sea R una relación naria del modelo E/R que
vincula E1,E2, … y En:
„
Solución General:
Š E1=(A1,…,Ai1,…,Am1), k1 = {A1,…,Ai1}.
Š E2=(B1,…,Bi2,…,Bm2), k2 = {B1,…,Bi2}.
...
Š En=(N1,…,Njn,…,Nmn), kn = {N1,…,Njn}.
Š R= (A1,…,Ai1,B1,…,Bi2,…,N1,…,Njn).
Elementos de Bases de Datos
Clase 6
La llave
de la
relación
depende
de la
semántic
a del
problema
A cada nombre de atributo Ai se le
asocia un dominio dom(Ai).
Los nombres de los atributos a veces se
denominan símbolos de atributos o
simplemente atributos.
Elementos de Bases de Datos
Clase 6
Elementos de Bases de Datos
Clase 6
8
Una relación r sobre un esquema de
relación R es un conjunto finito de
mapeos o tuplas:
t ={t1,…,tp}
de R a D (D = dom(Ai)∪...∪dom(An))
tal que:
„
si t pertenece a r entonces t(Ai) debe
pertenecer a dom(Ai).
Elementos de Bases de Datos
Clase 6
9
10
Operaciones sobre el modelo de
datos relacional
Convenciones sobre la notación
Las primeras mayúsculas del alfabeto para
atributos simples (A,B,C,…,L).
Las últimas mayúsculas para conjuntos de
atributos (U,V,W,X,Y,Z).
R es un esquema de relación. Una relación con
atributos A, B y C puede notarse como (ABC) o
ABC o R(ABC).
q, r, s: instancias o relaciones del esquema R.
A1…An se usa para representar una tupla
{A1,…,An}.
XY es abreviatura de X ∪ Y.
XA es abreviatura de X ∪ {A}.
Elementos de Bases de Datos
Clase 6
„
Agregar atributos a la relación, ie, definir una
relación en el modelo relacional para la relación
del modelo E-R que además de las claves incluya
los atributos de relación (solución general).
Agregar atributos de relación a una de las
entidades que la involucra. (sólo aplicable en
circunstancias particulares)
Definiciones Preliminares
Un esquema de relación R es un
conjunto finito de nombres de atributos
{A1,…,An} tal que:
„
„
7
Definiciones Preliminares
„
Sea R una relación naria del modelo E/R, con
atributos propios. Las alternativas para
transformarlo al modelo relacional son:
Objetivo: introducir una familia de
operaciones asociadas con el modelo de
datos relacional.
Estas operaciones dan el sustento al
Lenguaje de Manipulación de Datos (DML ó
LMD)
Dos notaciones diferentes
„
„
11
Algebraicas: las consultas son expresadas
aplicando operadores específicos a las relaciones.
Lógicas: denominadas cálculo relacional,
expresadas por fórmulas lógicas
Elementos de Bases de Datos
Clase 6
12
2
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Algebra Relacional
Algebra Relacional
Dos relaciones sobre el mismo esquema pueden ser
consideradas conjuntos sobre el mismo universo.
Sean r y s dos relaciones sobre el esquema de
relación R, entonces:
ƒ r ∪ s = { t: t ∈ r ó t ∈ s } (Unión)
ƒ r ∩ s = { t: t ∈ r y t ∈ s } (Intersección)
ƒ r \ s = r – s = { t: t ∈ r y t ∉ s } (Diferencia)
Elementos de Bases de Datos
Clase 6
13
Algebra Relacional
A
r
B
C
a1
b1
c1
a1
b2
c1
a2
b1
c2
comp(r ) = dom(R) \ r
A
B
C
A
dom(R)
B
C
a1
b1
c1
a1
b1
c2
a1
b2
c1
a1
b2
c2
a1
b3
c1
a1
b3
c2
a2
b1
c1
a1
b1
c2
a1
b2
c2
a1
b3
c1
a1
b3
c2
a2
b1
c2
a2
b1
c1
a2
b2
c1
a2
b2
c1
a2
b2
c2
a2
b2
c2
a2
b3
c1
a2
b3
c1
a2
b3
a2
b3
c2
c2
Elementos de Bases de Datos
Clase 6
A
C
a1
b1
c1
a1
b2
c1
a2
b1
c2
acomp(R) = adom(R) \ r
A
B
C
a1
b1
c2
a1
b2
c2
a2
b1
c1
a2
b2
c1
a2
b2
c2
A
s
B
C
a1
b1
c1
a1
b2
c1
a1
b2
c1
a2
b2
c1
a2
b1
c2
a2
b2
c2
r∩s
r\s
A
B
C
A
B
C
A
B
C
a1
b1
c1
a1
b2
c1
a1
b2
c1
a1
a2
b1
b1
c1
c2
a1
b1
c2
a2
a2
b2
b2
c1
c2
Elementos de Bases de Datos
Clase 6
14
Sea R=(A1…An), dom(Ai) el dominio de cada atributo
Ai (1 ≤ i ≤ n) y r una relación sobre el esquema R.
El dominio activo (adom) de r se define como:
adom(Ai) = { d∈dom(Ai): existe t∈r con t(Ai) = d }
Sea adom(R,r) el conjunto de todas las tuplas sobre
los atributos de R y los dominios activos relativos a
r. El complemento activo de r se define como:
acomp(r) = adom(R,r) \ r
acomp(r) siempre es una relación.
15
Elementos de Bases de Datos
Clase 6
16
Operador de Selección (σ)
Es un operador unario sobre relaciones.
A
adom(R)
B
C
a1
b1
c1
a1
b1
c2
a1
b2
c1
a1
b2
c2
a2
b1
c1
a2
b1
c2
a2
b2
c1
a2
b2
c2
Elementos de Bases de Datos
Clase 6
C
Algebra Relacional
Algebra Relacional
r
B
r
B
r∪s
El complemento de una relación r sobre R con dominio
dom(R) se define como:
comp(r) = dom(R) \ r
ƒ
A
Cuando se aplica sobre una relación r, genera
otra relación que contiene un subconjunto de
tuplas de r con cierto valor en determinado
atributo.
Definición: Sea r una relación sobre el
esquema R, A un atributo en R y a un
elemento de dom(A). La "selección A igual a
a en r" se define como:
σA=a(r) = { t ∈ r: t(A) = a }
17
Elementos de Bases de Datos
Clase 6
18
3
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Operador de Selección
Nro-Vuelo
84
109
117
213
214
Desde
Chicago
JFK
Atlanta
JFK
Boston
Vuelos
Hacia
JFK
Los Angeles
Boston
Boston
JFK
Ejemplo
Salida Llegada
15:00
17:55
21:40
2:42
22:05
0:43
11:43
12:45
2:20
15:12
Caballos
Corre
Posición
σDesde=JFK(Vuelos)
Llaves candidatas
„ nroCaballo, nroCarrera
„ nroCarrera, posición
Carreras
Vuelos desde JFK
Nro-Vuelo Desde
Hacia
Salida Llegada
109
JFK
Los Angeles 21:40
2:42
213
JFK
Boston
11:43
12:45
Elementos de Bases de Datos
Clase 6
El modelo relacional:
Esq_Caballos (nroCaballo,
nombre, edad)
Esq_Carreras (nroCarrera,
nombreCarr, fecha)
Esq_Corre (nroCaballo,
nroCarrera, Posición)
Elementos de Bases de Datos
Clase 6
19
Ejemplos de Consultas de
Selección
20
Operador de Proyección (Π)
Es un operador unario sobre relaciones.
Caballos de más de tres años:
„
Cuando se aplica sobre una relación r, genera
otra relación que contiene un subconjunto de
atributos (columnas) de r.
σedad >= 3(Caballos).
Carreras que se corrieron el día 10/08/2004:
„
σfecha=“10/08/2004” (Carreras).
Caballos que salieron en primera posición:
„
σposición=1 (Corre).
Según la teoría de conjuntos, en ΠX(r) se eliminan de r las
columnas de R - X, y luego se borran las filas (tuplas)
repetidas.
Elementos de Bases de Datos
Clase 6
Desde
Chicago
JFK
Atlanta
JFK
Boston
Nro-Vuelo
84
109
117
213
214
Salida Llegada
15:00
17:55
21:40
2:42
22:05
0:43
11:43
12:45
2:20
15:12
Elementos de Bases de Datos
Clase 6
22
Ejemplos de consultas con
proyección
Vuelos
Hacia
Salida Llegada
JFK
15:00
17:55
Los Angeles 21:40
2:42
Boston
22:05
0:43
Boston
11:43
12:45
JFK
2:20
15:12
ΠNro-Vuelo,Salida,Llegada(Vuelos)
Elementos de Bases de Datos
Clase 6
21
Operador de Proyección
Nro-Vuelo
84
109
117
213
214
Definición: Sea r una relación sobre el esquema
R y X un subconjunto de R. La "proyección de r
en X" se define como:
ΠX(r) = { t(X): t ∈ r }
Nombre de todos los caballos
„
ΠDesde(Vuelos)
Fechas en las que se corre alguna
carrera
„
Desde
Chicago
JFK
Atlanta
Boston
23
Π nombre(Caballos).
Π
fecha
(Carreras).
Elementos de Bases de Datos
Clase 6
24
4
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Renombre de Atributos
Producto Cartesiano (X)
Renombre: Supongamos que E es una entidad de
aridad n. La expresión:
ρX(A1,A2,…,An) (E)
Es un operador binario.
Permite combinar información de cualquier
par de relaciones.
El resultado es una nueva relación con tantas
columnas como la unión de las columnas de
las relaciones r1 y r2 que participan y tantas
filas como el producto cartesiano de las filas
de r1 y r2.
retorna el resultado de la expresión E bajo el nombre
X con los atributos renombrados a A1, A2, …, An.
La operación de renombre no es estrictamente
requerida ya que es posible usar una notación
posicional de los atributos ($1 es el primer atributo).
Sin embargo, la notación posicional no es declarativa y
muchas veces, es difícil de recordar.
Elementos de Bases de Datos
Clase 6
Elementos de Bases de Datos
Clase 6
25
Producto Cartesiano
Vuelos
Nro-Vuelo
Desde
Pasajeros
Nro-Pas
Apellido
Nombres
84
Peña
Ana Clara
109
Vitale
Matias
Nro-Vuelo
Desde
84
Chicago
Vuelos
JFK
15:00
17:55
JFK
Los Angeles
21:40
2:42
117
Atlanta
Boston
22:05
0:43
213
JFK
Boston
11:43
12:45
214
Boston
JFK
2:20
15:12
Salida
Llegada
15:00
17:55
15:00
17:55
Nro-Pas
84
Hacia
Apellido
Nombres
Peña
Ana Clara
Una expresión general en el álgebra relacional se
construye a partir de subexpresiones.
Sean E1 y E2 expresiones del álgebra relacional, las
siguientes también son expresiones del álgebra
relacional:
Chicago
JFK
Matias
„
JFK
Los Angeles
21:40
2:42
84
Peña
Ana Clara
„
109
JFK
Los Angeles
21:40
2:42
109
Vitale
Matias
117
Atlanta
Boston
22:05
0:43
84
Peña
Ana Clara
117
X
Hacia
JFK
Llegada
Chicago
Definición Formal del Algebra
Relacional
109
84
Pasajeros
X
Salida
84
109
Atlanta
109
109
Vitale
Boston
22:05
0:43
213
JFK
Boston
11:43
12:45
84
Peña
Ana Clara
213
JFK
Boston
11:43
12:45
109
Vitale
Vitale
Matias
214
Boston
JFK
2:20
15:12
84
Peña
Ana Clara
214
Boston
JFK
2:20
15:12
109
Vitale
Matias
„
„
Matias
Elementos de Bases de Datos
Clase 6
E1 \ E2 (también notado como E1 – E2).
E1 × E2.
σP(E1) donde P es un predicado con atributos de E1.
„
ΠS (E1) donde S es un subconjunto de atributos de E1.
„
ρX(E1), donde X es el nuevo nombre de la relación E1.
Elementos de Bases de Datos
Clase 6
28
Operador de Fusión (Join)
r |><| s
r
Es un operador binario para combinar relaciones.
Definición: Sean r y s relaciones sobre los esquemas
de relación R y S respectivamente. La "fusión (join)
natural de r y s", notada como r |><| s, es el
conjunto de tuplas t sobre RS, tales que existen tuplas
tr en r y ts en s con tr= t(R) y ts=t(S). Esto es, cada
tupla en r |><|s es una combinación de tuplas en r y
en s que coinciden en los atributos de R ∩ S.
Si R y S no tienen atributos en común entonces el join
equivale al producto cartesiano: r |><| s = r × s.
Elementos de Bases de Datos
Clase 6
E1 ∪ E2.
27
Operador de Fusión (Join)
Natural
26
29
s
A
B
A
B
C
B
C
a1
b1
a1
b1
c1
b1
c1
a1
b2
b1
c2
c2
b1
a1
b1
a2
c3
c3
b2
b1
b1
a2
a1
b1
b2
b2
c1
c1
a3
a3
a1
b2
a2
b1
c1
b3
b4
c2
c3
a2
b1
c2
a2
b1
c3
a2
b2
c1
a3
a3
b1
b1
c1
c2
a3
a3
b1
b2
c3
c1
Elementos de Bases de Datos
Clase 6
30
5
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Operador de Fusión (Join)
Ejemplos de Consultas con Join
r
A
B
a1
a2
b1
b1
s
r |><| s
A
B
C
D
a1
b1
c1
d1
a1
b1
c2
d1
a1
b1
c2
d2
a2
b1
c1
d1
a2
a2
b1
b1
c2
c2
d1
d2
C
D
c1
d1
c2
c2
d1
d2
Elementos de Bases de Datos
Clase 6
Nombre del Caballo y Nombre de la
Carrera que corrió:
„
Πnombre, nombreCarr (Caballos |><|Corre
|><|Carreras).
Nombre y Edad de los caballos que
corrieron la carrera “Leguizamo”.
„
Πnombre,edad (Caballos |><| Corre |><|
σnombreCarr=“Leguizamo” (Carreras)).
Elementos de Bases de Datos
Clase 6
31
32
θ-Join
Join Natural: definición formal
Definición: Sean r y s relaciones sobre los
esquemas de relación R y S respectivamente. El
"join natural de r y s", notado como r |><| s,
se define como:
r |><|s = ΠR∪S (σr.A1=s.A1∧ r.A2=s.A2 ∧....∧ r.An=s.An r ×s)
donde R∩S = {A1,A2,…,An}.
El operador θ-Join permite combinar relaciones con
ciertas restricciones además de igual. El operador θ
puede ser un operador relacional en el conjunto { >, <,
≥, ≤, =, ≠ }.
Ejemplo: supongamos contar con las relaciones:
„
„
„
Libros (ISBN,Título,Nro-Páginas).
Autores (Nombre-Autor,Domicilio).
Escrito-Por (ISBN,Nombre-Autor).
Consulta: ¿Quién escribió libros con más de 100 páginas?
Si R∩S=∅ entonces r |><| s = r ×s.
En muchas ocasiones se utiliza simplemente el término
join en alusión al join natural.
Elementos de Bases de Datos
Clase 6
33
θ-Join
ΠNombre-Autor((σNro-Páginas>100(Libros)) |><| Escrito-Por) ó
ΠNombre-Autor(Libros θNro-Páginas>100 ∧Libros.ISBN=Escrito-Por.ISBN Escrito-Por)
Elementos de Bases de Datos
Clase 6
34
Propiedades del Join
Propiedad 1: Sean A y B dos atributos y s(AB) la
relación con una única tupla t tal que t(A)=a y
t(B)=b, con AB ⊆ R Entonces:
r |><| s = σ A=a∧B=b(r )
Un operador θ-Join realiza un producto
cartesiano de dos relaciones y luego
desarrolla una selección usando el
predicado relacional θ.
Definición: Dadas dos relaciones r y s,
el operador θ-Join se define como:
r |><| θ s = σθ (r × s)
Elementos de Bases de Datos
Clase 6
35
Propiedad 2: Dadas q, r y s:
(q |><| r) |><| s = q |><| (r |><| s)
Propiedad 3:
σAθa (r)|><| s = σ
Aθa(r
Elementos de Bases de Datos
Clase 6
|><| s)
36
6
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Ejemplo
Título
Modelo Relacional para el Modelo
E-R
Nomb-Exp
Obras
2
Exposiciones
Las relaciones que necesitamos son:
Obras(Título,Nomb-Aut).
1
3
Fecha
Lugares(Museo,Dirección).
Exposiciones(Nomb-Exp).
Autores(Nomb-Aut,Dir-Autor).
Autores
Exposición-Lugar (Nomb-Exp,Fecha,Museo).
Lugares
Exposición-Obra(Nomb-Exp,Título).
Dir-Autor
Nomb-Aut
Museo
Dir-Museo
Elementos de Bases de Datos
Clase 6
Elementos de Bases de Datos
Clase 6
37
38
Diagrama E-R para un Banco
Consultas en el Modelo Relacional
Nro-Cuenta
Saldo
Dom-Sucur
Exposiciones realizadas en el museo m.
ΠNomb-Exp(σMuseo=m(Exposición-Lugar)
Cuentas
Obras que componen una exposición e.
ΠTítulo(σNomb-Exp=e(Exposición-Obra))
Deposita
Cantidad de obras que componen una exposición e.
Cardinalidad( ΠTítulo(σNomb-Exp=e(Exposición-Obra)) )
Algunas operaciones (como cardinalidad, máximo, mínimo, promedio,
etc) no son parte del Algebra Relacional puro.
Elementos de Bases de Datos
Clase 6
Sucursales
Cta-Suc
Suc-Pre
Préstamos
Presta
Nom-Cliente
Ciu-Cliente
Ciu-Cliente
Nro-Prest
Monto
Elementos de Bases de Datos
Clase 6
40
Otras operaciones del Algebra
Relaciones del Modelo E-R anterior:
Cuentas(Nro-Cuenta, Nom-Sucur, Saldo).
Clientes(Nom-Cliente, Dir-Cliente, CiuCliente).
Préstamos(Nro-Prest, Nom-Sucur, Monto).
Sucursales(Nom-Sucur, Dir-Sucur, Ciu-Sucur).
Deposita(Nom-Cliente, Nro-Cuenta).
Presta(Nom-Cliente, Nro-Prest).
Para las relaciones Cta-Suc y Suc-Pre se optó por la representación
reducida.
Elementos de Bases de Datos
Clase 6
Clientes
39
Modelo Relacional
Ciu-Sucur
Nom-Sucur
41
División: La operación de división,
denotada por ÷, es útil para las frases
del tipo “para todo”.
Ejemplo:
„
Supongamos que deseamos encontrar a
aquellos clientes que tienen depósitos en
alguna cuentas en todas las sucursales del
banco ubicadas en las ciudad de Rosario.
Elementos de Bases de Datos
Clase 6
42
7
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Resolución
El operador de división (÷)
Todas las sucursales de Rosario.
r1 = ΠNombre-Sucursal(σCiudad-Sucursal=“Rosario”(Sucursal))
División: Sean r(R) y s(S) relaciones y S ⊆ R. La
operación
Todos los pares Nombre-Cliente, Nombre-Sucursal, tal
que el cliente tiene depósito en esa sucursal.
r2 = ΠNombre-Cliente, Nombre-Sucursal(Deposita)
es una relación con esquema R-S. Una tupla t está
en r ÷ s si para cada tupla ts en s existe una tupla tr
en r que satisface las siguientes condiciones:
tr[S] = ts[S] y tr[R - S] = t
Ahora, necesitamos los clientes que aparecen en r2 con
cada nombre de sucursal en r1.
ΠNombre-Cliente, Nombre-Sucursal(Deposita) ÷
ΠNombre-Sucursal(σCiudad-Sucursal=“Rosario”(Sucursal))
Elementos de Bases de Datos
Clase 6
r÷s
La operación de división puede definirse en términos
de las operaciones fundamentales, (con S ⊆ R):
r ÷ s = ΠR - S(r) - ΠR - S( (ΠR - S(r) × s) - ΠR -S,S(r))
Elementos de Bases de Datos
Clase 6
43
Otras operaciones del Algebra
44
Otras operaciones de LMD
Asignación: Esta operación, representada por el
símbolo ←, funciona de manera similar a la
asignación en un lenguaje de programación.Formato
de la asignación:
<Relación Temporal> ← <Expresión Relacional>
La expresión
r ÷ s = ΠR-S(r) - ΠR-S((ΠR-S(r) × s) - ΠR-S,S(r))
puede reescribirse como:
Las operaciones hasta ahora vistas (selección,
proyección, unión, etc.) definidas sobre el Álgebra
Relacional permiten consultar los datos almacenados
en una Base de Datos relacional.
El grupo de operaciones que veremos a continuación
permiten “actualizar” el contenido de la Base de
Datos, fundalmentalmente por medio de las
operaciones de inserción, borrado y actualización.
temp1 ← ΠR -S(r)
temp2 ← ΠR - S((temp1 × s) - r)
resultado ← temp1 temp2
Elementos de Bases de Datos
Clase 6
Operaciones del LMD
Agregado o Inserción: consiste en
agregar nuevas tuplas a una relación.
Notación: r ← r - E.
„
Ejemplo:
„
46
Operaciones del LMD
Eliminación: consiste en eliminar o
borrar tuplas de una relación.
„
Elementos de Bases de Datos
Clase 6
45
Notación: r ← r ∪ E.
Ejemplo:
Eliminar las cuentas con saldo menor a
$2.
Cuentas ← Cuentas - σMonto < 2(Cuentas)
Elementos de Bases de Datos
Clase 6
47
„
Agregar el cliente García que vive en Perú 1215
de Bahía Blanca.
Clientes ← Clientes ∪ {(“García”, “Perú 1215”,
“Bahía Blanca”)}
Elementos de Bases de Datos
Clase 6
48
8
Universidad Nacional del Sur – Departamento de Ciencias e Ingeniería de la Computación
Elementos de Bases de Datos – 2do. Cuatrimestre de 2004
Operaciones de LMD
Temas de la Clase de Hoy
Modificación: consiste en modificar datos
de una o más tuplas a una relación.
„
Notación: δA←E(r ) .
„
„
Ejemplo:
„
Modelo Relacional:
„
Aumentar los saldos de las cuentas en un 5%.
δSaldo←Saldo * 1.05(Cuenta)
Elementos de Bases de Datos
Clase 6
49
Conversión del modelo E-R al modelo relacional.
Definiciones: esquema de relación y relación.
Operaciones del modelo relacional: Álgebra
Relacional:
Š Unión, Intersección, Diferencia, Complemento,
Complemento activo, Selección, Proyección, Renombre,
Producto Cartesiano, Join Natural, Join, División,
Asignación.
Elementos de Bases de Datos
Clase 6
50
Bibliografía
Bibliografía
„
„
“Fundamentos de Bases de Datos” – A.
Silberschatz. Capítulo 3.
“Database and Knowledge Base System” –
J. Ullman. Capítulo 3.
Elementos de Bases de Datos
Clase 6
51
9
Descargar