Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 Kap 02 Relasjonsdatabaser. Tabeller Dataene i en relasjonsdatabase er plassert i to-dimensjonale tabeller. En relasjons-database består av tabeller.

Liknende presentasjoner


Presentasjon om: "1 Kap 02 Relasjonsdatabaser. Tabeller Dataene i en relasjonsdatabase er plassert i to-dimensjonale tabeller. En relasjons-database består av tabeller."— Utskrift av presentasjonen:

1 1 Kap 02 Relasjonsdatabaser

2 Tabeller Dataene i en relasjonsdatabase er plassert i to-dimensjonale tabeller. En relasjons-database består av tabeller.

3 Eksempel på innhold i en database Tables Indexes Triggers Views Procedures Rules Datatypes Defaults Database

4 Database / Tabell / Rad / Kolonne 5Nilsen5002 2Olsen6400 1Hansen9000 4Berg6400 Database Tabell Rad Post Record Kolonne Felt

5 Hva er en relasjons-database ? NrNavnPNr 5Nilsen4890 7Olsen6400 3Hansen4890 8Karlsen4890 PNrSted 4890Grimstad 5002Bergen 6400Molde En relasjons-database er en database hvor alle dataene er samlet i to-dimensjonale tabeller og hvor tabellene eventuelt står i en 1:1 eller 1:n relasjon til hverandre. Tabellene er inndelt i rader (records) og kolonner (felter). n1n1

6 Viktige fortrinn ved relasjons-database ä Reduserer lagring av redundante data. ä Data kan lett omorganiseres og kombineres i nye relasjoner, de er ikke låst til faste relasjoner pga måten de er lagret på. ä Data kan lett oppdateres i det disse vil bli oppdatert på et minimum antall steder. ä Reduserer behovet for disk-plass.

7 3 sentrale gjenfinnings-operasjoner i Codd’s relasjons-algebra ä SelectionEkstraherer alle rader fra en tabell, hvor radene oppfyller gitte kriterier. ä ProjectionEkstraherer en eller flere kolonner fra en tabell. ä JoinEkstraherer kolonner fra flere relaterte tabeller. SelectionProjectionJoin

8 Normal-former SNrNavnPNrStedVNrPrisMgVNrPrisMgVNrPrisMg 5Nilsen5002Bergen Olsen6400Molde Hansen9000Tromsø Berg6400Molde SNrSelger-nummer NavnSelger-navn PNrPost-nummer StedPost-sted VNrVare-nummer PrisVare-pris MgVare-mengde

9 1NFFørste normalform ä Hver tabell skal ha en fast postlengde ä Det skal være kun en post-type pr tabell ä Hver post skal ha et eget identifikasjons-felt ( ID ) SNrNavnPNrStedVNrPrisMg 5Nilsen5002Bergen Olsen6400Molde Olsen6400Molde Hansen9000Tromsø Hansen9000Tromsø Berg6400Molde Berg6400Molde Berg6400Molde530020

10 2NFAndre normalform ä Databasen må være på 1.normalform ä Deler av ID skal ikke kunne være determinantfelt for andre felt, dvs deler av ID skal ikke entydig kunne bestemme verdier i et annet felt SNrNavnPNrSted 5Nilsen5002Bergen 2Olsen6400Molde 1Hansen9000Tromsø 4Berg6400Molde VNrPris SNrVNrMg

11 3NFTredje normalform ä Databasen må være på 2.normalform ä Det må ikke eksistere noen funksjonelle avhengigheter mellom egenskapsfeltene (felter utenom ID-feltene) SNrNavnPNr 5Nilsen5002 2Olsen6400 1Hansen9000 4Berg6400 VNrPris SNrVNrMg PNrSted 5002Bergen 6400 Molde 9000Tromsø

12 3NFTredje normalform SNrNavnPNr 5Nilsen5002 2Olsen6400 1Hansen9000 4Berg6400 VNrPris SNrVNrMg PNrSted 5002Bergen 6400 Molde 9000Tromsø Selger Adr Vare Salg

13 Modellator-Notasjon Selger Adr Kråkefot Uten attributter Selger Adr Med attributter SNr Navn *PNr PNr Sted

14 Modellator Selger Adr Kråkefot Selger Adr Gaffel Selger Adr Pil Selger Adr Pil / Dobbeltpil Selger Adr Antall Selger Adr Niam-basert Selger Adr Kan / Må 0..m 1..1

15 Generell metode for tilordning av 3NF-tabeller(0) Vi går tilbake til vår opprinnelige Selger-tabell på 1NF form. Følgende felter er med i denne 1NF-tabellen ( ID er markert med * ). *SNrSelger-nummer NavnSelger-navn PNrPost-nummer StedPost-sted *VNrVare-nummer PrisVare-pris MgVare-mengde

16 Generell metode for tilordning av 3NF-tabeller(1) *SNr Navn PNr Sted *VNr Pris Mg 1.Vi tegner inn relasjoner (piler) fra de feltene som entydig bestemmer verdien i andre felter til disse andre feltene. Total(1NF)

17 Generell metode for tilordning av 3NF-tabeller(2) 2.Lag en ny tabell ved å plukke ut alle *-feltene samt alle feltene som er funksjonelt avhengig av alle disse *-feltene. Denne nye tabellen vil være på 2NF. *SNr *VNr Mg Salg(2NF)

18 Generell metode for tilordning av 3NF-tabeller(3) 3.Hvis det i 1NF-tabellen finnes felt som er avhengig av en ekte delmengde av *-feltene, plukkes disse ut sammen med tilhørende *-felt i egne tabeller. Disse nye tabellene vil være på 2NF. *SNr Navn PNr Sted Selger(2NF) *VNr Pris Vare(2NF)

19 Generell metode for tilordning av 3NF-tabeller(4) 4.Hvis det i noen av våre 2NF-tabeller ( Salg, Selger, Vare ) finnes ikke-*-felter (ikke ID-felter) som entydig bestemmer verdier i andre ikke-*-felter, plukkes disse nevnte feltene ut i egne tabeller. I vårt eksempel gjelder dette tabellen Selger (PNr bestemmer Sted). Tabellen Selger splittes i to: Tabellene Selger og Adr (Adresse). Selger-tabellen beholder informasjon om PNr. ID i disse nye tabellene vil være de feltene som entydig bestemmer andre felt-verdier. Alle tabellene vil nå være på 3NF. *SNr Navn PNr Selger(3NF) *PNr Sted Adr(3NF)

20 Generell metode for tilordning av 3NF-tabeller(5) Alle våre 4 tabeller ( Selger, Adr, Vare, Salg ) vil nå oppfylle 3NF. *SNr Navn PNr Selger(3NF) *PNr Sted Adr(3NF) *SNr *VNr Mg Salg(3NF) *VNr Pris Vare(3NF)

21 Generell metode for tilordning av 3NF-tabeller(6) Følgende relasjoner gjelder mellom våre 4 tabeller ( Selger, Adr, Vare, Salg ) vil nå oppfylle 3NF. *SNr Navn PNr Selger *PNr Sted Adr *SNr *VNr Mg Salg *VNr Pris Vare


Laste ned ppt "1 Kap 02 Relasjonsdatabaser. Tabeller Dataene i en relasjonsdatabase er plassert i to-dimensjonale tabeller. En relasjons-database består av tabeller."

Liknende presentasjoner


Annonser fra Google