algebrarelacional-110425153604-phpapp02

Upload: manuel-galvan

Post on 06-Jul-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    1/54

    Lenguajes de

    Manipulación deDatos

     Profesor:

     MS Luis Serna Jherry

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    2/54

    Lenguajes de

    Manipulación de Datos Son lenguajes que el usuario utiliza para

    consultar y modifcar la base de datos.

    Procedimentales:  Se instruye al sistema para llevar a cabo

    una serie de operaciones en la D paracalcular el resultado !"lgebra #elacional$

    %o Procedimentales:  Se describe la in&ormación deseada sin

    establecer el procedimiento para obtenerla!'(lculo #elacional$

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    3/54

    Lenguajes de Manipulación

    de Datos ) *volución+istórica  ,unio -/0 ) *. 'odd “A relational Modelof data for large shared databanks” 

    -/1 ) S*23*L !laboratorios de 4M$ -/5 ) S2L !S*23*L 6$ D7cada del 80 ) Se comercializan

    productos basados en S2L S2L985 S2L98 S2L96 *st(ndares ;%S4 S2L9 para soporte de datos de

    naturaleza compleja

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    4/54

    "lgebra #elacional

    *s un lenguaje de procedimientos dealto nivel que permite mediante el uso

    de ciertos operadores derivar las tablasdeseadas desde las tablas base delmodelo relacional.

    'onsta de un conjunto de operadoresque toman como entrada una o dosrelaciones y producen como resultadouna nueva relación.

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    5/54

    "lgebra #elacional

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    6/54

    *l ;lgebra #elacional en elDMS

    analizador 

    SQL

    Expresión

    en álgebra

    relacional

    Expresión

    optimizada

    en álgebra

    relacional

    Optimizador de

    Consultas

    Generador de código

    Plan de

    ejecución

    Código

    ejecutable

    D!S

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    7/54

    Extrae tuplas de una

    relación dada "ue

    satis#acen unacondición espec$#ica%

    S$mbolo& σ 'sigma(

    )*rmino Com+n& ',-E.E(

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    8/54

    Presta

    mo?4mporte

    Mira@ores PA-/ 600000

    La ;urora PA6B 100000

    Lima'ercado

    PA-C B00000

    '+acarilla PA-1 B00000

    Primavera PAB -00000

    Surquillo PA-- -80000La Molina PA-5 650000σ  / Sucursal 0 1!ira#lores2 'Prestamo(

    %=Sucursal >Prestamo

    ?4mporte

    Mira@ores PA-/ 600000

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    9/54

    Extrae atributos

    espec$#icos de una

    relación dada

    S$mbolo& Π

    )*rmino Com+n& P.O3EC)

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    10/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    11/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    12/54

    Constru;e una relación#ormada por todas las

    tuplas "ue aparecen en

    cual"uiera de dos

    relaciones especi#icas5

    eliminándose las

    duplicadas

    S$mbolo&  ∪)*rmino Com+n& 

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    13/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    14/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    15/54

    Dadas dos relaciones

    espec$#icas5 constru;e una

    tercera relación #ormada

     por todas las tuplas de la primera relación "ue no

    aparecen en la segunda%

    S$mbolo& 

    )*rmino Com+n& !:/

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    16/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    17/54

    Dadas dos relaciones

    espec$#icas5 constru;e

    una tercera relación "ue

    contiene todas las

    combinaciones posibles

    de tuplas5 una de cada

    una de las relaciones%

    A

    a1

    a1a2a2a3a3

    R3b1

    b2b1b2b1b2

    B

    R2

    X

    A

    B

    a1a2a3

    b1b

    2

    R1

    S$mbolo& 

    )*rmino Com+n& ):!ES

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    18/54

    Los resultados de las expresiones de álgebra

    relacional no tienen nombre5 a pesar de ser relaciones%

    Dada una expresión E5 la expresión

    ρ x 'E(

    de=uel=e el resultado de la expresión E con el

    nombre ?S$mbolo&  ρ (ro(

    )*rmino Com+n& .E/7!E

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    19/54

    )ambi*n es +til para renombrar los atributos de una

    relación&

    La expresión

    ρ ? '745 765 %%%5 7n( 'E(

    de=uel=e el resultado de la expresión E con el

    nombre ? ; con los atributos con el nombre

    cambiado a 745 765 %%%%5 7n

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    20/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    21/54

     Calcular una relación intermedia con los saldos "ue

    no son el máximo&

    @ Calcular el producto cartesiano Cuenta x Cuenta

    @ Aormar una selección sobre el resultado5

    comparando los =alores de los saldos "ue aparecen

    en una tupla

    Π

     cuenta%saldo 'σ cuenta%saldo 1 d%saldo 'Cuenta x ρ d 'Cuenta( (

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    22/54

    'uenta I ρ d !'uenta$

    #enombramiento A*jemplo

    Mira@ores '-0- -00000 Mira@ores '-0--00000

    Mira@ores '-0- -00000 La ;urora '6-C-10000

    Mira@ores '-0- -00000 Lima 'ercado '-0680000

    La ;urora '6-C -10000 Mira@ores '-0--00000

    La ;urora '6-C -10000 La ;urora '6-C-10000

    La ;urora '6-C -10000 Lima 'ercado'-0680000

    Lima 'ercado '-06 80000 Mira@ores '-0- -00000

    'uenta. 'uenta.'uenta. d.d. d.Sucursal cuenta saldo sucursalcuenta saldo

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    23/54

    Seleccion A *jemploσ cuenta.saldo K d.saldo ''uenta x ρ d ''uenta(

    Mira@ores '-0- -00000 La ;urora '6-C-10000

    Lima 'ercado '-06 80000 Mira@ores '-0- -00000

    Lima 'ercado '-06 80000 La ;urora '6-C -10000

    'uenta. 'uenta. 'uenta. d. sucursal d. cuenta d.saldo

    Sucursal cuenta saldo

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    24/54

    #enombramiento A*jemplo

    Π cuenta.saldo 'σ cuenta.saldo K d.saldo ''uenta x ρ d ''uenta( (

    'uenta.saldo

    -00000

    80000

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    25/54

    #enombramiento A

    *jemplo.ealizar la di#erencia entre ΠΠ  saldo 'Cuenta( ; larelación intermedia calculada%

    Π saldo

     ''uenta( Π cuenta.saldo

     'σcuenta.saldo K d.saldo 

    ''uenta x ρ d ''uenta( (

    saldo

    -00000

    -10000

    80000

     

    saldo

    -00000

    80000=

    saldo-10000

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    26/54

    Dadas dos relaciones Compatibles

    espec$#icas5 constru;e una tercera

    relación #ormada por todas las

    tuplas "ue aparecen en ambasrelaciones%

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    27/54

    .esultado&

    Cabecera B id*ntica a la de .4 ó .6Cuerpo B todas las tuplas "ue aparecen en .4 ; en

    .6 a la =ez%

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    28/54

    Prestamo

    Santos PA-/

    ómez PA6BLópez PA-C

    Soto PA-1

    P7rez PAB

    ómez PA--

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    29/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    30/54

    Dadas dos relaciones

    espec$#icas5 constru;e

    una tercera relación "uecombina ciertas

    selecciones5 pro;ección

    ; un producto

    cartesiano en una solaoperación%

    R2Θ

    A B

    a1a2a3

    b1b2b3

    R1

    B

    b1b2b4

    C

    124

    A

    a1a2

    R312

    C

    b1b2

    B

    S$mbolo&  Θ

    )*rmino Com+n& 3O:/

     /otación& R1 Θ  R2

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    31/54

    Presta

    moSantos PA-/

    ómez PA6B

    López PA-C

    Soto PA-1

    P7rez PAB

    ómez PA--

    Fern(ndez PA-5

    %=Sucursal>Presta

    mo?4mporte

    Mira@ores PA-/ 600000

    La ;urora PA6B 100000

    Lima 'ercado PA-C B00000

    '+acarilla PA-1 B00000

    Primavera PAB -00000

    Surquillo PA-- -80000

    La Molina PA-5 650000

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    32/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    33/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    34/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    35/54

    Dadas .4 ; .65 donde .6 ⊆ .4 'lacabecera de .6 es un subconjunto de la

    cabecera de .4(, Se constru;e una nue=arelación #ormada por los atributos de .4

    "ue no están en .65 donde los =alores de

    los otros atributos concuerdan con todoslos =alores de la relación .6%A

    a1

    R3

    R2

    A B

    a1a1a2a3

    b1b4b1b4

    R1

    B

    b1b4

    S$mbolo&  ÷

    )*rmino Com+n& D::DE F

     /otación& .4 ÷ .6

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    36/54

    La relación resultante de .4 ÷ .6  es como sigue&

    Cabecera & ?

    Cuerpo & tuplas '?&x( tales "ue ∃ '?&x5 F&;( en .4 para todas las

    tuplas 'F&;( en .6

    #- ÷ #6 y ! I #6$ subconjunto de #-

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    37/54

    !allar todos los clientes "ue tengan abierta una cuenta

    en todas las sucursales de Surco

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    38/54

    'uenta !-$ GitularAcuenta !-$%='liente 'uent

    a

    González C-101

    Gómez C-215López C-102

     Abril C-305

    González C-201

    Santos C-217

    Rodrígez C-222

    %=Sucursal 'uenta

    Saldo

    C!a"arilla C-101 100#000

    La Arora C-215 1%0#000

    Lima Cer"ado C-102 &0#000

    C!a"arilla C-305 70#000

    'rima(era C-201 1&0#000

    Sr)illo C-222 1%0#000

    %=Sucursal %=Distrito

    *ira+lores *ira+lores

    La Arora Sr)illo

    Lima Cer"ado Lima

    C!a"arilla Sr"o

    'rima(era Sr"o

    Sr)illo Sr)illo

    La *olina La *olina

    ,arrios Altos Lima

    Sucursal

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    39/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    40/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    41/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    42/54

    Precedencia de

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    43/54

    Ejemplos de Operaciones .elacionales

    'onsidere el siguiente esquema relacional:

    'L4*%G*: !'=cliente %=cliente G=cli=direccion %pais ?Saldo4ni?Saldo;ct$

    N*%D*D

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    44/54

    Ejemplos de Operaciones .elacionales

    C_$endedor N_$endedor C_%e&e N_o'cina (Comision

    -0 #odney ,ones

    6/ '+icago -0

    -1 Masaji Matsu 11 Goyo --6B FrancoiseMoire

    BC ruselas

    B/ *lena Qorna -6 s. ;ires -B

    B oro ;zuma 11 Goyo -0

    6/ Gerry'ardoso

    '+icago -C

    11 ;lbert 4ge 6/ Goyo -6

    BC rigit ovary 6/ ruselas --

    16 runo 6/ s. ;ires -0

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    45/54

    3nión3nión

    Ejemplos de Operaciones .elacionales

    Si consideramos:Si consideramos:

    )endedor_subordinado)endedor_subordinado: todos aquellos que: todos aquellos quetienen un je&etienen un je&e

    )endedor_%e&e)endedor_%e&e: todos aquellos que son je&e: todos aquellos que son je&ede alguiende alguien

    )endedor * )endedor_subordinado)endedor * )endedor_subordinado∪

     )endedor_%e&e)endedor_%e&e

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    46/54

     ,e&es de nivel intermedio: ,e&es de nivel intermedio:

    Nendedor=subordinadoNendedor=subordinado ∩∩ Nendedor=je&eNendedor=je&e

    4ntersección4ntersecciónEjemplos de Operaciones .elacionales

    C.//R .//R C/4/ 4CA 6C*S

    %%   Albert ge   27 o89o 12

    35 ,rigit ,o(ar9 27   ,rselas   11

    12 ,rno Sán"!ez 27 ,s:

     Aires

    10

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    47/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    48/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    49/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    50/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    51/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    52/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    53/54

  • 8/17/2019 algebrarelacional-110425153604-phpapp02

    54/54