Bioinformatica Datamodellering Onderwerpen Doel van databaseopslag Gestructureerd versus
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 � Onderzoek data genereert gigantische hoeveelheden ◦ Genomics proteomics metabo[ln]omics � Interessant voor verder/ander onderzoek � Dus: beschikbaar stellen in opvraagbare vorm � Maar: speld in hooiberg is makkelijker te vinden!
Gestructureerd v ongestructureerd � De volgende twee slides bevatten precies dezelfde gegevens � Waar heb je het meeste aan, en waarom?
Enzym Herkenningssite Eco 17 I (Eco. RV) Eco 24 I (Hgi. JII) Eco 25 I (Hgi. JII) Eco 26 I (Hgi. JII Eco 31 I Eco 32 I (Eco. RV) Eco 35 I (Hgi. JII) Eco 38 I (Eco. RII) Eco 39 I (Asu. I) Eco 40 I (Eco. RII) Eco 41 I (Eco. RII) Eco 42 I (Eco 31 I) Eco 43 I (Scr. FI) Eco 47 I (Ava. II) Eco 47 II (Asu. I) Eco 47 III GATATC GRGCY^C GRGCYC GGTCTCN^ ^NNNNNGAGACC GAT^ATC GRGCYC CCWGG GGNCC CCWGG GGTCTC GAGACC CCNGG G^GWCC GGNCC AGC^GCT
Eco 17 I (Eco. RV)GATATCEco 24 I (Hgi. JII)GRGCY^C Eco 25 I (Hgi. JII)GRGCYCEco 26 I(Hgi. JIIGRGCYC Eco 31 IGGTCTCN^Eco 31 I^NNNNNGAGACCEco 32 I (Eco. RV)GAT^ATCEco 35 I (Hgi. JII)GRGCYC Eco 38 I (Eco. RII)CCWGGEco 39 I (Asu. I)GGNCC Eco 40 I (Eco. RII)CCWGGEco 41 I (Eco. RII)CCWGG Eco 42 I (Eco 31 I)GGTCTCEco 42 I (Eco 31 I)GAGACC Eco 43 I (Scr. FI)CCNGGEco 47 I (Ava. II)G^GWCC Eco 47 II (Asu. I)GGNCCEco 47 IIIAGC^GCT � Structuur is essentieel voor gericht opvragen van gegevens!
Van gegevens naar datamodellering � 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
� Gegevensbeheer betekent afbeelden van de werkelijkheid in de computer � Werkelijkheid ◦ boom � Object bestaat uit objecten heeft kenmerken of attributen ◦ hoogte � Specifieke ◦ 4. 78 m 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. 78 m, 7 jaar, NW-hoek plein
tabel kolom objecttype soort hoogte locatie plataan 4. 78 NW-hoek 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 Naam Adres 1 Plaats Bloedgroep Huisarts Adres arts Tel. nr. arts 653781 consulten van dezelfde patient H. A. Kunnen Gorterstraat Deventer J. A. Jansen Brink 35 O Naam Adres 1 Plaats Bloedgroep Huisarts Adres arts Tel. nr. arts 653781 H. A. Kunnen Gorterstraat Devanter J. A. Jansen Brink 34 O Naam Adres 1 Plaats Bloedgroep Huisarts Adres arts Tel. nr. arts 653781 H. A. Kunnen Gorterstraat Deventer J. A. Jansen Brink 35 Bezoekdatum 14/2/96 Bezoekdatum 8/3/96 Bezoekdatum 22/4/96 Kosten bezoek € 120. 58 Kosten bezoek € 100. 00 Kosten bezoek € 80. 20 P
� 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 Adres Plaats H. A. Kunnen Gorterstraat 1 Deventer Bloedgroep Huisarts Adres arts Tel. nr. arts O J. A. Jansen Brink 35 653781 Bezoekdatum 14/2/96 Bezoekdatum 8/3/96 Kosten bezoek € 120. 58 Kosten bezoek € 100. 00 Naam Adres Plaats Bloedgroep H. A. Kunnen Gorterstraat 1 Deventer O Huisarts Adres arts Tel. nr. arts J. A. Jansen Brink 35 653781
� Patientnr Artsnr 007 003 Foreign key Bezoekdatum 14/2/96 Bezoekdatum 14/3/96 Kosten bezoek € 120. 58 Kosten bezoek € 100. 00 relatie Primary key Patientnr Naam Adres 1 Plaats Bloedgroep 007 H. A. Kunnen Gorterstraat Deventer O Artsnr Huisarts Adres arts Tel. nr. arts 653781 003 J. A. Jansen Brink 35
� 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 ◦ Magazijn waar reagentia worden bewaard en uitgeleend/uitgegeven ◦ Mogelijke vragen en overzichten �Wat is de actuele voorraad van reagens A? �Wat zijn de risico’s van reagens B? �Waar is reagens C opgeslagen? �Hoeveel heeft afdeling X deze maand verbruikt? �Welke reagentia moeten vrijdag besteld worden? �. . . ◦ Bijhouden �Wie krijgt wat mee (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)
- Slides: 27