BASES_02 Algebra Relacional

download BASES_02 Algebra Relacional

of 42

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