Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 Kap 02 Relasjonsdatabaser. Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk.

Liknende presentasjoner


Presentasjon om: "1 Kap 02 Relasjonsdatabaser. Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk."— Utskrift av presentasjonen:

1 1 Kap 02 Relasjonsdatabaser

2 Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk

3 Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk Total

4 Data-organisering - Manuelt / vha IT Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk Dataskjerm Database Ansatte Pasienter Avdelinger Utstyr Økonomi Tabeller

5 Database-system Bruker Appl. DBMS DD Database

6 Data-gjenfinning - Manuelt / vha IT Interaktiv SQL Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk ManueltDatabase Ansatte Pasienter Avdelinger Utstyr Økonomi Tabeller Hent pasientkort Select PasientNr, EtterNavn, Diagnose FROM Pasienter

7 Data-gjenfinning - vha IT SQL innebygget i et databaseutviklingsverktøy Select PasientNr, EtterNavn, Diagnose FROM Pasienter …

8 Database- utviklingsverktøy Objekt-orientert Meldings-orientert Statisk / Dynamisk SQL Objekt-orientert:Til komplekse probl. Meldings-orientert:Obj-kommunikasjon Statisk / Dynamisk SQL:Eksplisitt SQL-kode Applikasjonen bygger selv SQL-kode

9 Dynamisk SQL Applikasjonen bygger selv opp SQL-statementene

10 Database- utviklingsverktøy Med et avansert database-utviklingsverktøy, samt godt utbygde klasserelasjoner, meldingshåndteringer og dynamisk oppbygging av SQL-statement, vil en stor del av databaseapplikasjonsutvikling bestå i å designe gode brukergrensesnitt. Objekt-orientert Meldings-orientert Statisk / Dynamisk SQL

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

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

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

14 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

15 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.

16 Normal-former SNrNavnPNrStedVNrPrisMgVNrPrisMgVNrPrisMg 5Nilsen5002Bergen850030 2Olsen6400Molde120020340010 1Hansen9000Tromsø530050850040 4Berg6400Molde120070340050530020 SNrSelger-nummer NavnSelger-navn PNrPost-nummer StedPost-sted VNrVare-nummer PrisVare-pris MgVare-mengde

17 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 5Nilsen5002Bergen850030 2Olsen6400Molde120020 2Olsen6400Molde340010 1Hansen9000Tromsø530050 1Hansen9000Tromsø850040 4Berg6400Molde120070 4Berg6400Molde340050 4Berg6400Molde530020

18 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 8500 1200 3400 5300 SNrVNrMg 5830 2120 2310 1550 1840 4170 4350 4520

19 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 8500 1200 3400 5300 SNrVNrMg 5830 2120 2310 1550 1840 4170 4350 4520 PNrSted 5002Bergen 6400 Molde 9000Tromsø

20 3NFTredje normalform SNrNavnPNr 5Nilsen5002 2Olsen6400 1Hansen9000 4Berg6400 VNrPris 8500 1200 3400 5300 SNrVNrMg 5830 2120 2310 1550 1840 4170 4350 4520 PNrSted 5002Bergen 6400 Molde 9000Tromsø Selger Adr Vare Salg

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

22 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

23 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

24 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)

25 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)

26 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)

27 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)

28 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)

29 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. Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk."

Liknende presentasjoner


Annonser fra Google