Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Hopp til første side Ansatt (ansnr) Beløp (NKr)+ Telefon (tlfnr) Fødselsdato (dmå) er født har har lønn har betalt skatt Ansatt (ansnr) Beløp (NKr)+ Telefon.

Liknende presentasjoner


Presentasjon om: "Hopp til første side Ansatt (ansnr) Beløp (NKr)+ Telefon (tlfnr) Fødselsdato (dmå) er født har har lønn har betalt skatt Ansatt (ansnr) Beløp (NKr)+ Telefon."— Utskrift av presentasjonen:

1 Hopp til første side Ansatt (ansnr) Beløp (NKr)+ Telefon (tlfnr) Fødselsdato (dmå) er født har har lønn har betalt skatt Ansatt (ansnr) Beløp (NKr)+ Telefon (tlfnr) Fødselsdato (dmå) er født har har lønn har betalt skatt

2 Hopp til første side Ansatt ( ansnr, fdato, lønn, [skatt] ) Telefon ( ansnr, tlfnr ) *Nettolønn ( ansnr, netto ) ::= ansnr, lønn - skatt from Ansatt Eksempel på relasjonsskjema

3 Hopp til første side create table Ansatt ( ansnrinteger primary key, fdatodate not null check ( fdato between ’ ’ and CURRENT_DATE ), lønndecimal(9,2) not null, skattdecimal(9,2) ) create table Telefon ( ansnrinteger references Ansatt, tlfnrchar(15) not null, primary key (ansnr, tlfnr) ) create view Nettolønn (ansattnr, netto) as select ansattnr, lønn - skatt from Ansatt

4 Hopp til første side Operatorer på sett/mengder For å : Union A  B - slå sammen 2 mengder Snitt A  B - finne felles undermengde Differanse A - B - finne unik undermengde i A Hva representerer mengdene A og B ? Krever at A og B er union-kompatible : like mange kolonner korresponderende domener Kartesisk produkt (cross join) A x B For å generere alle parkombinasjoner av elementene fra A og B

5 Hopp til første side Operatorer på tabeller Seleksjon T where c Utvalg av rader som tilfredsstiller c Projeksjon T[ a,b,...] Utvalg av kolonnene a,b,... med repeterte rader fjernet. Join A x B where A.a  B.b Kombinere kolonner fra forskjellige tabeller ved sammenligning av kolonnene a og b. Natural join A  B Sammenligner med = på kolonne med felles navn (og domene). Assosiativ Divisjon A  B Finner hvilke rader i A er assosiert med alle rader i B

6 Hopp til første side Structured Query Language n Definere datastruktur u Implementere relasjonsskjema F Tabellskjema F Beskrankninger F Utledninger n Spørre etter informasjon i databasen n Oppdatere og vedlikeholde database n For relasjonelle databaser n Deklarativt, ikke prosedyre språk n Forskjellige versjoner av standard

7 Hopp til første side Relasjonsalgebra vs SQL T[a,b,...]select distinct a,b,... from T T where cselect * from T where c T[a,b,...] where cselect distinct a,b,... from T where c select a,b,... from T where c AxB where A.a  B.bselect * from A join B where A.a  B.b A  Bselect * from A natural join B Unionselect... union select... Snittselect... intersect select... Differanseselect... except select...

8 Hopp til første side Join A a1 a2 a3 B b1 b2 b4 B b1 b2 b3 C c1 c2 c3 c4 A a1 a2 a3 a4 ? B b1 b2 b4 b3 C c1 c2 c3 ? b select * from R1 natural join R2 select * from R1 natural left join R2 select * from R1 natural right join R2 select * from R1 natural full join R2 R1:R2 :R1 join R2 : Inner join Outer join

9 Hopp til første side Beskrankninger Entydighet primary key unique Totale roller not null references Andre check ( betingelse ) i noen tilfeller : spesialdesignet kode

10 Hopp til første side Rmap prosedyre 2 hovedsteg : Faktatyper med sammensatt entydighetsbeskrankninger mappes til egne tabeller. Faktatyper med funkjsonelle roller tilknyttet samme entitetstype, grupperes inn i samme tabell, med entitetstypen sin identifikator som nøkkel. Prioritering : Korrekthet, klarhet, effektivitet Mål : Unngå redundans. Minimalisere antall tabeller


Laste ned ppt "Hopp til første side Ansatt (ansnr) Beløp (NKr)+ Telefon (tlfnr) Fødselsdato (dmå) er født har har lønn har betalt skatt Ansatt (ansnr) Beløp (NKr)+ Telefon."

Liknende presentasjoner


Annonser fra Google