Professional Documents
Culture Documents
Ing.DanielDeSantiago
EresLibrede: Copiar,distribuir,ycomunicar pblicamentelaobra BajolasCondicionesSiguientes: Atribucin.Debesreconocerlaautoradelaobraenlostrminos especificadosporelpropioautorolicenciante. Nocomercial.Nopuedesutilizarestaobraparafinescomerciales. LicenciamientoRecproco.Sialteras,transformasocreasunaobraa partirdeestaobra,solopodrsdistribuirlaobraresultantebajouna licenciaigualasta. Hacerobrasderivadas
Tema BasedeDatos
ModelosdeDatos
IntroduccinBasedeDatos
UnaBasedeDatos(BD)esunacoleccinde datosrelacionadosquerepresentauncierto modelooabstraccindelmundoreal(algunas vecesllamadoelminimundo).Loscambiosen esteminimundosonreflejadosenlabasede datos. Unabasededatosesdiseada,construiday llenadacondatosparaunpropsitoespecfico. Tieneungrupodeusuariosparticular,y algunasaplicacionespreestablecidasenlas cualesestosusuariosestninteresados.
IntroduccinBD
IntroduccinBD
Nombre JuanPrez Luis Gonzalez JosTapia ... JuanPrez Luis Gonzlez JosTapia
Nota 1 4.5 R *
.. .
R 6,2 R
E R 4.2
IntroduccinBD
Describirlasdesventajas:
ModelosdeDatos
ModelosdeDatos
Lasiguientefiguramuestralostiposdemodelosde datos.
ModelodeDatosFsicos
ModeloLgicosbasadosen Objetos
Partendemundorealdelimitandoelentorno delsistemaydentrodeesteentorno identificanlosobjetosdeinters Seutilizanparadescribirlosdatosenlos niveleslgicoydevisin,yespecifican claramentelasligadurasdeconsistenciade losdatos Comoejemplosdeestegrupoestnel modeloentidadrelacinyelmodelo orientadoaobjetos
ModeloEntidadRelacin
persona
posee
automvil
ocurri
accidente
ModeloOrientadoaObjetos
Accin valorActual()
Bono valorActual()
ModelosLgicosbasadosen Registros
ModelodeRed
Serepresentaporunconjuntoderegistros ylasrelacionesentreellosporpunteros
10 5 10 25 35 Escobas 10 Sardinas Caf Pasas 10 25 25 2 1 1 2 1 20 5 1 2 10 10 10 20 20 5 1 10 10
35
ModeloJerrquico
IgualqueeldeRedperoenformaderbol
Escobas 10 Sardinas
25
Caf 35 Pasas
10
1 10
10 10 10 2 20 10
5 25
10 1 1
25 20
2 35
20 1 10 5
ElModeloRelacional
ElModeloRelacional
ElModeloRelacional
ElModeloRelacional
LaBDRelacionescumplenlassiguientesleyes bsicas:
Generalmente,contendrnmuchastablas.
Tema AlgebraRelacional
OperadoresyOperandosdeun ModeloRelacional
Introduccin
Unlenguajedeconsultaesunlenguajeconelqueel usuariosolicitainformacindelabasededatos:se construyeunaexpresinquecontestainterrogantes sobrelainstanciaactualdelabase. Enestetemaseestudiarlacuestindelas consultasdesdeunaperspectivaabstracta, presentandolosprincipalesoperadoresestndar quesehandefinidoenelModeloRelacional Severaunlenguajepuroqueesrgidoyformal, peroqueilustralastcnicasfundamentalesparala extraccindelainformacin:elAlgebraRelacional
ConceptosBsicos
UnaBasedeDatosRelacionalmuestralas tablasenformadefilasycolumnas
ciudad(nro_ciudadnom_ciudad)
a1 a5 a6 a9
ConceptosBsicos
Productocartesiano.Deloanteriorsetiene v1D1,v2D2,...,vnDn,porquecada elementoesteneldominiorespectivo.En matemticaspodemosdecirquelatuplaesun elementodelproductocartesianodelos dominios: Tupla.Cadaunadelasfilasdeunatablase componedenelementos(V1,V2,..,Vn).En matemticasesteconjuntoordenadode elementossellamatupla
(v1,v2,....,vn)(D1xD2x.....xDn)=Xi=1,n(Di)
ConceptosBsicos
SmbolosdelLenguaje
Lossmbolosbsicosdellenguajeson: smbolosdepuntuacin:parntesis"(",")"ycoma",". smbolosdevariables:serepresentanmedianteletrasminsculas delfinaldelalfabeto:r,s,t,u,v,w,x,y,z. smbolosdeconstantes:serepresentanmedianteletrasminsculas delprincipiodelalfabeto:a,b,c,d,e. smbolosdefunciones:tambinserepresentanconletras minsculas,perodelcentrodelalfabeto:f,g,h,i.. smbolosdepredicados:serepresentanmedianteletras maysculas. operadoreslgicos:(negacin),(implicacin),(conjuncin)y (disyuncin). cuantificadores: (cuantificadoruniversal)y(cuantificador existencial).
SmbolosdelLenguaje
Lajerarquaenlaprecedenciadelosoperadoresy cuantificadoreses(demayoramenor): 1), , 2) 3) 4) Dichaprecedenciasepuedealterarutilizandolos parntesis. Losoperadoresy yelcuantificador seintroducen enellenguajeporconveniencia,yaqueen realidadnosonnecesariospues: FG(F)G x(F)x(F) FG(FG)
LasOperacionesdelAlgebra Relacional
LasOperacionesdelAlgebra Relacional
Ellgebrarelacionalconstadenueve operaciones:
LasOperacionesdelAlgebra Relacional
Unin()
Laoperacindeuninpermitecombinardatosde variasrelaciones.Supongamosqueunadeterminada empresainternacionalposeeunatabladeempleados paracadaunodelospasesenlosqueopera.Para conseguirunlistadocompletodetodoslosempleados delaempresatenemosquerealizarunauninde todaslastablasdeempleadosdetodoslospases. Nosiempreesposiblerealizarconsultasdeunin entrevariastablas,parapoderrealizarestaoperacin esnecesarioeimprescindiblequelastablasaunir tenganlasmismasestructuras,quesuscampossean iguales.
OperacinUnion
Ejemplo:
OperacinUnion,
R
Nombre JuanDaz AnaGmez DireccinFecha C/Pez,109962 C/Luna,38358
S
Nombre JuanDaz LuisDaz DireccinFecha C/Pez,109962 C/Sol,58567
RS
LasOperacionesdelAlgebra Relacional
Diferencia()
OperacinDiferencia,
LasOperacionesdelAlgebra Relacional
Interseccin()
Interseccin
Equivalencia
RS(R(RS))
RS
JuanDaz
C/Pez,10
9962
LasOperacionesdelAlgebra Relacional
Producto(x)
OperacinProducto Cartesiano,
OperacinProducto Cartesiano,
R A 1 3 B 2 4
S B 2 4 9 C 5 7 10 D 6 8 11
RXS
A 1 1 1 3 3 3
R.B 2 2 2 4 4 4
S.B 2 4 9 2 4 9
C 5 7 10 5 7 10
D 6 8 11 6 8 11
OperacinProducto Cartesiano,
TablaA X 10 11 Y 22 25 W 33 37 42 TablaB Z 54 98 100
ElproductodeA*Bdaracomoresultadolasiguientetabla:
OperacinProducto Cartesiano,
TablaA*TablaB 10 10 10 11 11 11
22 22 22 25 25 25
33 37 42 33 37 42
54 98 100 54 98 100
LasOperacionesdelAlgebra Relacional
Seleccin()
OperacinSeleccin,
FormatodeUso:(condicin)(RELACION)
F(R)
(=,>,<,>=,<=,<>) (and),(or),(not)
Ylosoperadoreslgicos:
OperacinSeleccin,
OperacinSeleccin,
R
Nombre JuanDaz AnaGmez LuisDaz Direccin C/Pez,10 C/Luna,3 C/Sol,5 Fecha 9962 8358 8567
LafrmulaesF=Nombre>B Nombre JuanDaz LuisDaz Direccin C/Pez,10 C/Sol,5 Fecha 9962 8567
F(R)
EjemplosSeleccin,
PERSONA Cedula Nombre Primer_Apellido 71134534Juan Mesa Ana 23423445 Mara Betancur 12453535Gloria Betancur 75556743Pedro Ochoa 43533322Patricia Angel 78900456Carlos Betancur
Segundo_Apellido Sexo Direccin Telefono Salario Uribe M Cra25221 2567532 1,600,000 Bermudez Garces Pelaez Guzmn Agudelo
F F M F M
EjemplosSeleccin,
Muestraelresultadodelassiguientes selecciones:
EjemplosSeleccin,
cedula=71134534(PERSONA)
Resultado: Cedula Nombre Primer_Apellido 71134534 Juan Mesa Segundo_Apellido Uribe Sexo M Direccin Cra25221 Telefono Salario 2567532 1,600,000
sexo="F"(PERSONA)
Resultado: Cedula Nombre Primer_Apellido Ana 23423445 Mara Betancur 12453535 Gloria Betancur Segundo_Apellido Bermudez Garces Sexo F F Direccin Cra451113 Tr.12435 Telefono Salario 3433444 1,300,000 2756533 1,700,000
EjemplosSeleccin,
(primer_apellido="Bentancur")(sexo="F")(PERSONA)
Resultado: Cedula Nombre Primer_Apellido Ana 23423445 Mara Betancur 12453535 Gloria Betancur Segundo_Apellido Bermudez Garces Sexo F F Direccin Cra451113 Tr.12435 Telefono Salario 3433444 1,300,000 2756533 1,700,000
sexo="M")(salarios>=1,350,000)(PERSONA)
Resultado: Cedula Nombre 71134534 Juan 12453535 Gloria 75556743 Pedro 43533322 Patricia 78900456 Carlos Primer_Apellido Mesa Betancur Ochoa Angel Betancur Segundo_Apellido Uribe Garces Pelaez Guzmn Agudelo Sexo M F M F M Direccin Cra25221 Tr.12435 Cll.6ta1445 Cll.45231 Cir.5125 Telefono Salario 2567532 1,600,000 2756533 1,700,000 2686885 1,200,000 2674563 1,350,000 4445775 1,500,000
LasOperacionesdelAlgebra Relacional
Proyeccin()
Unaproyeccinesunaseleccinenlaque seleccionamosaquelloscamposque deseamosrecuperar.Tomandocomo referenciaelcasodelaoperacinseleccin esposiblequelonicoquenosinterese recuperarseaelnmerodesegurosocial, omitiendoasloscampostelfono,direccin, etc..Esteltimocaso,enelque seleccionamosloscamposquedeseamos,es unaproyeccin.
OperacinProyeccin,
FormatodeUso:
<listadeatributos>(Relacin)
Ejemplos:
OperacinProyeccin,
R
Nombre JuanDaz AnaGmez LuisDaz Direccin C/Pez,10 C/Luna,3 C/Sol,5 Fecha 9962 8358 8567
nombre,fecha de Nacimiento(R)
Nombre JuanDaz AnaGmez LuisDaz
EjemplosProyeccin,
PERSONA Cedula Nombre 71134534Juan 23423445AnaMara 12453535Gloria 75556743Pedro 43533322Patricia 78900456Carlos Primer_Apellido Mesa Betancur Betancur Ochoa Angel Betancur Segundo_Apellido Uribe Bermudez Garces Pelaez Guzmn Agudelo Sexo M F F M F M Direccin Telefono Salario Cra25221 2567532 1,600,000 Cra451113 3433444 1,300,000 Tr.12435 2756533 1,700,000 Cll.6ta1445 2686885 1,200,000 Cll.45231 2674563 1,350,000 Cir.5125 4445775 1,500,000
EjemplosProyeccin,
Muestreelresultadodelassiguientes proyecciones:
EjemplosProyeccin,
cedula, nombre, primer_apellido, segundo_apellido
(PERSONA)
Resultado Cedula Nombre 71134534 Juan 23423445 AnaMara 12453535 Gloria 75556743 Pedro 43533322 Patricia 78900456 Carlos
cedula, salario
(PERSONA)
Resultado: Cedula Salario 71134534 1,600,000 23423445 1,300,000 12453535 1,700,000 75556743 1,200,000 43533322 1,350,000 78900456 1,500,000
EjemplosProyeccin,
( (PERSONA))
Resultado: Cedula Nombre 71134534 Juan 12453535 Gloria 75556743 Pedro 43533322 Patricia 78900456 Carlos
LasOperacionesdelAlgebra Relacional
Reunin(Join)
OperadorReunion,
OperadorReunion,
R
A 1 3 2 B 3 2 3 C 5 9 5 D 7 1 4
S
A 1 1 3 2 C 5 5 9 3 E 2 9 2 7
OperadorReunion,
LacondicinesC=A>=E
R|><|CS A 3 3 2 2
B 2 2 3 3
C 9 9 5 5
D 1 1 4 4
S.A 1 3 1 3
S.C 5 9 5 9
E 2 2 2 2
LasOperacionesdelAlgebra Relacional
ReunionNatural(JoinNatural)
OperadorReunionNatural
R A 1 3 2 B 3 2 3 C 5 9 5 D 7 1 4 S A 1 1 3 2 C 5 5 9 3 E 2 9 2 7
R|><|S
A 1 1
B 3 3 2
C 5 5 9
D 7 7 1
E 2 9 2
LasOperacionesdelAlgebra Relacional
Divisin
OperadorDivision,
Entrminosdeoperacionesbsicas:
RS1,2,...,rs(R)1,2,...,rs((1,2,...,rs(R)S)R)
OperadorDivision,
R A 1 4 3 1 1 B 2 3 2 2 3 C 3 5 8 2 2 D 5 9 1 7 7 S C 3 2 D 5 7
RS
A 1
B 2
LasOperacionesdelAlgebra Relacional
Renombrar()
OperadorRenombrar,
A 1 3
B 2 4
S(R)
A 1 3
B 2 4
SQL(StructuredQuery Language
Caractersticas
ElSQLesmanejablebajodosmodalidades distintas:comomdulointeractivoque proporcionaunpotentelenguajedeconsultas interpretadasycomolenguajehuspeddeun lenguajeanfitrin. Respetalaindependenciaentreelnivel conceptualylasaplicaciones(nivelexterno),ya quepermitelacreacindeesquemasexternos personalizados. Garantizaunaseguridadtotaldeaccesoalos datos,graciasaunadistribucinselectivade prioridadesdeacceso.
Caractersticas
Garantizalaindependenciaentreelnivelconceptualyel nivelinterno.Elusuariononotalapresenciadeun ndice,esasuntodeladministradorelconseguirla optimizacindelasejecuciones. Permitelagestinmultiusuariodelosdatos.Cadafilaa laqueseaccedeparasumodificacinqueda automticamentebloqueadaporelsistema.Enparticular, elSQLcontieneelconceptodetransaccin,quepermite restaurarelestadoanteriordelaBDencasode anomalas. Independenciadelosvendedores.ElSQLesofertado porlosprincipalesvendedores.Losprogramasquelo utilizanpuedentransferirsedeunsistemadegestinde BDaotroconmnimoesfuerzodeconversin.
EstructuradelLenguaje
EstructuradelLenguaje
DDL:Permiteladescripcindelaestructurade laBD(tablas,vistas,ndices,...) DML:Permiteelmanejodelastablasylasvistas mediantesuscuatroverbos,correspondientesa lascuatrooperacionesfundamentalessobrelos datos. DCL:Contienelosoperadoresparalagestinde transacciones(COMMITyROLLBACK)y prioridadesdeaccesoalosdatos(GRANTy REVOKE)
EstructuradelLenguaje
LosComandosmasimportantesson:
DDL CREATE DROP ALTER DML SELECT INSERT DELETE UPDATE DCL GRANT REVOKE COMMIT ROLLBACK
ConsultadeDatosconSQL
Obtenerdatosdeciertascolumnasdeuna tabla(proyeccin)
ConsultadeDatosconSQL
SintaxissencilladelSelect
SELECT*|{[DISTINCT]columna|expresin[[AS]alias],} FROMtabla;
SintaxissencilladelSelect
Ejemplos:
Seleccindetodoslosregistrosdelatabla clientes:
SELECT*FROMClientes;
Seleccindealgunoscampos
SELECTnombre,apellido1,apellido2FROM Clientes
RelacinconelAlgebra Relacional
nombre,apellido
(Cliente)
LaproyeccinenSQLseescribecomo:
SELECTnombre,apellidoFROMCliente;
RelacinconelAlgebra Relacional
Laseleccin()seimplementausandola clausulaWHERE.Porejemplo:
nombre=Pepe edad>25(Cliente)
RelacinconelAlgebra Relacional
EnlaclausulaWHEREsepuedenutilizar lossiguientesoperadoresdecomparacin
>,<,>=,<=,=,<> AND,OR,NOT
Ylosoperadoreslgicos
RelacinconelAlgebra Relacional
Ejemplos:
/*Obtienealaspersonasentre25y50aos deedad*/
SELECTnombre,apellidoFROMPersonas WHEREedad>=25ANDedad<=50;
/*Obtienealaspersonasdemasde60aos odemenosde20aos*/
SELECTnombre,apellidoFROMPersonas WHEREedad>60oredad<20;
RelacinconelAlgebra Relacional
ElProductoCartesiano(RXS)se implementaenSQLas:
SELECT*FROMR,S
AlgebrarelacionalPelculaxEstudio SQLSELECT*FROMPelcula,Estudio
RelacinconelAlgebra Relacional
Pelcula ID_Pelcula Nombre Ao ID_Estudio 1 Laguerradelasgalaxias 1977 3 2 Lacomunidaddelanillo 2001 2 3 Maradentro 2004 4 4 ElviajedeChihiro 2001 1 Estudio ID_Estudio Nombre 1 Ghibli 2 NewLineCinema 3 Lucasfilms 4 Sogecine
RelacinconelAlgebra Relacional
PelculaxEstudio ID_Pelcula Nombre 1 Laguerradelasgalaxias 1 Laguerradelasgalaxias 1 Laguerradelasgalaxias 1 Laguerradelasgalaxias 2 Lacomunidaddelanillo 2 Lacomunidaddelanillo 2 Lacomunidaddelanillo 2 Lacomunidaddelanillo 3 Maradentro 3 Maradentro 3 Maradentro 3 Maradentro 4 ElviajedeChihiro 4 ElviajedeChihiro 4 ElviajedeChihiro 4 ElviajedeChihiro Ao ID_Estudio ID_Estudio Nombre 1977 3 1 Ghibli 1977 3 2 NewLineCinema 1977 3 3 Lucasfilms 1977 3 4 Sogecine 2001 2 1 Ghibli 2001 2 2 NewLineCinema 2001 2 3 Lucasfilms 2001 2 4 Sogecine 2004 4 1 Ghibli 2004 4 2 NewLineCinema 2004 4 3 Lucasfilms 2004 4 4 Sogecine 2001 1 1 Ghibli 2001 1 2 NewLineCinema 2001 1 3 Lucasfilms 2001 1 4 Sogecine
RelacinconelAlgebra Relacional
LaoperacinReunion(Join)R|><|CSen SQLseescribe:
Usandolastablasanteriores
RelacinconelAlgebra Relacional
Pelcula|><|Estudio ID_Pelcula Nombre 1 Laguerradelasgalaxias 2 Lacomunidaddelanil o 3 Maradentro 4 ElviajedeChihiro
RelacinconelAlgebra Relacional
SELECT*nombreantiguoASnombrenuevo
RelacinconelAlgebra Relacional
LasoperacionesdeSQLUNION, INTERSECTyEXCEPToperansobre relacionesycorrespondenalas operacionesdellgebrarelacional,y Aligualquelaunin,intersecciny diferenciadeconjuntosenellgebra relacional,lasrelacionesqueparticipanen lasoperacioneshandesercompatibles; estoes,debentenerelmismoconjuntode atributos.
RelacinconelAlgebra Relacional
EjemploSELECTUNIN
RelacinconelAlgebra Relacional
PRESTATARIO nro_pres 123 321 Nom_cliente AlejandraGuerra LuisContreras Ao ID_Estudio 1977 3 2001 2 IMPOSTOR nro_cuenta 987 789 Nom_cliente AlejandraGuerra GabrielSoto
RelacinconelAlgebra Relacional
EjemploSELECTINTERSECCIN
RelacinconelAlgebra Relacional
PRESTATARIO nro_pres 123 321 Nom_cliente AlejandraGuerra LuisContreras Ao ID_Estudio 1977 3 2001 2 IMPOSTOR nro_cuenta 987 789 Nom_cliente AlejandraGuerra GabrielSoto
Nom_cliente AlejandraGuerra
RelacinconelAlgebra Relacional
EjemploSELECTDIFERENCIA
RelacinconelAlgebra Relacional
PRESTATARIO nro_pres 123 321 Nom_cliente AlejandraGuerra LuisContreras Ao ID_Estudio 1977 3 2001 2 IMPOSTOR nro_cuenta 987 789 Nom_cliente AlejandraGuerra GabrielSoto
Nom_cliente LuisContreras
Resumen
Resumen
Resumen
Referencias