• Tidak ada hasil yang ditemukan

Tema 5 Algebra Relacional

N/A
N/A
Protected

Academic year: 2017

Membagikan "Tema 5 Algebra Relacional"

Copied!
9
0
0

Teks penuh

(1)

1

Tema 5

Algebra Relacional

Pedro Pablo Alarcón Cavero

Departamento de O.E.I.

Escuela Universitaria de Informática

Universidad Politécnica de Madrid

Asignatura de Bases de Datos

Álgebra Relacional

n

Introducción

n

Lenguajes de acceso en BDR

n

Álgebra Relacional

nLenguaje procedimental (se indica qué y cómo obtenerlo)

n

Cálculo Relacional

nLenguaje no procedimental (se indica qué pero no cómo obtenerlo) nDos tipos

nOrientado a Tuplas nOrientado a Dominios

n

Álgebra y Cálculo Relacional son equivalentes en poder

expresivo

n

Lenguajes de Usuario

n

SQL (Structured Query Language), basado en álgebra relacional

(2)

2002 © P.P. Alarcón Bases de Datos 3

Álgebra Relacional

n

Definición

n

Conjunto cerrado de operaciones

n

Actúan sobre relaciones

n

Producen relaciones como resultados

n

Pueden combinarse para construir expresiones más complejas

n

Operadores Básicos

n Unión

n Diferencia

n Producto Cartesiano

n Selección

n Proyección

n Son operacionalmente completos,

permiten expresar cualquier consulta a una BDR

n

Operadores Derivados

n Intersección

n Join

n División

n Asociación

n No añaden nada nuevo

n Se forman combinando los operadores básicos n Son útiles en determinadas consultas

Unión

n

R

S

n

La unión de dos relaciones R y S, es otra relación que

contiene las tuplas que están en R, o en S, o en ambas,

eliminándose las tuplas duplicadas

n

R y S deben ser unión-compatible, es decir, definidas

sobre el mismo conjunto de atributos

E# Nombre Edad

320 José 34 322 Rosa 37 323 María 25

E# Nombre Edad

320 José 34 421 Jorge 48

I ngenieros Jefes I ngenieros ∪∪ Jefes

E# Nombre Edad

(3)

2002 © P.P. Alarcón Bases de Datos 5

Diferencia

n

R - S

n

La diferencia de dos relaciones R y S, es otra relación

que contiene las tuplas que están en la relación R, pero

no están en S

n

R y S deben ser unión-compatible

E# Nombre Edad

320 José 34 322 Rosa 37 323 María 25

E# Nombre Edad

320 José 34 421 Jorge 48

I ngenieros Jefes

I ngenieros - Jefes

E# Nombre Edad

322 Rosa 37 • María 25

Jefes - I ngenieros

E# Nombre Edad

421 Jorge 48

Producto Cartesiano

n

R x S

n

Define una relación que es la concatenación de cada

una de las filas de la relación R con cada una de las

filas de la relación S

E# Nombre D#

320 José D1 322 Rosa D3

I ngenieros

D# Descrip

D1 Central D3 I+D

Departamentos

Proyecto Tiempo

RX338A 21 PY254Z 32

Proyectos I ngenieros X Departamentos

E# Nombre D# DD Descrip

320 José D1 D1 Central 320 José D1 D3 I+D 322 Rosa D3 D1 Central • Rosa D3 D3 I+D

I ngenieros X Proyectos

E# Nombre D# Proyecto Tiempo

(4)

2002 © P.P. Alarcón Bases de Datos 7

Selección

n

σ

σ

predicado

(R)

n

Es un operador unario

n

Define una relación con los mimos atributos que R y

que contiene solo aquellas filas de R que satisfacen

la condición especificada (predicado)

E# Nombre Edad

320 José 34 322 Rosa 37 323 María 25

I ngenieros σσedad> = 35 (I ngenieros)

E# Nombre Edad

322 Rosa 37

σ

σedad> = 45 (I ngenieros)

E# Nombre Edad

Proyección

n

Π

Π

col1, . . . , coln

(R)

n

Es un operador unario

n

Define una relación que contiene un subconjunto

vertical de R con los valores de los atributos

especificados, eliminando filas duplicadas en el

resultado

E# Nombre Edad

320 José 34 322 Rosa 37 • María 25 • José 29

I ngenieros

ππ

Nombre,Edad ( I ngenieros)

Nombre Edad

José 34 Rosa 37 María 25 José 29

ππ

Nombre(I ngenieros)

Nombre

(5)

2002 © P.P. Alarcón Bases de Datos 9

Intersección

n

R

S

n

Define una relación que contiene el conjunto de

todas las filas que están tanto en la relación R como

en S

n

R y S deben ser unión-compatible

n

Equivalencia con operadores básicos

R

S = R – (R – S)

E# Nombre Edad

320 José 34 322 Rosa 37 323 María 25

E# Nombre Edad

320 José 34 421 Jorge 48

I ngenieros Jefes I ngenieros ∩∩ Jefes

E# Nombre Edad

320 José 34

División o Cociente

n

R

÷

÷

S

n

Define una relación sobre el conjunto de atributos C, incluido en la

relación R, y que contiene el conjunto de valores de C, que en las

tuplas de R están combinadas con cada una de las tuplas de S

n

Condiciones

n grado(R) > grado (S)

n conjunto atributos de S conjunto de atributos de R

n

Equivalencia con operadores básicos

X1 = ΠC(R); X2 = ΠC((S X X1) – R); X = X1 – X2

Proyecto

RX338A PY254Z

R2

E# Proyecto

320 RX338A 320 PY254Z

• RX338A

323 NC168T

• PY254Z

• PY254Z

324 NC168T

R1

E#

320 323

(6)

2002 © P.P. Alarcón Bases de Datos 11

Join

n

Unión Natural (Natural Join)

n

R S

ó

R * S

n

El resultado es una relación con los atributos de ambas

relaciones y se obtiene combinando las tuplas de ambas

relaciones que tengan el mismo valor en los atributos comunes

n

Normalmente la operación de join se realiza entre los atributos

comunes de dos tablas que corresponden a la clave primaria

de una tabla y la clave foránea correspondiente de la otra tabla

n

Método

n Se realiza el producto cartesiano R x S

n Se seleccionan aquellas filas del producto cartesiano para las

que los atributos comunes tengan el mismo valor

n Se elimina del resultado una ocurrencia (columna) de cada uno

de los atributos comunes

n

Equivalencia con operadores básicos

R

F

S =

σ

F

(R

Χ

S)

Join

n

Outer Join

n

Es una variante del Join en la que se intenta mantener

toda la información de los operandos, incluso para

aquellas filas que no participan en el Join

n

Se “rellenan con nulos” las tuplas que no tienen

correspondencia en el Join

n

Tres variantes

n

Left

n se tienen en cuenta todas las filas del primer operando

n

Right

n se tienen en cuenta todas las filas del segundo operando

n

Full

(7)

2002 © P.P. Alarcón Bases de Datos 13

Join

E# Nombre D#

320 José D1 322 Rosa D3 • María D3 • José D5

R1

D# Descrip

D1 Central D3 I+D D4 Ventas

R2

E# Nombre D# Descrip

320 José D1 Central 322 Rosa D3 I+D • María D3 I+D

R1 * R2

E# Nombre D# Descrip

320 José D1 Central 322 Rosa D3 I+D • María D3 I+D • José D5 null

R1 * LEFT R2

E# Nombre D# Descrip

• José D1 Central 322 Rosa D3 I+D • María D3 I+D

null null D4 Ventas

R1 * RI GHT R2

R1 * FULL R2 E# Nombre D# Descrip

320 José D1 Central 322 Rosa D3 I+D • María D3 I+D • José D5 null null null D4 Ventas

Asociación

n

Asociación o Theta Join (

θ

-Join)

n

R

F

S

ó

R *

F

S

n

Define una relación que contiene las tuplas que satisfacen el

predicado F en el producto cartesiano de R y S

n

El predicado F es de la forma R.a

i

θ

S.b

i

donde

θ

representa

un operador de comparación (<,

, >,

, =,

)

n

El predicado no tiene por que definirse sobre atributos

comunes

n

Equivalencia con operadores básicos

R

F

S =

σ

F

(R

Χ

S)

n

Equijoin

(8)

2002 © P.P. Alarcón Bases de Datos 15

Ejemplos

1 Program. 15000

2 Dibujo 20000

3 Inglés 18000 CodA NombreA Precio

Asignaturas

0254 2 Feb 02 5 0168 2 Feb 02 3

0254 1 Jun 02 6 0168 1 Jun 02 9 0168 3 Jun 02 5 Nmat CodA Conv Nota

0338 1 Feb 02 8

0338 3 Jun 02 7 0338 2 Feb 02 5

Notas

0338 Ana Pérez Gómez C / Julio nº 96 1112233 0254 Rosa López López C/ Verano s/n 1113344 0168 Juan García García C/ Playa nº 1 1114455 Nmat Nombre Apellidos Domicilio Telefono

Alumnos

Ejemplo 1

n

Obtener los apellidos y teléfono de los alumnos de

nombre Rosa

π

apellidos, telefono(

σ

nombre=‘Rosa’

(Alumnos))

n

Obtener las notas obtenidas en la asignatura de Inglés

π

nombre, apellidos, nota(

σ

nombreA=‘Ingles’

(Alumnos*Notas*Asignaturas))

López López 1113344

Apellidos Telefono

Ana Pérez Gómez 7

Nombre Apellidos Nota

(9)

2002 © P.P. Alarcón Bases de Datos 17

Ejemplo 1

n

Obtener los alumnos que figuren matriculados en todas

las asignaturas

π

Nmat,codA

(Notas)

÷÷

π

codA

(Asignaturas)

Ó

π

nombre, apellidos, (Alumnos * (

π

Nmat,codA(Notas)

÷÷

π

codA

(Asignaturas)))

Ana Pérez Gómez

Nombre Apellidos

0338

Nmat

Ejemplo 1

n

Obtener los alumnos que figuren matriculados en las asignaturas de

Inglés y Dibujo

π

Nmat (σnombreA=‘Ingles’ (Asignaturas) * Alumnos)

π

Nmat (σnombreA=‘’Dibujo’ (Asignaturas) * Alumnos)

n

Obtener los alumnos que no han suspendido ninguna asignatura

π

Nmat (σnota>=5 (Notas)) -

π

Nmat (σnota<5 (Notas))

0338 0168

Nmat

0338 0254

Referensi

Dokumen terkait

Paket pengadaan ini terbuka untuk penyedia barang/jasa yang teregistrasi pada Layanan Pengadaan Secara Elektronik (LPSE) dan memenuhi persyaratan sebagaimana tercantum dalam

Gesture merupakan salah satu bagian dari budaya, ada gesture yang sama antara budaya satu dengan budaya yang lain, tetapi karena gesture yang berbeda juga tidak sedikit dan ada

Guna pembuktian kualifikasi, diharapkan saudara membawa semua data dan informasi yang sah dan asli sesuai dengan Data Isian Kualifikasi yang saudara sampaikan serta

Tujuan yang hendak dicapai dalam penelitian ini adalah untuk mengetahui bagaimana pengaruh media pembelajaran menggunakan Macromedia Flash 8 pokok bahasan Internet

Praktik Pengalaman Lapangan adalah semua kegiatan kurikuler yang harus dilakukan oleh mahasiswa Universitas Negeri Semarang sebagai pelatihan untuk menerapkan

Fred Percival dan Henry Ellington (1984) mengemukakan bahwa desain kurikulum adalah pengembangan proses perencanaan, validasi, implementasi, dan evaluasi kurikulum. Desain

Rencana Kerja Pembangunan Daerah Tahun 2016 BAB II - 60 Sumber : Sulawesi Barat Dalam Angka 2014.

After implemented integrated one stop service, the applicant just come to IILSA only until the Business license acc from head of IILSA and issued, although