Sie sind auf Seite 1von 48

TEMA1

BASESDEDATOS
DesarrollodeAplicacionesWeb
JosLuisComesaa

2011

TEMA1

NDICE

1.Introduccin.............................................................................................................................1
2.Losficherosdeinformacin.....................................................................................................2
2.1.Quesunfichero?.........................................................................................................................2
2.2.Tiposdeficheros..............................................................................................................................3
2.3.Lossoportesdeinformacin............................................................................................................3
2.4.Mtodosdeacceso..........................................................................................................................4
2.5.Ficherossecuenciales.......................................................................................................................4
2.6.Ficherosdeaccesodirecto...............................................................................................................5
2.7.Ficherosindexados..........................................................................................................................6
2.8.Otros(secuencialesindexados,hash.).............................................................................................7
a. FicherosSecuencialesIndexados................................................................................................................7
b. FicherosdeAccesoCalculadooHash.........................................................................................................7
Mdulo.......................................................................................................................................................8
Extraccin...................................................................................................................................................8
2.9.Parmetrosdeutilizacin................................................................................................................8
3.Basesdedatos.........................................................................................................................9
3.1.Conceptos........................................................................................................................................9
Basededatos.......................................................................................................................................................9
3.2.Usos...............................................................................................................................................10
Quinutilizalasbasesdedatos?......................................................................................................................10
Paraquseutilizanlasbasesdedatos?...........................................................................................................11
3.3.Ubicacindelainformacin..........................................................................................................11
4.Modelosdebasesdedatos....................................................................................................13
4.1.Modelojerrquico.........................................................................................................................13
4.2.Modeloenred...............................................................................................................................14
4.3Modelorelacional...........................................................................................................................14
4.4.Modeloorientadoaobjetos..........................................................................................................15
4.5.Otrosmodelos...............................................................................................................................16
ModeloObjetoRelacional..................................................................................................................................16
Modelodebasesdedatosdeductivas...............................................................................................................16
Basesdedatosmultidimensionales...................................................................................................................25
Basesdedatostransaccionales..........................................................................................................................25
5.Tiposdebasesdedatos.........................................................................................................26
6Sistemasgestoresdebasesdedatos.....................................................................................30
6.1.Funciones.......................................................................................................................................31
6.2.Componentes.................................................................................................................................32
6.3.Arquitectura...................................................................................................................................33
6.4.Tipos...............................................................................................................................................34
7.SGBDcomerciales..................................................................................................................35
8.SGBDlibres.............................................................................................................................37
9.Basesdedatoscentralizadas.................................................................................................38
10.Basesdedatosdistribuidas..................................................................................................39
10.1.Fragmentacin.............................................................................................................................40
11.PrimerospasosenOracleDatabase10gExpressEdition....................................................42
QuesOracleDatabase10gExpressEdition?.....................................................................................42
Pordndeempezamos?.......................................................................................................................42
Cmoserealizalainstalacin?............................................................................................................42
InstalacindeOracleDatabase10gExpressEditionbajoWindows7...............................................................42
InstalacindeOracleDatabase10gExpressEditionbajoUbuntuLinux............................................................43


GestinbsicadedatosenOracleDatabase10gExpressEdition.....................................................................43
AdministracinsimpledeusuariosenOracleDatabase10gExpressEdition....................................................43

DesarrollodeAplicacionesWeb

Tema1

Almacenamientodelainformacin
Caso prctico
Ada sabe bien que BK Programacin deber hacer frente a retos importantes que requerirn del
dominio adecuado de mltiples disciplinas. Tiene claro que el desarrollo de sus proyectos ha de estar
apoyado sobre unas bases firmes, y una de ellas ser la gestin adecuada de los datos.
Considera que Juan y Mara deben conocer la evolucin que han experimentado las tcnicas de
almacenamiento de informacin, destacando que el dominio de las bases de datos es fundamental
para garantizar un funcionamiento ptimo de las aplicaciones que BK Programacin va a tener que
desarrollar.

1.Introduccin.
Te has preguntado alguna vez dnde y de qu manera se almacenan y gestionan los datos que
utilizamosdiariamente?Sipensamosencualquieraccindenuestravidacotidiana,osianalizamosla
mayoradelosmbitosdeactividad,nosencontramosquelautilizacindelasbasesdedatosest
ampliamente extendida. stas, y los datos contenidos en ellas, sern imprescindibles para llevar a
cabomultituddeacciones.

Creesquenoesparatanto?Piensaenlassiguientessituaciones:
9 CuandoseleccionamosnuestrocanalfavoritoenlaTDT.
9 Alutilizarlaagendadelmvilpararealizarunallamadatelefnica.
9 Cuandooperamosenelcajeroautomtico.
9 Alsolicitaruncertificadoenunorganismopblico.
9 Cuandoacudimosalaconsultadelmdico.
9 Alinscribirnosenuncurso,plataformaOnLine,etc.
9 SiutilizasunGPS.
9 Cuandoreservamosunaslocalidadesparauneventodeportivooespectculo.
9 Siconsumimosociodigital.
9 CuandoconsultamoscualquierinformacinenInternet.(Bibliotecas,enciclopedias,museos,etc.)
9 AlregistrarteenunapginadejuegosOnLine,redessocialesoforos.
9 Incluso,sitienescoche,puedeserquesteincorporealgunabasededatos.

Suponemosquenoesnecesarioquecontinuemosmsparadarnoscuentadequecasitodoloque
nosrodea,enalgunamedida,estrelacionadoconlosdatos,sualmacenamientoysugestin.Elgran
volumen de datos que actualmente manejamos y sus innumerables posibilidades requieren de la
existenciadetcnicosperfectamenteformadosycapacesdetrabajarconellos.

EstemduloprofesionalsecentraenelestudiodelasBasesdeDatosysuusoeneldesarrollode
aplicaciones. En esta primera unidad comenzaremos conociendo los primeros sistemas basados en
ficheros para el almacenamiento y gestin de la informacin. Seguidamente, se desarrollarn los
conceptosydefinicionesbsicasrelacionadasconlasbasesdedatos,posteriormenteanalizaremos
susmodelosytipos,unpocomsadelante,podremosconocerlascaractersticasycapacidadesde
lossistemasgestoresdebasesdedatosyfinalmente,identificaremoslasherramientasrealesconlas
quellevaracabolagestindichasbases.

Almacenamientodelainformacin

BasesdeDatos

2.Losficherosdeinformacin.
Caso prctico
Juan le cuenta a Mara que hace poco visit un museo en el que haba una exposicin sobre historia
de la informtica y que pudo ver soportes antiguos para almacenamiento de informacin: tarjetas
perforadas, cintas magnticas, tambores magnticos, discos de diferentes tamaos y otros
dispositivos de la poca.
-Todo ha evolucionado muchsimo, la cantidad de datos y archivos que hoy podemos transportar en
los modernos sistemas de almacenamiento y la velocidad a la que podemos acceder a ellos es
sorprendente -comenta Mara.
Ada, mientras, prepara un DVD para realizar una copia de seguridad de los archivos de su porttil,
destaca que gracias a las mejoras en el modo de organizacin de ficheros y soportes de informacin,
se ha abierto un sin fin de posibilidades para la aplicacin de las TIC en cualquier mbito.

2.1.Quesunfichero?
En la dcada de los setenta, los procesos bsicos que se llevaban a cabo en una empresa se
centraban en cuestiones relacionadas con contabilidad y facturacin. Las necesidades de
almacenamiento y gestin de informacin podan satisfacerse utilizando un nmero relativamente
reducidodearchivosenpapelagrupadosyordenados,lostpicosficherosclsicos.

Alllevaracabounaprimerainformatizacin,sepasdetenerlosdatosenformatopapelapoder
accederaellosdemaneramuchomsrpidaatravsdelordenador.Enesemomento,lainformtica
adaptsusherramientasparaqueloselementosqueelusuariomanejaenelordenadorseparezcan
a los que utilizaba manualmente. As en informtica se sigue hablado de ficheros, formularios,
carpetas,directorios,...

Lainformacindebasertrasladadadesdeelpapelalformatodigitalyporlogeneral,eranecesario
almacenarlaparasuposteriorrecuperacin,consultayprocesamiento.Deestemodo,parallevara
cabo un tratamiento eficiente de sta era necesario establecer mtodos adecuados para su
almacenamiento. El elemento que permiti llevar a cabo el almacenamiento de datos de forma
permanenteendispositivosdememoriamasivafueelficherooarchivo.

Ficherooarchivo:conjuntodeinformacinrelacionada,tratadacomountodoyorganizadadeforma
estructurada. Es una secuencia de dgitos binarios que organiza informacin relacionada con un
mismoaspecto.

Losficherosestnformadosporregistroslgicosquecontienendatosrelativosaunmismoelemento
u objeto (por ejemplo, los datos de usuarios de una plataforma educativa). A su vez, los registros
estndivididosencamposquecontienencadaunadelasinformacioneselementalesqueformanun
registro(porejemplo,elnombredelusuarioosudireccindecorreoelectrnico).

Hemos de resaltar que los datos estn almacenados de tal forma que se puedan aadir, suprimir,
actualizaroconsultarindividualmenteencualquiermomento.

Comolosficherossuelensermuyvoluminosos,solosepuedenllevaralamemoriaprincipalpartes
deellosparapoderprocesarlos.Lacantidaddeinformacinqueestransferidaentreelsoporteenel
que se almacena el fichero, y la memoria principal del ordenador, en una sola operacin de
lectura/grabacin,recibeelnombrederegistrofsicoobloque.

Normalmenteencadaoperacindelectura/grabacinsetransfierenvariosregistrosdelfichero,es
decir un bloque suele contener varios registros lgicos. Al nmero de registros que entran en un
bloque se le conoce con el nombre de factor de blocaje, y a esta operacin de agrupar varios
registrosenunbloqueselellamabloqueoderegistros.

DesarrollodeAplicacionesWeb

Tema1

2.2.Tiposdeficheros.
Segn la funcin que vaya a desempear los ficheros, stos pueden ser clasificados de varias
maneras.Enlasiguienteimagenpuedesobservarunaposibleclasificacin.

a. Ficherospermanentes:contieneninformacinrelevanteparaunaaplicacin.Esdecir,losdatos
necesarios para el funcionamiento de sta. Tienen un periodo de permanencia en el sistema
amplio.Estossesubdividenen:
9 Ficherosmaestros:contienenelestadoactualdelosdatosquepuedenmodificarsedesdela
aplicacin.Eslapartecentraldelaaplicacin,suncleo.Podraserunarchivoconlosdatos
delosusuariosdeunaplataformaeducativa.
9 Ficherosconstantes:sonaquellosqueincluyendatosfijosparalaaplicacin.Nosuelenser
modificados y se accede a ellos para realizacin de consultas. Podra ser un archivo con
cdigospostales.
9 Ficheroshistricos:contienendatosquefueronconsideradoscomoactualesenunperiodoo
situacinanterior.Seutilizanparalareconstruccindesituaciones.Podraserunarchivocon
losusuariosquehansidodadosdebajaenlaplataformaeducativa.

b. Ficherostemporales:Seutilizanparaalmacenarinformacintilparaunapartedelaaplicacin,
no para toda ella. Son generados a partir de datos de ficheros permanentes. Tienen un corto
periododeexistencia.Estossesubdividenen:
9 Ficherosintermedios:almacenanresultadosdeunaaplicacinquesernutilizadosporotra.
9 Ficherosdemaniobras:almacenandatosdeunaaplicacinquenopuedensermantenidos
enmemoriaprincipalporfaltadeespacio.
9 Ficheros de resultados: almacenan datos que van a ser transferidos a un dispositivo de
salida.

Supongamos una aplicacin informtica para gestionar una biblioteca, existir un


fichero con el catlogo de libros disponibles, otro con las editoriales, otro con
informacin sobre libros que se han quedado obsoletos, etc. A cul de los siguientes
tipos correspondera el fichero que almacena las editoriales?
Fichero maestro.
Fichero constante.
Fichero intermedio.

2.3.Lossoportesdeinformacin.

Los ficheros se almacenan en soportes de informacin manejados por dispositivos perifricos del
ordenador, que permiten leer y grabar datos en el soporte. Los soportes ms utilizados para
almacenar los ficheros son las cintas magnticas y los discos (magnticos, pticos, o magneto
pticos).Dentrodeestosdostiposdesoporteexistenenelmercadounagranvariedaddemodelos.
Inicialmente, los primeros sistemas de almacenamiento fsico eran tambores de cinta magntica.
Tenan unas dimensiones parecidas a los discos de vinilo. Estos tambores funcionaban de manera
similaralosantiguoscasetes,perosusmayoresdimensioneslespermitanalmacenargrancantidad
dedatosenformatodigital,esdecirencerosyunos,enordensecuencial.

Posteriormente,lossistemasdealmacenamientodeinformacincomenzaronacambiardelamano
de los avances en el hardware, en concreto con la aparicin del disquete y del disco duro. Eran

Almacenamientodelainformacin

BasesdeDatos

dispositivos de acceso aleatorio, no siendo necesario en ellos pasar por todos los datos desde el
iniciohastalazonadondeseencuentralainformacinquenosinteresa.
Portanto,sedistinguendostiposdesoportesparaelalmacenamientodedatos:
9 SoportesdeAccesoDirectoalosdatos(Porejemplo:discos).Sonlosmsempleadosyelacceso
alosdatospuedehacersedeformadirecta,pudiendocolocarnosenlaposicinquenosinteresa
yleerapartirdeella.
9 Soportes de Acceso Secuencial (Por ejemplo: cintas magnticas). Se suelen usar en copias de
seguridadysideseamosleerundatoqueestenlamitaddelacinta,tendremosqueleertodolo
quehayhastallegaraesaposicin.

Conoce ms sobre las caractersticas de cintas y discos a travs de los enlaces que te
proponemos:
http://es.wikipedia.org/wiki/Cinta_magn%C3%A9tica_de_almacenamiento_de_datos
http://www.infodata.es/tour/discoduro.html
http://es.wikipedia.org/wiki/Disco_%C3%B3ptico
http://www.consumer.es/web/es/tecnologia/hardware/2006/01/26/148862.php
http://www.infodata.es/tour/magnetoopticos.html

2.4.Mtodosdeacceso.

A medida que la tecnologa ha ido evolucionando, atendiendo principalmente a los avances


hardware,elaccesoalainformacincontenidaenlosdiferentestiposdeficheroshavariadomucho.
Losobjetivosfundamentalesdeestasmodificacionespuedenresumirseenlossiguientespuntos:
9 Proporcionarunaccesorpidoalosregistros.
9 Conseguireconomizarelalmacenamiento.
9 Facilitarlaactualizacindelosregistros.
9 Permitirquelaestructurareflejelaorganizacinrealdelainformacin.
Lasdistintasformasdeorganizarunficheroenunsoportedememoriao,loqueseconocetambin
pormtodosdeaccesoalosficherossedetallanenelsiguientegrfico.

Las organizaciones secuenciales, de acceso aleatorio o directo y de acceso indexado son las ms
comunes.Enlossiguientesepgrafessedetallarnlascaractersticasdecadaunodelosmtodosde
accesoalosficheros.

Relaciona los diferentes mtodos de acceso a los ficheros.


Mtododeacceso
Encadenado.
Indexado.
CalculadooHash.

Relacin
2
3
1

Tipodeacceso
1.Directo.
2.Secuencial.
3.Directoosecuencial.

ComoveselmtododeaccesoIndexadoexisteenlosdostiposdeacceso:directoysecuencial.

2.5.Ficherossecuenciales.
Un fichero con organizacin secuencial se caracteriza porque sus registros estn almacenados de
forma contigua, de manera, que la nica forma de acceder a l, es leyendo un registro tras otro
desdeelprincipiohastaelfinal.Enlosficherossecuencialessuelehaberunamarcaindicativadelfin

DesarrollodeAplicacionesWeb

Tema1

del fichero, que suele denominarse EOF (End of File). Para detectar el final del fichero slo es
necesarioencontrarlamarcaEOF.

Estetipodeficherospuedenutilizardispositivososoportesnodireccionablesodeaccesosecuencial,
comosonlascintasmagnticasdealmacenamientodedatos.TambinseutilizaenlosCDdeaudioy
los DVD de vdeo, en los que la msica o las imgenes se almacenan a lo largo de una espiral
continua.

Los registros almacenados se identifican por medio de una informacin ubicada en uno de sus
campos,aestecamposeledenominaclaveollave.Siseordenaunarchivosecuencialporsuclave,
esmsrpidorealizarcualquieroperacindelecturaoescritura.

Otrascaractersticasrelevantesdelosficherossecuencialesson:
9 Lalecturasiempreserealizahaciadelante.
9 Sonficherosmonousuario,nopermitenelaccesosimultneodevariosusuarios.
9 Tienenunaestructurargidadecampos.Todoslosregistrosdebenaparecerenorden,esdecir,la
posicindeloscamposdecadaregistrosiemprehadeserlamisma.
9 Elmododeaperturadelfichero,condicionalalecturaoescritura.
9 Aprovechanalmximoelsoportedealmacenamiento,alnodejarhuecosvacos.
9 Sepuedengrabarencualquiertipodesoporte,tantoensecuencialescomodireccionables.
9 Todos los lenguajes de programacin disponen de instrucciones para trabajar con este tipo de
ficheros.
9 Nosepuedeninsertarregistrosentrelosqueyaestngrabados.

Enelsiguientegrficoseobservalaestructuradeunficherosecuencial.

2.6.Ficherosdeaccesodirecto.
En este tipo de ficheros se puede acceder a un registro indicando la posicin relativa del mismo
dentrodelarchivoo,mscomnmente,atravsdeunaclavequeformapartedelregistrocomoun
campoms.Estosarchivosdebenalmacenarseendispositivosdememoriamasivadeaccesodirecto,
comosonlosdiscosmagnticos.

Campoclave:campoquepermiteidentificarylocalizarunregistrodemaneragilyorganizada.
Cadaunodelosregistrosseguardaenunaposicinfsica,quedependerdelespaciodisponibleen
memoria masiva, de ah que la distribucin de los registros sea aleatoria dentro del soporte de
almacenamiento.Paraaccederalaposicinfsicadeunregistroseutilizaunadireccinondice,no
siendonecesariorecorrertodoelficheroparaencontrarundeterminadoregistro.
Atravsdeunatransformacinespecficaaplicadaalaclave,seobtendrladireccinfsicaenlaque
seencuentraelregistro.Segnlaformaderealizarestatransformacin,existendiferentesmodosde
acceso:

Enelaccesodirectolaclavecoincideconladireccin,debiendoser
numrica y comprendida dentro del rango de valores de las
direcciones.Eselmtodomsrpido.

Lamedidabsicadeposicionamientodelpunteroenelficheroesel
byte, dependiendo del tipo de codificacin de caracteres que
empleemos (Unicode, ANSI) se utilizarn 1 o 2 bytes por carcter
respectivamente. Teniendo esto en cuenta, el puntero avanzar de

Almacenamientodelainformacin

BasesdeDatos

unoenunoodedosendosbytesparapoderleeroescribircadacarcter.

Otrascaractersticasfundamentalesdelosficherosdeaccesodirectooaleatorioson:
9 Posicionamientoinmediato.
9 Registrosdelongitudfija.
9 Aperturadelficheroenmodomixto,paralecturayescritura.
9 Permitenmltiplesusuariosutilizndolos.
9 Losregistrosseborrancolocandounceroenlaposicinqueocupan.
9 Permitenlautilizacindealgoritmosdecompactacindehuecos.
9 Losarchivossecreanconuntamaodefinido,esdecir,conunmximoderegistrosestablecido
durantelacreacin.
9 Estaorganizacinsloesposibleensoportesdireccionables.
9 Seusancuandoelaccesoalosdatosdeunregistrosehacesiempreempleandolamismaclavey
lavelocidaddeaccesoaunregistroesloquemsnosimporta.
9 Permitenlaactualizacindelosregistrosenelmismofichero,sinnecesidaddecopiarelfichero.
9 Permitenrealizarprocesosdeactualizacinentiemporeal.

En los ficheros de acceso directo los registros siempre se encuentran en posiciones


contiguas dentro del soporte de almacenamiento.
Verdadero.
Falso
.

2.7.Ficherosindexados.
Se basan en la utilizacin de ndices, que permiten el acceso a un registro del fichero de forma
directa,sintenerqueleerlosanteriores.Estosndicessonsimilaresalosdeloslibros.Sinosinteresa
leeruncaptuloconcretopodemosrecurriralndicequenosdiceenquepginacomienza,yabrimos
ellibroporesapgina,sintenerquemirarentodaslaspginasanterioresparalocalizarlo.

Portanto,existirunazonaderegistrosenlaqueseencuentranlosdatosdelarchivoyunazonade
ndices,quecontieneunatablaconlasclavesdelosregistrosylasposicionesdondeseencuentran
losmismos.Latabladendicesestarordenadaporelcampoclave.

La tabla de ndices ser cargada en memoria principal para realizar en ella la bsqueda de la fila
correspondientealaclavedelregistroaencontrar,obtenindoseasladireccindondeseencuentra
elregistro.Unavezlocalizadaladireccin,slohayqueaccederalazonaderegistrosenelsoporte
de almacenamiento y posicionarnos en la direccin indicada. Puesto que la tabla debe prever la
inclusindetodaslasdireccionesposiblesdelarchivo,suprincipal
inconveniente resulta determinar su tamao y mantenerla
ordenadaporlosvaloresdelaclave.

Lascaractersticasmsrelevantesdeunficheroindexado,sonlas
siguientes:
9 El diseo del registro tiene que tener un campo, o combinacin de campos, que permita
identificarcadaregistrodeformanica,esdecir,quenopuedahaberdosregistrosquetenganla
mismainformacinenl.Aestecamposelellamacampoclaveyeselquevaaservirdendice.
Unmismoficheropuedetenermasdeuncampoclave,peroalmenosunodeellosnoadmitir
valoresduplicadosyselellamaclaveprimaria.Alasrestantesselesllamaclavesalternativas.
9 Permiten utilizar el modo de acceso secuencial y el modo de acceso directo para leer la
informacinguardadaensusregistros.
9 Paraaccederaestetipodeficherosutilizandoelmododeaccesodirectosehaceconociendoel
contenidodelcampoclavedelregistroquequeremoslocalizar.Conesainformacinelsistema
operativopuedeconsultarelndiceyconocerlaposicindelregistrodentrodelfichero.

DesarrollodeAplicacionesWeb

Tema1

9 Para acceder a este tipo de ficheros utilizando el modo de acceso secuencial los registros son
ledos ordenados por el contenido del campo clave, independientemente del orden en que se
fuerongrabando(elordenlgiconoesigualalordenfsico),debidoaqueelaccesoalosdatosse
hace a travs del ndice, que para hacer ms fcil la bsqueda de los registros, permanece
siempreordenadoporelcampoclave.
9 Solamentesepuedegrabarenunsoportedireccionable.Porejemplo,undiscomagntico.Siesto
nofueraas,nopodraemplearelaccesodirecto.

2.8.Otros(secuencialesindexados,hash.).

Existenotrostiposdeorganizacindeficheros,ficherossecuencialesindexadosyficherosdeacceso
calculado,acontinuacinsedetallanlascaractersticasdecadaunodeellos.

a. FicherosSecuencialesIndexados:
Tambinllamadosparcialmenteindexados,aligualqueenlosficherosindexadosexisteuna
zonadendicesyotrazonaderegistrosdedatos,peroestaltimaseencuentradivididaen
segmentos(bloquesderegistros)ordenados.

En la tabla de ndices, cada fila hace referencia a cada uno de los segmentos. La clave
correspondealltimoregistroyelndiceapuntaalregistroinicial.Unavezqueseaccedeal
primer registro del segmento, dentro de l se localiza (de forma secuencial) el registro
buscado.

Esta organizacin es muy utilizada, tanto para procesos en los que intervienen pocos
registroscomoparaaquellosenlosquesemanejaelficherocompleto.
Lasprincipalescaractersticasson:
Permiteelaccesosecuencial.Estoesmuyinteresantecuandolatasadeactividadesalta.
Enelaccesosecuencial,adems,losregistrosseleenordenadosporelcampoclave.
Permiteelaccesodirectoalosregistros.Realmenteemulaelaccesodirecto,empleando
paraellolastablasdendices.Primerobuscalaclaveenelreadendicesyluegovaa
leeralreadedatosenladireccinqueleindicalatabla.
Sepuedenactualizarlosregistrosenelmismofichero,sinnecesidaddecrearunfichero
nuevodecopiaenelprocesodeactualizacin.
Ocupamasespacioeneldiscoquelosficherossecuenciales,debidoalusodelreade
ndices.
Solosepuedeutilizarsoportesdireccionables.
Obliga a una inversin econmica mayor, por la necesidad de programas y, a veces,
hardwaremassofisticado.

b. FicherosdeAccesoCalculadooHash:
Cuando utilizamos ficheros indexados es necesario siempre tener que consultar una tabla
para obtener la direccin de almacenamiento a partir de la clave. La tcnica del acceso
calculado o hash, permite accesos ms rpidos, ya que en lugar de consultar una tabla, se
utilizaunatransformacinofuncinmatemtica(funcindehashing)conocida,queapartir
de la clave genera la direccin de cada registro del archivo. Si la clave es alfanumrica,
deberpreviamentesertransformadaenunnmero.

Elmayorproblemaquepresentaestetipodeficherosesqueapartirdediferentesclavesse
obtenga la misma direccin al aplicar la funcin matemtica o transformacin. A este
problema se le denomina colisin, y las claves quegeneran la misma direccin se conocen
por sinnimos. Para resolver este problema se aplican diferentes mtodos, como tener un
bloquedeexcedentesozonadesinnimos,ocrearunarchivodesinnimos,etc.

Almacenamientodelainformacin

BasesdeDatos

Parallevaracabolatransformacinexistenmultituddemtodos,siendoalgunos:
Mdulo:Ladireccinserigualalrestodeladivisinenteraentrelaclaveyelnmero
deregistros.
Extraccin:Ladireccinserigualaunapartedelascifrasqueseextraendelaclave.
Una buena transformacin o funcin de hash, ser aquella que produzca el menor nmero de
colisiones. En este caso hay que buscar una funcin, a ser posible biunvoca, que relacione los
posibles valores de la clave con el conjunto de nmeros correlativos de direccin. Esta funcin
consistir en realizar una serie de clculos matemticos con el valor de la clave hasta obtener un
nmeroentre1yn,siendonelnmerodedireccionesquetieneelfichero.

En un fichero con acceso calculado:


Seutilizaladireccincomoclave.
Hayunatablaenlaqueestcadaclaveconladireccindelregistrocorrespondiente.

Ladireccinseobtieneapartirdelaclavemedianteunalgoritmo.

2.9.Parmetrosdeutilizacin.

Enfuncindelusoquesevayaadaralfichero,sernadecuadosunostiposuotrosdeorganizacin.
Mediante la utilizacin de parmetros de referencia, podremos determinar el uso de un fichero.
Estosparmetrosson:
a. Capacidad o volumen: es el espacio, en caracteres, que ocupa el fichero. La capacidad podr
calcularsemultiplicandoelnmeroprevistoderegistrosporlalongitudmediadecadaregistro.
b. Actividad: permite conocer la cantidad de consultas y modificaciones que se realizan en el
fichero.Parapoderespecificarlaactividadsedebentenerencuenta:
Tasa de consulta o modificacin: que es el porcentaje de registros consultados o
modificados en cada tratamiento del fichero, respecto al nmero total de registros
contenidosenl.
Frecuenciadeconsultaomodificacin:nmerodevecesqueseaccedealficheroparahacer
unaconsultaomodificacinenunperiododetiempofijo.
c. Volatilidad: mide la cantidad de inserciones y borrados que se efectan en un fichero. Para
determinarlavolatilidadesnecesarioconocer:
Tasaderenovacin:eseltantoporcientoderegistrosrenovadosencadatratamientodel
fichero,respectoalnmerototalderegistroscontenidosenl.
Frecuenciaderenovacin:eselnmerodevecesqueseaccedealficheropararenovarloen
unperiododetiempofijo.
d. Crecimiento:eslavariacindelacapacidaddelficheroysemideconlatasadecrecimiento,que
eselporcentajederegistrosenqueaumentaelficheroencadatratamiento.

La volatilidad de un fichero es un parmetro que indica:


Lavariacindelvolumendelfichero.
Lacantidaddevecesqueseabreocierraelfichero.

Elpesodelosprocesosdeinsercinyborradoendichofichero(frecuenciaderenovacin).

DesarrollodeAplicacionesWeb

Tema1

3.Basesdedatos.
Caso prctico
Ada, Juan y Mara, se han reunido para aclarar ideas sobre qu sistema de gestin de informacin
van a utilizar.
-Bases de datos, est claro. Pero, hay de varios tipos no? -pregunta Juan.
Ada, asiente con la cabeza y confirma a sus dos compaeros que la prctica totalidad de los
sistemas de informacin actuales utilizan acceso a bases de datos.
Contina Ada: -S que todos conocemos lo que son las bases de datos, pero es necesario afianzar y
aclarar muchos conceptos fundamentales que nos van hacer falta para plantear, disear y construir
las bases de datos que nuestras aplicaciones utilizarn.

Si BK Programacin va a desarrollar aplicaciones para diferentes mbitos, deber documentarse


adecuadamenteparapoderseleccionarqusistemadebasededatosdebeutilizarencadasituacin.
Para ello, todos sus miembros tendrn que recordar, actualizar o aprender gran cantidad de
interesantesconocimientosrelacionadosconestecampodelainformtica.

Comohemosvistoanteriormente,losficherospermitenorganizarymemorizarconjuntosdedatos
del mismo tipo o naturaleza con una determinada estructura, siendo un medio para el
almacenamientodelosdatosoresultadosdeunaaplicacinespecfica.Perosilasaplicaciones,alser
diseadas, deben depender directamente de sus ficheros o archivos, se pierde independencia y
surgen serios inconvenientes: como informacin duplicada, incoherencia de datos, fallos de
seguridad,etc.

Estosproblemasdebansersolucionados,escuandoapareceelconceptodebasededatos.Unabase
dedatospermitirreunirtodalainformacinrelacionadaenunnicosistemadealmacenamiento,
pudiendo cualquier aplicacin utilizarla de manera independiente y ofreciendo una mejora en el
tratamientodelainformacin,ascomounaevolucinparaeldesarrollodeaplicaciones.

La gestin de las bases de datos ha experimentado gran cantidad de cambios, partiendo de


aplicaciones especializadas hasta llegar a convertirse en el ncleo de los entornos informticos
modernos.ConlallegadadeInternetenlosnoventa,elnmerodeusuariosdebasesdedatoscreci
exponencialmente,yaunquemuchosdeellosnoseanconscientesdeello,elaccesoadichasbases
formapartedelavidacotidianademuchosdenosotros.

Conocer los sistemas que gestionan las bases de datos, sus conceptos fundamentales, el diseo,
lenguajes y la implementacin de stas, podemos considerarlo imprescindible para alguien que se
estformandoenelcampodelainformtica.

3.1.Conceptos.

A finales de los setenta, la aparicin de nuevas tecnologas de manejo de datos a travs de los
sistemas de bases de datos supuso un considerable cambio. Los sistemas basados en ficheros
separados dieron paso a la utilizacin de sistemas gestores de bases de datos, que son sistemas
software centralizados o distribuidos que ofrecen facilidades para la definicin de bases de datos,
seleccin de estructuras de datos y bsqueda de forma interactiva o mediante lenguajes de
programacin.
Llegadosaestepunto,tepreguntars...Quesunabasededatos?

Base de datos: Es una coleccin de datos relacionados lgicamente entre s, con una definicin y
descripcin comunes y que estn estructurados de una determinada manera. Es un conjunto
estructurado de datos que representa entidades y sus interrelaciones, almacenados con la mnima

Almacenamientodelainformacin

BasesdeDatos

redundancia y posibilitando el acceso a ellos eficientemente por parte de varias aplicaciones y


usuarios.

Labasededatosnoslocontienelosdatosdelaorganizacin,tambinalmacenaunadescripcinde
dichosdatos.Estadescripcinesloquesedenominametadatos,sealmacenaeneldiccionariode
datosocatlogoyesloquepermitequeexistaindependenciadedatoslgicafsica.

Unabasededatosconstardelossiguienteselementos:
9 Entidades: objeto real o abstracto con caractersticas diferenciadoras de otros, del que se
almacena informacin en la base de datos. En una base de datos de una clnica veterinaria,
posiblesentidadespodranser:ejemplar,doctor,consulta,etc.
9 Atributos:sonlosdatosquesealmacenandelaentidad.Cualquierpropiedadocaractersticade
unaentidadpuedeseratributo.Continuandoconnuestroejemplo,podranseratributos:raza,
color,nombre,nmerodeidentificacin,etc.
9 Registros:dondesealmacenalainformacindecadaentidad.Esunconjuntodeatributosque
contienenlosdatosquepertenecenaunamismarepeticindeentidad.Ennuestroejemplo,un
registropodraser:2123056,Sultn,Podenco,Gris,23/03/2009.
9 Campos: donde se almacenan los atributos de cada registro. Teniendo en cuenta el ejemplo
anterior,uncampopodraserelvalorPodenco.

Una base de datos es:


Unprogramaparagestionararchivosmuygrandes.
Elconjuntodedatosdelosusuariosalmacenadosenunnicodiscoduro.
Conjuntodedatosdedistintotiporelacionadosentres,juntoconunprogramadegestin
dedichosdatos.

3.2.Usos.

Yasabemosloqueesunabasededatosysuscaractersticasprincipales,peroesnecesarioconocer
quienlasusayparaqu.
Quinutilizalasbasesdedatos?
Existencuatrotiposdepersonasquepuedenhacerusodeunabasededatos:eladministrador,los
diseadoresdelabasededatos,losprogramadoresdeaplicacionesylosusuariosfinales.
Quinutilizalasbasesdedatos?
Tipo
Funcionesycaractersticas
Es la persona encargada de la creacin o implementacin fsica de la base
de datos. Es quien escoge los tipos de ficheros, los ndices que hay que
crear, la ubicacin de stos, etc. En general, es quien toma las decisiones
relacionadas con el funcionamiento fsico del almacenamiento de
Eladministrador
informacin. Siempre teniendo en cuenta las posibilidades del sistema de
informacin con el que trabaje. Junto a estas tareas, el administrador
establecer la poltica de seguridad y de acceso para garantizar el menor
nmerodeproblemas.
Son las personas encargadas de disear cmo ser la base de datos.
Llevarnacabolaidentificacindelosdatos,lasrelacionesentreellos,sus
restricciones,etc.Paraellohandeconocerafondolosdatosyprocesosa
Losdiseadores
representarenlabasededatos.Siestamoshablandodeunaempresa,ser
necesarioqueconozcanlasreglasdenegocioenlaqueestasemueve.Para
obtenerunbuenresultado,eldiseadordelabasededatosdebeimplicar
enelprocesoatodoslosusuariosdelabasededatos,tanprontocomosea

10

DesarrollodeAplicacionesWeb

Tema1

posible.
Una vez diseada y construida la base de datos, los programadores se
encargarndeimplementarlosprogramasdeaplicacinqueservirnalos
Losprogramadores
usuarios finales. Estos programas de aplicacin ofrecern la posibilidad de
deaplicaciones
realizar consultas de datos, insercin, actualizacin o eliminacin de los
mismos.Paradesarrollarestosprogramasseutilizanlenguajesdetercerao
cuartageneracin.
Son los clientes finales de la base de datos. Al disear, implementar y
Losusuariosfinales
mantenerlabasededatossebuscacumplirlosrequisitosestablecidospor
elclienteparalagestindesuinformacin.
Paraquseutilizanlasbasesdedatos?
Enumerartodosycadaunodeloscamposdondeseutilizanlasbasesdedatosescomplejo,aunque
seguroquequedarnmuchoseneltintero,acontinuacinserecopilanalgunosdelosmbitosdonde
seaplican.
9 Banca:informacindeclientes,cuentas,transacciones,prstamos,etc.
9 Lneasareas:informacindeclientes,horarios,vuelos,destinos,etc.
9 Universidades:informacindeestudiantes,carreras,horarios,materias,etc.
9 Transaccionesdetarjetadecrdito:paracomprarcontarjetasdecrditoylageneracindelos
extractosmensuales.
9 Telecomunicaciones:paraguardarregistrosdellamadasrealizadas,generarfacturasmensuales,
mantener el saldo de las tarjetas telefnicas de prepago y almacenar informacin sobre las
redes.
9 Medicina:informacinhospitalaria,biomedicina,gentica,etc.
9 JusticiaySeguridad:delincuentes,casos,sentencias,investigaciones,etc.
9 Legislacin:normativa,registros,etc.
9 Organismospblicos:datosciudadanos,certificados,etc.
9 Sistemasdeposicionamientogeogrfico.
9 Hostelerayturismo:reservasdehotel,vuelos,excursiones,etc.
9 Ociodigital:juegosonline,apuestas,etc.
9 Cultura:gestindebibliotecas,museosvirtuales,etc.
9 Etc.

3.3.Ubicacindelainformacin.
Utilizamos a diario las bases de datos, pero Dnde se encuentra realmente almacenada la
informacin?.Lasbasesdedatospuedentenerun tamaomuyreducido(1 MegaByteomenos)o
bien, ser muy voluminosas y complejas (del orden de Terabytes). Sin embargo todas las bases de
datos normalmente se almacenan y localizan en discos duros y otros dispositivos de
almacenamiento, a los que se accede a travs de un ordenador. Una gran base de datos puede
necesitarservidoresenlugaresdiferentes,yviceversa,pequeasbasesdedatospuedenexistircomo
archivoseneldiscodurodeunnicoequipo.

Acontinuacin,seexponenlossistemasdealmacenamientodeinformacinmsutilizadosparael
desplieguedebasesdedatos,comenzaremosporaquellosenlosquepuedenalojarsebasesdedatos
detamaopequeoymediano,paradespusanalizarlossistemasdealtadisponibilidaddegrandes
servidores.
9 DiscosSATA:Esunainterfazdetransferenciadedatosentrelaplacabaseyalgunosdispositivos
de almacenamiento, como puede ser el disco duro, lectores y regrabadores de CD/DVD/BD,
Unidades de Estado Slido u otros dispositivos. SATA proporciona mayores velocidades, mejor
aprovechamientocuandohayvariasunidades,mayorlongituddelcabledetransmisindedatos
y capacidad para conectar unidades al instante, es decir, insertar el dispositivo sin tener que
apagarelordenador.Laprimerageneracinespecificaentransferenciasde150Megabytespor

11

Almacenamientodelainformacin

BasesdeDatos

segundo,tambinconocidaporSATA150MB/soSerialATA150.Actualmentesecomercializan
dispositivosSATAII,a300MB/s,tambinconocidacomoSerialATA300ylosSATAIIIcontasas
detransferenciasdehasta600MB/s.
DiscosSCSI:Soninterfacespreparadasparadiscosdurosdegrancapacidaddealmacenamiento
yvelocidadderotacin.Sepresentanbajotresespecificaciones:SCSIEstndar(StandardSCSI),
SCSIRpido(FastSCSI)ySCSIAnchoRpido(FastWideSCSI).Sutiempomediodeaccesopuede
llegara7milisegundosysuvelocidaddetransmisinsecuencialdeinformacinpuedealcanzar
tericamentelos5MB/senlosdiscosSCSIEstndares,los10MBpsenlosdiscosSCSIRpidosy
los 20 MBps en los discos SCSI AnchosRpidos (SCSI2). Un controlador SCSI puede manejar
hasta7discosdurosSCSI.
RAID:acrnimodeRedundantArrayofIndependentDisksomatrizdediscosindependientes,es
un contenedor de almacenamiento redundante. Se basa en el montaje en conjunto de dos o
ms discos duros, formando un bloque de trabajo, para obtener desde una ampliacin de
capacidadamejorasenvelocidadyseguridaddealmacenamiento.Segnlascaractersticasque
queramosprimar,seestablecendistintossistemasdeRAID.
Sistemas NAS: Es el acrnimo de Network Attached Storage sistema de almacenamiento
masivo en red. Estos sistemas de almacenamiento permiten compartir la capacidad de
almacenamientodeuncomputador(Servidor)conordenadorespersonalesoservidoresclientes
a travs de una red, haciendo uso de un sistema operativo optimizado para dar acceso a los
datos a travs de protocolos de comunicacin especficos. Suelen ser dispositivos para
almacenamientomasivodedatosconcapacidadesmuyaltas,devariosTerabytes,generalmente
superioresalosdiscosdurosexternosyademssediferenciandeestosalconectarporred.
SistemasSAN:AcrnimodeStorageAreaNetworkoreddereadealmacenamiento.Setratade
unaredconcebidaparaconectarservidores,matrices(arrays)dediscosylibrerasdesoporte.La
arquitectura de este tipo de sistemas permite que los recursos de almacenamiento estn
disponiblesparavariosservidoresenunaredderealocaloamplia.Debidoaquelainformacin
almacenadanoresidedirectamenteenningunodelosservidoresdelared,seoptimizaelpoder
de procesamiento para aplicaciones comerciales y la capacidad de almacenamiento se puede
proporcionarenelservidordondemssenecesite.

Puedesampliarmsinformacinsobrealgunosdelossistemasdealmacenamientovistos,
adems de tendencias y curiosidades en almacenamiento, a travs de los siguientes
enlaces:
http://es.wikipedia.org/wiki/RAID
http://www.ideasgeek.net/2010/05/12/nasdispositivodealmacenamientoexternomasivoconectadoporred/
https://tihuilo.wordpress.com/2010/05/27/sistemasdealmacenamiento/
http://www.oracle.com/technetwork/serverstorage/general/3ddemos333955.html
http://databaseandtech.wordpress.com/2009/06/22/fusiontablesgoogletraelabasededatosalanubedelinternet/
http://www.cosasquecontar.com/2011/04/bigtablecomogooglealmacenalosdatos/

Rellena los huecos con los conceptos adecuados.


Un tipo de red donde se optimiza el poder de procesamiento para aplicaciones comerciales,
pudiendo proporcionarse la capacidad de almacenamiento en el servidor donde ms se
necesite, se denomina sistema SAN.
Enefecto,setratadeunareddereadealmacenamiento.Estetipodetecnologapermiteconectividaddealtavelocidad,deservidora
almacenamiento,almacenamientoaalmacenamiento,oservidoraservidor.Estemtodousaunainfraestructuraderedporseparado,
evitandoascualquierproblemaasociadoconlaconectividaddelasredesexistentes.

12

DesarrollodeAplicacionesWeb

Tema1

4.Modelosdebasesdedatos.
Caso prctico
Juan tiene ya experiencia con bases de datos: -Registros, tablas, relaciones, claves,... tiene su teora,
pero dame un problema a resolver y casi puedo construir la base de datos en un abrir y cerrar de
ojos.
Mara ve como Ada, algo escptica al respecto, aclara a Juan algunas ideas: -Juan, la experiencia es
un grado como siempre hemos destacado, pero es imprescindible conocer y dominar los conceptos
ms importantes sobre bases de datos. Al igual que comenzar a programar directamente codificando,
implementar una base de datos directamente sin detenerse a realizar un anlisis previo y emplear las
herramientas adecuadas, puede provocar muchos quebraderos de cabeza.
Ada indica a Mara: -Las bases de datos no siempre han sido como las conocemos ahora, han
habido diferentes modelos para su construccin y es bueno conocer la evolucin de stos para
comprender por qu utilizaremos el modelo de bases de datos relacional.

La clasificacin tradicional de las bases de datos establece tres modelos de bases de datos:
jerrquico, en red y relacional. En la actualidad el modelo de bases de datos ms extendido es el
relacional. Aunque, hay que tener en cuenta que dos de sus variantes (modelo de bases de datos
distribuidasyorientadasaobjetos)sonlasquesemsseestnutilizandoenlosltimostiempos.

Enlossiguientesepgrafesanalizaremoscadaunodeellos,ascomootrosmodelosdebasesdedatos
existentes.

Conoce las caractersticas generales y graba en tu memoria fotogrfica los grficos que
representanacadaunodelosmodelosexpuestosenelsiguienteartculo:
http://es.kioskea.net/contents/bdd/bddtypes.php3

4.1.Modelojerrquico.
Cuando IBM cre su Sistema Administrador de Informacin o IMS, se establecieron las bases para
quelagranmayoradesistemasdegestindeinformacindelosaossetentautilizaranelmodelo
jerrquico. Tambin recibe el nombre de modelo en rbol, ya que utiliza una estructura en rbol
invertidoparalaorganizacindelosdatos.

Lainformacinseorganizaconunajerarquaenlaquelarelacinentrelasentidadesdeestemodelo
siempreesdeltipopadre/hijo.Detalmaneraqueexistennodosquecontienenatributosocamposy
que se relacionarn con sus nodos hijos, pudiendo tener cada nodo ms de un hijo, pero un nodo
siempretendrunslopadre.

Losdatosdeestemodelosealmacenanenestructuraslgicasllamadassegmentos.Lossegmentos
se relacionan entre s utilizando arcos. La forma visual de este modelo es de rbol invertido, en la
partesuperiorestnlospadresyenlainferiorloshijos.

Hoy en da, debido a sus limitaciones, el modelo jerrquico est en desuso. En el siguiente grfico
puedesobservarlaestructuradealmacenamientodelmodelojerrquico.

Si deseas completar tus conocimientos acerca de este modelo, te proponemos los


siguientesenlaces:
http://es.wikipedia.org/wiki/Modelo_jer%C3%A1rquico

13

Almacenamientodelainformacin

BasesdeDatos

http://ddd.uab.cat/pub/elies/elies_a2000v9/421.htm

Rellena los huecos con los conceptos adecuados.


El modelo Jerrquico es un modelo muy rgido en el que las diferentes entidades se organizan en
niveles mltiples, de acuerdo a una estricta relacin padre/hijo, de manera que un padre puede
tenermsdeunhijo,todoselloslocalizadosenelmismonivel,yunhijonicamentepuedetenerun
padresituadoenelnivelinmediatamentesuperioralsuyo.

Comopuedesverenelgrficoanterior,laestructurarepresentalasrelacionespadre/hijoylasdespliegaenformaderbolinvertido.De
estamaneraunpadretieneunhijoovarios,yunhijoslopodrtenerunpadre.

4.2.Modeloenred.
El modelo de datos en red aparece a mediados de los sesenta como respuesta a limitaciones del
modelojerrquicoencuantoarepresentacinderelacionesmscomplejas.Podemosconsiderara
IDS(IntegratedDataStore)deBachmancomoelprimersistemadebasededatosenred.Traslse
intentcrearunestndardemodeloderedporpartedeCODASYL,siendounmodeloquetubogran
aceptacinaprincipiosdelossetenta.

El modelo en red organiza la informacin en registros (tambin llamados nodos) y enlaces. En los
registrossealmacenanlosdatos,mientrasquelosenlacespermitenrelacionarestosdatos.Lasbases
dedatosenredsonparecidasalasjerrquicassloqueenellaspuedehabermsdeunpadre.

En este modelo se pueden representar perfectamente cualquier tipo de relacin entre los datos,
perohacemuycomplicadosumanejo.Alnotenerqueduplicarlainformacinseahorraespaciode
almacenamiento.

ElsistemadegestindeinformacinbasadoenelmodeloenredmspopulareselsistemaIDMS.

Si deseas completar tus conocimientos acerca de este modelo, te proponemos los


siguientesenlaces:
http://es.wikipedia.org/wiki/Modelo_de_red
http://ddd.uab.cat/pub/elies/elies_a2000v9/422.htm

4.3Modelorelacional.
Este modelo es posterior a los dosanteriores y fue desarrollado por Codd en 1970. Hoy en da las
basesdedatosrelacionalessonlasmsutilizadas.

Enelmodelorelacionallabasededatosespercibidaporelusuariocomounconjuntodetablas.Esta
percepcinessloanivellgico,yaqueanivelfsicopuedeestarimplementadamediantedistintas
estructurasdealmacenamiento.

Elmodelorelacionalutilizatablasbidimensionales(relaciones)paralarepresentacinlgicadelos
datosylasrelacionesentreellos.Cadarelacin(tabla)poseeunnombrequeesnicoycontieneun
conjuntodecolumnas.

14

DesarrollodeAplicacionesWeb

Tema1

Sellamarregistro,entidadotuplaacadafiladelatablaycampooatributoacadacolumnadela
tabla.

Alosconjuntosdevaloresquepuedetomarundeterminadoatributo,seledenominadominio.

Unaclaveserunatributooconjuntodeatributosqueidentifiquedeformanicaaunatupla.

Lastablasdebencumplirunaseriederequisitos:
9 Todoslosregistrossondelmismotipo.
9 Latablaslopuedeteneruntipoderegistro.
9 Noexistencamposoatributosrepetidos.
9 Noexistenregistrosduplicados.
9 Noexisteordenenelalmacenamientodelosregistros.
9 Cada registro o tupla es identificada por una clave que puede estar formada por uno o varios
camposoatributos.

A continuacin puedes observar cmo es una relacin con sus


tuplasyatributosenelmodelorelacional.

El lenguaje habitual para construir las consultas a bases de datos relacionales es SQL, Structured
Query Language o Lenguaje Estructurado de Consultas, un estndar implementado por los
principalesmotoresosistemasdegestindebasesdedatosrelacionales.

Durante su diseo, una base de datos relacional pasa por un proceso al que se conoce como
normalizacindeunabasededatos.

Sideseascompletartusconocimientosacercadeestemodelo,teproponemoselsiguiente
enlace:
http://es.wikipedia.org/wiki/Modelo_relacional

Rellena los huecos con los conceptos adecuados.


La normalizacin de bases de datos relacional consiste en definir las reglas que determinan las
dependencias entre los datos de una base de datos relacional. Si definimos esta relacin o
dependencia entre los elementos de una determinada base de datos de la manera ms sencilla
posible, conseguiremos que la cantidad de espacio necesario para guardar los datos sea el menor
posible y la facilidad para actualizar la relacin sea la mayor posible. Es decir, optimizaremos su
funcionamiento.
Elprocesodenormalizacintieneunagranrelevanciaeneldiseodebasesdedatos.Enfuturasunidadesdetrabajoseabordarnlas
tcnicasparallevaracaboestaoptimizacin.

4.4.Modeloorientadoaobjetos.

Elmodeloorientadoaobjetosdefineunabasededatosentrminosdeobjetos,suspropiedadesy
susoperaciones.Losobjetosconlamismaestructuraycomportamientopertenecenaunaclase,y
las clases se organizan en jerarquas. Las operaciones de cada clase se especifican en trminos de
procedimientos predefinidos denominados mtodos. Algunos sistemas existentes en el mercado,
basados en el modelo relacional, han sufrido evoluciones incorporando conceptos orientados a
objetos.Aestosmodelosselesconocecomosistemasobjetorelacionales.

15

Almacenamientodelainformacin

BasesdeDatos

Elobjetivodelmodeloorientadoaobjetosescubrirlaslimitacionesdelmodelorelacional.Graciasa
estemodeloseincorporanmejorascomolaherenciaentretablas,lostiposdefinidosporelusuario,
disparadoresalmacenablesenlabasededatos(triggers),soportemultimedia,etc.

Los conceptos ms importantes del paradigma de objetos que el modelo orientado a objetos
incorporason:
9 EncapsulacinPropiedadquepermiteocultarlainformacinalrestodelosobjetos,impidiendo
asaccesosincorrectosoconflictos.
9 Herencia Propiedad a travs de la cual los objetos heredan comportamiento dentro de una
jerarquadeclases.
9 PolimorfismoPropiedaddeunaoperacinmediantelacualpuedeseraplicadaadistintostipos
deobjetos.
Desdelaaparicindelaprogramacinorientadaaobjetos(POOuOOP)seempezapensarenbases
dedatosadaptadasaestoslenguajes.Estemodeloesconsideradocomoelfundamentodelasbases
dedatosdetercerageneracin,siendoconsideradaslasbasesdedatosenredcomolaprimeraylas
basesdedatosrelacionalescomolasegundageneracin.Aunquenohanreemplazadoalasbasesde
datosrelacionales,sisoneltipodebasededatosquemsestcreciendoenlosltimosaos.

Sideseascompletartusconocimientosacercadeestemodelo,teproponemoselsiguiente
enlace:
http://es.wikipedia.org/wiki/Base_de_datos_orientada_a_objetos

4.5.Otrosmodelos.
Adems de los modelos clsicos vistos hasta el momento, vamos a detallar a continuacin las
particularidades de otros modelos de bases de datos existentes y que, en algunos casos, son una
evolucindelosclsicos.
ModeloObjetoRelacional
Las bases de datos pertenecientes a este modelo, son un hbrido entre las bases del modelo
relacionalyelorientadoaobjetos.Elmayorinconvenientedelasbasesdedatosorientadasaobjetos
radicaenloscostesdelaconversindelasbasesdedatosrelacionalesabasesdedatosorientadasa
objetos.

En una base de datos objetorelacional (BDOR) siempre se busca obtener lo mejor del modelo
relacional,incorporandolasmejorasofrecidasporlaorientacinaobjetos.Enestemodelosesiguen
almacenando tuplas, aunque la estructura de las tuplas no est restringida sino que las relaciones
puedenserdefinidasenfuncindeotras,queesloquedenominamosherenciadirecta.

ElestndarenelquesebasaestemodeloesSQL99.Esteestndarofrecelaposibilidaddeaadira
lasbasesdedatosrelacionalesprocedimientosalmacenadosdeusuario,triggers,tiposdefinidospor
elusuario,consultasrecursivas,basesdedatosOLAP,tiposLOB,...

Otra caracterstica a destacar es la capacidad para incorporar funciones que tengan un cdigo en
algnlenguajedeprogramacincomoporejemplo:SQL,Java,C,etc.

Lagranmayoradelasbasesdedatosrelacionalesclsicasdegrantamao,comoOracle,SQLServer,
etc.,sonobjetorelacionales.
Modelodebasesdedatosdeductivas
En este modelo las bases de datos almacenan la informacin y permiten realizar deducciones a
travsdeinferencias.Esdecir,sederivannuevasinformacionesapartirdelasquesehanintroducido
explcitamenteenlabasededatosporpartedelusuario.

16

DesarrollodeApllicacionesW
Web
Tema1
1

Las bases
b
de dattos deductivvas son tamb
bin llamadaas bases de datos lgicas, al basarsse en lgicaa
mateemtica.Surggieronpara contrarrestaarlaslimitacionesdelmodelorelacio
onalparala respuestaaa
consu
ultasrecursivvasyladedu
uccinderelacionesindirectasentrelosdatosalm
macenados.

Si deseas
d
com
mpletar tus conocim
mientos sob
bre las baases de d
datos dedu
uctivas, te
e
prop
ponemoselsiguientee
enlace:

17

Almacenam
mientodelainformacin

18

BasesdeDatos

DesarrollodeApllicacionesW
Web

Tema1
1

19

Almacenam
mientodelainformacin

20

BasesdeDatos

DesarrollodeApllicacionesW
Web

Tema1
1

21

Almacenam
mientodelainformacin

22

BasesdeDatos

DesarrollodeApllicacionesW
Web

Tema1
1

23

Almacenam
mientodelainformacin

24

BasesdeDatos

DesarrollodeApllicacionesW
Web

Tema1
1

Base
esdedatosmultidimen
nsionales
Sonb
basesdedattosideadasp
paradesarro
ollaraplicacio
onesmuyco
oncretas.Bssicamentealmacenasuss
datossconvarias dimensioness,esdecirqueenvezde
eunvalor,eencontramossvariosdepe
endiendodee
los ejjes definidoss o una basee de datos de
d estructuraa basada en dimensionees orientada a consultass
comp
plejasyalto rendimiento
o.Enunabasededatos multidimensional,lainfformacinse
erepresentaa
onales, cuad
como
o matrices multidimensi
m
dros de mlltiples entradas o funcio
ones de variias variabless
sobree conjuntos finitos. Cada una de esstas matrices se denomina cubo. Esso facilita ell manejo dee
grand
des cantidad
des de datoss dentro de empresas, dndole
d
a essto una amp
plia aplicacin dentro dee
variassreasydifeerentescamposdelcono
ocimientohu
umano.
Base
esdedatostransaccion
nales
Sonb
basesdedattoscaracterizzadasporsu
uvelocidadp
paragestionaarelintercam
mbiodeinfo
ormacin,see
utilizaan sobre tod
do en sistem
mas bancario
os, anlisis de calidad y datos de pro
oduccin ind
dustrial. Son
n
basessdedatosm
muyfiables,yyaqueenellascadaunadelasoperaacionesdein
nsercin,acttualizacino
o
borraadoserealizaancompletamenteosed
descartan.

25

Almacenamientodelainformacin

BasesdeDatos

5.Tiposdebasesdedatos.
Caso prctico
Mara pregunta a Ada: Si nuestras aplicaciones van a ser accesibles desde Internet Qu tipo de
base de datos utilizaremos?
Ada responde: Pues la respuesta es amplia. Lo normal es que sean bases de datos de acceso
mltiple, cuya informacin cambie en el tiempo, podrn ser centralizadas o distribuidas, adems es
probable que su acceso deba estar restringido slo a los usuarios que se indiquen y su temtica ser
diversa. Como ves, hay una gran variedad de tipos de bases de datos y dependiendo de las
necesidades y presupuesto de nuestros clientes tendremos que adaptar nuestras aplicaciones a
dichos tipos.
Lo importante es que hagamos un buen diseo y planificacin de nuestras bases de datos. De este
modo, el software que desarrollemos ir sobre ruedas. Aade Juan.

Comohemosvisto,porcadamodelodedatosseestablecensustancialesdiferenciasentreunasbases
dedatosyotras,pero,Estaeslanicaclasificacindelasbasesdedatosexistente?No,vamosaver
acontinuacinunadetalladadescripcindelostiposdebasesdedatosteniendoencuentavarios
criterios.

Diferentesclasificacionesdelasbasesdedatos
9 Basesdedatossegnsucontenido
Basesdedatosconinformacinactual:Contieneninformacinmuyconcretayactualizada,
normalmente, de tipo numrico: estadsticas, series histricas, resultados de encuestas,
convocatoriasdebecasosubvenciones,convocatoriasdeeventos,ofertasdeempleo,
Directorios:recogendatossobrepersonasoinstitucionesespecializadasenunaactividado
materia concreta. Hay directorios de profesionales, de investigadores, de centros de
investigacin,debibliotecas,derevistascientficas,deempresas,deeditoriales,
Bases de datos documentales: En ste ltimo grupo, cada registro se corresponde con un
documento,seastedecualquiertipo:unapublicacinimpresa,undocumentoaudiovisual,
grfico. Dependiendo de si incluyen o no el contenido completo de los documentos que
describen,podremostener:
Basesdedatosdetextocompleto:constituidasporlospropiosdocumentosenformato
electrnico,conunvolcadocompletodesutexto.
Archivos electrnicos de imgenes: Constituidos por referencias que permiten un
enlace directo con la imagen del documento original, sea ste un documento
iconogrfico (fotografas, imgenes de televisin, ) o un documento impreso
digitalizadoenformatodeimagen.
Basesdedatosreferenciales:Susregistrosnocontieneneltextooriginalsinotanslola
informacin fundamental para describir y permitir la localizacin de documentos
impresos, sonoros, iconogrficos, audiovisuales o electrnicos. En estos sistemas de
informacin slo se puede obtener referencias sobre documentos que habr que
localizarposteriormenteenotroservisio(archivo,biblioteca,fonoteca,)osolicitaraun
serviciodesuministrodedocumentos.
9 Basesdedatossegnsuuso:
Base de datos individual: Es una base de datos utilizada bsicamente por una persona. El
sistemaadministradordelabasededatosylosdatossoncontroladosporelmismousuario.
Puedeestaralmacenadaenlaunidaddediscodurodelusuariooenelservidordearchivos
deunaredderealocal.Porejemplo,ungerentedeventaspodracontarconunabasede
datosparaelcontroldesusvendedoresysudesmpeo.
Base de datos compartida: Son bases de datos con mltiples usuarios y que muy
probablemente pertenezcan a la misma organizacin, como la base de datos de una
compaa. Seencuentraalmacenada enunacomputadorapotenteybajoelcuidadode un
profesionalenelrea,eladministradordelabasededatos.Losusuariostienenaccesoala
basededatosmedianteunaredderealocalounareddereaextensa.
Bases de datos de acceso pblico: Son bases de datos accesibles por cualquier persona.
Puedenosernecesariopagaruncanonparahacerusodelosdatoscontenidosenellas.

26

DesarrollodeAplicacionesWeb

Tema1

Bases de datos propietarias o bancos de datos: Se trata en general de bases de datos de


grantamao,desarrolladasporunaorganizacinyquecontienentemasespecializadosode
carcter particular. El pblico general puede tener acceso a estas bases a veces de forma
gratuita y otras mediante el pago de una cuota. Pueden ofrecer informacin que va desde
negocios, economa, inversin, tcnica y cientfica hasta servicios de entretenimiento.
Permitenencontrarenminutosloquetardarahorasojeandorevistas.
9 Basesdedatossegnlavariabilidaddelainformacin
Bases de datos estticas: Son bases de datos de slo lectura. Se utilizan para el
almacenamiento de datos histricos que pueden ser analizados y utilizados para el estudio
del comportamiento de un conjunto de datos a travs del tiempo. Permiten realizar
proyeccionesytomadedecisiones.
Basesdedatosdinmicas:Sonbasesdedatosdondelainformacinalmacenadasemodifica
con el tiempo, permitiendo operaciones como actualizacin y adicin de datos, adems de
lasoperacionesfundamentalesdeconsulta.
9 Basesdedatossegnlalocalizacindelainformacin
Bases de datos centralizadas: Se trata de bases de datos ubicadas en un nico lugar, un
nicocomputador.Puedenserbasesdedatosmonousuarioqueseejecutanenordenadores
personales o sistemas de bases de datos de alto rendimiento que se ejecutan en grandes
sistemas.Estetipodeorganizacinfacilitalaslaboresdemantenimiento,sinembargo,hace
quelainformacincontenidaendichabase,seamsvulnerableaposiblesfallosylimitasu
acceso.EstetipodebasesdedatospuedeofrecerdentrodelaarquitecturaCliente/Servidor
dosconfiguraciones:
Basada en anfitrin: ocurre cuando la mquina cliente y la mquina servidor son la
misma. Los usuarios se conectarn directamente a la mquina donde se encuentra la
basededatos.
Basada en Cliente/Servidor: ocurrir cuando la base de datos reside en una mquina
servidorylosresultadosaccedenalabasededatosdesdesumquinaclienteatravs
deunared
Basesdedatosdistribuidas:Segnlanaturalezadelaorganizacinesprobablequelosdatos
no se almacenen en un nico punto, sino que se siten en un lugar o lugares diferentes a
dondeseencuentranlosusuarios.Unabasededatosdistribuidaeslaunindelasbasesde
datos mediante redes. Los usuarios se vinculan a los servicios de bases de datos distantes
mediante una amplia variedad de redes de comunicacin. Puede imaginarse una compaa
con diferentes oficinas regionales, donde se encuentra distribuida la base de datos. Si
embargo,losejecutivospuedenteneraccesoalainformacindetodaslasoficinasreginales.
9 Basesdedatossegnelorganismoproductor
Basesdedatosdeorganismospblicosydelaadministracin:Lasbibliotecasycentrosde
documentacin de los ministerios, instituciones pblicas, universidades y organismos
pblicosdeinvestigacinelaborangrancantidadderecursosdeinformacin.Estossistemas
puedenser:
Basesdedatosdeaccesopblico,seangratuitasono.
Basesdedatosdeusointerno,coninformacindeaccesorestringido.
Basesdedatosdeinstitucionessinnimodelucro:Fundaciones,asociaciones,sindicatosy
organizaciones no gubernamentales elaboran frecuentemente sus propios sistemas de
informacinespecializados.
Bases de datos de entidades privadas o comerciales: Los centros de documentacin,
bibliotecas y archivos de las empresas pueden elaborar distintos tipos de sistemas de
informacin:
Bases de datos de uso interno para facilitar la circulacin de informacin dentro de la
empresa.
Bases de datos de uso interno que ocasionalmente ofrecen servicio hacia el exterior
(usuariosparticularesuotrasinstituciones)

27

Almacenamientodelainformacin

BasesdeDatos

Basesdedatoscomerciales,diseadasespecficamenteparaserutilizadasporusuarios
externos.
Bases de datos realizadas por cooperacin en red: Se trata de sistemas de informacin
cuyaelaboracinescompartidapordiversasinstituciones.Basesdedatosinternacionales
se elaboran a travs de este sistema de trabajo, con diversos centros nacionales
responsablesdelainformacinpertenecienteacadapas.
9 Basesdedatossegnelmodelodeacceso:
Bases de datos de acceso local: Para consultarlas es necesario acudir al organismo
productor, a su biblioteca o centro de documentacin. Pueden ser consultables en
monopuestooenvariospuntosdeunaredlocal.
BasesdedatosenCDROM:Puedenadquirirseporcompraosuscripcinbiendirectamente
porunparticularoporunabibliotecaocentrodedocumentacinquepermitasuconsulta
asususuarios.EnalgunasinstitucionesseinstalandiferentesCDROMenunaredlocalpara
permitirsuconsultadesdecualquierordenadorconectadoalamisma.
Bases de datos en lnea: Pueden consultarse desde cualquier ordenador conectado a
Internet. La consulta puede ser libre (gratuita) o exigir la solicitud previa de una clave
personalentrada(denominadacomnmenteconeltrminoinglspassword).Paraobtener
unpasswordpuedeexigirlafirmadeuncontrato.Haydiferentestiposdeaccesoenlnea:
AccesoviatelnetomediantelneadeInternet:elusuariorealizaunaconexinestable
alhost(gran ordenador)endondesehallalabasededatos,atravsdeInternet.La
interfaz de usuario instalada en dicho ordenador remoto determinar si la
interrogacindeberealizarsepormensoporcomandosoexpresionesdeunlenguaje
determinado.Cuandounusuarioentraenunabasededatosvatelnetestableceuna
sesin de trabajo interactiva con el programa que gestiona la base de datos, que le
permiteaplicartodaslasposibilidadesdeinterrogacinquetengaelsistemaseleccin,
combinacin y visualizacin o impresin de resultados. En cualquier momento podr
visualizar todas las bsquedas realizadas hasta ese instante y establecer
combinacionesentreellas.
Accesovaweb:conexinatravsdeunformularioexistenteenunapginawebde
Internet,diseadoparalanzarpreguntasaunabasededatos.
UnamismabasededatospuedeteneraccesolocalyademsunaedicinenCDROMyun
sistemadeaccesoenlnea.Sinembargo,puedehaberdiferenciasenelcontenidopresente
en cada uno de estos formatos o en el grado de actualizacin de la informacin. Por
ejemplo,elproductordeunabasededatospuedeofrecerlaconexinenlneaalabasede
datos completa con actualizacin diaria y, en cambio, editar un CD_ROM que tan slo
contengalosltimoscincoaosdeinformacinyseactualicesemestralmente.
9 Basesdedatossegncoberturatemtica:
Bases de datos cientficotecnolgicas: Contienen informacin destinada a los
investigadoresdecualquiermbitocientficootcnico.Asuvez,estegrupopuededividirse
en:
Basesdedatosmultidisciplinares:abarcanvariasdisciplinascientficasotcnicas.
Basesdedatosespecializadas:recopilanyanalizandocumentospertinentesparauna
disciplina o subdisciplina concreta: investigacin biomdica, farmacutica, qumica,
agroalimentaria,social,humanstica,etc
Bases de datos econmicoempresariales: Contienen informacin de inters para
empresas,entidadesfinancieras,
Bases de datos de medios de comunicacin: contienen informacin de inters para los
profesionalesdemediosdecomunicacindemasas:prensa,radio,televisin,
Bases de datos de mbito polticoadministrativo y jurdico: Contienen informacin de
inters para los organismos de la administracin y los profesionales del Derecho:
legislacin,jurisprudencia,

28

DesarrollodeAplicacionesWeb

Tema1

Basesdedatosdembitosanitario:Ademsdelaspropiasdelprimergrupoespecializadas
en ciencias de la salud, existen otros sistemas con informacin de inters sanitario:
historialesmdicos,archivoshospitalarios,
Basesdedatosparaelgranpblico:Contieneinformacindestinadaacubrirnecesidades
deinformacingeneral,deintersparaungrannmerodeusuarios.

Las bases de datos en las que sus registros no contienen el texto original sino tan slo la
informacin fundamental para describir y permitir la localizacin de documentos
impresos, sonoros, iconogrficos, audiovisuales o electrnicos, reciben el nombre de:
Basesdedatosdocumentales.
Basesdedatosdistribuidas.

Basesdedatosreferenciales.

29

Almacenamientodelainformacin

BasesdeDatos

6Sistemasgestoresdebasesdedatos
Caso prctico
Ada explica a Juan y Mara que la eleccin de un buen Sistema Gestor de Base de Datos es
fundamental. A travs de esta herramienta podrn definir, construir y manejar las bases de datos con
las que sus aplicaciones informticas han de trabajar. Conocer sus funciones, componentes y tipos
ser la base fundamental para llevar a cabo una eleccin adecuada.
Juan dice: -Yo he utilizado varios sistemas gestores diferentes, cada uno tiene sus ventajas e
inconvenientes, pero en general todos se parecen un poco. Eso s, facilitan mucho el trabajo, son
fiables y ahorran tiempo.

Parapodertratarlainformacincontenidaenlasbasesdedatosseutilizanlossistemasgestoresde
bases de datos o SGBD, tambin llamados DBMS (DataBase Management System), que ofrecen un
conjuntodeprogramasquepermitenaccederygestionardichosdatos.
ElobjetivofundamentaldelosSGBDesproporcionareficienciayseguridadalahoraderecuperaro
insertarinformacinenlasbasesdedatos.Estossistemasestndiseadosparalamanipulacinde
grandesbloquesdeinformacin.

Sistema Gestor de Base de Datos: Conjunto coordinado de programas, procedimientos, lenguajes,


etc.,quesuministra,tantoalosusuariosnoinformticos,comoalosanalistasprogramadores,oal
administrador,losmediosnecesariosparadescribirymanipularlosdatoscontenidosenlabasede
datos,manteniendosuintegridad,confidencialidadyseguridad.

ElSGBDpermitealosusuarioslacreacinyelmantenimientodeunabasededatos,facilitandola
definicin, construccin y manipulacin de la informacin contenida en stas. Definir una base de
datosconsistirenespecificarlostiposdedatos,lasestructurasylasrestriccionesquelosdatoshan
decumpliralahoradealmacenarseendichabase.Porotrolado,laconstruccindelabaseserel
procesodealmacenamientodedatosconcretosenalgnmedioosoportedealmacenamientoque
estsupervisadoporelSGBD.Finalmente,lamanipulacindelabasededatosincluirlaposibilidad
derealizacindeconsultaspararecuperarinformacinespecfica,laactualizacindelosdatosyla
generacindeinformesapartirdesucontenido.

LasventajasdelusodeSGBDson:
9 Proporcionanalusuariounavisinabstractadelos
datos, ocultando parte de la complejidad
relacionada con cmo se almacenan y mantienen
losdatos.
9 OfrecenIndependenciafsica,esdecir,lavisinque
tiene de la informacin el usuario, y la
manipulacindelosdatosalmacenadosenlaBase
de Datos, es independiente de cmo estn
almacenadosfsicamente.
9 Disminuyenlaredundanciaylainconsistenciadedatos.
9 Aseguranlaintegridaddelosdatos.
9 Facilitanelaccesoalosdatos,aportandorapidezyevitandolaprdidadedatos.
9 Aumentanlaseguridadyprivacidaddelosdatos.
9 Mejoranlaeficiencia.
9 Permitencompartirdatosyaccesosconcurrentes.
9 Facilitanelintercambiodedatosentredistintossistemas.
9 Incorporan mecanismos de copias de seguridad y recuperacin para restablecer la informacin
encasodefallosenelsistema.

ElSGBDinteraccionaconotroselementossoftwareexistentesenelsistema,concretamenteconel
sistema operativo (SO). Los datos almacenados de forma estructurada en la base de datos son
utilizadosindistintamenteporotrasaplicaciones,serelSGBDquienofrecerunaseriedefacilidades
30

DesarrollodeAplicacionesWeb

Tema1

a stas para el acceso y manipulacin de la informacin, basndose en las funciones y mtodos


propiosdelsistemaoperativo.

6.1.Funciones.
Un SGBD desarrolla tres funciones fundamentales como son las de descripcin, manipulacin y
utilizacindelosdatos.Acontinuacinsedetallancadaunadeellas.

1. Funcin de descripcin o definicin: Permite al diseador de la base de datos crear las


estructurasapropiadasparaintegraradecuadamentelosdatos.Estafuncineslaquepermite
definir las tres estructuras de la base de datos: Estructura interna, Estructura conceptual y
Estructuraexterna.(Estosconceptossevernmsadelanteenelepgrafesobrearquitecturadel
SGBD).
Esta funcin se realiza mediante el lenguaje de descripcin de datos o DDL. Mediante ese
lenguaje: se definen las estructuras de datos,se definen las relaciones entre los datos y se
definenlasreglas(restricciones)quehandecumplirlosdatos.
Seespecificarnlascaractersticasdelosdatosacadaunodelostresniveles.
Anivelinterno(estructurainterna),sehadeindicarelespaciodediscoreservadoparala
base de datos, la longitud de los campos, su modo de representacin (lenguaje para la
definicindelaestructuraexterna).
A nivel conceptual (estructura conceptual), se proporcionan herramientas para la
definicin de las entidades y su identificacin, atributos de las mismas, interrelaciones
entre ellas, restricciones de integridad, etc.; es decir, el esquema de la base de datos
(lenguajeparaladefinicindeestructuralgicoglobal).
Anivelexterno(estructuraexterna),sedebendefinirlasvistasdelosdistintosusuariosa
travsdellenguajeparaladefinicindeestructurasexternas.Adems,elSGBDseocupar
delatransformacindelasestructurasexternasorientadasalosusuariosalasestructuras
conceptualesydelarelacindestaylaestructurafsica.
2. Funcindemanipulacin:permitealosusuariosdelabasebuscar,aadir,suprimiromodificar
losdatosdelamisma,siempredeacuerdoconlasespecificacionesylasnormasdeseguridad
dictadasporeladministrador.Sellevaracabopormediodeunlenguajedemanipulacinde
datos(DML)quefacilitalosinstrumentosnecesariosparalarealizacindeestastareas.
Tambinseencargadedefinirlavistaexternadetodoslosusuariosdelabasededatosovistas
parcialesquecadausuariotienedelosdatosdefinidosconelDDL.
Pormanipulacindedatosentenderemos:
La recuperacin de informacin almacenada en la base de datos, lo que se conoce como
consultas.
Lainsercindeinformacinnuevaenlabasededatos.
Elborradodeinformacindelabasededatos.
Lamodificacindeinformacinalmacenadaenlabasededatos.
3. Funcin de control: permite al administrador de la base de datos establecer mecanismos de
proteccin de las diferentes visiones de los datos asociadas a cada usuario, proporcionando
elementos de creacin y modificacin de dichos usuarios. Adicionalmente, incorpora sistemas
para la creacin de copias de seguridad, carga de ficheros, auditora, proteccin de ataques,
configuracin del sistema, etc. El lenguaje que implementa esta funcin es el lenguaje de
controldedatosoDCL.

Y a travs de qu lenguaje podremos desarrollar estas funciones sobre la base de datos? Lo


haremos utilizando el Lenguaje Estructurado de Consultas (SQL: Structured Query Language). Este
lenguajeproporcionasentenciaspararealizaroperacionesdeDDL,DMLyDCL.SQLfuepublicadopor
elANSIen1986(AmericanNationalStandardInstitute)yhaidoevolucionandoalolargodeltiempo.
Adems, los SGBD suelen proporcionar otras herramientas que complementan a estos lenguajes
comogeneradoresdeformularios,informes,interfacesgrficas,generadoresdeaplicaciones,etc.

31

Almacenamientodelainformacin

BasesdeDatos

El DDL de una base de datos sirve para:


Laintroduccindelosdatosenunabasededatos.
Definirlaestructuralgicadelabasededatos.

Interrogaralabasededatos(consultarlainformacindedichabase).

6.2.Componentes.
Una vez descritas las funciones que un SGBD debe llevar a cabo, imaginars que un SGBD es un
paquetedesoftwarecomplejoquehadeproporcionarserviciosrelacionadosconelalmacenamiento
ylaexplotacindelosdatosdeformaeficiente.Paraello,cuentaconunaseriedecomponentesque
sedetallanacontinuacin:
1. Lenguajesdelabasededatos.Cualquiersistemagestordebasededatosofrecelaposibilidad
deutilizarlenguajeseinterfacesadecuadasparasusdiferentestiposdeusuarios.Atravsdelos
lenguajessepuedenespecificarlosdatosquecomponenlaBD,suestructura,relaciones,reglas
de integridad, control de acceso, caractersticas fsicas y vistas externas de los usuarios. Los
lenguajes del SGBD son: Lenguaje de Definicin de los Datos (DDL), Lenguaje de Manejo de
Datos(DML)yLenguajedeControldeDatos(DCL).
2. Eldiccionariodedatos.Descripcindelosdatosalmacenados.Setratadeinformacintilpara
los programadores de aplicaciones. Es el lugar donde se deposita la informacin sobre la
totalidad de los datos que forman la base de datos. Contiene las caractersticas lgicas de las
estructurasquealmacenanlosdatos,sunombre,descripcin,contenidoyorganizacin.Enuna
basededatosrelacional,eldiccionariodedatosaportarinformacinsobre:
9 EstructuralgicayfsicadelaBD.
9 Definicindetablas,vistas,indices,disparadores,procedimientos,funciones,etc.
9 CantidaddeespacioasignadoyutilizadoporloselementosdelaBD.
9 Descripcindelasrestriccionesdeintegridad.
9 Informacinsobrelospermisosasociadosacadaperfildeusuario.
9 Auditoradeaccesoalosdatos,utilizacin,etc.
3. El gestor de la base de datos. Es la parte de software encargada de garantizar el correcto,
seguro, ntegro y eficiente acceso y almacenamiento de los datos. Este componente es el
encargado de proporcionar una interfaz entre los datos almacenados y los programas de
aplicacinquelosmanejan.Esunintermediarioentreelusuarioylosdatos.Eselencargadode
garantizar la privacidad, seguridad e integridad de los datos, controlando los accesos
concurrenteseinteractuandoconelsistemaoperativo.
4. Usuariosdelabasededatos.EnlosSGBDexistendiferentesperfilesdeusuario,cadaunode
ellosconunaseriedepermisossobrelosobjetosdelaBD.Generalmenteexistirn:
9 EladministradordelabasededatosoDatabaseAdministrator(DBA),queserlapersona
oconjuntodeellasencargadasdelafuncindeadministracindelabasededatos.Tieneel
controlcentralizadodelabasededatosyeselresponsabledesubuenfuncionamiento.Es
elencargadodeautorizarelaccesoalabasededatos,decoordinaryvigilarsuutilizaciny
deadquirirlosrecursossoftwareyhardwarequeseannecesarios.
9 Los usuarios de la base de datos, que sern diferentes usuarios de la BD con diferentes
necesidadessobrelosdatos,ascomodiferentesaccesosyprivilegios.Podemosestablecer
lasiguienteclasificacin:
Diseadores.
Operadoresypersonaldemantenimiento.
Analistasyprogramadoresdeaplicaciones.
Usuariosfinales:ocasionales,simples,avanzadosyautnomos.
5. Herramientas de la base de datos. Son un conjunto de aplicaciones que permiten a los
administradores la gestin de la base de datos, de los usuarios y permisos, generadores de
formularios,informes,interfacesgrficas,generadoresdeaplicaciones,etc.

32

DesarrollodeAplicacionesWeb

Tema1

6.3.Arquitectura.
UnSGBDcuentaconunaarquitecturaatravsdelaquesesimplificaalosdiferentesusuariosdela
basededatossulabor.Elobjetivofundamentalessepararlosprogramasdeaplicacindelabasede
datosfsica.

Encontrar un estndar para esta arquitectura no es una tarea sencilla, aunque los tres estndares
quemsimportanciahancobradoenelcampodelasbasesdedatossonANSI/SPARC/X3,CODASYLy
ODMG(stesloparalasbasesdedatosorientadasaobjetos).TantoANSI(EEUU),comoISO(Resto
delmundo),sonelreferenteencuantoaestandarizacindebasesdedatos,conformandounnico
modelodebasesdedatos.

Laarquitecturapropuestaproporcionatresnivelesdeabstraccin:nivelinternoofsico,nivellgico
oconceptualynivelexternoodevisindelusuario.Acontinuacinsedetallanlascaractersticasde
cadaunodeellos:
9 Nivelinternoofsico:Enestenivelsedescribelaestructurafsicadelabasededatosatravs
deunesquemainternoencargadodedetallarelsistemadealmacenamientodelabasededatos
y sus mtodos de acceso. Es el nivel ms cercano al almacenamiento fsico. A travs del
esquema fsico se indican, entre otros, los archivos que contienen la informacin, su
organizacin, los mtodos de acceso a los registros, los tipos de registros, la longitud, los
camposqueloscomponen,lasunidadesdealmacenamiento,etc.
9 Nivellgicooconceptual:Enestenivelsedescribelaestructuracompletadelabasededatosa
travs de un esquema que detalla las entidades, atributos, relaciones, operaciones de los
usuarios y restricciones. Los detalles relacionados con las estructuras de almacenamiento se
ocultan,permitiendorealizarunaabstraccinamsaltonivel.
9 Nivel externo o de visin del usuario: En este nivel se describen las diferentes vistas que los
usuariospercibirndelabasededatos.Cadatipodeusuarioogrupodeellosverslolaparte
delabasededatosqueleinteresa,ocultandoelresto.

Para una base de datos, slo existir un nico esquema interno, un nico esquema conceptual y
podranexistirvariosesquemasexternosdefinidosparaunoovariosusuarios.
Graciasaestaarquitecturaseconsiguelaindependenciadedatosadosniveles:
9 Independencia lgica: Podemos modificar el esquema conceptual sin alterar los esquemas
externosnilosprogramasdeaplicacin.
9 Independencia fsica: Podemos modificar el esquema interno sin necesidad de modificar el
conceptualoelexterno.Esdecir,sepuedecambiarelsistemadealmacenamiento,reorganizar
losficheros,aadirnuevos,etc.,sinqueestoafectealrestodeesquemas.

Enelsiguientegrficosepuedeapreciarlaestructurade
laqueestamoshablando:

Elesquemaconceptualdelatotalidaddelabasededatospuedeobtenersedelaunindetodos
losesquemasexternosdefinidosparacadausuariodelabasededatos.
Verdadero
Falso

.
.

33

Almacenamientodelainformacin

BasesdeDatos

6.4.Tipos.
Qu tipos de SGBD existen? Para responder a esta pregunta podemos realizar la siguiente
clasificacin,atendiendoadiferentescriterios:
a. Elprimercriterioquesesueleutilizaresporelmodelolgicoenquesebasan.Actualmente,el
modelolgicoquemsseutilizaeselrelacional.Losmodelosenredyjerrquicohanquedado
obsoletos. Otro de los modelos que ms extensin est teniendo es el modelo orientado a
objetos.Portanto,enestaprimeraclasificacintendremos:
9 ModeloJerrquico.
9 ModelodeRed.
9 ModeloRelacional.
9 ModeloOrientadoaObjetos.
(Pararecordarlosmodelosdebasesdedatosvistos,sitateenelepgrafe4deestaUnidadde
Trabajoyanalizasucontenido.)
b. Elsegundocriteriodeclasificacinsecentraenelnmerodeusuariosalosquedaservicioel
sistema:
9 Monousuario:sloatiendenaunusuarioalavez,ysuprincipalusosedaenlosordenadores
personales.
9 Multiusuario: entre los que se encuentran la mayor parte de los SGBD, atienden a varios
usuariosalmismotiempo.
c. Eltercercriteriosebasaenelnmerodesitiosenlosqueestdistribuidalabasededatos:
9 Centralizados: sus datos se almacenan en un solo computador. Los SGBD centralizados
puedenatenderavariosusuarios,peroelSGBDylabasededatosensresidenporcompleto
enunasolamquina.
9 Distribuidos (Homogneos, Heterogneos): la base de datos real y el propio software del
SGBD pueden estar distribuidos en varios sitios conectados por una red. Los sistemas
homogneos utilizan el mismo SGBD en mltiples sitios. Una tendencia reciente consiste
en crear software para tener acceso a varias bases de datos autnomas preexistentes
almacenadasensistemasdistribuidosheterogneos.EstodalugaralosSGBDfederadoso
sistemas multibase de datos en los que los SGBD participantes tienen cierto grado de
autonomalocal.
d. Elcuartocriteriotomacomoreferenciaelcoste.Lamayorpartedelospaquetescuestanentre
10.000 y 100.000 euros. Los sistemas monousuario ms econmicos para microcomputadores
cuestanentre0y3.000euros.Enelotroextremo,lospaquetesmscompletoscuestanmsde
100.000euros.
e. Elquinto,yltimo,criterioestablecesuclasificacinsegnelpropsito:
9 Propsito General: pueden ser utilizados para el tratamiento de cualquier tipo de base de
datosyaplicacin.
9 Propsito Especfico: Cuando el rendimiento es fundamental, se puede disear y construir
unsoftwaredepropsitoespecialparaunaaplicacinespecfica,yestesistemanosirvepara
otrasaplicaciones.Muchossistemasdereservasdelneasareassondepropsitoespecialy
pertenecen a la categora de sistemas de procesamiento de transacciones en lnea, que
deben atender un gran nmero de transacciones concurrentes sin imponer excesivos
retrasos.

34

DesarrollodeAplicacionesWeb

Tema1

7.SGBDcomerciales.
Caso prctico
Conocis la multinacional Oracle? Y su sistema de gestin de bases de datos Oracle 10g?
Pregunta Ada.
Juan, que est terminando de instalar un nuevo disco duro en su equipo le responde: Por supuesto
Ada, es el nmero uno en el mundo de las bases de datos y sus productos tienen una gran
aceptacin en el mercado. Segn conozco, sus posibilidades y fiabilidad son impresionantes, aunque
hay que pagar una licencia.

BKProgramacinhadetenerencuentaquesusaplicacionesdebenestarsustentadasenunsistema
que ofrezca garantas, pero que se ajuste a sus necesidades, dimensiones y presupuesto. Es el
momentodepensarsuprximajugada.

Actualmente, en el mercado de software existen multitud de sistemas gestores de bases de datos


comerciales.Enesteepgrafesedesglosanlascaractersticasfundamentalesdelosmsimportantes
yextendidoshastalafecha.Pero,comopodrsobservar,laeleccindeunSGBDesunadecisinmuy
importantealahoradedesarrollarproyectos.Aveces,elsistemamsavanzado,"elmejor"segnlos
entendidos,puedenoserloparaeltipodeproyectoqueestemosdesarrollando.Hemosdeteneren
cuenta qu volumen de carga debe soportar la base de datos, qu sistema operativo utilizaremos
comosoporte,culesnuestropresupuesto,plazosdeentrega,etc.

A travs de la siguiente tabla se exponen los SGBD comerciales ms utilizados y sus caractersticas
msrelevantes:
SistemasGestoresdeBasesdeDatosComerciales.
SGBD
Descripcin
URL
Reconocido como uno de los mejores a nivel mundial. Es
http://www.oracle.com/
multiplataforma, confiable y seguro. Es Cliente/Servidor.
us/products/database/pr
BasadoenelmodelodedatosRelacional.Degranpotencia,
ORACLE
oducteditions
aunque con un precio elevado hace que slo se vea en
066501.html?ssSourceSit
empresas muy grandes y multinacionales. Ofrece una
eId=ocomes
versingratuitaOracleDatabase10gExpressEdition.
Sistema muy extendido que se ofrece bajo dos tipos de
licencia, comercial o libre. Para aquellas empresas que
deseen incorporarlo en productos privativos, deben
MYSQL
http://www.mysql.com/
comprar una licencia especfica. Es Relacional, Multihilo,
Multiusuario y Multiplataforma. Su gran velocidad lo hace
idealparaconsultadebasesdedatosyplataformasweb.
Multiplataforma, el motor de base de datos relacional
integra XML de manera nativa, lo que IBM ha llamado
http://www.ibm.com/de
pureXML, que permite almacenar documentos completos
DB2
veloperworks/ssa/downl
para realizar operaciones y bsquedas de manera
oads/im/udbexp/
jerrquica dentro de ste, e integrarlo con bsquedas
relacionales.
Otra opcin de IBM para el mundo empresarial que
necesitaunDBMSsencilloyconfiable.Esungestordebase http://www
de datos relacional basado en SQL. Multiplataforma. 01.ibm.com/software/es
INFORMIX
Consume menos recursos que Oracle, con utilidades muy /data/informix/discover
avanzadasrespectoaconectividadyfuncionesrelacionadas informix/index.html
contecnologasdeInternet/Intranet,XML,etc.
Microsoft SistemaGestordeBasedeDatosproducidoporMicrosoft. http://www.microsoft.co
SQL
Esrelacional,slofuncionabajoMicrosoftWindows,utiliza m/spain/sql/2008/overvi
SERVER
arquitectura Cliente/Servidor. Constituye la alternativa a ew.aspx

35

Almacenamientodelainformacin

BasesdeDatos

otros potentes SGBD como son Oracle, PostgreSQL o


MySQL.
Un DBMS con bastantes aos en el mercado, tiene 3
http://www.sybase.es/pr
versiones para ajustarse a las necesidades reales de cada
oducts/databasemanage
SYBASE
empresa.Esunsistemarelacional,altamenteescalable,de
ment/adaptiveserverent
alto rendimiento, con soporte a grandes volmenes de
erprise
datos,transaccionesyusuarios,ydebajocosto.
OtrosSGBDcomercialesimportantesson:DBASE,ACCESS,INTERBASEyFOXPRO.

Puedes completar ms informacin sobre estos y otros sistemas a travs de los enlaces
queteproponemosacontinuacin:
http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos#SGBD_no_libr
es
http://4.bp.blogspot.com/_BF5cCSiGL2M/TUjX04ZuzgI/AAAAAAAAAIo/2_0gKVhrpO0/s1600/
gartnerMQ_2011.bmp

36

DesarrollodeAplicacionesWeb

Tema1

8.SGBDlibres.
Caso prctico
Juan, que tiene especial debilidad por el software libre, comenta que existen alternativas muy
potentes a coste cero. Ada, agradece la informacin que Juan aporta e indica que tambin tendrn
en cuenta los sistemas gestores de bases de datos libres en sus desarrollos, ya que algunos de ellos
estn ampliamente extendidos y ofrecen importantes ventajas. Mara, que ha trabajado alguna vez
con MySQL, est deseosa de aprender nuevos sistemas gestores ya sean comerciales o libres.

LaalternativaalossistemasgestoresdebasesdedatoscomercialeslaencontramosenlosSGBDde
cdigo abierto o libres, tambin llamados Open Source. Son sistemas distribuidos y desarrollados
libremente. En la siguiente tabla se relacionan los cinco ms utilizados actualmente, as como sus
principalescaractersticasyenlacesasuspginasweb:
SistemasGestoresdeBasesdeDatosLibres.
SGBD
Descripcin
URL
Es un sistema de gestin de base de datos relacional,
multihilo y multiusuario con ms de seis millones de
instalaciones. Distribuido bajo dos tipos de licencias,
MySQL
comercial y libre. Multiplataforma, posee varios http://www.mysql.com/
motores de almacenamiento, accesible a travs de
mltiples lenguajes de programacin y muy ligado a
aplicacionesweb.
Sistema Relacional Orientado a Objetos. Considerado
comolabasededatosdecdigoabiertomsavanzada
del mundo. Desarrollado por una comunidad de
PostgreSQL desarrolladores que trabajan de forma desinteresada, http://www.postgresql.org/
altruista, libre y/o apoyados por organizaciones
comerciales. Es multiplataforma y accesible desde
mltipleslenguajesdeprogramacin.
Sistema Gestor de Base de Datos relacional,
multiplataforma, con bajo consumo de recursos,
Firebird
http://www.firebirdsql.org/
excelentegestindelaconcurrencia,altorendimiento
ypotentesoporteparadiferenteslenguajes.
Sistema Gestor escrito en Java, de reducido tamao,
Apache
consoportemultilenguaje,multiplataforma,altamente
http://db.apache.org/derby/
Derby
portable, puede funcionar embebido o en modo
cliente/servidor.
Sistemarelacional,basadoenunabibliotecaescritaen
C que interactua directamente con los programas,
SQLite
reduce los tiempos de acceso siendo ms rpido que http://www.sqlite.org/
MySQLoPostGreSQL,esmultiplataformayconsoporte
paravarioslenguajesdeprogramacin.

El tamao mximo de una tabla en PostGreSQL es de 1,6 Terabytes.


Verdadero

Falso

37

Almacenamientodelainformacin

BasesdeDatos

9.Basesdedatoscentralizadas.
Caso prctico
Ada, Juan y Mara estn visitando un centro de cmputo cercano a BK Programacin. La estructura
del sistema informtico est centralizada y limita las posibilidades de uso de la informacin contenida
en dicho sistema. Ada indica que con la ayuda de la tecnologa de redes de computadoras la
informacin se puede mantener localizada en diversos lugares, permitiendo accesos ms rpidos y
mltiples ventajas adicionales en comparacin con los sistemas centralizados. Los tres continan su
visita, analizando las ventajas e inconvenientes del sistema centralizado que estn viendo.

Si nos preguntamos cmo es la arquitectura de un sistema de base de datos, hemos de saber que
tododependedelsistemainformticoquelasustenta.Tradicionalmente,laarquitecturacentralizada
fuelaqueseutilizinicialmente,aunquehoyendaesdelasmenosutilizadas.

Sistemadebasededatoscentralizado:EsaquellaestructuraenlaqueelSGBDestimplantadoen
una sola plataforma u ordenador desde donde se gestiona directamente, de modo centralizado, la
totalidaddelosrecursos.Eslaarquitecturadeloscentrosdeprocesodedatostradicionales.Sebasa
entecnologassencillas,muyexperimentadasydegranrobustez.

Los sistemasde los aos sesenta y setenta eran totalmente centralizados, como corresponde a los
sistemasoperativosdeaquellosaos,yalhardwareparaelqueestabanhechos:ungranordenador
paratodalaempresayunareddeterminalessininteligencianimemoria.

Lasprincipalescaractersticasdelasbasesdedatoscentralizadasson:
9 Se almacena completamente en una ubicacin central, es decir, todos los componentes del
sistemaresidenenunsolocomputadorositio.
9 Noposeemltipleselementosdeprocesamientonimecanismosdeintercomunicacincomolas
basesdedatosdistribuidas.
9 Los componentes de las bases de datos centralizadas son: los datos, el software de gestin de
basesdedatosylosdispositivosdealmacenamientosecundarioasociados.
9 Sonsistemasenlosquesuseguridadpuedeversecomprometidamsfcilmente.

Enlasiguientetablaserepresentanlasventajaseinconvenientesdestacablesdeestaarquitectura
debasesdedatos.
Ventajaseinconvenientesdelasbasesdedatoscentralizadas.
Ventajas
Inconvenientes
Seevitalaredundanciadebidoalaposibilidad Unmainframeencomparacindeunsistema
deinconsistenciasyaldesperdiciodeespacio. distribuidonotienemayorpoderdecmputo.
Cuandounsistemadebasesdedatoscentralizado
Seevitalainconsistencia.Yaquesiunhecho
falla,sepierdetodadisponibilidadde
especficoserepresentaporunasolaentrada,
procesamientoysobretododeinformacin
lanoconcordanciadedatosnopuedeocurrir.
confiadaalsistema.
Encasodeundesastreocatstrofe,la
Laseguridadsecentraliza.
recuperacinesdifcildesincronizar.
Lascargasdetrabajonosepuedendifundirentre
Puedeconservarselaintegridad.
variascomputadoras,yaquelostrabajossiempre
seejecutarnenlamismamquina.
Elprocesamientodelosdatosofreceunmejor Losdepartamentosdesistemasretienenelcontrol
rendimiento.
detodalaorganizacin.
Mantenimientomsbarato.Mejorusodelos
Lossistemascentralizadosrequierenun
recursosymenoresrecursoshumanos.
mantenimientocentraldedatos.

38

DesarrollodeAplicacionesWeb

Tema1

10.Basesdedatosdistribuidas.
Caso prctico
Para poder apreciar la diferencia, Ada ha organizado una vdeoconferencia en la que intervienen dos
tcnicos de bases de datos y un gerente de una gran cadena hotelera, amigos suyos. Cada uno de
ellos se encuentra en sedes diferentes dispersas geogrficamente. Juan y Mara, permanecen
atentos a las intervenciones que se realizan y toman buena nota de las valoraciones de los sistemas
de bases de datos distribuidos hechas por los conferenciantes.

La necesidad de integrar informacin de varias fuentes y la evolucin de las tecnologas de


comunicaciones, han producido cambios muy importantes en los sistemas de bases de datos. La
respuestaaestasnuevasnecesidadesyevolucionessematerializaenlossistemasdebasesdedatos
distribuidas.

Base de datos distribuida (BDD): es un conjunto de mltiples bases de datos lgicamente


relacionadas las cuales se encuentran distribuidas entre diferentes nodos interconectados por una
reddecomunicaciones.

Sistemadebasesdedatosdistribuida(SBDD):esunsistemaenelcualmltiplessitiosdebasesde
datos estn ligados por un sistema de comunicaciones, de tal forma que, un usuario en cualquier
sitiopuedeaccederlosdatosencualquierpartedelaredexactamentecomosilosdatosestuvieran
almacenadosensusitiopropio.

Sistema gestor de bases de datos distribuida (SGBDD): es aquel que se encarga del manejo de la
BDD y proporciona un mecanismo de acceso que hace que la distribucin sea transparente a los
usuarios. El trmino transparente significa que la aplicacin trabajara, desde un punto de vista
lgico,comosiunsoloSGBDejecutadoenunasolamquina,administraraesosdatos.

Un SGBDD desarrollar su trabajo a travs de un


conjunto de sitios o nodos, que poseen un sistema de
procesamiento de datos completo con una base de
datos local, un sistema de gestor de bases de datos e
interconcetadosentres.Siestosnodosestndispersos
geogrficamenteseinternocetarnatravsdeunared
de rea amplia o WAN, pero si se encuentran en
edificios relativamente cercanos, pueden estar
interconectados por una red de rea local o LAN. Este
tipo de sistemas es utilizado en: organizaciones con
estructura descentralizada, industrias de manufactura
con mltiples sedes (automocin), aplicaciones
militares, lineas areas, cadenas hoteleras, servicios
bancarios,etc.

EnlasiguientetablaserepresentanlasventajaseinconvenientesdestacablesdelasBDD:
Ventajaseinconvenientesdelasbasesdedatosdistribuidas.
Ventajas
Inconvenientes
Elaccesoyprocesamientodelosdatosesms
Laprobabilidaddeviolacionesdeseguridades
rpidoyaquevariosnodoscompartencarga
crecientesinosetomanlasprecaucionesdebidas.
detrabajo.
Existeunacomplejidadaadidaqueesnecesaria
Desdeunaubicacinpuedeaccedersea
paragarantizarlacoordinacinapropiadaentrelos
informacinalojadaendiferenteslugares.
nodos.
Loscostessoninferioresalosdelasbases
Lainversininicialesmenor,peroel

39

Almacenamientodelainformacin

BasesdeDatos

centralizadas.

mantenimientoycontrolpuederesultarcostoso.
Dadoquelosdatospuedenestarreplicados,el
Existeciertatoleranciaafallos.Mediantela
controldeconcurrenciaylosmecanismosde
replicacin,siunnododejadefuncionarel
recuperacinsonmuchomscomplejosqueenun
sistemacompletonodejadefuncionar.
sistemacentralizado.
Elintercambiodemensajesyelcmputoadicional
Elenfoquedistribuidodelasbasesdedatosse
necesarioparaconseguirlacoordinacinentrelos
adaptamsnaturalmentealaestructuradelas
distintosnodosconstituyenunaformade
organizaciones.Permitenlaincorporacinde
sobrecargaquenosurgeenlossistemas
nodosdeformaflexibleyfcil.
centralizados.
Dadalacomplejidaddelprocesamientoentre
Aunquelosnodosestninterconectados,
nodosesdifcilasegurarlacorreccindelos
tienenindependencialocal.
algoritmos,elfuncionamientocorrectoduranteun
falloolarecuperacin.

Sideseascompletarmsinformacinsobrelasbasesdedatosdistribuidas,puedeshacerlo
atravsdelsiguientedocumento:
http://sinbad.dit.upm.es/docencia/grado/curso0910/Tema%20VII%20Arquitecturas%20SGBD%20Dis
tribuidos/200910%20Docu%20Todo%20el%20Tema%20VII%20BSDT.pdf

10.1.Fragmentacin.
Sabemosqueenlossistemasdebasesdedatosdistribuidaslainformacinseencuentrarepartidaen
varioslugares.Laformadeextraerlosdatosconsultadospuederealizarsemediantelafragmentacin
de distintas tablas pertenecientes a distintas bases de datos que se encuentran en diferentes
servidores. El problema de fragmentacin se refiere al particionamiento de la informacin para
distribuircadapartealosdiferentessitiosdelared.

Perohayquetenerencuentaelgradodefragmentacinqueseaplicar,yaquesteesunfactor
determinamentealahoradelaejecucindeconsultas.Sinoexistefragmentacin,setomarnlas
relacionesotablascomolaunidaddefragmentacin.Perotambinpuedefragmentarseanivelde
tupla (fila o registro) o a nivel de atributo (columna o campo) de una tabla. No ser adecuado un
grado de fragmentacin nulo, ni tampoco un grado de fragmentacin demasiado alto. El grado de
fragmentacindeberestarequilibradoydependerdelasparticularidadesdelasaplicacionesque
utilicendichabasededatos.Concretando,elobjetivodelafragmentacinesencontrarunnivelde
particionamientoadecuadoenelrangoquevadesdetuplasoatributoshastarelacionescompletas.

Cuandosellevaacabounafragmentacin,existentresreglasfundamentalesacumplir:
9 Completitud.SiunarelacinRsedescomponeenfragmentosR1,R2,...,Rn,cadaelementode
datosquepuedaencontrarseenRdeberpoderencontrarseenunoovariosfragmentosRi.
9 Reconstruccin.SiunarelacinRsedescomponeenunaseriedefragmentosR1,R2,...,Rn,la
reconstruccin de la relacin a partir de sus fragmentos asegura que se preservan las
restriccionesdefinidassobrelosdatos.
9 Disyuncin. Si una relacin R se descompone verticalmente, sus atributos primarios clave
normalmenteserepitenentodossusfragmentos.

Existentrestiposdefragmentacin:
9 Fragmentacinhorizontal:Lafragmentacinhorizontalserealizasobrelastuplasdelarelacin,
dividiendolarelacinensubrelacionesquecontienenunsubconjuntodelastuplasquealberga
laprimera.Existendosvariantesdelafragmentacinhorizontal:laprimariayladerivada.
9 Fragmentacin vertical: La fragmentacin vertical, en cambio, se basa en los atributos de la
relacinparaefectuarladivisin.UnarelacinRproducefragmentosR1,R2,...,Rr,cadaunode
los cuales contiene un subconjunto de los atributos de R as como la llave primaria de R. El

40

DesarrollodeAplicacionesWeb

Tema1

objetivo de la fragmentacin vertical es particionar una relacin en un conjunto de relaciones


ms pequeas de manera que varias de las aplicaciones de usuario se ejecutarn sobre un
fragmento.Enestecontexto,unafragmentacinptimaesaquellaqueproduceunesquemade
fragmentacin que minimiza el tiempo de ejecucin de las consultas de usuario. La
fragmentacin vertical es ms complicada que la horizontal, ya que existe un gran nmero de
alternativaspararealizarla.
9 Fragmentacin Hbrida o mixta: Podemos combinar ambas, utilizando por ello la denominada
fragmentacinmixta.Sitrasunafragmentacinverticalsellevaacabootrahorizontal,sehabla
delafragmentacinmixta(HV).Paraelcasocontrario,estaremosanteunafragmentacin(VH).
Pararepresentarlosdostiposdefragmentacin,seutilizanlosrboles.

Una base de datos almacenada entre distintos computadores conectados en red, de


forma que unos tienen acceso a los datos de otros, se dice que:
Utilizaunmodelojerrquico
Esdetipodistribuidoconfragmentacin

Utilizaunmodeloenred

41

Almacenamientodelainformacin

BasesdeDatos

11.PrimerospasosenOracleDatabase10gExpressEdition.
Caso prctico
Despus de valorar todas las opciones (comerciales y libres) existentes en el mercado, BK
Programacin se decantar por un consagrado sistema de base de datos comercial, pero en su
versin gratuita. Ser Oracle Database 10g Express Edition, que ofrece ser completamente gratuito
para desarrollar y distribuir los desarrollos de la empresa, est disponible para Microsoft Windows y
Linux, puede ser actualizado a versiones superiores de Oracle 10g y permite trabajar con diferentes
lenguajes de programacin.
Juan y Mara estn muy interesados en aprender a manejar este sistema, saben que Oracle es una
de las herramientas ms potentes en el mundo de las bases de datos y estn dispuestos a afrontar el
reto.

QuesOracleDatabase10gExpressEdition?
Esunsistemadebasesdedatoslibreparaeldesarrollo,implementacinydistribucin.Esunsistema
paralainiciacin,conunconsumoreducidoderecursos,basadoenelproductoOracleDatabase10g
revisin2.Sudescargaesrpidaybrindaunsistemadeadministracinsencillo.Esunbuensistema
de iniciacin para desarrolladores en PHP, Java, XML y aplicaciones de cdigo abierto, para
administradores de bases de datos que necesitan una base de datos para su adiestramiento e
implementacin,paraproveedoresindependientesdesoftwareohardwarequedeseanunabasede
datos inicial para distribuir libre de costes sus productos o para instituciones educativas o
estudiantesquenecesitanunabasededatoslibreconlaquecompletarsucurriculum.

Siquieresconocermscaractersticasdestacablesdeestesistemadebasesdedatos,aqu
puedesaccederalahojadeespecificacindeOracle10gExpressEdition(enIngls).
http://www.oracle.com/technetwork/database/expressedition/overview/dbxedatasheet
130365.pdf

Pordndeempezamos?
ElprimerpasoquedebemosdaresdescargarelsoftwarenecesariodesdelapginaoficialdeOracle.
AtravsdelsiguienteenlacepodrsaccederalazonadedescargadeOracleDatabase10gExpress
Edition,regstrate,escogeelqueseajusteatusnecesidadesydescrgaloentuordenador.
http://www.oracle.com/technetwork/database/expressedition/downloads/index.html

Cmoserealizalainstalacin?
Para llevar a cabo la instalacin del software descargado, dependiendo de tu sistema operativo,
puedesvisualizaralgunodelosvdeosqueteproponemosacontinuacin:
InstalacindeOracleDatabase10gExpressEditionbajoWindows7
Elvdeocomienzaconlosdatosdelaautoraylauniversidadalaquepertenece.Acontinuacin,se
accede al escritorio de un equipo con sistema operativo Windows 7, en el que ya se encuentra
descargado el instalador de Oracle Database 10g Express Edition. Haciendo doble clic sobre dicho
instalador,seinicia elasistentedeinstalacincon unabarrade progresode colorverdequeseva
completando.Unavezhaterminadodeprepararseelinstalador,apareceenpantallaunaventanade
bienvenida del producto, se pulsa en el botn de siguiente y aparece el texto de aceptacin de
licencia de uso. Hay que seleccionar que se aceptan las condiciones y se pulsa en siguiente.
Seguidamente,sesolicitasisedeseacambiarlaubicacindelainstalacin,enelvdeosehadejado
laubicacinpordefecto.Enlasiguienteventanasesolicitaqueintroduzcamosunacontraseapara
la cuenta SYS y SYSTEM para la base de datos. Introducimos la contrasea elegida y se pulsa en
siguiente. Se presenta ahora un resumen de lo que se va a instalar y dnde, para que lo
confirmemos. Pulsamos en siguiente. El proceso de instalacin se inicia y aparece una barra de
progreso que se va completando. Una vez completada la instalacin, el asistente nos pregunta si
queremosiniciarlapginainicialdegestindelabasededatos.Seabreelnavegadorwebyaparece
unformulariodelogin,enelqueseintroduceelnombredeusuarioSYSTEMylacontrasealaquese

42

DesarrollodeAplicacionesWeb

Tema1

definianteriormente.Unavezintroducidossepulsaenconectarytrasunosinstantes,apareceun
interfazwebparalagestindelabasededatos.
InstalacindeOracleDatabase10gExpressEditionbajoUbuntuLinux.
Inicialmente,semuestranlaslibrerasyrequisitosnecesariosparapoderllevaracabolainstalacin
enunequipoconsistemaoperativoUbuntu.Seindica,acontinuacin,queserealiceladescargadel
paquete de instalacin desde la pgina de Oracle, que se dejen los puertos por defecto de la
instalacinyqueserealiceunloginconelusuarioycontraseaestablecidosduranteesteproceso.
Unavezhechasestaindicaciones,semuestraunaventanadelexploradosNautilusenelqueaparece
el paquete de instalacin con extensin .deb Al hacer doble clic sobre l, se inicia el instalador de
paquetesdeUbuntu.Duranteelprocesodeinstalacinsesolicitalacontraseadeadministradordel
sistema. Una vez completada la instalacin, se muestra en pantalla el comando para realizar la
configuracindeestaherramienta.Alteclearenunaterminaldichocomando,seabreunasistente
deconfiguracinenmodotextoenelquesevanindicandodiferentesparmetrosdeconfiguracin:
puerto http, puerto de escucha de la base de datos, contrasea del usuario SYSTEM y SYS y
establecimiento de Oracle como aplicacin que se inicia por defecto en el arranque. Tras unos
instantes, la configuracin se lleva a cabo y el interfaz de consola de comandos indica la direccin
webquehadeinsertarseenelnavegadorwebparaaccederalinterfazwebdeOracle10gExpress
Edition. Se carga en el navegador web dicha direccin, se abre sesin con el usuario SYSTEM y
finalmente,elvdeoterminarecordandoquelosrequisitosinicialesesimportantecumplirlos.
GestinbsicadedatosenOracleDatabase10gExpressEdition
ApartirdeliniciodesesinconelusuarioSYSTEM,seaccedealinterfazwebdelabasededatos.Se
iniciaelrecorridoporelinterfazaccediendoalexploradordeobjetos.Alpulsarsobrelapareceun
men de acciones, se selecciona crear y dentro de este submen, se selecciona tabla. Se crea una
tabla:carne,nombre,direccinytelfono.Acontinuacin,sepulsaensiguienteysesolicitacules
elcampoclaveprimariadelatabla.Enestecaso,noseestablececlave.Tampococlavesforneas,ni
restricciones.Sepulsasobreelborndecrearysevisualizalatablaysuscaractersticasenpantalla.
ElsiguienteelementodelinterfazwebqueseanalizaeseltituladoSQL,alpulsarsobresuiconose
muestraunaconsoladecomandosSQL.Atravsdeestaconsolaserealizaunejemplodeinsercin
enlatablamediantecomandos.Unavezpreparadoelcomando,sepulsasobreejecutarysemuestra
elresultadodelaejecucindedichocomandodeinsercin.Paracomprobarlainsercin,atravsde
lamismaconsola,selanzaunaconsultadedatosyseobtieneelresultadoqueconfirmalainsercin,
atravsdelamismaconsola,selanzaunaconsultadedatosyseobtieneelresultadoqueconfirma
la insercin. Posteriormente, se ejecuta un comando de modificacin de datos y una consulta
asociadaparaconfirmarlamodificacin.Porltimo,sellevaacabounborradodedatosmediante
lneadecomandosyconsultaasociadaparaverlosresultados.
AdministracinsimpledeusuariosenOracleDatabase10gExpressEdition
Utilizando el navegador web, en el interfaz web de la aplicacin, se posiciona sobre el men de
administracin.Sedespliegaunsubmenenelqueseseleccionausuariosdelabasededatosyensu
interior,gestindeusuarios.Seguidamente,sevisualizaunnicousuarioconnombreHRqueest
bloqueadoycuyacuentahaexpirado.Sepulsasobreelusuarioysemuestraunformularioenelque
pueden modificarse los datos bsicos de dicho usuario, su clave, desbloqueo y privilegios. A
continuacin,unavezdesbloqueadoelusuarioHRyasignadaunanuevaclave,secierrasesinconel
usuario SYSTEM y se entra con el usuario HR. En el mismo interfaz web inicial, se accede al
explorador de objetos y puede verse que el usuario puede crear tablas u otros objetos, existiendo
diferentes modelos para utilizar como base. Se cierra sesin con el usuario HR y se cierra el
navegador.Ahora,enelescritoriodelequiposeseleccionaeliconodeEquipoysepulsaconbotn
derecho. Se selecciona la opcin administrar y en servicios y aplicaciones, selecciona servicios y
buscaporordenalfabticolosserviciosasociadosaOracle.EncuentralosserviciosOracleServiceXEy
OracleXETSNListener,losseleccionacondobleclicyhacequenoseiniciendeformaautomticaal

43

Almacenamientodelainformacin

BasesdeDatos

iniciarseWindows7.DeestemodoconsiguequeelarranquedeWindowsseamuchomsrpidoal
noiniciarsepordefectoestosservicios.

44

Das könnte Ihnen auch gefallen