Ejercicios resueltos algebra relacional PDF

Title Ejercicios resueltos algebra relacional
Course Base de datos
Institution Universidad Nacional de La Matanza
Pages 13
File Size 326.4 KB
File Type PDF
Total Downloads 49
Total Views 144

Summary

Download Ejercicios resueltos algebra relacional PDF


Description

  CátedradeBasedeDatos

UNLaM

  

UNIVERSIDADNACIONALDELAMATANZA 

DEPARTAMENTODEINGENIERÍA EINVESTIGACIONESTECNOLÓGICAS  INGENIERIAENINFORMATICA   

BASEDEDATOS 

EjerciciosPropuestosyResueltos AlgebraRelacional  JefedeCátedra: Ing.OsvaldoSpositto  Docentesacargodecurso: Ing.VerónicaIchazo Ing.AlfonsoPalomares Ing.NataliaCrespo Ing.GuillermoGiannotti 

Docentesacargodepráctica: Ing.MatíasLópez Ing.JuanCarlosBordachar  Ayudantes: Ing.PaulaRevetria FlorenciaFederico Ing.JavierRebagliatti Ing.SebastiánDeuteris  

2014  

PrácticadeejerciciosresueltosdeAR



1/13

  CátedradeBasedeDatos

UNLaM

  ALGEBRARELACIONAL 

Referencias:ClavePrimaria,ClaveForánea,ClavePrimariayForáneaalmismotiempo

  1.  Indique  cual  de  las  siguientes  operaciones  se  pueden  realizar.  Si  es  inválida  la  operación,indiqueporqué. 1)R←A(ab)B(abc) →nosepuederealizarpor!=dom 2)R←A(ab)∪C(ab) →sisepuederealizar 3)R←A(ab)XB(abc) →sisepuederealizar 4)R←(F(ab)|X|G(abc))M(abc) →sisepuederealizar  2.Indiquesilasiguienteafirmaciónesverdaderaofalsa.Justifiquesurespuesta. 

“Dadas dos relaciones R y S con claves primarias Kr y Ks respectivamente. Asumiendo que R y S  tienen  esquemas  compatibles  con  la  unión,  la clave  primaria para la  relación resultante  de  la  operaciónRUSesKr”.  Falso. La clave no es Kr, ya que al aplicar la unión, pueden existir  tuplas en la relación S que  tengan el mismo valor en Ks, con lo cual la nueva clave podría ser todo el esquema resultante de  laoperación.  3.  ¿Cómo expresaría los operadores de INTERSECCIÓN  (∩)  y de JUNTA  NATURAL  (⋈ ⋈)  utilizando operadores  esenciales, sabiendo  que  los  operadores esenciales ó completos  sonaquellosquenosepuedenexpresarcomoderivadosdeotrosoperadores?  Recordemosprimeroquelosoperadoresesencialesson: ● Selección(σ) ● Proyección(∏) ● ProductoCartesiano(x) ● Unión(∪) ● Diferencia()  INTERSECCIÓN  PartimosquetenemoslosconjuntosR(abcd)yS(abcd),conlassiguientestuplas  R({a1,b1,c1,d1},{a2,b2,c2,d2},{a3,b3,c3,d3})  S({a1,b1,c1,d1},{a3,b3,c3,d3},{a4,b4,c4,d4})  LaintersecciónR∩Snosquedaría: R∩S=({a1,b1,c1,d1},{a3,b3,c3,d3})  Entonces,  tenemos  que  ver  como  arribar  al  mismo  resultado  con  los  operadores  básicos  o  esenciales.  Si restamos a R todos los elementos de S, obtendremos, aquellos elementos que están en R y no  estánenS.  PrácticadeejerciciosresueltosdeAR

2/13

  CátedradeBasedeDatos

UNLaM

 RS=({a2,b2,c2,d2})  Luego, si al resultado anterior se lo restamos a R, obtendremos el mismo resultado que haciendo  laintersección. 

R(RS)=({a1,b1,c1,d1},{a3,b3,c3,d3})  JUNTANATURAL PartimosdeunahipótesisquedefineunR(abc)yunS(cde),conlassiguientestuplas  R({a1,b1,c1},{a2,b2,c1},{a3,b3,c3})  S({c1,d1,e1},{c2,d2,e2},{c5,d5,e5})  La  junta  natural  R  ⋈ S nos daría, aquellas tuplas donde el atributo C tenga el mismo valor en  ambos  conjuntos.  Como  ocurre  con  las  dos  primeras  tuplas de R, ambas tienen  c1 que se  comparteconlaprimertupladeS.  R⋈S  {a1,b1,c1,d1,e1} ←resultadodela1ertupladeRconla1eradeS {a2,b2,c1,d1,e1} ←resultadodela2datupladeRconla1eradeS  Entonces,  tenemos  que  ver  como  arribar  al  mismo  resultado  con  los  operadores  básicos  o  esenciales.  Si hacemos un producto cartesiano  entre R  y S, obtendríamos una combinación de todas las  tuplasdeRcontodaslasdeS  R⋈S  {a1,b1,c1,c1,d1,e1} {a2,b2,c1,c1,d1,e1} {a3,b3,c3,c1,d1,e1}←Hastaacá,todaslasdeRconla1radeS {a1,b1,c1,c2,d2,e2} {a2,b2,c1,c2,d2,e2} {a3,b3,c3,c2,d2,e2}←Hastaacá,todaslasdeRconla2dadeS {a1,b1,c1,c5,d5,e5} {a2,b2,c1,c5,d5,e5} {a3,b3,c3,c5,d5,e5}←Hastaacá,todaslasdeRconla3radeS  Ahora,  deberíamos  quedarnos  con  aquellas  que  cumplen  la  condición  de  que  la columna  que  compartencontengaelmismoresultado.  σ(R⋈S)  {a1,b1,c1,c1,d1,e1} {a2,b2,c1,c1,d1,e1}  Solo nos queda eliminar uno de los campos que forman la igualdad, para que el resultado sea igual  alproporcionadoporlajunta.

PrácticadeejerciciosresueltosdeAR

3/13

  CátedradeBasedeDatos

UNLaM

  ∏(σ(R⋈S))

 {a1,b1,c1,d1,e1} {a2,b2,c1,d1,e1}  4. ¿Qué significa que dos  relaciones tienen que ser compatibles? ¿Qué operaciones del  ARnecesitancompatibilidadderelaciones?Explique,justifiqueyejemplifique.  La compatibilidad de dos  relaciones esta dada por la igualdad de grado de las mismas y cuando  todos  los  elementos  de  la  primer  relación  tienen  dominio  compatible  con  el  dominio de  cada  atributodelasegundarelación.  Entonces,elGradoes:Lacantidaddeelementosoatributosquetieneunarelación.  R(a) ←Grado1 S(ab) ←Grado2 D(abc) ←Grado3  Igualdaddedominioparatodosloselementos  teniendoR(ab)yS(ef)  tenemosquedefinirsiaRtieneuntipodedatoequivalenteaeSyviceversa.Además, tenemosquedefinirsibRtieneuntipodedatoequivalenteafSyviceversa.  Operacionesquenecesitandedosrelacionescompatibles ● Unión ● Intersección ● Restaodiferencia  Estetipodecompatibilidadseconocecomo“unióncompatible”,másalládelaoperaciónaaplicar  EjemploCorrecto.  Auto(patente,color,marca) Moto(patente,color,marca)  Auto∩Moto  EjemploIncorrecto.Problemaincompatibilidaddegrado  Auto(patente,color,marca) Moto(patente,color,marca,kilometraje)  Auto  ∩  Moto  ←  Esta  operación  no  se  puede  realizar, por tener más atributosmotoqueauto.  EjemploIncorrecto.Problemaincompatibilidaddedominio  Auto(patente,color,marca,modelo)

PrácticadeejerciciosresueltosdeAR

4/13

  CátedradeBasedeDatos

UNLaM

 Moto(patente,color,marca,kilometraje)  Auto ∩ Moto  ← Esta operación no se puede realizar, por ser kilometraje deundominionuméricoymodelodeundominiodetexto.    5.  Indique  si  la  siguiente  afirmación  es  verdadera  o  falsa.  Justifique  su  respuesta  y  ejemplifique  “Unaconsultasiempreesaplicadaainstanciasyelresultadogeneraotrainstancia”.  Verdadero. Las consultas del Álgebra Relacional se aplican a un conjunto de tuplas y el resultado  de  aplicar  una  operación  me  da  un  nuevo  conjunto  de  tuplas  que  corresponde  a  una  nueva  instancia.  Por esto siempre se recomienda terminar los ejercicios con la operación de asignación ( ← ), para  terminardecomprenderqueelresultadoquedaalmacenadoenunlugardeterminado.   6.  ¿Cómo resuelve el  Álgebra Relacional el conflicto que se  produce  cuando se busca  referenciar a un producto Cartesiano entredos relaciones cuya intersección de esquemas  noesvacío?Ejemplifiqueelcaso.  La ambigüedad de atributos se resuelve haciendo referencia a las columnas por posición relativa o  renombrandolascolumnasambiguas.  Porejemplo: Empleado(Leg,NyA,Dom,CodDto) 



∏1,2,5,6(σ4=8(EmpleadoxEmpleado)) o

 Empleado2(Legajo,Nomb,Domi,Dto)←Empleado  ∏Leg,NyA,Legajo,Nomb(σCodDto=Dto(EmpleadoXEmpleado2))

 7.DadoslosesquemasR(a(int),b(int),c(char(10)))yS(d(int),e(char(10))):  “Indique si es posible obtener el mismo resultado que ∏ b,c (R) ∩ S  valiéndose del operador  de  junta  y  si fuera  necesario  del  resto  de  los  operadores  del Álgebra Relacional (excepto  el  operador∩)”.Justifiquesurespuesta. 

SS(b,c)←S ∏b,c(R)⋈SS  La junta se transforma en una intersección cuando ambas relaciones tienen idéntico esquema, ya  quetodosloscamposparticipandelacondicióndejunta.  8.DadoelesquemaR(a,b,c): “Indique si es posible obtener el mismo resultado que R X R  valiéndose del operador de junta y si  PrácticadeejerciciosresueltosdeAR

5/13

  CátedradeBasedeDatos

UNLaM

 fuera  necesario  del  resto  de  los  operadores  del  Álgebra Relacional  (excepto el  operador  X).  Justifiquesurespuesta.   RR(d,e,f)←R R⋈RR  La junta se transforma en producto cartesiano cuando no hay campos en común debido a que no  haycondicióndejuntaaverificarse. 

9.Indiquesilasiguienteafirmaciónesverdaderaofalsa.Justifiquesurespuesta: “UnaconsultaenÁlgebraRelacionalpuededevolvercomoresultadounvalor” 

Falso.Siempredevuelvenrelaciones. 

10.Teniendoelsiguienteesquema,responda  Persona (dni,nombre,apellido) Alumno (dni,legajo) Tema (nro,descripción) Contenido (materia,tema) Cursada (docente,alumno,materia,nro) Docente (dni,sueldo) Materia (cod,nombre)  a)Listelosalumnosquecursanmateriasconcontenidosrepetidosenporlomenos3materias.

 TemaMat←∏alumno,materia,tema(Cursada⋈Contenido)  RTA←∏1(σ1=4=7AND3=6=9AND25AND58AND28(TemaMatxTemaMatxTemaMat)  b)ListelosdocentesqueledenclasesatodoslosAlumnosapellidadosPérezyGonzález.

 PerezGonza←∏legajo(σapellido=‘Perez’ORapellido=‘Gonzalez’(Persona⋈Alumno))  TODOS←∏dni(Docente)xPerezGonza  NOEXISTE←TODOS∏docente,alumno(Cursada)  RTA←∏1(Docente)∏1(NOEXISTE)  c)Muestrelasmateriasquenotienendefinidouncontenidoyquenotenganalumnosinscriptos

 SINCONT←∏1(Materia)∏1(Contenido)  SINALUM←∏1(Materia)∏3(Cursada) 

RTA←SINCONT∩SINALUM

  11.Teniendoelsiguienteesquema,responda Alumno (id,nombre,telefono) Instructor (id,nombre,telefono) PrácticadeejerciciosresueltosdeAR

6/13

  CátedradeBasedeDatos

UNLaM

 Curso Cursa 

(código,nombre,cuota,duración,instructorId) (alumnoID,cursoCodigo)

a.Listelosalumnosquecursaroncontodoslosinstructoresexistentes. 

Todos←∏1(Alumno)x∏1(Instructor)  Nocumplen←Todos∏alumnoID,instructorID(Cursa⋈Curso) 

RTA←∏1(Alumno)∏1(Nocumplen)

 b. Liste  el nombre del alumno y el del instructor para aquellos alumnos que tuvieron  el  mismo  instructorenalmenos3cursos.

 CCI←CursaConInstructor←Cursa⋈∏instructorID,código(Curso)  CCI2←CCI CCI3←CCI  ALUM_INSTR←∏1,3(σ1=4=7Y3=6=9Y25Y28Y58(CCIxCCI2xCCI3))

 RTA←∏4,7(ALUM_INSTR⋈1=3Alumno⋈2=6Instructor)   12.Teniendoelsiguienteesquema,responda  ImportadorPor (codigoSilla,codigoImporador) UsadoEn (CódigoSilla,CódigoAula) CompuestoPor (CódigoSilla,CódigoMaterial)  a.Listetodaslassillasquesonimportadasportodoslosimportadoresyusadasentodas lasaulas.  SILLA←∏codSilla(ImportadorPor)∪∏codSilla(UsadoEn)∪ ∏codSilla(CompuestoPor)  IMPORTADOR←∏codigoImporador(ImportadorPor)  AULA←∏CódigoAula(UsadoEn)  MATERIAL←∏codMaterial(CompuestoPor)  sillasimportadasportodoslosimportadores(SITI)  SITI←SILLA∏codSilla((SILLAxIMPORTADOR)ImportadorPor)  sillasusadasentodaslasaulas(SUTA)  SUTA←SILLA∏codSilla((SILLAxAULA)UsadoEn)  AHORA  QUE  TENEMOS  ESTOS  DOS  ÚLTIMOS, HACEMOS LA INTERSECCIÓN PARA SABERQEUESTAENAMBOSGRUPOSYLISTO. PrácticadeejerciciosresueltosdeAR

7/13

  CátedradeBasedeDatos

UNLaM

 

RTA←SITI∩SUTA  b.Listetodoslosmaterialesusadosensillasnacionales(esdecir,quenofueron importadas)  sillasnacionales(SN) SN←SILLAS∏codSilla(ImportadorPor)  TodoslosMaterialesusadosenlassillasnacionales(MSN) MSN←∏codMaterial(σMSN.codSilla=compuestoPor.codSilla(MSNxCompuestoPor))  13.Teniendoelsiguienteesquema,resolverlasconsultasenÁlgebraRelacional: 

Vendedor Cliente Venta DetalleVenta 

(legajo,nombre,apellido) (id,nombre,apellido) (nroFactura,idVendedor,idCliente,montoTotal) (nroFactura,codArticulo,cant)

a) Indique los vendedores que hayan realizado ventasa todos los clientes y hayan tenido  almenos3ventasdemásde1000pesos.  TODOS(idCliente,Idvendedor)←∏id(Cliente)x∏legajo(vendedor)  NOCUMPLE(id,legajo)←–TODOS∏idCliente,Idvendedor(Venta)  Vendedorquelesvendeatodos(VAT)  VAT←∏legajo(Vendedor)∏legajo(NOCUMPLE)  V’’(7,8,9)←V’(4,5,6)←V(1,2,3)←∏idVendedor,nroFactura,montoTotal(VENTA)  Tienealmenos3ventasdemásdemilpesos  V100←∏1(σ1=4=7Y25Y28Y58Y3>100Y6>1000Y9>1000(VxV’xV’’))  RTA←VAT∩V100 

 b)Indiquelosartículosquehayansidovendidosamásde3clientesysolopor1vendedor.  tenemosquejuntarlaventaconeldetalle(VD)  VD(1,2,3,4)←∏idCliente,codArticulo,nroFactura,idVendedor(DetalleVenta⋈Venta)  VD’(5,6,7,8)←VD VD’’(9,10,11,12)←VD  Artículosvendidosamásde3clientes(A3C). A3C←∏VD.2(σ*(VDXVD’XVD’’))  Condición(*) PrácticadeejerciciosresueltosdeAR

8/13

  CátedradeBasedeDatos

UNLaM

 VD.2=VD’.6=VD’’.10Y VD.1VD’.5YVD.1VD’’.9YVD’.5VD’’.9  Artículoscomercializadosporsólo1vendedor(S1V). M1V←∏VD.2(σVD.2=VD’.6YVD.3VD’.7YVD.4VD’.8(VDXVD’))  S1V←∏codArticulo(DetalleVenta)–M1V  Rta←A3C∩S1V   14.DadalasiguienteBD,realicelasconsultasenálgebrarelacional  Empleado (Legajo,nombre,apellido,fechaNac,FechaIngreso) TituloPersona (Legajo,IdTitulo,FechaInicio,FechaFin) Titulo (id,descripción) Cliente (id,nombre,IdRubro) Asignacion (legajo,IdCliente,FechaInicio,FechaFin,idRol) Rol (id,Descripción,tarifa) Rubro (id,Descripción)  

a. Indique las personas que tienen un título de Contador Público completo que no estén  asignadosactualmenteaningúnCliente.  CONTADOR←∏legajo(σFechafinaHOY(TituloPersona))  2oMAS←∏legajo(σA.legajo=A’.legajoYa.idClia’.idCli(AsignacionXAsignacion’))  3oMas←∏legajo(σ1=6=11Y27y212y712(AsignacionXAsignacion’XAsignacion’’))  2exactos←2oMas3oMas PrácticadeejerciciosresueltosdeAR

9/13

  CátedradeBasedeDatos

UNLaM

  RTA←SINTITULO∩2exactos   d. Indique para los empleados con mayor antigüedad, sus datos personales y los clientes  enlosqueestány/ohansidoasignados.  E’(3,4)←E(1,2)←∏legajo,FechaIngreso(Empleado)  MAXANT←∏legajo(Empleado)∏1(σ2>4(EXE’) RTA←MAXANT⋈Empleado⋈Asignacion  15.DadalasiguienteBasededatosdeBanco‘XX’: 

Cliente Cuenta Sucursal TipoCuenta SaldoCuenta Tarjeta

(codCliente,nombre,apellido,dni,telefono) (nroCuenta,  codCliente,  codTipoCuenta, fechaCreacion, fechaBaja,codSucursal) (nroSucursal,nombre,calle,nro,localidad,provincia) (codTipoCuenta,desc,limite,costoMensual) (año,mes,nroCuenta,montoAPagar) (nroTarjeta,  nroCuenta,  tipoTarjeta,  codMarca, fechaEmision,fechaVencimiento) (codMarca,desc)

Marca  Nota: ● TipoTarjetaesuncaráctercuyosvaloresmeindican: ○ ‘T’=Titular ○ ‘A’=Adicional. ● LascuentasactivassedeterminanverificandoquenotenganvalorenelcampofechaBaja. ● Lastarjetasconfechadevencimientomenoraldiadelafecha,estánvencidas ● “Marca”eslaentidadfinancieraemisoradelplástico;ejemplo:VisaoMasterCard 

Realizarlassiguientesconsultas  a.  Indique los clientescon solo tarjetas titulares no vencidas, que tienen todos los tipos de  cuentas(yestánactivas)yalmenosunadeellasesenlasucursal‘RamosMejía’.  CTAAD←∏1(σ3=’A’Y6>HOY(TARJETA))  CLIAD←∏codCliente(σfechaBajaISNULL(Cuenta⋈TARJETA))  Clientesinadicionales CLISINAD←∏codCliente(Cliente)CLIAD  clientesdeRamosMejia CLIRM←∏codCliente(σnombre=‘RamosMejia’YfechaBajaisNULL(Cuenta⋈SUCURSAL))  Clientescontodoslostiposdecuentas TODOS←∏1(Cliente)X∏1(TipoCuenta)  CLITC←∏1(Cliente)∏1(TODOS∏2,3(Cuenta))  PrácticadeejerciciosresueltosdeAR

10/13

  CátedradeBasedeDatos

UNLaM

 elresultadoestarádadoporlainterseccióndelas3condiciones RTA←CLISINAD∩CLIRM∩CLITC   b. Indique los nombres y teléfonos de los clientes con cuentas activas tipo ‘universitario’  más antiguas que en los últimos 2 meses hayan gastado más del 70% de su límite (de esa  cuenta). 

cuentasuniversitarias CU←∏1,4(σdesc=“Univ”YfechaBajaINNULL(Cuenta⋈TipoCuenta))  Seleccionolasquenosonmásantiguas N←∏1(σ2>4(CU))  Ahorasi,mequedoconlasmásantiguas. CANT←∏1(CU)N  Obtengoellímiteparalascuentastipouniversitarias LU←∏LIMITE(σdesc=“Univ”(tipocuenta))  Obtengolosquegastaronmásdel70% 1MES←∏nroCuenta(σaño=YEAR()Ymes=MONTH()1YMontoAPagar>0.7*Limite(SaldoCuentaXLU)  2MES←∏nroCuenta(σaño=YEAR()Ymes=MONTH()2YMontoAPagar>0.7*Limite(SaldoCuentaXLU)  Ahora,unificotodoloobtenido  RTA←∏2,5(Cliente⋈(CANT∩1MES∩2MES)⋈Cuenta)  

c.Indiquelosnombresyteléfonodelosclientesexclusivosdelasucursal‘SanJusto’  Busco  los  clientes  que  no  tienen  cuentas  en  SJ,  para luego hacer la resta. NOSJ←∏nroCuenta(σnombre“SanJusto”(Cuenta⋈Sucursal)  RTA←∏nroCuenta(Cuenta)NOSJ   d. Indique los clientes con una sola cuenta activa en el momento, que más han gastado el  mes pasado (con esa misma cuenta) y hayan tenido  con  anterioridad,  una  cuenta  tipo  ‘premium’.  Buscolosclientesconalmenos2cuentasactivas.  CLI2←∏nroCuenta(σ17Y2=8Y5ISNULLY11ISNULL(CuentaXCuenta))  CLI1←∏nroCuenta(σ5ISNULL(Cuenta)CLI2  BuscoLosclientesconcuentaspremium  CLIP←∏nroCuenta(σdesc=“Premium”(Cuenta⋈tipoCuenta)) PrácticadeejerciciosresueltosdeAR

11/13

  CátedradeBasedeDatos

UNLaM

  Buscolosquemásgastaronconlacuentaactiva(CLI1)  S←∏nroCuenta,montoAPagar(σaño=YEAR()Ymes=MONTH()1(CLI1⋈SaldoCuenta)  MASGASTO←∏1(S)∏1(σ13Y2...


Similar Free PDFs