Sie sind auf Seite 1von 70

UNIVERSIDADCARLOSIIIDE MADRID ESCUELAPOLITCNICASUPERIOR INGENIERATCNICAINFORMTICA DEGESTON PROYECTOFINDECARRERA

Diseobasededatosparagestinde catalogodeespeciesamenazadas

AUTOR:RODRIGOSORIAROMERO TUTOR:M.DOLORESCUADRAFERNNEZ Abril,2010 1

AGRADECIMIENTOS

AGRADECIMIENTOS

Amispadres,porquegraciasasuapoyoysuconfianzahepodidofinalizaresta etapademivida. Amihermano,porquegraciasalyasusconsejoscomencconestaaventura universitaria. Amismagnficoscompaeros,sinofueseporelgranequipoquehemoshecho estosaosahoranoestaraescribiendoesto. ADolores,portodalaayudaquemehabrindadoysobretodoporsupaciencia yaquenohasidouncaminofcil. A Beatriz, de la empresa Consultores en Biologa de la Conservacin, por implicarsetantoenesteproyectoyportodasuinestimableayuda.

NDICEDECAPITULOS

NDICEDECAPTULOS

1. Introduccin............................................................................................Pgs.1113 1.1. Visingeneral...................................................................................Pg.11 1.2. Motivacin........................................................................................Pg.12 1.3. Objetivos...........................................................................................Pg.13

2. Gestinyplanificacindelproyecto.......................................................Pgs.1422 2.1. Estudiospreviosalaimplementacin .............................................Pg.14 . 2.2. Planificacindelproyecto................................................................Pg.15 2.3. Seguimientodelproyecto................................................................Pg.16 3. SistemaGestordeBasesdeDatosutilizado...........................................Pgs.2325 3.1. DescripcindelSistemaGestordeBasesdeDatos.........................Pg.23 3.2. Procesodeinstalacindelsoftware................................................Pg.25 4. Descripcindelabasededatos..............................................................Pgs.2677 4.1. Anlisisdelaaplicacin....................................................................Pgs.2639 4.1.1. Requisitosdelcliente ............................................................Pg.26 . 4.2. Diseodelabasededatos...............................................................Pgs.3960 4.2.1. Homogeneizacindelosdatos .............................................Pg.39 . 4.2.2. Modelorelacional..................................................................Pg.42 4.2.3. Supuestossemnticosadicionales........................................Pg.47 4.3. Implementacindelabasededatos...............................................Pg.49 4.4. Procesodecargadelabasededatos..............................................Pg.50 4.5. Consultasparassuusoconlainterfaz.............................................Pg.54 3

NDICEDECAPITULOS

5. Resultadosobtenidos..............................................................................Pgs.57 6. Valoracinfinal........................................................................................Pgs.5860 6.1. Conclusiones.....................................................................................Pg.58 6.2. Posibleslneasfuturas......................................................................Pg.60 7. Bibliografa...............................................................................................Pgs.6162 7.1. Bibliografaconsultada.....................................................................Pg.61 7.2. ReferenciasWeb..............................................................................Pg.62 8. Anexos.....................................................................................................Pgs.6370 8.1. InformePreliminarPFC....................................................................Pg.63 8.2. InstalacinBBDD..............................................................................Pg.67

NDICEDEILUSTRACIONES

NDICEDEILUSTRACIONES
Ilustracin1DiagramadeGantt.......................................................................16 Ilustracin2DiagramadeGanttreunionestutora...........................................17 Ilustracin3DiagramadeGanttreunionesconelcliente...............................18 Ilustracin4RequisitosmnimosSQLServer2008...........................................25 Ilustracin5FichaRecogidaDatos...................................................................28 Ilustracin6TablaRecogidaDatos...................................................................29 Ilustracin7TablaRecogidaDatos...................................................................29 Ilustracin8TablaRecogidaDatos...................................................................30 Ilustracin9TablaRecogidaDatos...................................................................31 Ilustracin10TablaRecogidaDatos.................................................................32 Ilustracin11FichaRecogidaDatos.................................................................33 Ilustracin12TablaRecogidaDatos.................................................................34 Ilustracin13TablaRecogidaDato ..................................................................35 . Ilustracin14TablaRecogidaDatos.................................................................36 Ilustracin15TablaRecogidaDatos.................................................................37 Ilustracin16TablaRecogidaDatos.................................................................38 Ilustracin17InformeBBDDConfederaciones................................................41 Ilustracin18EsquemaRelacionalBBDDGlobal..............................................44 Ilustracin19DiagramaRelacionalConfederaciones......................................45 Ilustracin20FormateoInsercin....................................................................51 Ilustracin21ExportacinaExcel....................................................................52

NDICEDEFICHEROS

NDICEDEFICHEROS

NOMBRE

DESCRIPCIN

dbo.Atlas.Table

ScriptcreacintablaAtlas

dbo.Cuadriculas.Table

ScriptcreacintablaCuadriculas

dbo.dbo_BIO_Aux_PMSUP_TEST.Table

ScriptcreacintablaBIO_Aux_PMSUP_TEST

dbo.dbo_BIO_PRI_ANPMSUP.Table

ScriptcreacintablaBIO_PRI_ANPMSUP

dbo.dbo_BIO_PRI_CAPAS_2008.Table

ScriptcreacintablaBIO_PRI_CAPAS_2008

dbo.dbo_BIO_PRI_CAPAS_PMSUP.Table

ScriptcreacintablaBIO_PRI_CAPAS_PMSUP

dbo.dbo_BIO_PRI_CATEG.Table

ScriptcreacintablaBIO_PRI_CATEG

dbo.dbo_BIO_PRI_DEANSP.Table

ScriptcreacintablaBIO_PRI_DEANSP

dbo.dbo_BIO_PRI_DEM.Table

ScriptcreacintablaBIO_PRI_DEM

dbo.dbo_BIO_PRI_ESTACIONES_SPF.Table

ScriptcreacintablaBIO_PRI_ESTACIONES_SPF

dbo.dbo_BIO_PRI_ESTACIONES_SPF_PMSUP.Table ScriptcreacintablaBIO_PRI_ESTACIONES_SPF_PMSUP

dbo.dbo_BIO_PRI_IHF.Table

ScriptcreacintablaBIO_PRI_IHF

dbo.dbo_BIO_PRI_LABORATORIOS.Table

ScriptcreacintablaBIO_PRI_LABORATORIOS

dbo.dbo_BIO_PRI_METMUESTREO.Table

ScriptcreacintablaBIO_PRI_METMUESTREO

dbo.dbo_BIO_PRI_MSPF.Table

ScriptcreacintablaBIO_PRI_MSPF

dbo.dbo_BIO_PRI_PARAMETROS.Table

ScriptcreacintablaBIO_PRI_PARAMETROS

NDICEDEFICHEROS

NOMBRE

DESCRIPCIN

dbo.dbo_BIO_PRI_PARAMETROS_BIO_TOTALES.Table ScriptcreacintablaBIO_PRI_PARAMETROS_BIO_TOTALES

dbo.dbo_BIO_PRI_PECES.Table

ScriptcreacintablaBIO_PRI_PECES

dbo.dbo_BIO_PRI_PMSUP.Table

ScriptcreacintablaBIO_PRI_PMSUP

dbo.dbo_BIO_PRI_QBR.Table

ScriptcreacintablaBIO_PRI_QBR

dbo.dbo_BIO_PRI_SISTEMATICA.Table

ScriptcreacintablaBIO_PRI_SISTEMATICA

dbo.dbo_BIO_PRI_TIPOPARAM.Table

ScriptcreacintablaBIO_PRI_TIPOPARAM

dbo.dbo_PARAMETROS_FQ.Table

ScriptcreacintablaPARAMETROS_FQ

dbo.Equivalencias.Table

Scriptcreacintabla.Equivalencias

dbo.Estacion_Muestreo.Table

ScriptcreacintablaEstacion_Muestreo

dbo.Parametros.Table

ScriptcreacintablaParametros

dbo.Peces.Table

Scriptcreacintabla.Peces

dbo.Pesca.Table

ScriptcreacintablaPesca

dbo.Taxonomia.Table

ScriptcreacintablaTaxonoma

entrada_Cuenca

Consultaporcuenca

entrada_Especie

Consultaporespecie

entrada_Provincia

Consultaporprovincia

entrada_Rio

Consultaporrio

filtrado_puntos_muestreo

Consultaporpuntodemuestreo

total_puntos_muestreo

Listadopuntosdemuestreo

NDICEDEACRNIMOS

NDICEDEACRNIMOS

BBDD:Basededatos PFC:Proyectofinaldecarrera SGBD:Sistemagestordebasesdedatos HTML:siglasdeHyperTextMarkupLanguage(LenguajedeMarcadode Hipertexto),esellenguajedemarcadopredominanteparala elaboracindepginasweb.Esusadoparadescribirlaestructurayel contenidoenformadetexto,ascomoparacomplementareltextocon objetostalescomoimgenes. JSP:JavaServerPages(JSP)esunatecnologaJavaquepermitegenerar contenidodinmicoparaweb,enformadedocumentosHTML,XMLo deotrotipo. JAVA:Javaesunlenguajedeprogramacinorientadoaobjetos desarrolladoporSunMicrosystemsaprincipiosdelosaos90.El lenguajeensmismotomamuchadesusintaxisdeCyC++,perotiene unmodelodeobjetosmssimpleyeliminaherramientasdebajonivel, quesueleninduciramuchoserrores,comolamanipulacindirectade punterosomemoria. APACHETOMCAT:(tambinllamadoJakartaTomcatoApacheTomcat) funcionacomouncontenedordeservletsdesarrolladobajoelproyecto JakartaenlaApacheSoftwareFoundation.Tomcatimplementalas especificacionesdelosservletsydeJavaServerPages(JSP)deSun Microsystems. DDL:Unlenguajededefinicindedatos(DataDefinitionLanguage,DDL porsussiglaseningls)esunlenguajeproporcionadoporelsistemade gestindebasededatosquepermitealosusuariosdelamismallevara cabolastareasdedefinicindelasestructurasquealmacenarnlos datosascomodelosprocedimientosofuncionesquepermitan consultarlos. 8

NDICEDEACRNIMOS

DML:UnLenguajedeManipulacindeDatos(DataManipulation Language,DML)esunlenguajeproporcionadoporelsistemadegestin debasededatosquepermitealosusuariosdelamismallevaracabo lastareasdeconsultaomanipulacindelosdatos,organizadosporel modelodedatosadecuado. SQL:LosorgenesdelSQLestnligadosalosdelasbasesdedatos relacionales.En1970E.F.Coddproponeelmodelorelacionalyasociado asteunsublenguajedeaccesoalosdatosbasadoenelclculode predicados.Basndoseenestasideas,loslaboratoriosdeIBMdefinenel lenguajeSEQUEL(StructuredEnglishQueryLanguage)quemstarde seraampliamenteimplementadoporelSGBD(SistemasGestoresde BasesdeDatos)experimentalSystemR,desarrolladoen1977tambin porIBM.Sinembargo,fueOraclequienlointrodujoporprimeravezen 1979enunprogramacomercial. ElSQLesunlenguajedeaccesoabasesdedatosqueexplotala flexibilidadypotenciadelossistemasrelacionalespermitiendogran variedaddeoperacionesenstosltimos. Esunlenguajedeclarativode"altonivel"o"denoprocedimiento",que graciasasufuertebasetericaysuorientacinalmanejodeconjuntos deregistros,ynoaregistrosindividuales,permiteunaalta productividadencodificacinylaorientacinaobjetos.Deestaforma unasolasentenciapuedeequivaleraunoomsprogramasquese utilizaranenunlenguajedebajonivelorientadoaregistros.

PRLOGO

PRLOGO
Eltrabajosobreelquetrataestedocumento,formapartedeunproyectoms grande,constituidoporunentornocompletodegestindelcatlogodeespecies amenazadas. Estedocumentosecentraenlapartedeldiseoyconstruccindelabasede datosnecesariaparapodergestionarlosdatosquemanejaralaaplicacin. En el primer captulo se introduce el proyecto desarrollado exponiendo las lneas generales de ste, las motivaciones que han llevado a realizarlo y los objetivosquepersigue. El segundo captulo trata todos los aspectos referentes a la planificacin, gestindelproyectoascomoinformacinreferentealsistemagestordebasesde datosadoptado.Contienefasescomolosestudiospreliminares,gestindeplazos, seguimiento,etc. El captulo tercero describe todo lo referente acerca de la base de datos desarrollada,lacualeselobjetodeestedocumento. En el cuarto captulo se ofrece una explicacin de los resultados obtenidos al finaldelaimplementacin.Tratasobreelfuncionamientodelaaplicacinunavez desarrollada en su totalidad y de la conformidad con los requisitos iniciales propuestosporelcliente. En el captulo seis podemos encontrar las conclusiones obtenidas de la realizacin del trabajo as como un apartado acerca de las posibles lneas futuras delproyecto. LabibliografaylasreferenciasWebconsultadasjuntoconlosanexos,sesuman alrestodeseccionesmencionadas,paraconformarestedocumento.

10

CAPTULO1INTRODUCCIN

1. INTRODUCCIN
1.1 VisinGeneral La idea para este proyecto de fin de carrera surge de la necesidad de una empresa, en concreto esa necesidad es la creacin de una aplicacin muy especifica. Dicha aplicacin se trata de un entorno completo de gestin dedicado al tratamiento y organizacin de un catlogo de especies de peces amenazados a nivelnacional. Esteproyectosedivideendosfragmentosclaramentediferenciados,unoesla partedelainterfazdeusuariodelaaplicacinyelotroeslapartededicadaala gestin,integracinymantenimientodelosdatos. Enestedocumentosetrataraafondolapartededicadaaltratamientodelos datosyaqueeslapartedelaquetrataesteproyectodefinaldecarrera,aunquese realizaranconstantesmencionesalaotrapartedelPFC. Enesteproyectopodemosdiferenciarclaramentevariasetapas.Primeramente sedesarrollalapartededicadaaldiseodelabasededatos,estapartecuentacon variaspeculiaridadesyaqueenrealidadsetratadeintegrarvariasbasesdedatos previamenteexistentesenunanuevayglobal. ParaeldiseodelaBasedeDatos(enadelanteBBDD),setuvieronqueteneren cuentametodologasespecficasparalaintegracindeBBDDheterogneas. Seintentobuscarlamaneramsidneadeintegrarlosdatosyaquesetrataba deBBDDbastantepesadas,porloquesetuvoqueestudiarafondoquecamposse podanfusionar,decualessepodaprescindir,lostiposdedatosautilizar,etc. EnunasegundaetapasepasaadisearlaBBDDpropiamentedicha,ascomoa laimportacindetodoslosdatospreviamenteexistentes. En una tercera fase se perfilan todas las consultas que podran ser necesarias paraelcompletofuncionamientodelaaplicacin. Porltimoenlafasefinalserealizantodaslaspruebasnecesariasparaverificar elcorrectofuncionamientodelaBBDD. Enlosdiferentesapartadosdeldocumento,setratanafondocadaunadeestas etapas. 11

CAPTULO1INTRODUCCIN

1.2 Motivacin Larealizacindecualquierproyecto,setratedeinformticaodecualquierotro camposiempreestmotivadoporunanecesidaddelcliente.Elclientepuedeser una persona fsica, una empresa, una institucin, etc. En este caso se trata de solventarlanecesidaddeunaentidadcomoeselMinisteriodeMedioAmbiente,el cualencargaalaempresaConsultoresenBiologadelaConservacinlaconfeccin deunnuevocatlogodeespeciesdelosrosEspaoles. Llegados a este punto se plantea mi propia necesidad de elegir y desarrollar unosdelosPFCqueofertalaUniversidad. Unodelosprincipalesatractivosqueparamialbergaesteproyectoesquese tratedeunsoftwarequevaserutilizadoyquevaadarsoporteaungrannmero depersonaseinstitucionesparaquepuedanrealizartodassusconsultassobrela faunadelosrosespaoles. OtromotivoimportanteporelcualmedecidoporestePFCesquealolargode lacarreraunadelasreasquemsintersmehasuscitadohansidolasbasesde datos,conlocualeraperfectoparam.Yaqueconlaconsecucindeesteproyecto sera capaz de realizar una aproximacin a cmo va a ser mi trabajo fuera de la universidad. En conclusin creo que este reto cumpla con todas mis expectativas sobre lo quedeberaserunPFC,ademsdedarmelagranoportunidaddepodertratarcon un cliente real con necesidades reales, lo cual me estimulo bastante ya que se suponeesodeberasermifuturarelacinconelmundolaboral.

12

CAPTULO1INTRODUCCIN

1.3 Objetivos Parapodercumplirconlasexpectativasdelproyectoesnecesariodefinirunas lneasdeactuacinascomounasmetasacumplir. Dichas metas deben establecerse en un orden de prioridad concreto y su cumplimientonosllevaraalacorrectafinalizacinyalasatisfaccindelcliente. Lasolaexistenciadeunasmetasimplicalaconsecucindeunosobjetivosque surgendelosrequisitosdelcliente,sepasanaexponerdichosobjetivos: ObtenerunaBBDD,queconsigaintegrardeunamaneraeficientetodos losdatosexistentesascomolosnuevosdatossobrelafaunadelosros espaoles. Intentarreduciralmximolasinformacionesredundantesprocedentes delasdistintasBBDDyaexistentesyseleccionarcuidadosamenteque partedelainformacinesvlida. Intentarconcentraralmximolainformacincontenidaencadatablaya quevaaserunaBBDDconunvolumenmuyaltodeinformacin. IntentardisearlaBBDDsiempreconvistasaquevaaserutilizada comobaseparaunfuturoentornodegestin. Durantelaconsecucindeestosobjetivosseplanteanotros,perodecarcter mspersonalparaeldesarrolladorqueson: Sercapazdesatisfacertodaslasnecesidadesdelcliente. Conseguirdesarrollarunaherramientaqueseacapazdeserutilizada durantemuchotiemposinqueapenasdebanrealizrsele actualizaciones. Sercapazdeidentificaryasimilartodoslosaspectosquesurgendela relacindesarrolladorcliente,loscualessernlosmismosquenos encontraremosalahoradetrabajaryafueradelauniversidad. Paramiunodelosmsimportantes,saberextrapolarlosconocimientos eminentementetericosadquiridosenlauniversidadalmundoreal.

13

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

2. GESTINYPLANIFICACINDELPROYECTO
2.1 Estudiospreviosalaimplementacin Todoproyectoquesequierallevaracabonecesitadeunaplanificacinprevia de muchos aspectos ya no tanto tcnicos sino ms bien de recursos, plazos, requisitos,etc. En un proyecto de esta ndole es especialmente necesario realizar una buena planificacin ya que si no nos podemos encontrar con problemas que o bien retrasenlafinalizacindelproyectoodenaltrasteconl. Paramiestahasidounadelaspartesmsimportantesdetodoeldesarrollo,ya que se me planteaba el reto de conseguir unificar en nica BBDD global, los esquemasrelacionesyaexistentescomolasnuevasespecificacionesrequeridaspor elcliente. El mayor problema surge de la gran heterogeneidad de los datos ya que cada BBDD proviene de un organismo distinto y no han sido desarrolladas siguiendo ningnestndar. AtodoestoseunelagrancargadedatosquevaasoportarlafuturaBBDD. Otroaspectofundamentalquedefinitivoparalaeleccindelsistemagestorde bases de datos, es que se debe desarrollar sobre una plataforma de datos moderna,queaceptemuchosyvariadostiposdedatos,yqueofrezcaunarelacin derendimientoadecuadasinimplicarungranconsumoderecursos.Ademsdebe ofrecerlaposibilidaddeunafcilcomunicacinconlapartedelainterfazqueser desarrolladamstarde. Por todos estos factores se decide optar por la herramienta Microsoft SQL Server2008ExpressEdition. La eleccin se basa en que cumple con todos los requerimientos anteriores adems otro aspecto que favorece que sea el elegido es que es SGBD muy extendido en el mundo comercial y que adems para m era nuevo ya que en la universidadnolohabausado.

14

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

2.2 PlanificacindelProyecto Ungranhndicapdeesteproyectofuelacomunicacinentreeldesarrolladory el cliente, ya que la empresa est dedicada nicamente al rea de la consultora medioambiental. Este hecho se vio reflejado durante las distintas reuniones ya que el cliente tenia mas o menso claro lo que necesitaba pero desconoca totalmente el trasfondotecnolgicoloquedificultabaelllegaraunconsensosobrecmodeba ser la aplicacin. Por este motivo y por qu se prevean numeroso cambios en la aplicacindurantesudesarrolloseoptoporlaeleccindeunmodelodeciclode vidaenespiral. Este modelo consta de una serie de ciclos, que representan un conjunto de actividades y los cuales no comienzan si no ha finalizado el predecesor. Al comenzar cada ciclo se identifican los objetivos, las restricciones y los riesgos del mismoparaasmarcarelfinaldecicloconclaridad. Elmodeloenespiralademscuentaconlaventajadequeestdiseadopara reducirriesgos,elnicoproblemaqueplanteaesqueunmodelocostosoencuanto atiempoyaquesuelesermslento,peroestoenrealidadtampocoplanteabaun gran inconveniente ya que se dispona de bastante tiempo para realizar el proyecto. Para la planificacin nos valdremos del diagrama de Gantt, una herramienta cuyoprincipalobjetivoesmostrareltiempodededicacinprevistoparalastareas arealizareneldesarrollodelproyecto.Eneldiagramaseobservanelorigenyel finaldelasactividadesrealizadasascomosuduracin.Estilpararepresentarla relacinentretiempoycargadetrabajo. A continuacin se expondrn los distintos diagramas que contienen la planificacin total del proyecto, las reuniones llevadas a cabo con el cliente, as como las desviaciones del calendario que han sido bastante frecuentes debido al continuocambiodelosrequisitos.

15

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

Ilustracin1 DiagramadeGantt

16

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

Ilustracin2 DiagramadeGanttreunionestutora

17

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

Ilustracin3 DiagramadeGanttreunionesconelcliente

18

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

2.3 SeguimientodelProyecto La etapa de seguimiento de un proyecto consiste en realizar un control constante de la marcha del proyecto. Para ello se llevan a cabo reuniones con el clienteyenestecasoconlatutoraparacomprobarlabuenamarchadelproyectoy tambinmuchasvecesparaaclararciertosaspectosollegaraunacuerdosobrela maneradedesarrollaralgunodelosmdulos. Como ya se ha indicado en anteriores secciones, este es un proyecto real llevadoacaboparaunaempresa.Cabedestacarqueenelproyectoquenosocupa, como en todos los proyectos de este tipo, el seguimiento es una parte muy importantedelmismo;permitelaoptimizacindecostes,ascomoafinaryajustar nuestrotrabajoalosrequisitosdelcliente.Sehamantenidouncontactocontinuo conelclientepormediodecorreoelectrnicoyllamadastelefnicaspararesolver dudas sobre el diseo, o pequeos detalles de la presentacin. Este tipo de conversacioneshanservido,ademsdeparatodoloanterior,parairinformandoal clientedelosavances. Los encuentros mantenidos con los responsables de la empresa tienen principalmente tres finalidades: afinar detalles de la presentacin, aclarar conceptos de cara al diseo de la base de datos y explicar el funcionamiento del softwarequedebernutilizarparaelusodelaaplicacin.Conestasreunionesel clientevisualizalaaplicacinsegnavanzasudesarrollo. Estetipodereunionessonmuybuenasenunproyectodeestascaractersticas ya que para un cliente sin conocimientos previos sobre el proceso de desarrollo software, es bueno que pueda ir viendo los progresos de la aplicacin bien en informespreliminaresobienfuncionandoyaenunordenador. La persona dentro de la empresa con la que se ha efectuado el contacto ha sido; Beatriz Prieto, persona encargada de todo lo concerniente a nuestro cometido. Beatriz ha sido quien ha guiado todo el desarrollo de la aplicacin y quienhadictadoloscambiospertinentesenfuncindesusnecesidades. Una de las complicaciones de la realizacin de este trabajo ha sido precisamente este seguimiento continuo. Este aspecto ha sido el causante de los continuos retrasos en los plazos que se establecieron primeramente. A esto hay quesumarlasdificultadesqueexistieronenlacomunicacinconelcliente,debido principalmente a su desconocimiento del proceso de desarrollo software. Pero cabedecirqueBeatrizrealizoungranesfuerzoporcomprendernuestrasituacin. 19

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

Enesteapartadoseenumerarantodaslasreunionesdelasquehaconstadoel seguimiento del proyecto. Por eso se ha decidido dividir el apartado en dos seccionesclaramentediferenciadasyaqueloscontenidosdelasreunionestambin hansidosustancialmentediferentes. Porunladotenemoslasreunionesconlatutorayporotroladolasreuniones conelcliente. Reunionesconlatutora: 18/02/2009: Primera reunin con Dolores Cuadra, tutora de este proyecto, para conocer los detalles sobre el proyecto y valoracin del mismo.

27/02/209:Enestareuninyasetratanaspectosmsconcretossobreel proyecto.Unodelostemasqueseplanteansetratadelasherramientas softwareautilizarparallevaracabolaimplementacindelaBBDD. Se opta por utilizar SQL Server 2008 para la realizacin de la base de datos,yserealizauninformepreliminarsobrelasventajasdeusardicha herramienta as como los requisitos necesarios para su utilizacin. Adems se trata el aspecto de la homogeneizacin de los datos y la importacin de los mismos, ya que provienen de fuentes totalmente diferentes, quedando como tarea pendiente la investigacin acerca de este punto. Para la creacin de los formularios de la aplicacin en un principiosepensenutilizarellenguaje.NET.Todoestosedetallaenel Anexo1(InformePreliminarPFC). 27/03/2009: En esta reunin se decide la entrada en el proyecto de Felipe Sordo dada la gran complejidad del mismo, sobre todo en los aspectos relacionados con la base de datos ya que sera demasiado trabajoparaunasolapersonaeldiseareimplementarlabasededatos ademsdelainterfazdelaaplicacin,conloquelapartedelainterfaz delaaplicacinquedaasignadaaFelipeSordo.Altenercomoejemplo unafichaderecogidadedatosdepecesyademssepartedebasesde datosyacreadasdecidimosenconvenienciaconDoloresCuadra,quees innecesariorealizarelmodeloEntidadRelacin,yaquedisponemosde todalainformacinnecesaria,porloquesepasadirectamentealdiseo relacional.

20

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

22/04/2009: Reunin con Dolores Cuadra para aprobar el diseo relacional. Realizamos un par de correcciones y tratamos el tema del diseodelainterfaz. Decidimoscambiardeherramienta,optandoporJava,yaquelovemos como la opcin ms ptima para conectar con la base de datos, y el conocimiento de este lenguaje sera muy provechoso para nuestro futuro. Queda pendiente investigar ms sobre las herramientas para interactuarconlabasededatosylainterfaz. Despus de esta reunin comenzamos a desarrollar la base de datos. Nosencontramosconbastantesproblemas,debidoalgranvolumende informacinynuestrodesconocimientodeltipodedatosdelamayora deloscampos. Tambin investigamos las posibles herramientas que utilizaremos para la conexin de nuestra aplicacin a nivel de servidor. Elegimos la combinacindeHTML,JSPyJavaparaeldesarrollo,yelApacheTomcat comoservidordeaplicaciones. 08/05/2009: En ella recibimos su aprobacin para las herramientas elegidas.Explicamoslasituacindelproyectoyquedamos paravernos despusdeexmenes. Apartirdeestareuninaparcamosduranteuntiempoelproyectopara afrontarnuestrosexmenes. 22/06/2009: Tras estudiar todas las opciones disponibles, elegimos la libreraExtJS(http://www.extjs.com),paraeldesarrollodelosscriptsde la pgina web. Dicha librera se encargar de las partes que estn en contacto con el usuario, tales como los formularios de insercin de datosyconsultas.Laelegimosprincipalmentedebidoasuvistosidad,ya laexistenciademanualesquenospermitieranempezarconella. 05/10/2009:Enestareuninselecomunicaalatutoraquelabasede datos ha sido instalada y que se cuenta con la aprobacin del cliente, porloquesedecidepasaradocumentarelproyecto. 21

CAPTULO2GESTINYPLANIFICACINDELPROYECTO

Reunionesconelcliente: 25/03/2009: Debido a nuestro desconocimiento de la mayora de los conceptos utilizados, concertamos una cita con Beatriz Prieto, responsable del proyecto por parte de la empresa. En esta primera reuninconelclienteaclaramostodoslosaspectosrelacionadosconlas diferentes fuentes de informacin que formarn la base de datos. Durante esta reunin decidimos que, tanto el atlas, como la base de datosdeconfederacioneshidrogrficasserntansolotablasdelabase dedatosprincipal,yseusarnalahorademostrarconsultas. Recibimosporpartedelclientelafichadeejemploderecogidadedatos. En ella podemos ver los datos que obtienen ellos en sus pescas, que formarnelncleocentraldelabasededatos. A lo largo de esta semana continuaremos recibiendo informacin por parte de Beatriz, en la que nos detallar la taxonoma, equivalencias entrebasesdedatosyejemplosdefichascondatosrecogidos. 28/04/2009:Enestareuninconelcliente,selemuestracmovaaser laestructuradelosdatosquevaaconformarlaBBDD.Seleexponen losdatosparaquelosvaloreynosindiquecualquiercosaqueecheen falta o cualquier otra duda. La reunin finaliza con la validacin por partedelclienteporloqueseguimosadelanteconlasiguientefasedel proyecto. 19/06/2009: Nos volvemos a reunir con el cliente para resolver dudas surgidas durante las ltimas semanas de desarrollo, as como para mostrarunainterfazpreliminar. 15/09/2009:Nosvolvemosareunirymostramosalclienteelprototipo de la base de datos casi ultimada. Observando el prototipo con el cliente, se descubren nuevas tareas a implementar, pero se valida el diseo. Tambin se establecen plazos para la instalacin de la base de datosysupuestaenfuncionamiento. 02/10/2009:Serealizalainstalacindelabasededatosyselefacilitaal personaldelaempresatodalainformacinnecesariaparaquepuedan manejarla. Despus de las pruebas llevabas a cabo en la empresa se decidequeesaserlaversindefinitivadelaBBDD.

22

CAPTULO3SISTEMAGESTORDEBASESDEDATOS

3. SISTEMAGESTORDEBASESDEDATOS
3.1 DescripcindelSistemaGestordeBasesdeDatos Microsoft SQL Server 2008 es un sistema para la gestin de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultassonTSQLyANSISQL. Microsoft SQL Server constituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle, Sybase ASE, PostgreSQL, Interbase,FirebirdoMySQL. MicrosoftSQLServerseencuentraenlosprimeroslugaresencuantoaSGBDse trata, debido a que muchas empresas optaron por la utilizacin de un producto creadoporunaempresapunteracomoMicrosoftyqueconelpasodeltiempohan seguido confiando en este software que cada vez se intenta aproximar mas al usuario y reduciendo sustancialmente la dificultad de las tareas que conlleva la gestindeunabasededatos. Acontinuacinseexponenalgunasdesusprincipalescaractersticas:
Soportedetransacciones. Escalabilidad,estabilidadyseguridad. Soportaprocedimientosalmacenados. Incluyetambinunpotenteentornogrficodeadministracin,quepermiteel usodecomandosDDLyDMLgrficamente. Permitetrabajarenmodoclienteservidor,dondelainformacinydatosse alojanenelservidorylasterminalesoclientesdelaredsloaccedenala informacin. Ademspermiteadministrarinformacindeotrosservidoresdedatos.

Estesistemaincluyeunaversinreducida,llamadaMSDEconelmismomotor debasededatosperoorientadoaproyectosmspequeos,queensusversiones 2005y2008pasaaserelSQLExpressEdition,quesedistribuyeenformagratuita. EsteesunodelosaspectosimportantesquepropicioladecisindeusaresteSGBD ynootro. 23

CAPTULO3SISTEMAGESTORDEBASESDEDATOS

SqlServerensultimaversin2008,contienemayorseguridad,integracincon PowerShell, remueve La consola configuracin del rea expuesta (consola para configurarseguridad),tienecorrectoresdesintaxisdellenguajeTransactSQL. Asmismoincluyenuevostiposdedatosyfuncionesquefuerondegranutilidad paraesteproyecto. TSQL(TransactSQL)eselprincipalmediodeprogramacinyadministracinde SQLServer.Exponelaspalabrasclaveparalasoperacionesquepuedenrealizarse en SQL Server, incluyendo creacin y modificacin de esquemas de la base de datos,introduciryeditardatosenlabasededatos,ascomosupervisinygestin del propio servidor. Las aplicaciones cliente, ya sea que consuman datos o administren el servidor, aprovechan la funcionalidad de SQL Server mediante el envodeconsultasdeTSQLydeclaracionesquesonprocesadasporelservidory losresultados(oerrores)regresanalaaplicacincliente.SQLServerpermiteque seanadministradosmedianteTSQL.Paraesto,exponetablasdeslolecturacon estadsticasdelservidor.Lafuncionalidadparalaadministracinseexponeatravs de procedimientos almacenados definidos por el sistema que se pueden invocar desdelasconsultasdeTSQLpararealizarlaoperacindeadministracin.

24

CAPTULO3SISTEMAGESTORDEBASESDEDATOS

3.2 Instalacinyrequisitosmnimos ElprocesodeinstalacindeestaversindeSQLServer2008esmuysencilloya que se asemeja mucho a cualquier otra instalacin de productos de la empresa Microsoft. Una vez instalado el motor de BBDD, solo nos falta instalar la herramienta graficaparalagestinenestecasoserSQLServer2008ManagementStudio. Acontinuacinseexponenlosrequisitosmnimosparalainstalacindedicho software. LainstalacindelaBBDDenelordenadordelclientesedetallaenelAnexo2de estedocumento.

Ilustracin4 RequisitosmnimosSQLServer2008

25

CAPTULO4DESCRIPCINDELABASEDEDATOS

4. DESCRIPCINDELABASEDEDATOS.
4.1 Anlisisdelaaplicacin 4.1.1 Requisitosdelcliente La verdad es que se podra decir que esta ha sido una de las partes ms complicadasdetodoelproyecto,debidoaloatpicodelatareaarealizar. Lamayorcomplicacinvinoimpuestaporlaimposibilidaddepoderrealizar toda la BBDD desde cero ya que deba basarse en dos BBDD ya existentes, BancodedatosdepecescontinentalesdeEspaapertenecientealMinisterio deMedioAmbienteyotraBancodedatosdelasconfederacioneshidrogrficas Espaolas, adems de tener que combinar las dos anteriores con la ficha de recogidadedatosproporcionadaporelcliente. Otro aspecto importante es que el cliente necesitaba poder combinar los datos ya existentes en una nueva BBDD global, pero sin que se produjeran apenas perdidas de informacin. El proceso de homogeneizacin de los datos existentessedetallamsadelante. Adems de este aspecto tambin influye que el cliente tampoco tena muy claro como quera que fuese su BBDD, con lo que la tcnica de recogida de requisitosnohasidomuyortodoxa.Sehabasadoclaramenteenlarecogidade las exigencias ms importantes para el cliente y a partir de ellas realizar la aplicacin basndose en el criterio del analista, pero siempre contando con la aceptacindelmismoporpartedelatutorayelcliente. Para la extraccin de requisitos se han empleado varias tcnicas como las entrevistas con el cliente y el estudio de la documentacin presentada por el mismo.Deestaformasecubrentodoslosaspectosynosedejanadaalazar,ya que las dudas que surgen de la revisin de la documentacin se solventan medianteelcontactodirectoconelcliente.

26

CAPTULO4DESCRIPCINDELABASEDEDATOS

A continuacin se detallan los aspectos ms importantes expresados por el clienteparalarealizacindelaBBDD: SerprioritarioqueenlanuevaBBDDglobal,coexistantodoslosdatos delasfuentesanteriormentemencionadas,juntoconlosnuevosdatos aportadosporlafichaderecogida. Sedeberealizarunprocesodehomogeneizacindelosdatosexistentes yaquetienenquepoderserrelacionados,paraobtenertodoslosdatos alahoraderealizarunaconsulta. LanuevaBBDDnodebesermuyexigenteencuantoarequisitos hardwareyaquenosecontaraconunservidordedicado. Eldiseodelamismadebereflejarlomsposibleelaspectodelaficha derecogidadedatos,siendotransparenteparaelclientelarelacincon lasBBDDyaexistentes. SedebepoderrealizarconsultasalaBBDDporNombredelacuencadel rio. SedebepoderrealizarconsultasalaBBDDporNombredelaespecie. SedebepoderrealizarconsultasalaBBDDporNombredelaprovincia. SedebepoderrealizarconsultasalaBBDDporNombredelrio. SedebepoderrealizarconsultasalaBBDDfiltradasporpuntode muestro. SedebepoderrealizarconsultasalaBBDDporeltotaldelospuntosde muestrocontodossusdatoscorrespondientes.

27

CAPTULO4DESCRIPCINDELABASEDEDATOS

Paracontinuarconestepuntosemuestraacontinuacinelmodelodefichade recogida de datos que el cliente proporciono y la cual se ha seguido para estructurarlanuevaBBDD,ascomolosesquemasrelacionalesdelasBBDDya existentesyqueelclientenecesitabaintegraenlanueva.

Ilustracin 5 - Ficha Recogida Datos

28

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 6 - Tabla Recogida Datos

Ilustracin 7 - Tabla Recogida Datos

29

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 8 - Tabla Recogida Datos

30

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 9 - Tabla Recogida Datos

31

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 10 - Tabla Recogida Datos

32

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 11 - Ficha Recogida Datos

33

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 12 - Tabla Recogida Datos

34

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 13 - Tabla Recogida Dato

35

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 14 - Tabla Recogida Datos

36

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 15 - Tabla Recogida Datos

37

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 16 - Tabla Recogida Datos

38

CAPTULO4DESCRIPCINDELABASEDEDATOS

4.2 DiseodelaBasedeDatos 4.2.1 Homogeneizacindelasdistintasfuentesdedatos Enesteapartadoseexplicalametodologaquesehautilizadoparadisearla BBDD, ya que realmente no se ajusta totalmente a ninguna de las conocidas, debidoprincipalmentealaspeculiaridadesdeesteproyecto. En primer lugar llama la atencin que se halla pasado directamente a la realizacindeldiseorelacionalsinpasarpreviamenteporundiseoentidad relacin. Esto tiene una explicacin y es que se ha seguido un tipo de metodologa llamada Diseo bottomup, esta tcnica est indicada para desarrollar BBDD a partirdedistintasvistasyrealizarunprocesodeintegracin. Mepareciqueestapodaserlametodologaquesinllegaraajustarsedel todoaesteproyectoseralaquemsseaproximase. LametodologaDiseobottomup,sebasarealmenteenlassiguientesideas: Elesquemaconceptualseobtienecomoresultadodelaintegracin delasvistas(esquemasconceptuales)delosdistintosusuarios. Seempiezaconstruyendolasdistintasvistasdeusuario Teniendoencuentalasrestriccionesentrestas,seelaborael esquemaconceptualmedianteunprocesodeintegracin.

BBDDGlobal

Distintosesquemasrelacionales

39

CAPTULO4DESCRIPCINDELABASEDEDATOS

En este caso contbamos con dos BBDD totalmente funcionales las cuales deberamos integrar en tercera con nuevas tablas, campos y especificaciones basadaenlafichaderecogidadedatosmencionadaenelcapituloanterior. Uno de las premisas era que no se produjera un perdida de informacin al realizarlaintegracindelastresbasesdedatos. Llegados a este punto comenzamos por analizar la BBDD Banco de Datos de EspeciesContinentalesdeDatos,analizandotodassustablasylainformacinque contena junto al cliente el cual ya estaba familiarizado con esta aplicacin, llegamos a la conclusin que la informacin que necesitbamos extraer de esta podramoscomprimirlaenunasolatablacon7camposqueeranlosquerealmente interesabanconservaralcliente. Los problemas surgieron con la otra BBDD Confederaciones Hidrogrficas, est resultaba ser inmensa y adems contaba con una gran cantidad de informacinqueenrealidadelclienteyanonecesitabaparanada. Despus de un cuidadoso examen junto al cliente y siempre contando con su aprobacin se decidi que tablas eran las que se conservaran as como que campostodoestosedetallaenelsiguientedocumentoelaboradojuntoalcliente. Una vez realizados los dos exmenes disponamos de dos esquemas relacionales de las BBDD con los datos y campos que realmente necesitbamos, listos para ser integrados junto a la nueva BBDD basada en la nueva ficha de recogidadedatosdepescasrealizadaporelcliente. Peroahoraseplanteabaunnuevoproblemayeracomorelacionarloscampos de las distintas BBDD ya que a priori tenan relacin pero era muy complicado encontrarladebidoalasdistintasprocedenciasdelosdatos,ylasdistintasmaneras dedesarrollarlosesquemasrelacionalesdelasBBDD. 40

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin 17 - Informe BBDD Confederaciones

41

CAPTULO4DESCRIPCINDELABASEDEDATOS

Debidoalproblemadeencontrarunarelacinlgicaaloscamposparapoder integrarlosentablasdeunamismaBBDD,setomaronlassiguientesdecisiones:
DelaBBDDBancodeDatosdeEspeciesContinentalesdeDatos,se extrajeronlosdatosnecesariosysealojaronenunatablallamadaATLAS. DelaBBDDConfederacionesHidrogrficasseconservaronlastablasy camposqueseindicanenlaIlustracin17. SedesarrollaraelesquemarelacionaldelanuevaBBDDcomounaentidad individualyenprincipiosinrelacionarseconlasanteriores. SeoptoporrelacionarlasdistintasBBDD,atravsdeunatablaintermediaque actuariacomonexodeuninparalainformacindelasdistintastablas.

Eltemadelaelaboracindelatablaqueactuaradenexofueunodelosms complicados ya que se tuvieron que analizar todas las tablas y todos los campos parapoderencontrarlarelacinentrelainformacin. Juntoalclienteserealizaesteanlisisyaqueleselqueconoceelsignificado deloscamposyseelaboraundocumentoenelqueseespecificanlasrelaciones. La tabla llamada Equivalencias, contiene tres columnas en las que aparecen losnombresdeloscamposquesonequivalentesenlastresBBDD. De esta manera al realizar una consulta se podra acceder mediante una consultams,alosdatosnecesariosalbergadosenlasotrasBBDD. Finalmente y como resultado de la integracin obtenemos tres BBDD, contenidasenunaglobal,peronoestnrelacionadasentres. El aspecto de las recuperaciones de informacin no estaba muy claro para el clienteyaqueesteprefieredecidirsobreesteaspectocuandoestelistalainterfaz, debidoaqueesdemasiadalainformacincontenidaynoquierequelacargade informacinenpantallaascomoeltiempoderealizarlasconsultasseademasiado. Por lo que finalmente se decide que las consultas de momento se realizaran solamentesobretablasdelaBBDDbasadaensupropiafichaderecogidadedatos, pero que ms adelante se requerir recoger tambin informacin procedente de lasotrasBBDDporloquesedejanpreparadaslastablasyconsuscorrespondientes para que cuando llegue este momento solo sea necesario modificar las consultas existentes. 42

CAPTULO4DESCRIPCINDELABASEDEDATOS

4.2.2 ModeloRelacional El modelo relacional (Piattini M. et al, 1999) para la gestin de una base de datos es un modelo de datos basado en la lgica de predicados y en la teora de conjuntos.Suideafundamentaleselusoderelaciones.Lamayoradelasvecesse conceptualiza de una manera ms fcil de imaginar, esto es, pensando en cada relacincomosifueseunatablaqueestcompuestaporregistrosycampos. Se detallan algunos aspectos referentes a la notacin del esquema que se puedeverenlasiguientepgina: Lasrelacionessonrepresentadas,conunidentificadornico. LasclavesajenascomienzatodasporFK_. Lasclavesprimariassonsealadasconelsmbolodeunallave. Encadatablaseindicaennombredelcambo,eltipodedatosque aceptaysiadmitevaloresnulos. Paramantenerlaintegridadreferencialenlabasededatosesnecesario definirlasreglasdeborradoymodificacindelasclavesajenas.Este textoespecificaquereglasseutilizarnexactamente.Enestecaso, siempreseusanlasmismasreglassindistincindeentidades.Porun ladolaregladeborradoelegidaesladeborradorestringido(DRDelete Restrict)yporotro,lareglademodificacinesencascada(UCUpdate Cascade).Estaconfiguracines,sinduda,lamenosrestrictiva,deahsu eleccin. Latablaparmetroscontienedemasiadoscamposcomoparamostrarlos todoseneldiagrama,poresoaparececortada.Paraconsultarloensu totalidadsepuedeacudiralndicedearchivosdondeseencuentrael archivoquecontieneelesquema. LatablaAtlasesextradadelaBBDDdeespeciescontinentalesyla razndequenoestrelacionadaeslaimposibilidadderelacionarlos camposyademsquesufuncinesladesimplealmacndedatos.

AcontinuacinseexponenlosmodelosrelacionalesdelasdistintasBBDD, as comodelaBBDDproductodelaintegracindetodasellas.

43

CAPTULO4DESCRIPCINDELABASEDEDATOS

Atlas
Nombre de columna Tipo de datos varchar(MAX) varchar(MAX) varchar(MAX) varchar(MAX) varchar(MAX) varchar(7) varchar(MAX) Permitir valores NULL

Equivalencias
Nombre de columna Nom_Ficha Nom_Conf Nom_Atlas Tipo de datos varchar(MAX) varchar(MAX) varchar(MAX) Permitir valores NULL

Rio Cuenca Localidad Autonomia Provincia Cuadricula Especies

Parametros
Nombre de columna Id_Pesca Prof_Media Prof_Max Longitud_Muestreada Anchura Anchura_Muestreada Temperatura_Aire Temperatura_Agua Climatologia Lluvia_ult_semana Velocidad_Instantanea_MS Velocidad_Media_MS Tipo_Equipo Tipo_Corriente Voltaje Intensidad Redes_Bloqueo Observaciones Otra_Fauna Abundacia_Macroinvertebrados Abundacia_Macrofitos Abundacia_Algas Abundacia_Perifiton Especies_Ribera Especies_Acuaticas Uso_Suelo Regimen Max_Crecida Refugios_Estructurales Refugios_Vegetacion Tipo_Vegetacion_Acuatica IHF1 IHF1_1 IHF1_2 IHF2 IHF3 IHF3_1 IHF3_2 IHF3_3 IHF3_4 IHF4 IHF5 IHF6 IHF6_1 IHF6_2 IHF6_3 IHF6_4 IHF7 IHF7_1 IHF7_2 IHF7_3 IHF_TOTAL QBR1 QBR1_1 QBR1_2 QBR2 QBR2_1 QBR2_2 QBR2_3 QBR3 QBR3_1_1_I QBR3_1_1_D QBR3_1_2 QBR3_1_3 QBR3_1_4 QBR3_1 QBR3_2 QBR3_3 QBR4 QBR4_1 QBR4_2 QBR_TOTAL IM1 IM2 IM3 IM4 IM5 IM6 IM7 IM8 IM9 IM10_D IM10_I IM11_D IM11_I Tipo de datos int numeric(18, 0) numeric(18, 0) numeric(18, 0) numeric(18, 0) numeric(18, 0) numeric(18, 0) numeric(18, 0) varchar(MAX) varchar(2) numeric(18, 0) numeric(18, 0) varchar(8) varchar(8) numeric(18, 0) numeric(18, 0) varchar(2) varchar(MAX) varchar(MAX) varchar(15) varchar(15) varchar(15) varchar(15) varchar(MAX) varchar(MAX) varchar(MAX) varchar(10) numeric(18, 0) int int varchar(25) int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int int Permitir valores NULL

Peces
Nombre de columna Id_Pesca Pasada Especie Total_Individuos Total_Adultos Total_Juveniles Machos Hembras Sanitario Tipo de datos int int varchar(300) int varchar(20) varchar(20) varchar(20) varchar(20) varchar(MAX) Permitir valores NULL

FK__Peces__Id_Pesca__5A846E65

FK__Peces__Especie__5B78929E

Pesca
Nombre de columna Id_Pesca Codigo_Estacion Fecha FK__Parametro__Id_Pe__5E54FF49 Hora_Inicio_1 Hora_Fin_1 Tiempo_Muestreo Personal Hora_Inicio_2 Hora_Fin_2 Tipo de datos int varchar(10) date time(0) time(0) int varchar(MAX) time(0) time(0) Permitir valores NULL

Taxonomia
Nombre de columna Orden Familia Nombre_Cientifico Nombre_Comun Tipo Sinonimo_1 Sinonimo_2 Sinonimo_3 Sinonimo_4 Sinonimo_5 Tipo de datos varchar(MAX) varchar(MAX) varchar(300) varchar(MAX) varchar(255) varchar(MAX) varchar(MAX) varchar(MAX) varchar(MAX) varchar(MAX) Permitir valores NULL

FK__Pesca__Codigo_Es__57A801BA
Estacion_Muestreo_FK

Estacion_Muestreo
Nombre de columna Codigo_Estacion Rio Cuenca Localidad Cord_X Cord_Y Huso Cuadricula CCAA Provincia Observ_Acceso Tipo de datos varchar(10) varchar(MAX) varchar(MAX) varchar(MAX) int int int varchar(7) varchar(50) varchar(50) varchar(MAX) Permitir valores NULL

Cuadriculas
Nombre de columna Id_Cuadricula CCAA Provincia Tipo de datos varchar(7) varchar(50) varchar(50) Permitir valores NULL

Ilustracin 18 - Esquema Relacional BBDD Global

44

CAPTULO4DESCRIPCINDELABASEDEDATOS

dbo_PARAMETROS_FQ
Nombre de columna PARACOD PARANOMC PARANOMQ PARANOML PARAUNI CAS PARASUP PARAIN TIPOSUST PARATIPOCOD1 PARATIPOCOD2 PARATIPOCOD3 COD_MANUALES COD_TOXICOS SUBCOD_TOXICOS COD_POTABLES COD_PECES COD_MOLUSCOS COD_PREPOTABLES OXIDO_TITANIO CODIGO_COCA ORGANICO COMENTARIOS OBSERVACIONES IDPARAMETRO ACTIVO FECHA_ALTA FECHA_BAJA ITCCATENSAYO TOPE_MIN TOPE_MAX SSMA_TimeStamp Tipo de datos nvarchar(8) nvarchar(10) nvarchar(25) nvarchar(100) nvarchar(15) nvarchar(50) real real nvarchar(1) nvarchar(2) nvarchar(2) nvarchar(2) nvarchar(2) nvarchar(2) nvarchar(4) nvarchar(6) nvarchar(2) nvarchar(4) nvarchar(2) nvarchar(8) nvarchar(6) nvarchar(2) nvarchar(255) nvarchar(255) int bit datetime datetime nvarchar(2) float float timestamp Permitir valores NULL

dbo_BIO_PRI_SISTEMATICA
Nombre de columna IDEN SISTCOD SISTFILO SISTDIVISION SISTCLASE SISTORDEN SISTFAM SISTGEN SISTSP SISTNOM SISTQE SISTQE_OLD SISTVAR SISTOBS SISTGRX SISTFORMA SISTSUBSP SISTSPCOM SSMA_TimeStamp Tipo de datos float nvarchar(10) nvarchar(50) nvarchar(50) nvarchar(20) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(15) nvarchar(15) nvarchar(50) nvarchar(255) nvarchar(50) nvarchar(100) nvarchar(50) nvarchar(255) timestamp Permitir valores NULL

dbo_BIO_PRI_PECES
Nombre de columna PMSPCOD ANSPFMUES MUESTRACOD ANSPOINT SISTPEZCOD NUMPEZ CPEZLTOTAL CPEZLESTD CPEZPESO CPEZSEXO CPEZEDAD CPEZOBS SSMA_TimeStamp Tipo de datos nvarchar(15) datetime nvarchar(4) nvarchar(10) nvarchar(10) float real real real nvarchar(50) int nvarchar(255) timestamp Permitir valores NULL

dbo_BIO_PRI_PARAMETROS_BIO_TOTALES
Nombre de columna PARACOD PARANOMC PARANOMQ PARANOML PARAUNI CAS OBSERVACIONES TIPOPARAM ACTIVO FECHA_ALTA FECHA_BAJA ITCCATENSAYO SSMA_TimeStamp Tipo de datos nvarchar(20) nvarchar(10) nvarchar(25) nvarchar(100) nvarchar(15) nvarchar(50) nvarchar(255) nvarchar(10) bit datetime datetime nvarchar(2) timestamp Permitir valores NULL

dbo_BIO_PRI_PARAMETROS
Nombre de columna PARACOD PARANOMC PARANOMQ PARANOML PARAUNI CAS OBSERVACIONES TIPOPARAM ACTIVO FECHA_ALTA FECHA_BAJA ITCCATENSAYO SSMA_TimeStamp Tipo de datos nvarchar(20) nvarchar(10) nvarchar(25) nvarchar(100) nvarchar(15) nvarchar(50) nvarchar(255) nvarchar(10) bit datetime datetime nvarchar(2) timestamp Permitir valores NULL

dbo_BIO_PRI_DEANSP
Nombre de columna PMSPCOD ANSPFMUES PARACOD MUESTRACOD ANSPOINT DESPVALORN DESPVALORT SISTCOD EXTRACCION SSMA_TimeStamp Tipo de datos nvarchar(15) datetime nvarchar(20) nvarchar(4) nvarchar(10) real nvarchar(8) nvarchar(10) bit timestamp Permitir valores NULL

dbo_BIO_PRI_TIPOPARAM
Nombre de columna TIPOPARAM DESPARAM Tipo de datos nvarchar(10) nvarchar(50) Permitir valores NULL

dbo_BIO_PRI_LABORATORIOS
Nombre de columna LABCOD LABCOD_SAICA LABNOM LABPROPIO LABGRUPO LABEXPTE PROVCOD MUNICOD LABRESOL LABDIREC LABCPOSTAL LABTELEF LABREPRE LABCARGO LABOBS SSMA_TimeStamp Tipo de datos nvarchar(6) nvarchar(6) nvarchar(40) bit nvarchar(1) nvarchar(20) nvarchar(2) nvarchar(3) datetime nvarchar(80) nvarchar(5) nvarchar(9) nvarchar(30) nvarchar(150) nvarchar(255) timestamp Permitir valores NULL

dbo_BIO_PRI_IHF
Nombre de columna PMSPCOD ANSPFMUES MUESTRACOD ANSPOINT IHF1 Tipo de datos nvarchar(15) datetime nvarchar(4) nvarchar(10) float float float float float float float float float float float float float float float float float float float float float timestamp Permitir valores NULL

dbo_BIO_PRI_ANPMSUP
Nombre de columna PMSPCOD ANSPFMUES MUESTRACOD ANSPOINT Tipo de datos nvarchar(15) datetime nvarchar(4) nvarchar(10) nvarchar(15) nvarchar(6) datetime nvarchar(255) nvarchar(10) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) Permitir valores NULL

IHF1_1 IHF1_2 IHF2 IHF3 IHF3_1 IHF3_2 IHF3_3 IHF3_4 IHF4 IHF5 IHF6 IHF6_1 IHF6_2 IHF6_3 IHF6_4 IHF7 IHF7_1 IHF7_2 IHF7_3 IHF_TOTAL SSMA_TimeStamp

dbo_BIO_PRI_METMUESTREO
Nombre de columna METMUES NOMMET Tipo de datos nvarchar(15) nvarchar(255) Permitir valores NULL

METMUES LABCOD ANSPFANA ANSPOBS ANSPCODANA ANSPMUES ANPSPLONG ANPSPANCHMUE ANPSPSUP

dbo_BIO_PRI_DEM
Nombre de columna COD_DEM_ID NOM_DEM EU_CODE FECHA_ALTA FECHA_BAJA Tipo de datos int nvarchar(50) nvarchar(50) datetime datetime nvarchar(MAX) float float float float timestamp Permitir valores NULL

dbo_BIO_PRI_QBR
Nombre de columna PMSPCOD ANSPFMUES MUESTRACOD
Permitir valores NULL

Tipo de datos nvarchar(15) datetime nvarchar(4) nvarchar(10) float float float float float float float float float float float float float float float float float float float float float float float timestamp

Permitir valores NULL

dbo_BIO_PRI_PMSUP
Nombre de columna PMSPCOD COD_ORIGINAL PMSPCODUE CAUCOD PMSPNOM PMSPPK PMSPX PMSPY PMSPHUSO PMSPFECHA PMSPUBIC PMSPCRAC PMSPOBS ACCESO PROVCOD Tipo de datos nvarchar(15) nvarchar(20) nvarchar(6) nvarchar(7) nvarchar(40) nvarchar(6) int int tinyint datetime nvarchar(255) nvarchar(80) nvarchar(255) nvarchar(255) nvarchar(2) nvarchar(3) nvarchar(80) nvarchar(3) nvarchar(10) int int nvarchar(50) tinyint nvarchar(50) nvarchar(50) nvarchar(50) bit nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) datetime datetime timestamp

dbo_BIO_PRI_CAPAS_PMSUP
Nombre de columna ID_CLAVE_PM ID_CAPA PMSPCOD PMSPCODALT ID_CLAVE_GEO FECHA_ALTA_RED FECHA_BAJA_RED Tipo de datos int int nvarchar(15) nvarchar(20) int datetime datetime Permitir valores NULL

ANSPOINT QBR1 QBR1_1 QBR1_2 QBR2 QBR2_1 QBR2_2 QBR2_3 QBR2_4 QBR2_5 QBR2_6 QBR3 QBR3_1 QBR3_2 QBR3_3 QBR3_4 QBR3_5

dbo_BIO_PRI_ESTACIONES_SPF
Nombre de columna COD_EST_SPF CODUE_EST_SPF COD_MASA_DEM NOM_EST_SPF UTMX_EST_SPF UTMY_EST_SPF HUSO_EST_SPF UTMX_EST_SPF_H30 UTMY_EST_SPF_H30 NUM_SUBSITES FEC_ALTA_EST_SPF FECHA_BAJA UBI_EST_SPF OBS_EST_SPF COD_PROV COD_MUNI REF_DOC URL OTR_RED COD_DEM_ID SSMA_TimeStamp Tipo de datos nvarchar(10) nvarchar(42) nvarchar(22) nvarchar(40) int int smallint float float int datetime datetime nvarchar(255) nvarchar(255) nvarchar(2) nvarchar(3) nvarchar(MAX) nvarchar(250) nvarchar(MAX) int timestamp Permitir valores NULL

OBSERVACIONES X_COORD_max X_COORD_min Y_COORD_max Y_COORD_min SSMA_TimeStamp

dbo_BIO_PRI_MSPF
Nombre de columna COD_MASA_DEM COD_MASA_DEM_R COD_MASA_ES COD_DEM_ID NOM_MASA CATEG_ID RED NTZ_ID XUTMCENTR YUTMCENTR HUSO FECHA_INSER OBSERVACIONES SSMA_TimeStamp Tipo de datos nvarchar(22) nvarchar(50) nvarchar(22) int nvarchar(100) smallint bit int float float smallint int nvarchar(255) timestamp Permitir valores NULL

MUNICOD PMSPFOTO ORGCOD ID_GIS ID_COBERTURA PMSPZ_ORIG DEMARCHIDRO TIPOEST PMSPGEOM PMSPCUENCA PMSPCUENAREA PMSPINUN PMSPVALLE PMSPDISTNACE PMSPPENDRIO PMSPPENDTRAMO FECHA_ALTA FECHA_BAJA SSMA_TimeStamp

dbo_BIO_PRI_CAPAS_2008
Nombre de columna ID_CAPA NOMBRE_CAPA Tipo COD_CATEG Tipo de datos int nvarchar(255) nvarchar(50) nvarchar(3) Permitir valores NULL

QBR3_6 QBR3_7 QBR4 QBR4_1 QBR4_2 QBR4_3 QBR_TOTAL SSMA_TimeStamp

dbo_BIO_PRI_CATEG
Nombre de columna COD_CATEG NOM_CATEG COD_TIPO_GEN CATEG_ID Tipo de datos nvarchar(3) nvarchar(255) nvarchar(3) smallint Permitir valores NULL

dbo_BIO_PRI_ESTACIONES_SPF_PMSUP
Nombre de columna ID_CLAVE_PM COD_EST_SPF PMSPCOD TIPO_PMSUP FECHA_ALTA FECHA_BAJA Tipo de datos int nvarchar(10) nvarchar(15) nvarchar(3) datetime datetime Permitir valores NULL

dbo_BIO_Aux_PMSUP_TEST
Nombre de columna TIPPMSUPTESTId TIPPMSUPTEST COD_OLD Tipo de datos tinyint nvarchar(50) tinyint Permitir valores NULL

Ilustracin 19 - Diagrama Relacional Confederaciones

45

CAPTULO4DESCRIPCINDELABASEDEDATOS

TABLAEQUIVALENCIAS:Estatablacontienelosnombresdeloscampos

quesonequivalentesenlasdistintasBBDD.Laprincipalfuncindeesta
tablaesservirdenexoentrelasdistintasBBDD,contenidasenlaBBDDglobal. TABLAATLAS:ContienelosdatosextradosdelatlasdelMinisteriodeMedio Ambiente,todoslosdatosquedancomprimidosennicatablaqueguarda relacinconlainformacincontenidaenlafichaderecogidadedatos.

TABLAPECES:Contienelosdatosdeunapesca.Enellaseguardantodos losdatosrelativosalosindividuoscapturadosdecadaespecieenuna pescaexperimental. TABLAPESCA:Contienetodoslosdatostcnicodeunapesca.Guarda informacinsobreelpuntodemuestreodondeserealizolacaptura, hora,fecha,etc. TABLATAXONOMIA:Estatablacontienelosdatosdetodaslasespecies depecesconocidasenlosrosespaoles,nombrecientfico,comn, sinnimos,etc. TABLAESTACINDEMUESTRO:Contienetodalainformacinrelativaa unpuntodemuestro.Unpuntodemuestreoesunapequeaporcin delriodondeserealizanlascapturas. CUADRICULAS:Contieneinformacingeogrficaycartogrficasobrela divisindelapennsulaibricaencuadriculasde10x10. PARAMETROS:Estatablacontienetodalainformacinreferenteala calidaddelaguayunagrancantidaddeparmetrostcnicossobreun puntodemuestreoyunapesca.

46

CAPTULO4DESCRIPCINDELABASEDEDATOS

4.2.3 Supuestossemnticosadicionalesaldiseorelacional Encuantoalossupuestossemnticosadicionalesaldiagrama,todosserefieren aatributoscondominiocerrado. Acontinuacinunalistadetodosellos: TABLAPARMETROS ElatributoAbundancia_Algassedefinesobreeldominio:


ADD CONSTRAINT [val_algas] CHECK (([Abundacia_Algas]='Ausente' OR [Abundacia_Algas]='Baja' OR [Abundacia_Algas]='Comn' OR [Abundacia_Algas]='Abundante'))

ElatributoClimatologasedefinesobreeldominio:
ADD CONSTRAINT [val_clima] CHECK (([Climatologia]='Soleado' OR [Climatologia]='LLuvia' OR [Climatologia]='Tormenta' OR [Climatologia]='Nubes' OR [Climatologia]='LLuvia_Intermitente'))

ElatributoAbundacia_Macroinvertebradossedefinesobreel dominio:
ADD CONSTRAINT [val_inver] CHECK (([Abundacia_Macroinvertebrados]='Ausente' OR [Abundacia_Macroinvertebrados]='Baja' OR [Abundacia_Macroinvertebrados]='Comn' OR [Abundacia_Macroinvertebrados]='Abundante'))

ElatributoLluvia_ult_semanasedefinesobreeldominio:
ADD CONSTRAINT [val_lluvia_ult_semana] CHECK (([Lluvia_ult_semana]='SI' OR [Lluvia_ult_semana]='NO'))

ElatributoAbundacia_Macrofitossedefinesobreeldominio:
ADD CONSTRAINT [val_peri] CHECK (([Abundacia_Perifiton]='Ausente' OR [Abundacia_Perifiton]='Baja' OR [Abundacia_Perifiton]='Comn' OR [Abundacia_Perifiton]='Abundante'))

ElatributoRedes_Bloqueosedefinesobreeldominio:
ADD CONSTRAINT [val_redes] CHECK OR [Redes_Bloqueo]='NO')) (([Redes_Bloqueo]='SI'

47

CAPTULO4DESCRIPCINDELABASEDEDATOS

ElatributoRgimensedefinesobreeldominio:
ADD CONSTRAINT [val_regimen] CHECK (([Regimen]='Estacional' OR [Regimen]='Permanente'))

ElatributoTipo_Corrientesedefinesobreeldominio:
ADD CONSTRAINT [val_tipo_corriente] CHECK (([Tipo_Corriente]='Continua' OR [Tipo_Corriente]='Alterna'))

ElatributoTipo_Equiposedefinesobreeldominio:
ADD CONSTRAINT [val_tipo_equipo] CHECK (([Tipo_Equipo]='Fijo' OR [Tipo_Equipo]='Portatil'))

ElatributoTipo_Vegetacion_Acuaticasedefinesobreeldominio:
ADD CONSTRAINT [val_vegatacion] CHECK (([Tipo_Vegetacion_Acuatica]='Fija Emergente' OR [Tipo_Vegetacion_Acuatica]='Fija Sumergida' OR [Tipo_Vegetacion_Acuatica]='Fija Hojas Flotantes' OR [Tipo_Vegetacion_Acuatica]='Flotante' OR [Tipo_Vegetacion_Acuatica]='Algas Flotantes' OR [Tipo_Vegetacion_Acuatica]='Algas Fijas'))

48

CAPTULO4DESCRIPCINDELABASEDEDATOS

4.3 ImplementacindelaBasedeDatos ParatrataryexplicarlaimplementacindelabasededatosparaelCatlogode EspeciesAmenazadasdeAragnhayquereferirseallenguajeSQL.stehasidoel nexo entre el diseo lgico realizado y el SGBD. Como ya se ha explicado anteriormente,elSQLesunlenguajedeclarativodealtonivelparabasesdedatos relacionales. ParaladefinicindelaestructuradelabasededatossehautilizadoelLDDy paraelmanejodeestaestructuraelLMD.Enesteapartadoseexpondrnlospasos seguidosylasprincipalessentenciasSQLutilizadasparaespecificarlaestructurade la base de datos. Por tanto, esta seccin se centra en los operadores del LDD utilizados. Debido a lo extenso que sera exponer aqu todos los scripts de creacin e insercin de datos en la BBDD se puede acudir al ndice de ficheros presente en estedocumentoparaconsultarcualquieradelosscripts.

49

CAPTULO4DESCRIPCINDELABASEDEDATOS

4.4 ProcesodeCargadeDatos El proceso de carga de la base de datos est ntimamente relacionado con el lenguajeSQLysuLMD.Enestaseccinseindicanlasoperacionesutilizadaspara cargar la base de datos de informacin as como los problemas surgidos durante estaetapaycomosehansolventadolosmismos.Primerosedetallanlassentencias utilizadas,seguidasdelprocesollevadoacaboparalaimportacindedatosypor ltimolasdificultadesencontradas. Unavezestnimplementadosenlabasededatostodoslosobjetosindicados eneldiseo,seprocedeallenarlastablasdeinformacin.Paraello,eloperador bsico de insercin de registros en una tabla es la sentencia INSERT. Esta sentenciasehautilizadoenlaprimerapartedelaimplementacin,cuandoanse disponandepocosdatosysedebairprobandoelfuncionamientodelabasede datos. Pero el realmente el principal proceso de carga de datos se llevo a cabo a la horaderellenarcondatosporunladolasBBDDqueyaestabancreadasylastablas que deban contener la informacin de la especies, puntos de muestreo, coordenadascartogrficas,etc. PrimerodescribiremoslacargadedatosdelastablasrelacionadosconlaBBDD basadaenlafichaderecogidadedatosdepescas. Elvolumendeinformacinrelacionadoconlafichaderecogidadedatosdelas pescas ha sido recibido en ficheros Excel con todas las columnas que incluye la basededatosrelacionadasconeldato.Estosficheroscontienentodalasucesin decolumnascorrespondientesalabasededatos. Laprimerapartedelatareaconsisteenformatearestosficheros,paraquese adaptenaldiseodelastablas. Despus ya solo queda pegar la informacin las tablas de la BBDD, manualmenteporloquenoresultaunatareadifcil. EncambioconlosarchivosExcelquecontenanlosdatosdelastablasAtlasy Taxonomasiquesetuvoalgnproblemayaquecontenanunformatoespecial que no soportaba la configuracin de la BBDD, pero se soluciono convierto los ficherosentextoplanoseparadoporcomasyseprocedialainsercin.

50

CAPTULO4DESCRIPCINDELABASEDEDATOS

Ilustracin20FormateoInsercin

51

CAPTULO4DESCRIPCINDELABASEDEDATOS

LasegundapartedeltrabajodeinsercindedatossellevoacaboconlasBBDD deconfederacioneshidrogrficasyelatlasdelMinisteriodeMedioAmbiente. Se trataba de BBDD diseadas en Access, por lo que se usaron dos tipos de procesoparaelatlasdelministerioseoptoporutilizarlaopcinquenosbrinda AccessdeexportarlosdatosdeunatablaaunarchivoExcelobienunarchivode textoyaquesetratabadeunasolatablaconmultituddetuplas.

Ilustracin21ExportacinaExcel

PorotroladoparalaBBDDdelasconfederacioneshidrogrficasseoptoporla misma tcnica pero formateando los datos a ficheros de texto planos ya que se producan incompatibilidades entre el formato de la BBDD Access original y el formatodelanuevaBBDD.

52

CAPTULO4DESCRIPCINDELABASEDEDATOS

Las dificultades encontradas en la carga de datos se han debido fundamentalmente los problemas han estado relacionados con las tildes y caracteresespeciales. El inconveniente de las tildes y caracteres especiales provoc numerosos quebraderos de cabeza, por ms que se intentaba solucionar el problema y se buscabainformacinrelativa,noseencontrabaningunasolucin.Elfalloresidaen eltipodecotejamientoocodificacindelabasededatos.Enestecaso,sehaba elegido correctamente el tipo de codificacin de la base de datos para alojar la informacinsobrelasespecies. Este tipo de cotejamiento, como se advirti en captulos anteriores es UTF8, que permite la representacin de tildes y todo tipo de caracteres especiales. A pesardehaberelegidocorrectamenteeljuegodecaracteresdelabasededatos,al realizarlasinsercionesdesdefichero,noseregistrabanlastildes.Cuandoserepar en la razn del problema, se descubri que era causado por la codificacin del propio archivo que se quera cargar en la base de datos. La codificacin de este archivo era la de Excel (codificacin ANSI), por lo que al introducir esos datos, el SGBDnoreconocaeljuegodecaracteres.Paraconseguirunaimportacindedatos correcta,sehancodificadotodoslosarchivosenUTF8. 53

CAPTULO4DESCRIPCINDELABASEDEDATOS

4.5 ConsultasparasuUsoconlaInterfaz El establecimiento de estas consultas es necesario para obtener la salida de datos en la interfaz segn desea el cliente que se muestre la informacin. Las consultasseajustanalformatodepresentacinrequeridoporelcliente,quecomo se ha indicado en los requisitos es muy especfico. Las consultas implementadas paraobtenerlainformacindelabasededatossonbastantesimples,debidoaque eldiseohasidorealizadoespecialmenteparalafichaderequisitosdelcliente,con loquelastablascontienentodalainformacinnecesariaencadamomento. Detodasformassienfuturofuesenecesariorecuperarinformacindelasotras BBDDdedatosseramuyfcilyaquecontamosconlatablaEquivalencias.Solo necesitaramoscombinarlastablasparaaccederalrestodeinformacin. AcontinuacinsedetallanlasconsultasenformatoSQL.
CONSULTA 1: En esta consulta se toma como parmetro de entrada en nombre de una cuenca y obtiene toda la informacin relacionada con las capturas realizadas en los distintos puntos de muestreo pertenecientes a esa cuenca.
SELECT dbo.Estacion_Muestreo.Codigo_Estacion, dbo.Estacion_Muestreo.Rio, dbo.Estacion_Muestreo.Cuenca, dbo.Estacion_Muestreo.Localidad, dbo.Estacion_Muestreo.CCAA, dbo.Estacion_Muestreo.Provincia, dbo.Peces.Especie, dbo.Peces.Pasada, dbo.Pesca.Fecha, dbo.Peces.Total_Individuos FROM dbo.Estacion_Muestreo INNER JOIN dbo.Pesca ON dbo.Estacion_Muestreo.Codigo_Estacion = dbo.Pesca.Codigo_Estacion INNER JOIN dbo.Peces ON dbo.Pesca.Id_Pesca = dbo.Peces.Id_Pesca WHERE (dbo.Estacion_Muestreo.Cuenca = 'Talamanca') ORDER BY dbo.Peces.Especie

54

CAPTULO4DESCRIPCINDELABASEDEDATOS

CONSULTA2:Enestaconsultasetomacomoparmetrodeentradaelnombre de una especie y se obtiene toda la informacin de sus capturas, as como dondehansidorealizadas.
SELECT Estacion_Muestreo.Codigo_Estacion, Estacion_Muestreo.Rio, Estacion_Muestreo.Cuenca, Estacion_Muestreo.Localidad, Estacion_Muestreo.Cord_X, Estacion_Muestreo.Cord_Y, Estacion_Muestreo.Huso, Estacion_Muestreo.Cuadricula, Estacion_Muestreo.CCAA, Estacion_Muestreo.Provincia, Pesca.Fecha, Peces.Especie, Peces.Total_Individuos FROM Estacion_Muestreo INNER JOIN Pesca ON Estacion_Muestreo.Codigo_Estacion = Pesca.Codigo_Estacion INNER JOIN Peces ON Pesca.Id_Pesca = Peces.Id_Pesca WHERE (Peces.Especie = 'Salmo trutta') ORDER BY Estacion_Muestreo.CCAA

CONSULTA3:Enestaconsultasetomacomoparmetrodeentradaelnombre deunaprovinciayseobtienetodalainformacindelascapturasrealizadasen susros,ascomodondehansidorealizadas.


SELECT dbo.Estacion_Muestreo.Codigo_Estacion, dbo.Estacion_Muestreo.Rio, dbo.Estacion_Muestreo.Cuenca, dbo.Estacion_Muestreo.Localidad, dbo.Estacion_Muestreo.CCAA, dbo.Estacion_Muestreo.Provincia, dbo.Peces.Especie, dbo.Peces.Pasada, dbo.Pesca.Fecha, dbo.Peces.Total_Individuos FROM dbo.Estacion_Muestreo INNER JOIN dbo.Pesca ON dbo.Estacion_Muestreo.Codigo_Estacion = dbo.Pesca.Codigo_Estacion INNER JOIN dbo.Peces ON dbo.Pesca.Id_Pesca = dbo.Peces.Id_Pesca WHERE (dbo.Estacion_Muestreo.Provincia = 'BADAJOZ') ORDER BY dbo.Peces.Especie

55

CAPTULO4DESCRIPCINDELABASEDEDATOS CONSULTA3:Enestaconsultasetomacomoparmetrodeentradaelnombre de un ro y se obtiene toda la informacin de las capturas realizadas en sus aguas,ascomolospuntosdemuestreodondehansidorealizadas.
SELECT dbo.Estacion_Muestreo.Codigo_Estacion, dbo.Estacion_Muestreo.Rio, dbo.Estacion_Muestreo.Cuenca, dbo.Estacion_Muestreo.Localidad, dbo.Estacion_Muestreo.CCAA, dbo.Estacion_Muestreo.Provincia, dbo.Peces.Pasada, dbo.Peces.Especie, dbo.Peces.Total_Individuos, dbo.Pesca.Fecha FROM dbo.Estacion_Muestreo INNER JOIN dbo.Pesca ON dbo.Estacion_Muestreo.Codigo_Estacion = dbo.Pesca.Codigo_Estacion INNER JOIN dbo.Peces ON dbo.Pesca.Id_Pesca = dbo.Peces.Id_Pesca WHERE (dbo.Estacion_Muestreo.Rio = 'Sequillo') ORDER BY Peces.Especie

CONSULTA4:Enestaconsultasetomacomoparmetrodeentradaunpunto demuestreoyseobtienetodalainformacinrelacionadaconeste.
SELECT Codigo_Estacion, Rio, Cuenca, Localidad, CCAA, Provincia, Cord_X, Cord_Y, Huso, Cuadricula, Observ_Acceso FROM dbo.Estacion_Muestreo WHERE Codigo_Estacion =''

CONSULTA 5: En esta consulta se realiza un listado de todos los puntos de muestreoexistentesascomotodalainformacinrelacionadaconestos.


SELECT Codigo_Estacion, Rio, Cuenca, Localidad, CCAA, Provincia, Cord_X, Cord_Y, Huso, Cuadricula, Observ_Acceso FROM dbo.Estacion_Muestreo

56

CAPTULO5RESULTADOSOBTENIDOS

5. RESULTADOSOBTENIDOS.
Despusdelarealizacindetodoeltrabajaenesteapartadoseintentahacer una valoracin global de cul ha sido el resultado finalmente obtenido y de si se ciealosrequisitosdelcliente. CaberecalcarelaspectodequecomprobarquelaBBDDdedatosseajustaalos parmetros iniciales sera mucho ms vistoso si pudiese ya combinarse con la interfaz pero ya que esto de momento no es posible se han realizado todas las pruebasalnivelmsbsicoqueesdirectamentesobrelainterfazqueproporciona sqlserver2008,peroqueenrealidadresultamsquesuficienteparacomprobarsi enrealidadlaBBDDcumplelosobjetivosparalosquefuediseada. UnavezterminadoeldesarrollosepuedeconcluirquelaBBDDcumpleconlos requisitosexpresadosporelclientebasndonosenlassiguientespremisas. SehaconseguidodesarrollarunaBBDD,quenoconsumeexcesivos recursosyqueademsnotieneunagrancomplicacinquedesemboque enunaralentizacinalahoradeusarla. Lastablasestndiseadastalycomoelclientehaespecificado,yaque elpropioclientehacolaboradoactivamenteaportandoideasy realizandomodificacionesquelconsiderabanecesarias. Sehaconseguidointegrarlasdiferentesfuentesdeinformacinenun entornoglobalquepermiteunusogeneraldetodalainformacinal mismotiempo.DejandodesernecesariomantenertresBBDDdistintas ascomomantenerinformacinenarchivosdetextoomanuscritos. SehadesarrolladolaBBDD,siempreconvistasasufuturoacoplamiento conunainterfazysehaconseguidofacilitarlomsposiblelalabordela personaquediseeeimplementeyainterfaz. Atravsdelasconsultassehaconseguidoabarcarelamplioabanicode informacinqueelclientenecesitatratar.Cabedestacarlasimplicidad defuncionamientodelasconsultasyaqueconunsoloparmetrode entradasepodrrecuperartodalainformacinnecesaria. 57

CAPTULO6VALORACINFINAL

6. VALORACINFINAL.
6.1 Conclusiones Una vez finalizado el proyecto podemos extraer una serie de conclusiones acerca de su realizacin y otros aspectos como la experiencia de realizar por primera vez un proyecto real que sirven para ofrecer una visin global de una experienciadeestetipo. Acontinuacinseexponenlasconclusionesfinalesextradasdeesteproyecto. Experienciaprofesional:Sinduda,elprincipalcometidodeunproyecto fin de carrera es el aprendizaje y la experiencia de enfrentarse a un trabajo que englobe todo lo aprendido en la carrera. En mi caso, prefierodestacarelhechodequeelproyectosehayarealizadoparauna empresa. Es fundamental tener una idea sobre la forma en la que se trabaja en el mundo laboral antes de terminar la universidad. Para m estehasidounodelosaspectosquemsvaloredeestePFCyaqueme ha servido para aprender cosas que en la universidad no es posible aprender como los problemas que entraa un trabajo profesional, la relacinconelcliente,loscontratiempos,loscontinuoscambios,etc. Larelacinconelcliente:Estehasidoparamunosdelosgrandesretos deesteproyecto.Yaqueelclientenosueletenerunaideaclaradeque esloquequiere.Estaesunadelasprimerascosasqueseaprendeenla universidadylohepodidocomprobarenprimerapersona.Otrodelos aspectos importantes es que el cliente no tiene por qu tener conocimientos de cmo es proceso de construccin de un elemento softwareporloqueparaeltodoesrelativamentesencilloyaquellove desde su perspectiva. Creo que esta experiencia me ha servido para comprendercomodedeberserlarelacinconelclienteyaquesiempre hay que llegar a un acuerdo entre las dos partes y tratar de guiar al clienteparaquepuedatenerunpocomsclaroqueesloquequiereylo queesmsimportantequeesloquenecesita. 58

CAPTULO6VALORACINFINAL

La monotona de los cambios: Este es otro aspecto realmente importante ya que te ensea que aunque segn tu visin una este correcta siempre se pueden introducir cambios que aunque a ti te parezcan innecesarios al fin y al cabo el cliente es el que manda. Creo que al principio a todos nos cuesta interiorizar que nuestro trabajo se puedemejoraryquenosiemprenuestravisindelascosaseslamejor. Al principio el hecho de tener que estar continuamente realizando cambiossobretutrabajoseconvierteenunalosapesadaperosegnse vadesarrollandoeltrabajoaprendesquenoestantoelpesoyaprendes asobrellevarlo. Por eso considero este punto otro de los ms enriquecedores para mi futuroprofesional. El resultado: La verdad es que llegados a este punto que pens que jamsllegaracreoquepuedodecirqueseharealizadounbuentrabajo. Creoquegraciasacolaboracindetodosloselementosquehantomado parte en este proyecto se ha logrado un resultado que cumple altamenteconlosobjetivosqueseplantearonparal.

59

CAPTULO6VALORACINFINAL

6.2 Posibleslneasfuturas Enestaseccinsevanaindicarlasposibilidadesdecontinuacindelproyecto findecarrerarealizado.Esteesunodelospuntosdemayorimportanciaalahora derealizarunproyecto,yaqueenelcampodeaplicacinenelqueseubicaeste trabajo, la evolucin permanente y la mejora de las aplicaciones es fundamental; con esta finalidad se van a describir los potenciales puntos a evolucionar del trabajoefectuado. Integracinconlainterfaz:Esteesunpuntoimportanteyaqueaunque ahora mismo la BBDD sea totalmente operativa el cliente necesita de unainterfazamigableparapoderusarelsoftwareyqueeltrabajodela BBDDseatotalmentetrasparenteparal.Enrealidadesunalneafutura a corto plazo ya que mi compaero est trabajando en ella y estoy convencidoqueencortoplazodetiempoestarlistaysepodrllevara cabolaunin. AmpliacindelaBBDD:Creoqueesteesunaspectoimportanteyaque segn esta disea la BBDD creo que unos mnimos cambios podra albergarinformacinacercademuchasotrasespecies.Ademstambin cabralaposibilidaddeintegrarmsdatosdefuentesdiferentesqueno hansidotratadasenesteproyectocomoinformacinrecopiladaporlas ComunidadesAutnomas,Ayuntamientos,etc.Porotroladoydebidoa losavancesquehatenidoSQLServer2008encuantoeltipodedatosse podra tratar toda la informacin relativa a coordenadas geogrficas directamente con un sistema de geolocalizacin y hacer uso de la tcnicadelasBBDDespaciales. Portabilidad de la Aplicacin: Creo que este podra ser uno de los siguientespasosparacuandolainterfazyalBBDDestnensambladas.El cliente necesita tomar todos los datos de una pesca in situ con lo que debetomarlosamanoparaluegoatravsdelaaplicacinintroducirlos enlaBBDD,porloquecreoqueresultaraaltamenteprovechosoparael clientedisponerdelaaplicacinenundispositivotipopdaomvilpara poderregistrarlosdatosenelmismomomentoderealizarlapesca.

60

CAPTULO7BIBLIOGRAFA

7. BIBLIOGRAFA.
7.1 BibliografaConsultada Miguel,A.deyPiattini,M(1993)."ConcepcinyDiseodeBasesdeDatos.Del modeloE/Ralmodelorelacional".EditorialRAMA. De Miguel, A y Piattini, M (1999). "Diseo de bases de datos relacionales". EditorialRAMA. Dolores Cuadra, Elena Castro, Ana Iglesias, Paloma Martnez, Javier Calle, CsardePablo,HarithAlJumailyyLourdesMoreno(2007)."DesarrollodeBases deDatos:casosprcticosdesdeelanlisisalaimplementacin".EditorialRAMA. PeterChen(1976)."TheEntityRelationshipModelTowardaUnifiedViewof Data".ACMTransactionsonDatabaseSystems1(1):936. Codd, E.F. (1970). A Relational Model of Data for Large Shared Data Banks. CommunicationsoftheACM.Vol.13.N6.pp.377387. Mario G. Piattini, Jos A. CalvoManzano, Joaqun Cervera, Luis Fernndez (1996)."AnlisisyDiseodeAplicacionesInformticasdeGestin:Unaperspectiva deIngenieradelSoftware".EditorialRAMA. JesualdoTomsFernndezBreis.MaterialdelaasignaturadeDiseodeBBDD ytcnicasparalaintegracindeBBDD. Mara Isabel Snchez Segura. Material de la asignatura Metodologa de DesarrolloSoftware. MaterialdelaasignaturaBBDDAvanzadas.

61

CAPTULO7BIBLIOGRAFA

7.2 ReferenciasWeb

PginaOficialSQLServer2008:
http://www.microsoft.com/sqlserver/2008/en/us/

AyudaoficialdeMicrosoftsobreimportacindedatos:
http://technet.microsoft.com/eses/library/ms175937.aspx http://technet.microsoft.com/eses/library/ms189989.aspx

ManualdeconsultasobreSQLServer:
http://www.sqlmax.com/centro/moduloII_4.asp?MX= http://technet.microsoft.com/eses/library/bb630352.aspx

Creacindecdigosautonumricos:
http://www.devjoker.com/contenidos/TutorialPLSQL/68/Secuencias.aspx

Informacinsobre,migracindedatosAccessaSQLServer:
http://gerardoramosun.wordpress.com/2007/04/28/migraciondedatos desdeaccessasqlserver2005/ CombinacindeSQLconJava: http://sqlzoo.net/java.htm http://java.sun.com/javase/technologies/database/index.jsp Definiciones: http://es.wikipedia.org/wiki/Wikipedia:Portada

62

CAPTULO8ANEXOS

8. ANEXOS.
8.1 InformePreliminarPFC

INTRODUCCIN
Enelsiguientedocumentosetrataranlosaspectostcnicospreliminaressobre la creacin de una base de datos, con el fin de estandarizar datos de fuentes heterogneasypoderalmacenarlosenunanicabasededatos. Sedetallanaspectoscomoelsoftwaregestorautilizar,losrequisitosqueeste demanda, las formas de importar los distintos datos, as como la creacin de formulariosparaelusodedichosdatos.

REQUISITOSDESISTEMADEMICROSOFTSQLSERVER2008
Optaremosporlaversinmsactualizadadelsistemagestordebasesdedatos MicrosoftSQLserver2008.

63

CAPTULO8ANEXOS

64

CAPTULO8ANEXOS

65

CAPTULO8ANEXOS

IMPORTACINDEDATOS
Segn parece el nuevo SQL Server 2008, incorpora un asistente totalmente independiente de la propia plataforma, capaz de importar datos de fuentes muy diferentes. Segnestainformacinenprincipionohabra problemasparaimportardatos deprogramascomoAccess,Excel,etc. SetratadelasistenteImportandExportDataqueofreceunaformasencillade copiardatosdesdeunafuenteorigenaunadestino,permitiendoademscrearun paquete de SQL Server Integration Services (SSIS). Se pueden copiar datos de un origen a un destino siempre que se disponga de un proveedor nativo de .NET Framework o bien el proveedor de OLE DB. De hecho, la lista de proveedores de quedisponeelasistenteincluyeentreotros: Proveedores.NETFrameworkparaODBC,OracleySQLServer FlatFiles MicrosoftAccess MicrosoftExcel MicrosoftOLEDBproviderpara:Office12,AnalysisServices(9.0y10.0), DataMiningServices,InternetPublishing,OLAPServices(8.0),Oracley SQLServer. SQLNativeClient(10.0) SQLXMLOLEDB SQLXMLOLEDB4.0 Enlossiguientesenlacesseespecificalaformadeejecutarelasistente. http://msdn.microsoft.com/eses/library/ms141209.aspx http://msdn.microsoft.com/eses/library/ms140052.aspx

66

CAPTULO8ANEXOS

8.2 InstalacinBBDD El proceso de instalacin de la BBDD en el ordenador del cliente fue muy sencilloyaquesoloserequieredelainstalacindelmotordeBBDD,lainterfazde gestinyrestaurarlaBBDDquepreviamentesehabacreado.
1. InstalacinmotorBBDD,sedebenseguirlospasosindicadosporelinstalador.

67

CAPTULO8ANEXOS

68

CAPTULO8ANEXOS

2. InstalacindeSQLServerManagementStudio,herramientaquenosfacilitara todaslastareasdegestinsobrelaBBDD.

69

CAPTULO8ANEXOS

3. RestaurarlacopiadelaBBDD.

70

Das könnte Ihnen auch gefallen