BASES_02 Algebra Relacional
-
Upload
patricio-javier-perez -
Category
Documents
-
view
221 -
download
0
Transcript of BASES_02 Algebra Relacional
-
8/19/2019 BASES_02 Algebra Relacional
1/42
JW Condor 1
BASES DE DATOS
Capitulo 2
AlgebraRelacional
Basado en: Database System Concepts, 5th Ed. ©Silberschatz, Korth and Sudarshan
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
2/42
EL Modelo RELACIONAL
1. Términosydefiniciones
2. Integridad
3. Operacionesbásicas
4. Ejerciciosdeoperacionesbásicas5. Operacionesadicionales
6. Algebrarelacionalextendida
7. ModificacióndeBDD
2JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
3/42
preNumero cliNombre sucNombre preImporte
P-11 Endara Metropoli 900
P-14 Valdivieso Centro 1500P-15 Pérez Condado 1500
P-16 Pérez Condado 1300
P-17 Endara Centro 1000
P-23 Endara Mariscal 2000
P-93 Valdivieso Alameda 500
PRESTAMOS
Términos empleados
PresentaciónFísicaPresentaciónIntuitivaModeloMatemáticoArchivo Tabla RelaciónRegistros Filas TuplaCampos Columnas Atributo
3JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
4/42
Atributo definiciones
Atributo:
Cualquierelementodeinformaciónsusceptibledetomarvalores.
Notación:Ai,dondei=1,2...,n n=#atributos
Dominio:
Rangodevaloresdondetomasusdatosunatributo,seconsiderafinito.
Notación:Di,dondei=1,2…,n N=#dominios Ejemplos:
A1 Coloresprimarios {amarillo,azul,rojo} A2 Edad_perro {0,1,2,3,4,5,6,7,8,9}
4JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
5/42
Relación definiciones
Relación:
DadoslosatributosAi,i=1,2...,ncondominiosDi,i=1,2...n.
DefinimoslarelaciónR,porR(A1..An)acualquier
subconjuntodelproductocartesianoD1D2..Dn. Esquema de una relación:
losatributosA1..An Instancia de una relación:
elconjuntodetuplas(x1,x2,..,xn)D1D2..Dnquelacomponenesemomento
5JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
6/42
Tupla: definición
Tupla
Eselconjuntodeatributosinstanciados(valorados)
No hay tuplas duplicadas
1) Unicidad:
rinstanciadeRyt1,t2rt1t2t1[PK]t2[PK] 2) Minimalidad:
NoexistePK’PKqueverifique1)
Unaclave primariaesunaclavecandidataelegidaporeldiseñador
6JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
7/42
Las relaciones son desordenadas
No existe orden en las tuplas, ni en los
atributos
Elaccesoesporvalornopororden
EjemplorelaciónCUENTAS
7JW Condor
CueNumero cliNombre sucNombre cueSaldo
C-009 Torres Alameda 347
C-101 Zapata Centro 500
C-102 Endara Condado 400
C-201 Endara Galápagos 900
C-215 Torres Alameda 700
C-217 Endara Galápagos 750
C-222 Endara Mariscal 700
C-305 Zapata Metropoli 350
C-509 Ramos Rio 3
CUENTAS
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
8/42
BD relacional: definiciones
Base de datos relacional:
Conjuntofinitoderelaciones
Instanciadeunabasededatosjuntoconsuesquema
Esquema de una base de datos:
Coleccióndeesquemasderelacionesjuntoconrestriccionesdeintegridad
Instancia de una base de datos:
Coleccióndeinstanciasderelacionesqueverificanlasrestriccionesdeintegridad
8JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
9/42
Integridad
Qué es integridad?
Normas que mantienen la semántica significado) de una base de
datos
Tipos de integridad:
Integridadespecífica:dependedelasemánticadelproblema
Asociadasaatributossimples:0edad100 Asociadasaconjuntosdeatributos:sueldoimpuestos+smv
Integridadgenérica:dependedelpapelquejuegueunatributoenlarelación,formepartedelaclaveprimariaetc...
Existenlaintegridadenrelación;y,
Laintegridadreferencial.
9JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
10/42
Integridad en la relación
Integridad de clave primaria
Losatributosdeunaclaveprimarianopuedentomarvaloresnulos.
Ejemplo:
10JW Condor
Nombre Apellido Direccion Ciudad
Juan Alomoto Av 12 Octubre Babahoyo
Lissethe Conquistadores Cuenca
Tania Baldeón Toledo Cuenca
Gabriel Cañizares Francisco Arévalo Quito DMLucrecia null?? Valladolid N23 UIO
Dayra Fernández Madrid Latacunga
Fernando Torres Carretas Guayaquil
CLIENTES
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
11/42
Integridad referencial
Concepto clave externa:
SeaRunarelaciónconclaveprimariaPK;y
SeaTunarelaciónconclaveexternaFK
FK==PK
Ej.:PROFESORESimpartenASIGNATURAS
11JW Condor
ÁreaCategoría NombreProfCod ProfCodAsignatura
PK FK
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
12/42
Integridad Referencial
Puedehabermásdeunaclaveexternaenunarelaciónamasdelaclaveprimariapropia.
Siunarelaciónincluyeunaclaveexternaconectadaaunaclaveprimaria,elvalordela
claveexternadebeserbienigualaunvaloryaexistenteeneldominioactivodelaclaveprimariaobiencompletamentenulo(silasemánticalopermite)
La integridad referencial mantiene las conexiones en las bases de
datos relacionales
12JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
13/42
Operaciones básicas
Algebra relacional
Esunconjuntodeoperacionessobreunaodosrelacionesdeentradaquegeneranunanuevarelacióncomoresultado.
Historia:
SedefineelálgebraRelacionalcomolenguajedeconsultay
diseñoen1970(Codd) SedefineunaversióndelCalculoRelacionalen1972.
Tipos de operaciones:
Operacionesunarias(sobreunarelación) Selección,Proyección,Renombre.
Operacionesbinarias(sobredosrelaciones) Productocartesiano,Unión,Diferencia,Intersección
13JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
14/42
Operación selección
Definición:
Laoperación
p
R)
, seleccionalastuplasquesatisfaganelpredicadop
Ejemplo:SeaRunarelaciónypredicadop
Estatus>=25,tenemos:
14JW Condor
Codigo Nombre Ciudad Estatus
S1 Juan Alomoto Babahoyo 22
S2 Gabriela Cañizares Cuenca 10
S3 Emilio Zapata Quito 27
S4 Pedro Preciado Latacunga 90
S5 Jimmy Alarcón Quito 38
S6 Gustavo Preciado Latacunga 14S7 Andrea Benavides Guayaquil 47
S8 Karla Torres Babahoyo 17
S9 Jacinto Noboa Quito 71
S10 Ximena Torres Guayaquil 13
R
Codigo Nombre Ciudad Estatus
S3 Emilio Zapata Quito 27 SI
S4 Pedro Preciado Latacunga 90 SI
S5 Jimmy Alarcón Quito 38 SI
S7 Andrea Benavides Guayaquil 47 SI
S9 Jacinto Noboa Quito 71 SI
Estatus >=25
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
15/42
Operación proyección
Definición:
Laoperación{Ai...Aj}(R),obtienelastuplasdereliminandodelatablaaquellosatributosnomencionadosyeliminandoposteriormentetuplasredundantes.
Ejemplo:
15JW Condor
ciudad,status(R)=Codigo Nombre Ciudad Estatus
S1 Juan Alomoto Babahoyo 22
S2 Gabriela Cañizares Cuenca 10
S3 Emilio Zapata Quito 27
S4 Pedro Preciado Latacunga 90
S5 Jimmy Alarcón Quito 38S6 Gustavo Preciado Latacunga 14
S7 Andrea Benavides Guayaquil 47
S8 Karla Torres Babahoyo 17
S9 Jacinto Noboa Quito 71
S10 Ximena Torres Guayaquil 13
R
Ciudad Estatus
Babahoyo 22
Cuenca 10
Quito 27
Latacunga 90
Quito 38
Latacunga 14
Guayaquil 47
Babahoyo 17
Quito 71
Guayaquil 132016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
16/42
Composición de operadores
Consideración:
Unoperadordeálgebrarelacionalgeneraunanuevarelación Sepuedeutilizarunaoperacióncomoargumentoparaotraoperación
Ejemplo:
16JW Condor
ciudad( Estatus>25(R)) =Codigo Nombre Ciudad EstatusS1 Juan Alomoto Babahoyo 22
S2 Gabriela Cañizares Cuenca 10
S3 Emilio Zapata Quito 27
S4 Pedro Preciado Latacunga 90
S5 Jimmy Alarcón Quito 38
S6 Gustavo Preciado Latacunga 14
S7 Andrea Benavides Guayaquil 47
S8 Karla Torres Babahoyo 17
S9 Jacinto Noboa Quito 71
S10 Ximena Torres Guayaquil 13
R
Ciudad
Quito
Latacunga
Guayaquil
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
17/42
Operación renombramiento
Renombrar Permiteutilizarlamismarelaciónounmismoatributocambiandosunombreaotro.
Operacióndenotadapor(rhogriega)
Ejemplo Encontrarelmáximodesaldodecuenta
cuenta.saldo(cuenta.saldo
-
8/19/2019 BASES_02 Algebra Relacional
18/42
Producto cartesiano
Definición:
Seanrys,dosrelacionescualesquiera,elproductocartesianodeambasinstanciaseselconjuntodetuplasresultantedecombinarcadatupladerconcadatuplades.
Ejemplo:
18JW Condor
A B
a1 b1
a2 b2
a3 b2a4 b4
D
d1
d2
d3
A B D
a b da b d
a1 b1 d3a2 b2 d1a b d
a b d
a b d
a3 b3 d2a3 b3 d3a b d
a b d
a b d
=
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
19/42
Unión
Definición:
Seanrysdosrelacionescompatibles Sedefinealaunion()comolareunióndelastuplasderyacontinuaciónlastuplasnoduplicadasdes.
Ejemplo:
19JW Condor
A B
a1 b1
a2 b2
a3 b2
a4 b4
A B
a1 b1
a2 b2
a5 b5
A B
a1 b1
a2 b2
a3 b2
a4 b4
a5 b5
r= rs=s=
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
20/42
Intersección
Definición:
Seanrysdosrelacionescompatibles Sedefiners“rinterseccións”,comoelconjuntodetuplascoincidentesentrerys
Ejemplo:
20JW Condor
A B
a1 b1
a2 b2
a3 b2
a4 b4
A B
a1
b1
a2 b2
a5 b5
A B
a1
b1
a2 b2
r= rs=s=
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
21/42
Diferencia -
Definición:
Seanrysdosrelacionescompatibles Sedefineladiferenciacomoelresultadodelastuplasdereliminadaslastuplasdescoincidentes.
Ejemplo:
21JW Condor
A B
a1 b1
a2 b2
a3 b2
a4 b4
A B
a1 b1
a2 b2
a5 b5
A B
a3 b2
a4 b4
r= s= r-s=
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
22/42
Consideraciones
Aclaraciones:
Pararealizarlaunión,intersecciónodiferencia,losesquemasdelasrelacionesqueintervienendebencoincidir(compatibles).
Casodequenoocurra,sedebeusarpreviamentelaproyección.
Lassiguientespropiedadessoninmediatas.ParacualquierrelaciónRycondicionespyq,asociadasasusatributos:
Pq(r)=p(r)q(r) Pq(r)=p(r)q(r)
Pq(r)=p(r)-q(r)
22JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
23/42
Resumen Algebra Relacional
SeanE,E1,E2relaciones,entonces:
OPERACIONES UNARIAS
p(E)PpredicadoconatributosenE s(E)SlistadeatributosdeE
x(E)XnuevonombredeE
OPERACIONES BINARIAS
E1E2
E1E2 E1-E2 E1xE2
23JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
24/42
Operaciones básicas CDM
24JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
25/42
Operaciones básicas PDM
25JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
26/42
BANCA TABLAS 1/3
26JW Condor
cliNombre cliCa lle cliCiuda d
Alomoto Av 12 Octubre Babahoyo
Alvarez Conquistadores Cuenca
Baldeón Toledo Cuenca
Cañizares Francisco Arévalo Quito DM
Endara Valladolid N23 UIO
Fernández Madrid Latacunga
Torres Carretas GuayaquilGonzález Av 10 Agosto Quito
López Manabí Portoviejo
Pérez Carretas Guayaquil
Ramos Eloy Alfaro Latacunga
Rodríguez Yasuní Quevedo
Santamaria Manabí PortoviejoValdivieso Simón Bolívar Zaruma
Zapata Malecon esquina Azogues
CLIENTES
sucNombre sucCiudad sucActivo
Alameda Quito 400
Centro Babahoyo 9000
Condado Quito 1700
Galápagos Babahoyo 7100
MoranValverde Azogues 0
Mariscal Concordia 2100Metropoli Quito 8000
Peninsula Orellana 300
Rio Guayaquil 3700
SUCURSALES
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
27/42
BANCA TABLAS 2/3
27JW Condor
CueNumero sucNombre cueSaldo preNumero sucNombre preImporte
C-009 Alameda 347 P-11 Metropoli 900
C-101 Centro 500 P-14 Centro 1500
C-102 Condado 400 P-15 Condado 1500
C-201 Galápagos 900 P-16 Condado 1300
C-215 Alameda 700 P-17 Centro 1000
C-217 Galápagos 750 P-23 Mariscal 2000
C-222 Mariscal 700 P-93 Alameda 500
C-305 Metropoli 350
C-509 Rio 3
CUENTAS PRESTAMOS
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
28/42
BANCA TABLAS 3/3
28JW Condor
cliNombre cueNumero cliNombre preNumero
Torres C-009 Endara P-11
Zapata C-101 Valdivieso P-14
Endara C-102 Pérez P-15
Zapata C-102 Pérez P-16Endara C-201 Endara P-17
Zapata C-201 Valdivieso P-17
Torres C-215 Endara P-23
Endara C-217 Pérez P-23
Endara C-222 Torres P-93
Torres C-305 Valdivieso P-93
Zapata C-305
Ramos C-509
TIENE DEBE
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
29/42
Banco: Consultas ejemplo
Obtener un listado de todos los clientes
cliNombre, cliCalle, cliCiudad
(CLIENTES)
DeterminarlosprestamosysuvalordelasucursalCondado
sucNombre = ‘Condado’
(PRESTAMOS)
29JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
30/42
Banco: Consultas 1
1. Encontrar las cuentas con saldo mayor a $
350
cueSaldo > 350
(CUENTAS)
2. Encontrar el numero de cuenta de todas las
cuentas con saldo mayor a $ 475
cueNumero( cueSaldo > 475 (CUENTAS))
30JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
31/42
Banco: Consultas 2
3. Encontrar el nombre de todos los clientes del banco
que tienen concedido un préstamo, una cuentaabierta o ambas cosas:
cliNombre (DEBE) cliNombre (TIENE)
4. Encontrar el nombre de todos los clientes del banco
que tienen concedido un préstamo y una cuenta
abierta:
cliNombre (DEBE) cliNombre (TIENE)
31JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
32/42
Banco: Consultas 3
5. Encontrar el nombre de todos los clientes del banco
que tienen concedido un préstamo en las sucursales dela ciudad de Cuenca
cliNombre ( sucCiudad =“Cuenca”
(
SUCURSALES.sucNombre = PRESTAMOS.sucNombre ( SUCURSALES x
PRESTAMOS)))
6. Encontrar el nombre de todos los clientes del banco
que tienen concedido un préstamo en las sucursales de
la ciudad de Cuenca y no tienen cuenta en el banco:
cliNombre (
sucCiudad =“Cuenca” (
SUCURSALES.sucNombre = PRESTAMOS.sucNombre ( SUCURSALES xPRESTAMO)))
-
cliNombre (CUENTAS)
32JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
33/42
Banco: Consultas 4
Encontrar la cuenta con mayor saldo
Estrategia:
Encontrar los saldos que no son los mayores
Renombrar la relación CUENTAS como d para
comparar con otras relaciones
Usar la diferencia con la relación CUENTAS
cueSaldo (CUENTAS) - CUENTAS.cueSaldo
( CUENTAS.cueSaldo < d.cueSaldo ( CUENTAS x d (CUENTAS)))
33JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
34/42
Operaciones adicionales
Simplificanconsultascomunes Producto Natural: Operador |x|
Haceelproductocartesianoconunaselección
detuplas“consentido”eliminandolascolumnas(atributos)repetidas.
SiRySdosrelacionesnotienenatributosencomúnesigualalproductocartesiano
34JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
35/42
Algebra Relacional extendida
Lasoperacionesbásicassehanextendidopermitiendo
operacionesmatemáticas.
ProyeccióngeneralizadaF1,F2,...Fn(E) Donde:
E=expresióndeálgebrarelacional F1,Fnsonexpresionesmatemáticasqueincluyenconstantesyatributos
Ejemplo: nombre,limite – saldo+crédito(CREDITOS)
35JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
36/42
Funciones de agregación
Funciones de agregación
Sum devuelvelasumadelosvalores Avg devuelveelpromediodelosvalores
Count devuelveelconteodelosvalores Count-distinct solocuentalosdistintos
Min devuelveelvalormínimodelosingresados Max devuelveelvalormáximo
Ģ representafuncióndeagregación
Ejemplo:
Ģsum(sueldo)(EMPLEADOS)
36JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
37/42
Modificación de BDD
Elcontenidodeunabasededatossepuede
modificarutilizandolassiguientesoperaciones: Eliminación
Inserción
Actualización
Todaslasoperacionesutilizaneloperadorasignación() Asignación:Operador
Asignaaunavariabletemporalelresultadodeunaoperación. Temp OperacióndelÁlgebra
37JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
38/42
Eliminación de tuplas
Unaeliminaciónessimilaraunaconsulta,peroelresultadonosepresentaalusuario,seloalmacenaenlarelación.
Nosepuedeeliminarvalores,solotuplascompletas
Seexpresacomo: r r – Q Donder=relación,Q=consulta
Ej.:Eliminartodoslascuentasdelasucursal“Centro”
38JW Condor
CUENTAS CUENTAS – [ sucNombre = “Centro” (CUENTAS)]
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
39/42
Inserción de tuplas
Parainsertartuplasenunarelación:
Especificarlatuplaainsertar,o Escribirlaconsultaquegenerelastuplasainsertar.
Seexpresacomo:
rrUQ Donder=relación,Q=consultaotupla
Ej.:InsertarlacuentaA-972delasucursal
“CCI”,consaldo$1.200,oo
39JW Condor
CUENTAS CUENTAS {(‘CCI’, ‘A-972’, 1200)}
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
40/42
Actualización
Actualizareselmecanismoparacambiarunvalordeunatuplasincambiartodos.
Seexpresacomo:
rF1,F2,...Fn(r) Donder=relación,F1esaplicadoatributo1…
Ej.:Incrementaren5%elsaldodelascuentasporinteresespagadosel2010
40JW Condor
CUENTA cueNumero, sucNombre, cueSaldo*1,05 (CUENTA)
2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
41/42
Algebra Relacional
PREGUNTAS
41JW Condor2016 Marzo
-
8/19/2019 BASES_02 Algebra Relacional
42/42
Algebra Relacional
GRACIAS POR SU ATENCION