1 / 21

Kap 02 Relasjonsdatabaser

Kap 02 Relasjonsdatabaser. Tabeller. Dataene i en relasjonsdatabase er plassert i to-dimensjonale tabeller . En relasjons-database består av tabeller. Eksempel på innhold i en database. Database. Views. Procedures. Rules. Tables. Datatypes. Indexes. Defaults. Triggers.

tulia
Download Presentation

Kap 02 Relasjonsdatabaser

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Database Views Procedures Rules Tables Datatypes Indexes Defaults Triggers

  4. Database / Tabell / Rad / Kolonne Database Tabell 5 Nilsen 5002 2 Olsen 6400 1 Hansen 9000 4 Berg 6400 Rad Post Record Kolonne Felt

  5. Hva er en relasjons-database ? 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). n 1 Nr Navn PNr 5 Nilsen 4890 7 Olsen 6400 3 Hansen 4890 8 Karlsen 4890 PNr Sted 4890 Grimstad 5002 Bergen 6400 Molde

  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 oppdatertpå et minimum antall steder. • Reduserer behovet for disk-plass.

  7. 3 sentrale gjenfinnings-operasjoner i Codd’s relasjons-algebra • Selection Ekstraherer alle rader fra en tabell, hvor radene oppfyller gitte kriterier. • Projection Ekstraherer en eller flere kolonner fra en tabell. • Join Ekstraherer kolonner fra flere relaterte tabeller. Selection Projection Join

  8. Normal-former SNr Navn PNr Sted VNr Pris Mg VNr Pris Mg VNr Pris Mg 5 Nilsen 5002 Bergen 8 500 30 2 Olsen 6400 Molde 1 200 20 3 400 10 1 Hansen 9000 Tromsø 5 300 50 8 500 40 4 Berg 6400 Molde 1 200 70 3 400 50 5 300 20 SNr Selger-nummer Navn Selger-navn PNr Post-nummer Sted Post-sted VNr Vare-nummer Pris Vare-pris Mg Vare-mengde

  9. 1NF Fø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 ) SNr Navn PNr Sted VNr Pris Mg 5 Nilsen 5002 Bergen 8 500 30 2 Olsen 6400 Molde 1 200 20 2 Olsen 6400 Molde 3 400 10 1 Hansen 9000 Tromsø 5 300 50 1 Hansen 9000 Tromsø 8 500 40 4 Berg 6400 Molde 1 200 70 4 Berg 6400 Molde 3 400 50 4 Berg 6400 Molde 5 300 20

  10. 2NF Andre 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 SNr Navn PNr Sted 5 Nilsen 5002 Bergen 2 Olsen 6400 Molde 1 Hansen 9000 Tromsø 4 Berg 6400 Molde VNr Pris 8 500 1 200 3 400 5 300 SNr VNr Mg 5 8 30 2 1 20 2 3 10 1 5 50 1 8 40 4 1 70 4 3 50 4 5 20

  11. 3NF Tredje normalform • Databasen må være på 2.normalform • Det må ikke eksistere noen funksjonelle avhengigheter mellom egenskapsfeltene (felter utenom ID-feltene) SNr Navn PNr 5 Nilsen 5002 2 Olsen 6400 1 Hansen 9000 4 Berg 6400 SNr VNr Mg 5 8 30 2 1 20 2 3 10 1 5 50 1 8 40 4 1 70 4 3 50 4 5 20 VNr Pris 8 500 1 200 3 400 5 300 PNr Sted 5002 Bergen 6400 Molde 9000 Tromsø

  12. 3NF Tredje normalform Adr Selger Vare PNr Sted 5002 Bergen 6400 Molde 9000 Tromsø SNr Navn PNr 5 Nilsen 5002 2 Olsen 6400 1 Hansen 9000 4 Berg 6400 VNr Pris 8 500 1 200 3 400 5 300 Salg SNr VNr Mg 5 8 30 2 1 20 2 3 10 1 5 50 1 8 40 4 1 70 4 3 50 4 5 20

  13. Modellator - Notasjon Kråkefot Selger Adr 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 1..1 Selger Adr Antall 0..m Selger Adr Niam-basert Selger Adr Kan / Må

  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 * ). * SNr Selger-nummer Navn Selger-navn PNr Post-nummer Sted Post-sted * VNr Vare-nummer Pris Vare-pris Mg Vare-mengde

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

  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. Salg (2NF) * SNr * VNr Mg

  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. Selger (2NF) Vare (2NF) * SNr Navn PNr Sted * VNr Pris

  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. Selger (3NF) Adr (3NF) * SNr Navn PNr * PNr Sted

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

  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. Selger Adr Vare * SNr Navn PNr * PNr Sted * VNr Pris Salg * SNr * VNr Mg

More Related