Documente Academic
Documente Profesional
Documente Cultură
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
UnidadV:ElementosconceptualesdeBasedeDatos.
INTRODUCCION
Aqu solo veremos nociones bsicas de Base de Datos y de las Bases de Datos
Relacionalespuestoquesetratadeunaasignaturatransversalenlaformacindelascarreras
deCienciasEconmicas.
Estainformacinesdegranvolumendetamao:estamoshablandodeveinteotreinta
datosmultiplicadospormilesomillonesdepersonas.
Muchasbasesdedatosempiezansiendounalistaenunprogramadeprocesamiento
de texto o en una hoja de clculo. A medida que crece la lista, empiezan a aparecer
repeticioneseinconsistenciasenlosdatos.Cadavezresultamscomplicadocomprenderlos
datospresentadosenlalistayexistenpocosmtodosparabuscarorecuperarsubconjuntos
de datos para revisarlos. Cuando empiezan a observarse estos problemas, es aconsejable
transferirlainformacinaunabasededatoscreadamedianteunsistemadeadministracin
debasesdedatos(DBMS).
Todabasededatosdebetenerunaseriedecaractersticastalescomoseguridad(slo
personas autorizadas podrn acceder a la informacin y realizar la operaciones segn su
perfil),integridad(lainformacinsemantendrsinprdidasdedatos),eindependencia(esta
caractersticaesfundamentalyaqueunabuenabasededatosdeberaserindependientedel
sistema operativo o programas que interacten con ella). Hay ms caractersticas que debe
reunir una base de datos como ser consistente (es decir, que la informacin se guarde sin
duplicidadesydemaneracorrecta).
Finalmente,lasbasesdedatosactualespermitenelmanejocorrectodetransacciones.
Esto significa que se ha de permitir efectuar varias operaciones sobre la base de datos pero
tratadasamododeunasola.Esdecir,sienelconjuntodelasoperacionesdeunatransaccin
seproduceunerror,entoncessedeshacentodaslasoperacionesrealizadasanteriormentey
Pgina1de9
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
se cancela la transaccin. Si pensamos en una transferencia bancaria que comprende varias
operacionescomosacardinerodeunacuenta,anotarloenelextractodeestacuenta,aadirlo
aotracuentayanotarloenelextractodeestaotracuenta.Supongamosahoraquedespusde
sacareldinerodelacuentadeorigenseproduceunerror:latransaccin(procesocompleto)
nosehacompletado,yenestecasolabasededatosrevierteloquesehayahechoydejala
situacintalycomoestabaantesdecomenzarlatransaccin.
HISTORIA
Losiniciosdelasbasededatosmodernassedebensobretodoaldesarrollorealizado
por el ingls Edgar Frank Codd, que propuso el primer modelo terico relacional, es decir,
definicmosedebanrelacionarlosdatospertenecientesaunabasededatos.Porotrolado
IBMdesarrolllaprimeradefinicindelenguajeparabasededatos(quedefinacmoaadiry
extraer informacin de una base de datos) llamado SEQUEL. Ms tarde SEQUEL acabara
convirtindoseenellenguajemsutilizadohoyendaconbasesdedatos,elSQL.
DOSREAS
Dentro de SQL hay dos grandes reas llamadas DDL y DML. DDL (en ingls Data
DefinitionLanguage)eslapartedellenguajequepermiteladefinicindedatos,portantoson
funcionesquedefinencmovanaserlosdatos.Porejemplonosotrospodemosdefinirqueel
datodeedaddeunapersonavaaserunnmeroenteromientrasqueeldatonombrevaa
serunacadenadetexto.Losdatosenunabasededatossealmacenanentablasformadaspor
filas y columnas. Las columnas nos indican el nombre de los datos y las filas contendrn los
valoresdelosdatospropiamentedichos.
Un ejemplo de tabla muy simple podra ser la tabla de contactos telefnicos que
tenemos en nuestro celular, donde vamos a almacenar la informacin de su nombre y
telfono. Tendremos por lo tanto dos columnas y tantas filas como contactos existan en
nuestrabasededatos
Nombre
Telfono
NahuelDaz
154842365
Pgina2de9
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
JessCrdoba
JuanPrez
155958234
156364025
Figura1:Agendadecontactostelefnicos
PorotraparteestelreadeDML(eninglsDataManipulationLanguage)oLenguaje
deManipulacindeDatos,quecomosunombreindicanospermitemanipularlainformaciny
quebsicamentesecomponedeestasinstruccionesofunciones:
Select:funcinquepermitesolicitarquesenosdevuelvaundatooseriededatos.
Insert:funcinparainsertarnuevasfilasdeinformacinenunatabla.
Update:funcinparamodificarunaovariasfilasyaexistentespreviamente.
Delete:funcinqueborraunafilaounconjuntodefilasdeunatabla.
TIPOSDEBASEDEDATOS
Hay diversos tipos de base de datos dependiendo de los objetivos de su uso. Por
ejemplo,sondistintosobjetivosmantenerelhistorialmdicodelospacientesdeunhospitalo
elregistrodeoperacionesfinancierasdeunbanco.Peroengenerallossistemasdebasesde
datosmspopularessonlasbasesdedatosrelacionales,aunquetambinseusanotrostipos
debasesdedatos,entrelosquecabedestacarlasdenominadasbasesdedatosorientadasa
objetos.
Lasbasesdedatosrelacionalessebasanenlaideafundamentaldelusoderelaciones
paradefinirlostiposdedatosoinformacin.Asennuestroejemploanteriorpodemosverque
un contacto queda definido por un nombre y un telfono es decir la relacin de nombre y
telfononosdauncontacto.
BASEDEDATOSRELACIONAL
Estemodelointentarepresentarlabasededatoscomounconjuntodetablas.Aunque
las tablas son un concepto simple e intuitivo, existe una correspondencia directa entre el
conceptoinformticodeunatabla,yelconceptomatemticoderelacin,locualesunagran
ventaja, pues permite efectuar formalizaciones de una forma estricta mediante las
herramientasmatemticasasociadas,comopuedeserellgebrarelacionalenelmbitodelas
consultas.
Comoyasedijo,nosernecesarioenfrentarnoscontodosestosformalismospropios
delosmatemticos,sinoquedispondremosdeunasherramientasfcilesdemanejarquenos
permitirninteractuarconlabasededatos.
Losconceptosbsicosdelmodelorelacionalson:
Registro:Esalgoascomocadafichadeunficheroconvencional.
Tabla:Esunconjuntodefichasdeunmismotipo.
Conestosdosconceptosesposiblecrearcualquiertipodedatos,yasociarlosentres.
Porejemplo,sinecesitamosdisearunabasededatosparaunaagenciadealquilerdeautos,
necesitaremosunatablaenlaqueseguardeinformacinsobrelosautos,comopuedeverse
enlafigurasiguiente.
Pgina3de9
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
Marca
Ford
Peugeot
Fiat
Renault
VW
Ford
Chevrolet
Modelo
Fiesta
307
Siena
Fluence
Vento
Ecosport
Corsa
Color
Rojo
Grisplata
Amarillo
Verde
Negro
Blanco
Azul
Patente
BPW768
TBM723
ZXD438
TUF232
HKL839
WRG395
QBS374
Situacin
Alquilado
Disponible
Entaller
Alquilado
Disponible
Entaller
Alquilado
Figura2:Tabladeautosdeunaagenciadealquileres
De esta forma, vemos que cada tabla est compuesta por filas, tambin llamadas
tuplas o registros, cada uno de los cuales posee una serie de campos o columnas (marca,
modelo,color,patente,situacin)enlosquesealmacenanlosdatosbsicos.Elesquemade
unatablanosindicalosnombresdecadaunodeloscamposquecontiene,ascomoeltipode
informacinquedebecontener(nmeros,texto,fecha,etc.).
Unatablaesparanosotrosunconjuntoderegistros;portanto,losregistrosnopueden
repetirse.
Parapoderaccederaunregistroconcreto,esnecesariohacerunaconsultaatravsde
algn campo que identifique a dicho registro, como puede ser por ejemplo el nmero de la
patente.Aestecampoespecialqueidentificacadaregistroselellamaclavedelregistro.
Lafigurasiguienteilustraunatabladeclientes.
Apellidos
Nombres
Documento Edad
GonzlezDiez AnaBeln
25836934
27
LpezArias
Miguelngel
18836746
43
DazAranda
MaraJos
22665358
36
RuzRojo
JuanPablo
23667228
35
Figura3:Tabladeclientesdeunaagenciadealquilerdeautos
Cmo podemos hacer ahora para indicar qu cliente se hace responsable de cada
auto alquilado?. Fcilmente, a travs de una nueva tabla que relaciona los clientes con los
autos.Paraello,dadoquecadaregistroquedaidentificadoporsuclave,nosbastaconincluir
enestanuevatablaalasclavesdeambastablas,enlugardetodossuscampos.As,podemos
obtenerunanuevatabladealquileresquecontengalapatentedelauto,yeldocumentodel
cliente,talcomoseveenlafigurasiguiente.
Patente
Documento
BPW768
25836934
TUF232
18836746
TUF232
22665358
QBS374
18836746
Figura4:Tabladealquileresquerelacionalosautosconlosclientes
En esta ltima tabla podemos observar varias cosas interesantes. Por un lado, un
cliente se puede responsabilizar de ms de un auto, o sea, puede alquilar ms de un auto,
Pgina4de9
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
vemos as que Miguel ngel Lpez Arias ha alquilado tanto el Renault Fluence como el
ChevroletCorsa.Pero,asuvez,msdeunapersonapuedehacersecargodeunauto:Miguel
ngelLpezAriasyMaraJosDazArandacompartenelalquilerdelRenaultFluence.
Deestaforma,elmodelorelacionalsolucionaelproblemadeindicarlosalquileresde
unamaneraintuitivaatravsdelastablas.Estemtododeexpresarlosdatosfacilitaadems
lasconsultas,queserealizanahoraatravsdeestastablasespecialesquerelacionanaotras
tablas. Por ejemplo, si queremos saber los autos que ha alquilado Lpez Arias Miguel ngel,
bastaconbuscarsuclaveenlatabladeclientes(18836746),yacontinuacinverquepatentes
tieneasociadasenlatabladealquileres(TUF232yQBS374);acontinuacin,buscamosenla
tabla de autos cuales son los autos que poseen esas claves, y obtenemos como resultado:
RenaultFluenceyChevroletCorsa.
INDICES
Unndiceeninformticaescomoelndicedeunlibrodondetenemosloscaptulosdel
libro y la pgina donde empieza cada captulo. No vamos a entrar ahora en cmo se
implementanlosndicesinternamentesinoquevamosaverunasbrevesnocionesdecmose
definen,paraqusirvenycundohayqueutilizarlosycuandono.
Siunatablatienedefinidounndicesobreunacolumnasepuedelocalizarmuchoms
rpidamenteunafilaquetengaundeterminadovalorenesacolumna.
Recuperar las filas de una tabla de forma ordenada por la columna en cuestin
tambinsermuchomsrpido.
Cuandoseaaden,modificanoseborranfilasdelatabla,elsistemadebeactualizar
losndicesafectadosporesoscambiosloquesuponeuntiempodeprocesomayor.
Porestasrazonesnoesaconsejabledefinirndicesdeformaindiscriminada.
Los inconvenientes comentados en este punto no son nada comparados con las
ventajassilacolumnasobrelacualsedefineelndiceesunacolumnaque sevaautilizara
menudoparabuscaruordenarlasfilasdelatabla.
Poresounareglabastanteacertadaesdefinirndicessobrecolumnasquesevayana
utilizaramenudopararecuperaruordenarlasfilasdeunatabla.
ElSistemaGestordeBasedeDatoscreaautomticamentendicessobrelascolumnas
clavesprincipalesysobreloscamposqueintervienenenlasrelacionesyaquesesuponeque
seutilizanamenudopararecuperarfilasconcretas.
SISTEMASGESTORESDEBASESDEDATOS
Pgina5de9
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
Con el uso y el incremento del tipo de base de datos se desarrollaron sistemas
informticos que gestionan toda la funcionalidad de la base de datos propiamente dicha
intentandoqueseadelamaneramsclara,directaysencilla.
Normalmente cada compaa de base de datos trae su propio SGBD (Sistema Gestor
deBasedeDatos).
AlgunosejemplosdeSistemasdeBasedeDatosson:
MSAccess
MySQL
PostgreSQL
MicrosoftSQLServer
Sybase
Informix
Oracle
MICROSOFTACCESS
UnabasededatosenAccessesuncontenedordeobjetos.Unabasededatospuede
contenermsdeunatabla.Porejemplo,unsistemadeseguimientodeinventarioqueutiliza
trestablasnoesunconjuntodetresbasesdedatos,sinounasolabasededatosquecontiene
tres tablas. Excepto si se ha diseado especficamente para utilizar datos o cdigo de otro
origen,unabasededatosdeAccessalmacenasustablasenunsoloarchivo,juntoconotros
objetos, como formularios, informes, macros y mdulos. Las bases de datos creadas con
formatodeAccess2007tienenlaextensindenombredearchivo.accdbylasbasesdedatos
creadas con formatos de versiones anteriores de Access tienen la extensin de nombre de
archivo .mdb. Access 2007 se puede utilizar para crear archivos con formatos de versiones
anteriores.
ConAccesssepuede:
Agregar ms datos a una base de datos, por ejemplo, un elemento nuevo en un
inventario.
Modificardatosexistentesenlabasededatos,porejemplo,cambiarlaubicacin
deunelemento.
Eliminarinformacin,porejemplo,sisehavendidooretiradounartculo.
Organizaryverlosdatosdedistintasformas.
Compartir los datos con otros usuarios mediante informes, mensajes de correo
electrnico,unaintranetoInternet.
PartesdeunabasededatosdeAccess
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
Macros
Mdulos
Tablas
Una tabla de una base de datos es similar en apariencia a una hoja de clculo, en
cuantoaquelosdatossealmacenanenfilasycolumnas.Comoconsecuencia,normalmentees
bastante fcil importar una hoja de clculo en una tabla de una base de datos. La principal
diferenciaentrealmacenarlosdatosenunahojadeclculoyhacerloenunabasededatoses
laformadeorganizarlosdatos.
Para lograr la mxima flexibilidad para una base de datos, la informacin tiene que
estar organizada en tablas, para que no haya redundancias. Por ejemplo, si se almacena
informacin sobre empleados, cada empleado se insertar una sola vez en una tabla que se
configurarparacontenernicamentedatosdelosempleados.Losdatossobreproductosse
almacenarnensupropiatabla,ylosdatossobresucursalestambintendrnsutablaaparte.
Cada fila de una tabla se denomina registro. En los registros es donde se almacena
cada informacin individual. Cada registro consta de campos (al menos uno). Los campos
corresponden a las columnas de la tabla. Por ejemplo, puede trabajar con una tabla
denominada "Empleados", en la que cada registro (fila) contiene informacin sobre un
empleadodistintoycadacampo(columna)contieneuntipodeinformacindiferente,comoel
nombre, los apellidos, la direccin, o similares. Los campos se deben configurar con un
determinadotipodedatos,yaseatexto,fecha,hora,numrico,ocualquierotrotipo.
Formularios
Los formularios se conocen a veces como "pantallas de entrada de datos". Son las
interfaces que se utilizan para trabajar con los datos y, a menudo, contienen botones de
comando que ejecutan diversos comandos. Se puede crear una base de datos sin usar
formularios,editandolosdatosdelashojasdelastablas.Noobstante,casitodoslosusuarios
debasesdedatosprefierenusarformulariosparaver,escribiryeditardatosenlastablas.
Losformulariosproporcionanunformatofcildeutilizarparatrabajarconlosdatos.
Adems, se les puede agregar elementos funcionales, como botones de comando. Puede
programar los botones para determinar qu datos aparecen en el formulario, abrir otros
formularios o informes, o realizar otras tareas diversas. Por ejemplo, podra crear un
formulario denominado "Formulario de cliente" para trabajar con datos de clientes. El
formulariodeclientepodratenerunbotnparaabrirunformulariodepedidoenelquese
pudieseescribirunpedidonuevodelcliente.
Pgina7de9
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
Informes
Losinformessirvenpararesumirypresentarlosdatosdelastablas.Normalmente,un
informe responde a una pregunta especfica, como "Cunto dinero se ha facturado por
cliente este ao?" o "En qu ciudades estn nuestros clientes?" Cada informe se puede
disearparapresentarlainformacindelamejormaneraposible.
Consultas
Las consultas son las que verdaderamente hacen el trabajo en una base de datos.
Puedenrealizarnumerosasfunciones.Sufuncinmscomnesrecuperardatosespecficosde
las tablas. Los datos que desea ver suelen estar distribuidos por varias tablas y, graciasa las
consultas,puedeverlosenunasolahojadedatos.Adems,puestoquenormalmentenodesea
ver todos los registros a la vez, las consultas le permiten agregar criterios para "filtrar" los
datoshastaobtenersololosregistrosquedesee.Lasconsultasamenudosirvendeorigende
registrosparaformularioseinformes.
Algunas consultas son "actualizables", lo que significa que es posible editar los datos
de las tablas base mediante la hoja de datos de la consulta. Si trabaja con una consulta
actualizable,recuerdequeloscambiosseproducentambinenlastablas,nosoloenlahoja
dedatosdelaconsulta.
Hay dos tipos bsicos de consultas: las de seleccin y las de accin. Una consulta de
seleccin simplemente recupera los datos y hace que estn disponibles para su uso. Los
resultadosdelaconsultapuedenverseenlapantalla,imprimirseocopiarsealportapapeles.O
sepuedenutilizarcomoorigenderegistrosparaunformularioouninforme.
Una consulta de accin, como su nombre indica, realiza una tarea con los datos. Las
consultasdeaccinpuedenservirparacreartablasnuevas,agregardatosatablasexistentes,
actualizardatosoeliminardatos.
Macros
Pgina8de9
UniversidadNacionaldeSalta
FacultaddeCienciasEconmicas,
JurdicasySociales
SeminariodeInformtica
Mdulos
Losmdulos,comolasmacros,sonobjetosquesirvenparaaumentarlafuncionalidad
de la base de datos. Mientras que las macros en Access se crean seleccionando acciones de
una lista, los mdulos se escriben en el lenguaje de programacin de Visual Basic para
Aplicaciones (VBA). Un mdulo es una coleccin de declaraciones, instrucciones y
procedimientosquesealmacenanconjuntamentecomounaunidad.Unmdulopuedeserde
claseoestndar.Losmdulosdeclaseseadjuntanaformulariosoinformes,ynormalmente
contienen procedimientos especficos del formulario o el informe al que se adjuntan. Los
mdulosestndarcontienenprocedimientosgeneralesquenoestnasociadosaningnotro
objeto.Los mdulosestndarseenumeranen Mdulosenel panel deexploracin,perolos
mdulosdeclaseno.
Pgina9de9