De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Analyse 3 INFANL01-3 week 2 CMI Informatica.

Verwante presentaties


Presentatie over: "Analyse 3 INFANL01-3 week 2 CMI Informatica."— Transcript van de presentatie:

1 Analyse 3 INFANL01-3 week 2 CMI Informatica

2 Roosterprobleem 4 11:20 12:10 INFANL01-3
WD  - INF1A, INF1B (Analyse 3) 5 13:00 12:30 Lunch lezing H1.206 6 13:50

3 Analyse 3- INFANL01-3 Vorige les Primaire sleutel, uniek en verwijssleutel Normaliseren

4 Vorige les

5 Tabellen kolom (attribuut, veld) domein (‘M’,’V’) tabel (relatie)
waarde=’V’ rij (record, tuple, occurence) Een tabel (of relatie) bestaat uit rijen (horizontaal) en kolommen (verticaal) andere namen voor rij zijn : record, tuple, occurence; andere namen voor kolom : attribuut, veld. De structuur van een tabel is de definitie van de kolommen van een tabel en de domeinen/datatypen van die kolommen/attributen. Uit een plaatje van een tabel is de structuur af te lezen uit de heading (kop). Een meer formele notatie : patient(PAT#, ....). De rijen onder de kop geven de inhoud van een tabel weer. De structuur van een tabel wordt van te voren gedefinieerd mbv DDL, en ligt daarna vast (vgl.declaratie van een variabele (int i)). De inhoud van een tabel (de aanwezige rijen of records, vgl. de waarde van een variabele (i=1)) kan worden gemanipuleerd met DML. De volgorde van de rijen is niet belangrijk / onbepaald. De waarde van een database tabel is daarom een verzameling (Eng. set) rijen. De definitie van een tabel bestaat uit een verzameling kolommen. tabelstructuur : patient(PAT#,PNAAM,LEEFTIJD,GESLACHT,ARTS)

6 Entiteit Relatie Diagram
Elementen Entiteiten Attributen Sleutels (Identifiers) Relaties

7 Het relationele model

8 Vorige les

9 Entiteit Relatie Diagram – Sleutels
Sleutels (Identifiers) zijn speciale attributen in een tabel: attribuut of attributen die een entiteit identificeren uniek of niet uniek samengesteld

10 Sleutels Een sleutel is een groep van één of meerdere attributen waardoor een rij uniek wordt geïdentificeerd

11 Soorten sleutels Primaire sleutel (primary key) Simpel
Samengesteld (composite) Zelfbedacht (artificial of surrogate) Verwijssleutel (foreign key) Verwijst een rij of meerdere rijen van een tabel naar een rij of meerdere rijen van een andere tabel (zie relaties slide)

12 Relaties (1) - typen binaire relaties
één op één ( 1 : 1) één op veel ( 1 : N) veel op veel ( N : M) Wat zijn mogelijke sleutels voor de boven staande entiteiten? Primary key (simple en composite), unique key en foreign key

13 Relaties(5) - zwakke entiteiten
Entiteiten waarvan het bestaan afhankelijk is van een andere entiteit (lifetime dependency)

14 Relaties(4) - recursiviteit
relaties tussen entiteiten uit dezelfde entiteitsklasse

15 Oefening Identificeer het type sleutel voor elk entiteit in het volgend diagram (Barker notatie) a. Primaire sleutel (simple) b. Samengestelde sleutel (composite) c. Samengestelde sleutel van een relatie en een attribuut (composite) Entiteit boat: primary Entiteit racer: composite key Entiteit account: composite (account.number+ company.number ) In Barker notatie een streepje over een relatie betekend dat de id van de identiteit company maakt een deel uit van de primaire sleutel van de entiteit account

16 normaliseren

17 Functionele afhankelijkheid(1)
Functionele afhankelijkheid = verband tussen attributen Attribuut Y is functioneel afhankelijk van attribuut X als de waarde van X de waarde van Y bepaalt. De waarde wordt verkregen door “opzoeken” in de database. Notatie: Studentnummer  afstudeervak Computernummer  geheugenomvang Determinant Samengestelde determinant Voorbeeld: CIJFERS(Studentnummer,Vak,Cijfer) (Studentnummer,Vak)  Cijfer

18 Modificatie anomalieën
Verwijder anomalie Invoeg anomalie Een update-anomalie is een fout die optreedt bij een afwijking van de 'standaard werkwijze' bij het vernieuwen (updaten) van gegevens in een database. Dit fenomeen treedt op door weinig (lees: onvoldoende) normalisatie. Naast de overkoepelende term update-anomalie worden ook de specifiekere termen invoeg-anomalie en verwijder-anomalie gebruikt voor anomalieën die zich voordoen specifiek bij het invoegen en verwijderen van gegevens. Sporadisch wordt in het Nederlands de term modificatie-anomalie gebruikt. In een genormaliseerd gegevensmodel kunnen de gegevens van één entiteit met één simpele opdracht worden opgeslagen. Soms wordt om technische of praktische redenen een ontwerp gekozen waarbij het invoegen, verwijderen of veranderen van gegevens meer actie vergt om alle gegevens consistent te houden. Een dergelijk model noemt men gedenormaliseerd, het heeft een of meer update-anomalieën.

19 Kern van normalisatie Databasenormalisatie is een techniek bij het ontwerpen van databases. Ze dient twee doelen: het spaarzaam omgaan met opslagruimte en het vermijden van meervoudige vastlegging van dezelfde data, een potentiele bron van fouten.

20 Normaalvormen We gaan tot de derde normaalvorm in de praktijk toepassen

21 Eerste normaalvorm Een tabel die voldoet aan de voorwaarden voor een relatie, is in de eerste normaalvorm. elk attribuut is atomair, en bevat dus één enkele waarde geen enkel attribuut wordt herhaald alle attributen blijven constant in de tijd bijvoorbeeld een adres-attribuut mag geen twee adressen bevatten

22 Tweede normaalvorm Een relatie is in de tweede normaalvorm als alle attributen die niet in de sleutel zijn opgenomen, afhankelijk zijn van de gehele sleutel.

23 Derde normaalvorm Een relatie is in de derde normaalvorm als het in de tweede normaalvorm is en geen transitieve afhankelijkheden kent. Transitieve afhankelijkheid

24 3e normaalvorm (3NF)

25 Database ontwerp : Hoe doe je het?
Ontwerpmethoden: E/R (entity-relationship) semantisch object model Controle: normaliseren

26 Database ontwerp voorbeeld: administratie van uitgeleende boeken (1)
Voor wie? de eigenaar van de boeken Functie : het geven van een actueel overzicht van alle uitgeleende boeken; bovendien per boek: aan wie (het boek is uitgeleend) sinds wanneer (het boek is uitgeleend)

27 Database ontwerp voorbeeld: administratie van uitgeleende boeken (2)
Bedenk eerst …. hoe je het zonder geautomatiseerd systeem zou doen! ?

28 Database ontwerp voorbeeld: administratie van uitgeleende boeken (3)
Bedenk eerst hoe je het zonder geautomatiseerd systeem zou doen! schrift met 1 regel per uitgeleend boek (auteur, titel, lener_naam, lener_telnr, sinds) spreadsheet vgl. database met 1 tabel:‘uitgeleende boeken’

29 Database ontwerp voorbeeld: administratie van uitgeleende boeken (4)
Problemen: wijzigen van telnr op meerdere plaatsen bij terugbrengen boek ook telnr weg Hoe komt dit ? afhankelijkheid : lener_naam -> lener_telnr lener_naam is een determinant van lener_telnr

30 Database ontwerp voorbeeld: administratie van uitgeleende boeken (5)
Oplossing: 2 tabellen schrift met uitgeleende boeken adresboekje (of GSM telefoon): naam + telnr

31 Normaliseren - recap

32 Normalisatie: 1NF (first normal form)
Definitie 1NF: Een tabel is in 1NF als voor elke waarde van die tabel elke rij precies 1 waarde voor elke attribuut heeft voorbeeld: in de tabel leners heeft elke rij 1 naam en 1 telnr

33 Normalisatie: 2NF Definitie 2NF: (aanname: er is slechts 1 kandidaat sleutel die de primaire sleutel is) Een tabel is in 2NF als deze in 1NF is, en elk niet-sleutel attribuut (op de een of andere manier) afhankelijk is van de primaire sleutel

34 Normalisatie: 2NF PK

35 Normalisatie: 2NF PK PK

36 Normalisatie: 3NF Definitie 3NF: (aanname: er is slechts 1 kandidaat sleutel die de primaire sleutel is) Een tabel is in 3NF als deze in 2NF is, en elk niet-sleutel attribuut niet-transitief afhankelijk is van de primaire sleutel Vooral aan de orde als de primaire sleutel uit 2 of meer attributen bestaat.

37 Normalisatie: 3NF PK 2NF 3NF

38


Download ppt "Analyse 3 INFANL01-3 week 2 CMI Informatica."

Verwante presentaties


Ads door Google