270 likes | 447 Views
Bioinformatica. Datamodellering. Onderwerpen. Doel van database-opslag Gestructureerd versus ongestructureerd Van gegevens naar datamodellering Stappenplan datamodellering Inventarisatie Selectie Optimalisatie Voorbeeld Veldeigenschappen. Doel van database- opslag.
E N D
Bioinformatica Datamodellering
Onderwerpen • Doel van database-opslag • Gestructureerd versus ongestructureerd • Van gegevens naar datamodellering • Stappenplan datamodellering • Inventarisatie • Selectie • Optimalisatie • Voorbeeld • Veldeigenschappen
Doel van database-opslag • Onderzoekgenereertgigantischehoeveelheden data • Genomics proteomics metabo[ln]omics • Interessantvoorverder/anderonderzoek • Dus: beschikbaarstellen in opvraagbarevorm • Maar: speld in hooiberg is makkelijkertevinden!
Gestructureerd v ongestructureerd • De volgende twee slides bevatten precies dezelfde gegevens • Waar heb je het meeste aan, en waarom?
Enzym Herkenningssite Eco17I (EcoRV) GATATC Eco24I (HgiJII) GRGCY^C Eco25I (HgiJII) GRGCYC Eco26I (HgiJII GRGCYC Eco31I GGTCTCN^ Eco31I ^NNNNNGAGACC Eco32I (EcoRV) GAT^ATC Eco35I (HgiJII) GRGCYC Eco38I (EcoRII) CCWGG Eco39I (AsuI) GGNCC Eco40I (EcoRII) CCWGG Eco41I (EcoRII) CCWGG Eco42I (Eco31I) GGTCTC Eco42I (Eco31I) GAGACC Eco43I (ScrFI) CCNGG Eco47I (AvaII) G^GWCC Eco47II (AsuI) GGNCC Eco47III AGC^GCT
Eco17I (EcoRV)GATATCEco24I (HgiJII)GRGCY^C Eco25I (HgiJII)GRGCYCEco26I(HgiJIIGRGCYC Eco31IGGTCTCN^Eco31I^NNNNNGAGACCEco32I (EcoRV)GAT^ATCEco35I (HgiJII)GRGCYC Eco38I (EcoRII)CCWGGEco39I (AsuI)GGNCC Eco40I (EcoRII)CCWGGEco41I (EcoRII)CCWGG Eco42I (Eco31I)GGTCTCEco42I (Eco31I)GAGACC Eco43I (ScrFI)CCNGGEco47I (AvaII)G^GWCC Eco47II (AsuI)GGNCCEco47IIIAGC^GCT • Structuur is essentieel voor gericht opvragen van gegevens!
Van gegevensnaardatamodellering • Gegeven • willekeurig feit • Informatie • Gegeven(s) nodig om beslissing te kunnen nemen • Doel van gegevensbeheer • Gestructureerde opslag van gegevens om op juiste moment de juiste informatie te kunnen leveren • Datamodellering • Bepalen welke gegevens in welke structuur nodig zijn om aan informatiebehoefte te kunnen voldoen
4.78m • Gegevensbeheer betekent afbeelden van de werkelijkheid in de computer • Werkelijkheid bestaat uit objecten • boom • Object heeft kenmerken of attributen • hoogte • Specifieke boom heeft waarde • 4.78 m
Abstract object wordt beschreven met lijst kenmerken: objecttype • boom: soort, hoogte, leeftijd, lokatie • Concreet object wordt geidentificeerd door lijst waarden voor kenmerken: record • Plataan, 4.78m, 7 jaar, NW-hoek plein
soort hoogte locatie plataan 4.78 NW-hoek tabel kolom objecttype record Database: set samenhangende (gerelateerde) tabellen
Stappenplan datamodellering • Doel • Effectief en efficiënt opslaan van de gegevens die nodig zijn voor een bepaalde taak • Drie stappen • Inventarisatie • Selectie • Optimalisatie (normalisatie)
Inventariseren • Brainstormen welke gegevens van belang kunnen zijn • Ruim denken (strepen is beter dan vergeten) • Uitgangspunten • Papieren administratie (formulieren) • Gesprekken met medewerkers • Vragen die in het werk opkomen • Gezond ‘boeren-’ verstand
Selecteren • Elk gegeven kost tijd voor invoeren, wijzigen, etc. • Essentie: het kiezen van de kenmerken nodig voor het werk • Keuze gebaseerd op: • relevantie (nodig, nuttig, aardig) • beschikbaarheid • hoeveelheid ruimte • hoeveelheid werk (invoeren, onderhouden) • Resultaat: platte tabel (nulde normaalvorm) • Kolommen voor de kenmerken (velden) • Regels voor de objecten (records)
Optimaliseren • Datamodel efficiënter maken zonder dataverlies • Principes bedacht door E.F. Codd • Proces heet normaliseren • Uitgangspunt nulde NV • Achtereenvolgens • Eerste normaalvorm • Tweede normaalvorm • Derde normaalvorm • Enzovoorts • Eerste is essentieel; hogere afhankelijk van grootte database en motivatie
Voorbeeld huisartsenpraktijk • Kenmerken (nulde NV) • Datum bezoek • Naam patiënt • Adres patiënt • Plaats patiënt • Naam huisarts • Adres huisarts • Telefoon huisarts • Bloedgroep patiënt • Kosten bezoek
Drie consulten van dezelfde patient Naam H.A. Kunnen Adres Gorterstraat 1 Plaats Deventer Bloedgroep O Huisarts J.A. Jansen Adres arts Brink 35 Tel.nr. arts 653781 Bezoekdatum 14/2/96 Kosten bezoek €120.58 Naam H.A. Kunnen Adres Gorterstraat 1 Plaats Devanter Bloedgroep O Huisarts J.A. Jansen Adres arts Brink 34 Tel.nr. arts 653781 Bezoekdatum 8/3/96 Kosten bezoek €100.00 Naam H.A. Kunnen Adres Gorterstraat 1 Plaats Deventer Bloedgroep P Huisarts J.A. Jansen Adres arts Brink 35 Tel.nr. arts 653781 Bezoekdatum 22/4/96 Kosten bezoek €80.20
Problemen bij de platte tabel: • 1. Gegevens die in meer records nodig zijn en identiek zijn (repeterende groep) • Redundantie • 2. Gegevens die in meer records nodig zijn maar verkeerd worden ingetikt • Inconsistentie
Naam H.A. Kunnen Adres Gorterstraat 1 Plaats Deventer Bloedgroep O Huisarts J.A. Jansen Adres arts Brink 35 Tel.nr. arts 653781 Bezoekdatum 8/3/96 Kosten bezoek €100.00 Naam H.A. Kunnen Adres Gorterstraat 1 Plaats Deventer Bloedgroep O Huisarts J.A. Jansen Adres arts Brink 35 Tel.nr. arts 653781 Bezoekdatum 14/2/96 Kosten bezoek €120.58 Naam H.A. Kunnen Adres Gorterstraat 1 Plaats Deventer Bloedgroep O Huisarts J.A. Jansen Adres arts Brink 35 Tel.nr. arts 653781
Patientnr 007 Artsnr 003 Bezoekdatum 14/2/96 Kosten bezoek €120.58 Patientnr 007 Artsnr 003 Bezoekdatum 14/3/96 Kosten bezoek €100.00 Foreign key relatie Primary key Patientnr 007 Naam H.A. Kunnen Adres Gorterstraat 1 Plaats Deventer Bloedgroep O Artsnr 003 Huisarts J.A. Jansen Adres arts Brink 35 Tel.nr. arts 653781
Platte tabel = nulde normaalvorm • Resultaat na afsplitsen repeterende groepen = eerste normaalvorm • Eerste normaalvorm vereist, want… • niet moeilijk • weinig werk • veel resultaat • Overige normaalvormen facultatief
Voorbeeld • Situatie • Magazijnwaarreagentiawordenbewaard en uitgeleend/uitgegeven • Mogelijkevragen en overzichten • Wat is de actuelevoorraad van reagens A? • Watzijn de risico’s van reagens B? • Waar is reagens C opgeslagen? • Hoeveelheeftafdeling X dezemaandverbruikt? • Welkereagentiamoetenvrijdagbesteldworden? • ... • Bijhouden • Wiekrijgtwatmee (waar is iets; budgettering) • Informatie over de reagentia
Inventarisatiestap • Naam reagens • Naam klant • Afdeling klant • Lokatie reagens • Veiligheidscategorie reagens • Functie klant • Hobby klant • Kristalstructuur reagens • Voorraad reagens • Afhaalinformatie (datum, hoeveelheid) • Verpakkingseenheid reagens • Afbeelding reagens • ...
Selectiestap • Hobby klant • Want weinig relevant, veel werk, ... • Kristalstructuur reagens • Want te weinig relevant, moeilijk te achterhalen • Afbeelding reagens • Want te weinig relevant, veel werk, veel opslagruimte
Resultaat na selectiestap: nulde normaalvorm • Naam reagens • Naam klant • Afdeling klant • Lokatie reagens • Veiligheidscategorie reagens • Functie klant • Voorraad reagens • Afhaaldatum • Afhaalhoeveelheid • Verpakkingseenheid reagens
Optimalisatiestap • Hetzelfde reagens zal vaker worden afgehaald • repeterende groep, lang afsplitsen • Dezelfde klant zal vaker reagentia halen • repeterende groep, lang afsplitsen • Op dezelfde dag zal vaker iets worden afgehaald • Repeterende groep, kort niet afsplitsen
Resultaat na optimalisatie: eerste normaalvorm • Hoofdtabel: afhaalinformatie • (reagensnr, klantnr, datum, hoeveelheid) • Hulptabel: reagentia • (reagensnr, naam, lokatie, veiligheidscategorie, verpakkingseenheid, voorraad) • Hulptabel: klanten • (klantnr, naam, afdeling, functie)
Veldeigenschappen • Veld (attribuut, kenmerk, kolom) • Essentiële kenmerken: • Veldnaam • Inhoud (waarde) • Overige eigenschappen • Lengte • Type (tekst, getal, datum) • Verplicht/niet verplicht • Uniek/niet uniek • Sleutel/geen sleutel • Controles (constraints) • Op vorm (postcode: “9999 AA”) • Op inhoud (temperatuur tussen 35 en 45 graden)