Técnico de Soporte Informático TEMA 19 INTRODUCCIŁN A LAS BASES DE DATOS Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático TEMA19.INTRODUCCIÓNALAS BASESDEDATOS CONTENIDO 1. CONCEPTO............................................................................................................................................2 2. TIPOS ....................................................................................................................................................4 2.1 MODELOSTRADICIONALES. ........................................................................................................4 Modelojerárquico. ............................................................................................................................... 4 Modeloenred. .....................................................................................................................................5 Modelorelacional.................................................................................................................................5 2.2 MODELOSAVANZADOS. .............................................................................................................6 Modeloorientadoaobjetos.................................................................................................................6 Modelodeclarativo. .............................................................................................................................6 3. MODELOCONCEPTUALDEDATOS .......................................................................................................7 3.1ELMODELOENTIDADͲRELACIÓN........................................................................................................8 PasosparadesarrollarunmodeloE/R ...............................................................................................10 Relacionescomplejas .........................................................................................................................11 4. ELMODELORELACIONAL ...................................................................................................................13 5. ESTÁNDARESDECONECTIVIDAD........................................................................................................15 ADO ....................................................................................................................................................15 JDBC....................................................................................................................................................16 WebDB...............................................................................................................................................17 2 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES 1. CONCEPTO 1. Reducciónderedundancia:Enlossistemasquenousabasesdedatos,cadaaplicación tiene sus propios ficheros. Esto a menudo origina enorme redundancia en los datos almacenados,asícomodesperdiciodelespaciodealmacenamiento.Porejemplo,una aplicación de depósitos en un banco y otra de préstamos puede contener la misma informaciónreferentealadireccióndeciertosclientes. 2. Evitarlainconsistencia:Siguiendoconelejemploanterior,habráalgunasocasionesen que la dirección del mismo cliente no concuerde en Préstamo y Depósito. Se dice entoncesquelabasededatosesInconsistente.Siunhechoserepresentaporunasola entradalainconsistencianopuedeexistir. 3. Seguridad: Puede aplicarse restricciones de seguridad definiendo controles y canales específicosparaaccederalosdatos. 4. Representación de los datos: Pueden hacerse cumplir normas de representación de los datos, para facilitar el intercambio entre sistemas y de igual forma se pueden definir procedimientos de validación cada vez que se intente una actualización de la B.D.(porejemplo,nohayempleadosdemásde65años,compartirlosdatos,etc.). 5. Independencia de los datos: Como independencia de los datos se entiende la posibilidaddecambiarlosprogramasdeaplicaciónsincambiarlarepresentaciónyel modo de acceso de los datos y viceversa. En contraposición a la costumbre de organizar y acceder a los datos según los requerimientos de la aplicación. Pueden desarrollarsenuevasaplicacionesqueoperenconlosdatosqueyahayalmacenados, puesestossonindependientesdelasaplicaciones. WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES Unsistemadebasesdedatosproporcionauncontrolcentralizadodelosdatos.Estocontrasta conlasituaciónqueprevaleceactualmente,dondeamenudocadaaplicacióntienesuspropios ficheros.Lasventajasdelcontrolcentralizadosonentreotras: UnSistemadeBasedeDatosconsisteenunconjuntoderecursos(datos,programas,personas ymáquinas)diseñadoparamanejargrandescantidadesdeinformación.Elconjuntodedatos seconocecomoBasedeDatos,quecontieneinformaciónacercadeunaorganización determinada. YlosprogramasparaaccederadichosdatosesloqueseconocecomoSistemadeGestiónde Base de Datos (SGBD) o Data Base Management System (SGBD). El manejo de los datos incluye la definición de las estructuras para el almacenamiento de la información y los mecanismosparaelmanejodedichainformación.Ademásseencargadeotrosaspectoscomo elcuidadodelaseguridaddelainformaciónalmacenada,tantocontrafallosdelsistema,como contraintentosdeaccesoporpersonalnoautorizado.ElSGBDproporcionaalosusuariosuna visión abstracta de la información. Es decir, el sistema oculta ciertos detalles relativos a la formaenquelosdatossealmacenanymantienen. Estoesasí,porqueparaqueelsistemaseaútil,lainformacióndebealmacenarseyrecuperarse en forma eficiente, lo que obliga a la utilización de estructuras de datos complejas para 3 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático representarlainformaciónenlabasededatos.Peroestacomplejidadnointeresarealmenteal usuario de bases de datos, que generalmente no cuenta con conocimientos profundos de informática.Porellosedefinenvariosnivelesdeabstracción(definidosporelgrupodeestudio deANSI/X3/SPARCsobresistemasdeadministracióndebasesdedatos),desdelosquepuede observarse la base de datos, que ocultan en diferentes grados dicha complejidad de las estructurasdedatos.Ydesdelosquesepuedendefinirlasestructurasdealmacenamientoy losmecanismosdemanejodelainformación.Estosnivelesson: NivelInternooFísico:Eselnivelmásbajodeabstracciónenelquesedescribecómo sealmacenanrealmentelosdatos.Enestenivelsedescribenendetallelasestructuras dedatosalmásbajonivel,utilizandoparadicharepresentaciónunesquema,odiseño general de la base de datos, llamado esquema físico. El esquema físico establece la forma en que los datos se almacenan en los dispositivos periféricos del ordenador. Dichadescripciónpodemosconsiderarla,asímismo,envariosniveles:enelnivelmás bajo, se puede considerar cada bit del soporte, estableciendo su significado y su dirección, o bien a un nivel más alto, se puede hablar en términos de registros y ficheros. NivelConceptual:Eselsiguienteniveldeabstracción,enelquesedescribecuálesson losdatosrealesqueestánalmacenadosenlabasededatosyquérelacionesexisten entre dichos datos. Este nivel contendrá toda la base de datos en términos de unas cuantas estructuras relativamente sencillas. El paso del mundo real al esquema conceptual corresponde a un proceso de modelización en el que se clasifica en categorías a los objetos o entidades del mundo real, designándolos mediante nombres. Decimos proceso de modelización porque dicho paso (mundo real a esquema conceptual), lo realizamos ajustándonos a uno de los modelos de datos propuestos para ello. Un modelo de datos es la herramienta formal utilizada para comprendereinterpretarelmundoreal. Nivel Externo o Lógico: Es el más cercano a los usuarios, es decir, el que atañe a la manera cómo cada usuario ve los datos. En otras palabras, habrá muchas vistas externas, cada una compuesta por una representación más o menos abstracta de alguna parte de la base de datos, y habrá una sola vista conceptual, compuesta por unarepresentacióntambiénabstractadelabasededatosensutotalidad.Lamayoría delosusuariosnoseinteresanenlabasededatostotal,sinotalsóloenalgunaparte limitadadelamisma,estoes,unavistadelosdatos. ENRESUMEN… ParaconcluirestepuntobastacondestacarlaimportanciadelasBasesdeDatoshoyendía.La sociedad actual dispone de cantidades impensables de datos e información, que si no fueran estructurados a través de una serie de reglas sería imposible abarcar de manera sencilla y entendible.PorestecometidosurgiólanecesidaddecrearlasBasesdeDatos 4 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES 2. TIPOS La división que vamos a hacer aquí de las bases de datos será en función de la tecnología empleadaensufuncionamiento. Por poner un ejemplo de la vida real, si hablamos de coches tenemos los tradicionales de motoragasolina,losdegasóleo,losturbodiesel,losquefuncionabancongasógeno,ymucho menos frecuentes los coches solares o incluso los de propulsión a chorro; pues bien, si hablamosdebasesdedatostenemosquelasmásutilizadassonlabasesdedatosrelacionales, lasmásantiguassonlasjerárquicasyenred,ylasmásavanzadassonlasorientadasaobjetos, ylasdeclarativas.Estassediferencian,enlaformadetrabajarconlosdatosyenlaconcepción omentalidadqueelusuariodebeadoptarparainteractuarconelsistema. 2.1 MODELOSTRADICIONALES. Estudiaremos en este epígrafe los sistemas de bases de datos más utilizados hasta el momento.Daremossólounasnocionesmuybásicasdecadaunoyaquenoscentraremosen sucesivosepígrafesenelModeloRelacional,queeselmásinteresanteyutilizadohoyendía. WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES MODELOJERÁRQUICO. ElsistemajerárquicomáscomúnmenteconocidoeselsistemaIMSdeIBM.Estabasededatos tiene como objetivo establecer una jerarquía de fichas, de manera que cada ficha puede contenerasuvezlistasdeotrasfichas,yasísucesivamente.P.ej.,unafichadeclientespuede contenerunalistadefichasdefacturas,cadaunadelascualespuedecontenerasuvezuna listadefichasdelíneasdedetallequedescribenlosserviciosfacturados. Unabasededatosjerárquicaestácompuestaporunasecuenciadebasesdedatosfísicas,de manera que cada base de datos física se compone de todas las ocurrencias de un tipo de registroofichadeterminada. Estemodelopresentaalgunosinconvenientesquederivandelproblemaprincipal,surigidez. Esto hace que puedan darse obligatoriamente redundancias, es decir, tener que almacenar variasveceselmismodatoendiferentessitios,estoprovocadesperdiciodeespacio,tiempoy quelosdatosnoseránconsistentes. 5 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático MODELOENRED. Podemos considerar al modelo de bases de datos en red como de una potencia intermedia entreeljerárquicoyelrelacionalqueestudiaremosmásadelante.Suestructuraesparecidaa la jerárquica aunque bastante más compleja, con lo que se consiguen evitar, al menos en parte,losproblemasdeaquél. Losconceptosfundamentalesquedebeconocereladministradorparadefinirelesquemade unabasededatosjerárquica,sonlossiguientes: ͲRegistro:Vieneasercomocadaunadelasfichasalmacenadasenunficheroconvencional. ͲCamposoelementosdedatos.Soncadaunodelosapartadosdequesecomponeunaficha. ͲConjunto:Eselconceptoquepermiterelacionarentresítiposderegistrodistintos. MODELORELACIONAL. Este modelo intenta representar la base de datos como un conjunto de tablas. Aunque las tablas son un concepto simple e intuitivo, existe una correspondencia directa entre el conceptoinformáticodeunatabla,yelconceptomatemáticoderelación,locualesunagran ventaja, pues permite efectuar formalizaciones de una forma estricta mediante las herramientasmatemáticasasociadas,comopuedaserelálgebrarelacionalenelámbitodelas consultas. Dispondremosdeunasherramientasfácilesdemanejarquenospermitiráninteractuarconla basededatos. Losconceptosbásicosdelmodelorelacionalson: ͲRegistro:Esalgoasícomocadafichadeunficheroconvencional. ͲTabla:Esunconjuntodefichasdeunmismotipo. Conestosdosconceptosesposiblecrearcualquiertipodedatos,yasociarlosentresí,sinlas restriccionespropiasdelmodelojerárquicooenred. Cada tabla está compuesta por filas, también llamadas tuplas o registros, cada uno de los cualesposeeunaseriedecamposenlosquesealmacenanlosdatosbásicos.Elesquemade unatablanosindicalosnombresdecadaunodeloscamposquecontiene,asícomoeltipode informaciónquedebecontener. Una tabla es para nosotros un conjunto de registros; por tanto, los registros no pueden repetirse. Parapoderaccederaunregistroconcreto,esnecesariohacerunaconsultaatravésdealgún campoqueidentifiqueadichoregistro. 6 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES 2.2 MODELOSAVANZADOS. Las bases de datos relacionales han sido y siguen siendo ampliamente utilizadas para una extensa gama de aplicaciones. Sin embargo, el aumento de potencia de los ordenadores personales, ha hecho aparecer nuevas aplicaciones potentes que requieren la utilización de datos complejamente relacionados o con necesidades de consultas muy particulares, como puedan ser p.ej., los sistemas de información geográficos, el diseño de circuitos electrónicos porordenador,etc. MODELOORIENTADOAOBJETOS. Actualmente, la creación de programas más grandes y complejos, ha hecho avanzar los métodos de programación hacia nuevas formas que permiten el trabajo en equipo de una forma más eficaz y en la que se disminuyen los problemas de coordinación. Uno de estos métodos consiste en la programación orientada a objetos (POO), que trata los problemas desde un punto de vista realista, y modelando cada uno de ellos como si se tratase de un conjuntodeelementosuobjetosqueinterrelacionanentresíparasolucionarelproblema. MODELODECLARATIVO. WWW.ECLAP.JCYL.ES Noentraremosenmásdetallesobreestostiposdebasesdedatos. ENRESUMEN… WWW.ECLAP.JCYL.ES El enfoque de las bases de datos declarativas es sumamente intuitivo para el usuario, y le permite abstraerse de los problemas de programación inherentes a otros métodos. Este modelo suele usarse para bases de conocimiento, que no son más que bases de datos con mecanismos de consulta en los que el trabajo de extracción de información a partir de los datosrecaeenrealidadsobreelordenador,enlugardesobreelusuario.Estosmecanismosde consulta exigen que la información se halle distribuída de manera que haga eficiente las búsquedasdelosdatos,yaquenormalmentelasconsultasdeestetiporequierenaccederuna yotravezalosdatosenbuscadepatronesqueseadecúenalascaracterísticasdelosdatos quehasolicitadoelusuario. Existen muy variados tipos de Bases de Datos, lasque se vienen utilizando hasta ahorason las tradicionales,basadasenestructurasconocidasenotrosaspectosdelavidacomopuedeserla Jerarquíaounared.ElmásimportanteeselmodeloRelacional,tambiénelmásutilizado.Otros tipos de Bases de datos más modernos son los conocidos como Orientados a Objetos, que se basanenlamismaideaporlaqueserigelaProgramaciónOrientadaaObjetos. 7 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático 3. MODELOCONCEPTUALDEDATOS A la hora de determinar una Bases de Datos debemos establecer un proceso partiendo del acotamientodeunaparceladelmundoexterior(micromundoouniversodeldiscurso),aquél quenosinteresarepresentarenlosdatos.Enesteprocesosedebeaprehender,comprendery conceptualizardichomundoexteriortransformándoloenunconjuntodeideasydefiniciones quesuponganunaimagenfieldelcomportamientodelmundoreal.Aestaimagendelmundo exteriorlallamaremosModeloConceptual. Unavezdefinidoelmodeloconceptual,éstesehadetransformarenunadescripcióndedatos, atributosyrelacionesquedenominaremosEsquemaConceptualdelosdatos.Porúltimo,este esquemaconceptualhabráquetraducirloaestructurasalmacenablesensoportesfísicos.Por tantoesnecesariodistinguirentreBasesdedatos,queseráelbanco,elalmacéndelosvalores (ocurrencias) de los datos. Los Modelos de Datos, que son las herramientas para diseñar los datos y sus relaciones de forma que puedan soportar los valores correspondientes. Y finalmentelosSistemasGestoresdeBasesdeDatos(SGBD),queseránlosencargadosdelas accionesquellevemosacaboconlasbasesdedatos,permitiendotambiéncumplimentaralos usuarios,mostrándoleslosdatosdeacuerdoasusnecesidades.Contodoello,sepuededefinir unModelodeDatoscomo:Ungrupodeherramientasconceptualesparadescribirlosdatos, susrelaciones,susemánticaysuslimitaciones;detalforma,quefacilitalainterpretaciónde nuestromundorealysurepresentaciónenformadedatos,ennuestrosistemainformático. Definidoelmodelodedatos,pasamosaanalizarlo.Paraello,partiremosdelaspropiedades, quepodemosdiferenciarendostipos: Estáticas: Son las propiedades invariantes en el tiempo. Quedan especificadas en el Modelo de Datos por ESTRUCTURAS. Esta se define mediante el ESQUEMA, con el lenguaje de definición de datos (DDL). El esquema, a su vez, está constituido por EstructurayRestricciones.LaEstructuraquedadefinidaporlosObjetosdelModeloy las Restricciones inherentes, conformando un conjunto de reglas de definición de dichas Estructuras. Los objetos y Restricciones de la Estructura dependen de cada Modelo,peroengeneralson: Entidades Atributos Dominio Relaciones Representación,y Restricciones:Haytrestiposderestricciones.Restriccionesinherentesvienen impuestas por la propia naturaleza de Modelo introduciendo rigideces en la modelización. Las Restricciones opcionales o de usuario, restricciones propiamente dichas en el Esquema, son definidas por el usuario, pero el ModelodeDatoslasreconoceysuministraherramientasparamanejarlas.Las Restriccioneslibresdeusuarios,porúltimo,sonresponsabilidaddelusuarioy elModelodeDatosnilasreconoce,nilasmaneja. 8 TEMA 19 Técnico de Soporte informático Dinámicas:Sonlaspropiedadesquevaríanconeltiempo.Enelmodelodedatosson las OPERACIONES. Se define como un conjunto de Operaciones con el Lenguaje de manipulacióndedatos(DML).LasoperacionessobreunModelodeDatospuedenser de: Selección.Localizacióndelosdatosdeseados. Acción.Realizacióndeunaacciónsobrelosdatosseleccionados.Dichaacción puedeser: Recuperación(obtencióndelosdatosseleccionados)y Actualización,queasuvezpuedeser: Modificación Inserción Borrado WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES Promoción Interna de Técnico de Soporte Informático Generalmente,todaoperacióndeActualizaciónvaprecedidadeunadeRecuperación,aunque nonecesariamente. 3.1ELMODELOENTIDADͲRELACIÓN Cuandoseutilizaunabasededatosparagestionarinformación,seestáplasmandounaparte del mundo real en una serie de tablas, registros y campos ubicados en un ordenador; creándose un modelo parcial de la realidad. Antes de crear físicamente estas tablas en el ordenadorsedeberealizarunmodelodedatos. WWW.ECLAP.JCYL.ES ENTIDADESYRELACIONES WWW.ECLAP.JCYL.ES Se suele cometer el error de ir creando nuevas tablas a medida que se van necesitando, haciendo así el modelo de datos y la construcción física de las tablas simultáneamente. El resultadodeestoacabasiendounsistemadeinformaciónparcheado,condatosdispersosque terminanpornocumpliradecuadamentelosrequisitosnecesarios. ElmodelodedatosmásextendidoeseldenominadoENTIDAD/RELACIÓN(E/R)Enelmodelo E/Rseparte deunasituaciónrealapartirdelacualsedefinen entidadesyrelacionesentre dichasentidades: ENTIDAD.Ͳ Objeto del mundo real sobre el que queremos almacenar información (Ej.: una persona).Lasentidadesestáncompuestasdeatributosquesonlosdatosquedefinenelobjeto (para la entidad persona serían DNI, nombre, apellidos, dirección,...). De entre los atributos habráunoounconjuntodeellosquenoserepite;aesteatributooconjuntodeatributossele llama clave de la entidad, (para la entidad persona una clave seria DNI). En toda entidad siempre hay al menos una clave que en el peor de los casos estará formada por todos los atributosdelatabla.Yaquepuedehabervariasclavesynecesitamoselegiruna,loharemos atendiendoaestasnormas: 9 Promoción Interna de Técnico de Soporte Informático Técnico de Soporte informático TEMA 19 Queseaúnica. Quesetengaplenoconocimientodeella.Ͳ¿Porquéenlasempresasseasignaacadacliente unnúmerodecliente? Queseamínima,yaqueserámuyutilizadaporelgestordebasededatos. RELACIÓN.Ͳ Asociación entre entidades, sin existencia propia en el mundo real que estamos modelando, pero necesaria para reflejar las interacciones existentes entre entidades. Las relacionespuedenserdetrestipos: 9 Relacionesunoauno.ͲLasentidadesqueintervienenenlarelaciónseasocianunaa una(Ej.:laentidadHOMBRE,laentidadMUJERyentreelloslarelaciónMATRIMONIO). 9 Relacionesunoamuchos.ͲUnaocurrenciadeuna entidadestáasociadaconmuchas (n)deotra(Ej.:laentidadEMPERSA,laentidadTRABAJADORyentreelloslarelación TRABAJARͲEN). 9 Relacionesmuchosamuchos.ͲCadaocurrencia,encualquieradelasdosentidadesde larelación,puedeestarasociadaconmuchas(n)delaotrayviceversa(Ej.:laentidad ALUMNO,laentidadEMPRESAyentreelloslarelaciónMATRÍCULA). REPRESENTACIÓNGRÁFICADEENTIDADESYRELACIONES Para asimilar fácilmente un diseño de datos cuando se emplea el modelo E/R se utilizan los siguienteselementosgráficos: EJEMPLO 1–1. Un hombre está casado con una y sólo unamujer 1Ͳn. En una empresa pueden trabajar muchas personas, pero un trabajador sólo trabajaenunaempresa. nͲn. Un alumno puede matricularse en muchasasignaturasyademásesaasignatura hayotrosmuchosalumnos. EstaclasificacióndelasrelacionessellamaCardinalidad 10 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático Lasentidadesylasrelacionespuedentener: ATRIBUTOS WWW.ECLAP.JCYL.ES 9 9 9 9 WWW.ECLAP.JCYL.ES Un atributo es un hecho o una unidad de información sobre una entidad que no se puede descomponer. Unatributodebeperteneceraunaentidadysóloauna. Debentenervaloresparalasocurrenciasdelasentidades Cadaatributodebetenerunsignificadoúnicoyconsistente. No es necesario especificar los atributos que se obtienen mediante cálculos en el modeloconceptual Ejemplo:UnaentidadAlumnotienelosatributos:DNI,Nombre,Sexo,etc… IDENTIFICADOR 9 Elidentificadordebetomarunoysólounvalorparacadaunadelasocurrenciasdela entidad. 9 Paraunamismaentidadpuedenhaberdiferentesopciones de definiridentificadores (Nota:enelmodeloE/Rseeligeunadeestasopcionesparadefinirlaclaveprimaria). 9 Esaconsejablequeseadecortalongitud,deusocomúnyfácilmentememorizable. Ejemplo:ElidentificadordeunAlumnopodríasersuDNI. PASOSPARADESARROLLARUNMODELOE/R WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES IDENTIFICARLASPRINCIPALESENTIDADES Comenzaridentificandolosobjetosdeinterés(a partirdelosrequisitos)y analizarcadauno paraversisondeinterésonoparaelsistema. • Considerar algún ejemplo de ocurrencia para comprobar que tiene sentido • pensar en el concepto que representa, una misma representación puede significar diferentes conceptos paraanalistasdiferentes •Nombrar,definirydocumentarlasentidadeseneldiccionariodedatosoeneldocumento dediseñocorrespondiente. Ͳ Diccionariodedatos:Undiccionariodedatoscontienelascaracterísticaslógicasdelos datosquesevanautilizar. Ͳ Documentodediseño:Básicamenterecogeunasíntesisdecreacióndelconceptoque sedesarrollaosevaadesarrollar. DETERMINARLASRELACIONESENTREENTIDADES Lasrelacionessonloshechosdeinterésparaelsistemaqueproporcionanlaconexiónentrelas ocurrenciasdedosomásentidades. •ExistentesodePosesión(porejemplounempleadotienehijos) 11 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático •Funcionales(Elprofesorexplicaalosalumnos) •Sucesos(Elclienterealizapedidos) Reglas: •Identificarlasrelacionesydarlesunnombre,documentarlaseneldiccionariodedatos •Asignarcardinalidadoconectividad DEFINIRIDENTIFICADORES Elegircomomínimounidentificadorparacadaentidad. •Establecerestándaresdenomenclatura,abreviaturas,etc. •Usocomúnentrelosusuarios AÑADIRATRIBUTOSALMODELODEDATOS. Yahemosvistoladefinicióndeatributoanteriormente. Básicamenteseusanpararepresentarunapropiedaddeinterésenunaentidad. Porejemplo,unatributodeunAlumnopodríasersunombre. RELACIONESCOMPLEJAS RELACIONESDELTIPOM:N(MUCHOSAMUCHOS) Siexisteunconceptoquepuedesustituirlarelación,tienesentidocomoentidadyaportauna mejorcomprensiónalmodelo(parausuariosyanalistas)esconvenientedeshacerlasmediante estaentidadylasrelacionesunoamuchosadecuadas. 12 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático RELACIONESENTRETRESOMÁSENTIDADES WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES Las relaciones entre tres o más entidades se reclasificaran mediante una entidad relacionada con cada una de ellas, si existe un concepto que puedeserrepresentadocomounaentidad,yaportamayorcomprensiónalproblema. RELACIONESPOTENCIALMENTEREDUNDANTES(PUEDENSERLOONO,DEPENDEDELSIGNIFICADO DELASRELACIONESYDELASCARDINALIDADES) ENRESUMEN… WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES RELACIONESRECURSIVASOAUTORRELACIONES Estasdebensereliminadas Delmodeloconceptualdedatossabemosquesonlosorientadosaladescripcióndeestructuras de datos y restricciones de integridad. Están orientados a representar los elementos que intervieneneneseproblemaysusrelaciones. ElmásimportanteyutilizadoeselmodeloEntidad/Relaciónquebasasufuncionamiento,como su propio nombre indica, en localizar las entidades (objetos independientes) de una base de datosysaberquérelacionessedanentreellas. 13 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático 4. ELMODELORELACIONAL ElModeloRelacionalfuedefinidoen1970porE.F.Codd.EnesteModelo,tantolasEntidades como la Relación se presentan mediante tablas. Es tal vez el modelo más utilizado para la creacióndelosSGBD.Analizaremosenprimerlugar,laParteEstáticadelModeloque,como apuntábamos anteriormente, está constituida por los Objetos y las Restricciones. Entre los Objetospasamosadefinir: Relación:En este Modelo elconcepto de Relación noserefierealaasociaciónentre Entidades,comoocurreenelModeloEntidadͲRelación,sinoqueestárelacionadocon elconjuntodeocurrenciasvarioselementosestructuradosenformadetablas: Atributos: Los atributos son las propiedades o características de las Entidades. Correspondenaladenominaciónocabeceradeunacolumnaocampodeunatabla. Dominio:ElDominioeselconjuntodedondelosAtributostomansusvalores.Puede suceder que dos atributos distintos de una misma Relación tomen sus valore del mismoDominio. Tupla: La Tupla es una ocurrencia de la Entidad o conjunto de ítems de información queformanunafiladeunatabla. Grado:ElGradoesunaRelacióneselnúmerodeAtributosocolumnasqueposee. Cardinalidad:SedenominaasíalnúmerodeTuplasofilasdeunaRelación. Clave: Definimos como Clave de una relación a aquel o aquellos Atributos que nos determinandeformaunívocaymínimaaunaTupladeesaRelación. EntrelasRestriccionespodemosdiferenciar: 9 Restriccionesinherentes.ElModeloposeedos: 1. NopuedenaparecerdosfilasigualesenunamismaRelación 2. El atributo o Atributos, que es o forma parte de la clave, no puede tomar valoresnulos(pornulosseinterpretavaloresdesconocidos). 9 Restricciones opcionales. Están formadas por las Dependencias Funcionales, DependenciasTransitivas,DependenciasMultivaluadas,etc. ConrespectoalaParteDinámica,diremosqueelModeloRelacionaltrabajaporEspecificación, esdecir,seespecificaunacondiciónquedebecumplirunaseriedeTuplas(lasquequeremos localizar). Es por tanto el lenguaje utilizado para la manipulación de datos un lenguaje NoͲ Procedimental. 14 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático 1) Una base de Datos Relacional está formada por un conjunto de datos agrupados en Relaciones. 2) EstasRelacionessepresentanmediantetablasycontieneinformaciónhomogénea. 3) LosdistintosítemsdeinformaciónconformanTuplasycadaunadeellasseidentifican deformaúnicamedianteunaClave. 4) Cada Tupla está formada por varios campos o Atributos cuyos valores no se pueden descomponer. 5) Los atributos se asignan a Dominios, siendo un Dominio un conjunto de valores posiblesdeunAtributo. ENRESUMEN… Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros(líneas)ycampos(columnas),quesevinculanentresíporuncampoencomún, enamboscasosposeelasmismascaracterísticascomoporejemploelnombredecampo, tipoylongitud;aestecampogeneralmenteseledenominaID,identificadoroclave.Aesta maneradeconstruirbasesdedatosseledenominamodelorelacional. WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES Resumiendotodoloexpuesto,tenemos: 15 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático 5. ESTÁNDARESDECONECTIVIDAD Las2tecnologíasmásimportantesdeconectividadalabasededatossonADOyJDBC. ADO Existen varios niveles o interfaces para lograr la comunicación o acceso a la base de datos a travésdelaaplicación. Elsiguienteesquemamuestra2delosprincipalesniveles,dentrodeloscualesseencuentra ADO. Porlogeneral,lasinterfacesdeobjetosdedatossonmásfácilesdeusarquelasAPIS,aunque lasAPIsofrecenmásfuncionalidades.ADO(ActiveXDataObjects)eslainterfazdeobjetosde datosparaOLEDB,yRDO(RemoteDataObjects)eslainterfazparaelobjetoODBC. ADO encapsula el API OLE DB en un modelo objeto simple que reduce el desarrollo, mantenimientoycostodelaaplicación.Esmuyfácildeusar,utilizalenguajesdeprogramación comoVisualBasic,Java,C++,VBScriptyJScript,puedeaccesardatosdesdecualquierrecurso OLEDByademás,esextensible.EslainterfazutilizadaporMicrosoft. El modelo ADO, basado en el modelo de objetos, define una jerarquía de objetos programables que pueden ser usados por desarrolladores de páginas Web para acceder a la información almacenada en una base de datos. Una jerarquía es un grupo de objetos relacionadosquetrabajanjuntosparaunmismopropósito. 16 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES ADOpermitediseñarsitioswebquepuedenaccederrepetidamentealamismabasededatos usandounamismabúsquedauotrasimilar.Sepuedencompartirconexionesyestosignifica unamenorcargadetrabajoparaelservidordelabasededatos,untiempoderespuestamás rápidaymásaccesosapáginaconéxito. ExisteuncomponentellamadoRDS(RemoteDataService)queofreceelambientedeAcceso UniversalaDatos,yaseadesdeInternetolaWorldWideWeb,creandounmarcodetrabajo que permite una interacción fácil y eficiente con los datos fuente OLE DB tanto en Intranets corporativasoenInternet.RDSofrecelaventajadeobtenerporelladodelclienteresultados dedatos,actualizaciónysoporteparacontrolesADOyofreceelmodelodeprogramaciónOLE DB/ADOparamanipulardatosdelasaplicacionesdelcliente. JDBC JDBCoJavaDataBaseConnectivity,creadoporlaempresaSun,eslaAPIestándardeaccesoa basesdedatosconJava.SunoptóporcrearunanuevaAPIenlugardeutilizarODBC,porque esta última presentaba algunos problemas desde ciertas aplicaciones Java. ODBC es una interfaz escrita en lenguaje C, que al no ser un lenguaje portable, hacía que las aplicaciones Javatambiénperdiesenlaportabilidad.Además,ODBChadeinstalarsemanualmenteencada máquina, mientras que los controladores (drivers) JDBC que están escritos en Java son automáticamente instalables y portables. El nivel de abstracción al que trabaja JDBC es más altoqueeldeODBCy,deestaforma,sepuedencrearlibreríasdemásaltonivel, WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES ParatrabajarconJDBCesnecesariotenercontroladoresquepermitanaccederalasdistintas basesdedatos.Sinembargo,ODBCsiguesiendohoyendíalaAPImáspopularparaaccesoa BasesdeDatos,porloque:Sunsehavistoobligadaadiseñarunpuentequepermiteutilizarla APIdeJDBCencombinaciónconcontroladoresODBC. 17 Promoción Interna de Técnico de Soporte Informático Técnico de Soporte informático TEMA 19 Las tecnologías que se emplea para la conectividad entre los datos y la aplicación, se ha convertidoenunfactormuyimportantealahoradedesarrollarunproyectowebquecuente confuncionalidaddeaccesoadatos.Acontinuaciónsemuestrauncuadrocomparativodelas dostecnologíasmásimportantesenestesentido:ActiveXDataObjects(ADO)yJavaDataBase Connectivity(JDBC). ADO JDBC TecnologíaelaboradaporMicrosoft Tienelaprincipalfunciónderealizarlasolicitudde losdatosalabasededatos. Esta solicitud la realizará mediante la tecnología OLE DB, la cual estará en contacto de manera directaconlabasededatos. LatecnologíaOLEDBsóloseemplearácuandoel DBMS pertenece de igual manera a Microsoft, comoesSQLServer. ADO encapsulará a ciertos objetos de OLE DB, para que de ésta manera se realice la conexión conlabasededatos. TecnologíahechaporSunMicrosistems. Tiene la función de ser un gestor para la aplicaciónconrespectoalabasededatos. Por primera vez el JDBC fue empleado, tomando comointermediarioentreélylabasededatosal ODBC. Como modelo cliente/servidor, el JDBC se encontrará trabajando en el equipo cliente, conectándosedirectamenteconlabasededatos. Como modelo de tres capas, el JDBC se encontraráenunacapaintermedia,dondetodos losusuariospasaránporélparapoderaccesarala basededatos. Existen módulos JDBC que son propios de los fabricantes de DBMS, que son utilizados para el rápido acceso a la información de las bases de datosdelosmismos. JDBC no se encontrará ligado a trabajar con algunatecnologíaenespecífica,yaqueseelaboró conlafinalidaddeserportable. En aplicaciones Web, JDBC se encontrará laborando en conjunto con código HTML, medianteelmecanismodelJavascript. Pararealizarlagestióndeaccesoabasesdedatos heterogéneasporpartedeADO,ésteharáusode ciertos objetos de la tecnología RDO (Remote DataObjects). RDO dependerá de los ODBC’s para poder efectuarlaconexiónalabasededatosyconesto elaccesoalainformación. ADOpodráencontrarsetrabajandoenunapágina web en conjunto con código HTML; esto será posible mediante un mecanismo de introducción deinstruccionescomoeselVBscript. Los objetos que conforman al ADO, no son compatiblesconotroslenguajes,soloporaquellos quepertenecenalaempresaMicrosoftcomoson: VisualC++,VisualBasic,VisualJava,etc. JDBC se elaboró con la finalidad de poder ser compatible y portable para poder ser empleado en aplicaciones y para la conexión con bases de datos. WEBDB Por último, hay que destacar también una tecnología llamada Web DB utilizada por algunos servidores de bases de datos, con la cual, un usuario puede solicitar la información que requierayvisualizarlaamododerespuestaenunapáginaWeb,queserácreadayelaborada porelpropioservidordebasededatos. El proceso que comprende desde la solicitud a la visualización de la información, puede ser representadodelasiguientemanera: 18 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático Navegador (browser): es la aplicación mediante la cual, se tiene acceso libre a los servicios de Internet, y el medio que permite al usuario introducir la solicitud para visualizar la información, empleando el URL para especificar detalladamente el procesoquesedeseaejecutar. InterfazdeWeb:proporcionaunainterfazparaqueunprogramaqueseejecuteenel servidorgenerecomosalidaelcódigoHTML,enlugardeleersimplementeunarchivo estático de texto. Con ésta interfaz se podrán crear las páginas Web de forma dinámica y/o utilizar la implementación de formularios HTML. Esta interfaz permite tecnologías como los CGI’s o aquellas otras que son propias del servidor de base de datos. AgentePL/SQL:eseleslabónfinaldelprocesoentreunnavegadorclienteyelservidor debasededatos.Elagenteejecutaráunallamadaaunprocedimientoalmacenadoen el servidor. Este procedimiento creará una página HTML dinámica como salida, y el agente devolverá dicha salida al cliente a través del navegador empleando de igual maneralaInterfazdeWeb. BasedeDatos(BD).Enellasemantendráalmacenadalainformación;seencargaráde proporcionar los datos que le hayan solicitado previamente, al momento de la ejecucióndeunprocedimientoporpartedelAgentePL/SQL. WWW.ECLAP.JCYL.ES WWW.ECLAP.JCYL.ES Enesteesquemaanteriordestacan: Estaherramientaesunamuybuenaopciónparapequeñasomedianasempresas,enlascuales llegaría a resultar muy costosa la implementación de otro tipo de tecnologías más caras y avanzadas. WWW.ECLAP.JCYL.ES ENRESUMEN… WWW.ECLAP.JCYL.ES Los estándares de conectividad a Bases de Datos son en general, el conjunto de aplicaciones,órdenesyreglasqueseutilizanparaconectarunaBasedeDatosalsistema desdeelcualnecesitamosobtenerundato.Losmásconocidosyusadossondos:ADO,de MicrosoftyJDBCdeSunMicrosistem 19 Promoción Interna de Técnico de Soporte Informático TEMA 19 Técnico de Soporte informático BIBLIOGRAFÍA Ͳ Ͳ Ͳ Ͳ ABADDOMINGOA.RedesdeÁreaLocal.McGrawHill PASTORSÁNCHEZJ.A.CursodeSistemasdeGestiónDocumental.EnclaveFormación NEVADOCABELLOM.V.IntroducciónalasBasesdeDatosRelacionales.VisiónLibros ROBP,CORONELC.SistemasdeBasesdeDatos.CienciasIngenierías. 20