1 / 10

Ansatt (ansnr)

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

roz
Télécharger la présentation

Ansatt (ansnr)

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. Fødselsdato (dmå) er født har lønn Ansatt (ansnr) Beløp (NKr)+ Telefon (tlfnr) har har betalt skatt Fødselsdato (dmå) er født har lønn Ansatt (ansnr) Beløp (NKr)+ Telefon (tlfnr) har har betalt skatt

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

  3. create table Ansatt ( ansnr integer primary key, fdato date not null check ( fdato between ’1920-01-01’ and CURRENT_DATE ), lønn decimal(9,2) not null, skatt decimal(9,2) ) create table Telefon ( ansnr integer references Ansatt, tlfnr char(15) not null, primary key (ansnr , tlfnr)) create view Nettolønn (ansattnr, netto) as select ansattnr, lønn - skatt from Ansatt

  4. 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 • Krever at A og B er union-kompatible : • like mange kolonner • korresponderende domener Hva representerer mengdene A og B ? Kartesisk produkt (cross join) A x B For å generere alle parkombinasjoner av elementene fra A og B

  5. 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. Structured Query Language • Definere datastruktur • Implementere relasjonsskjema • Tabellskjema • Beskrankninger • Utledninger • Spørre etter informasjon i databasen • Oppdatere og vedlikeholde database • For relasjonelle databaser • Deklarativt, ikke prosedyre språk • Forskjellige versjoner av standard

  7. Relasjonsalgebra vs SQL T[a,b,...] select distinct a,b,... from T T where c select * from T where c T[a,b,...] where c select distinct a,b,... from T where c select a,b,... from T where c AxB where A.aB.b select * from A join B where A.aB.b A  B select * from A natural join B Union select ... union select ... Snitt select ... intersect select ... Differanse select ... except select ...

  8. Join R1: A a1 a2 a3 a3 B b1 b1 b2 b4 R2 : B b1 b2 b2 b3 C c1 c2 c3 c4 R1 join R2 : A a1 a2 a3 a3 a4 ? B b1 b1 b2 b2 b4 b3 C c1 c1 c2 c3 ? b4 1 2 3 Inner join 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 1 1+2 1+3 1+2+3 Outer join

  9. Beskrankninger Entydighet primary key unique Totale roller not null references Andre check ( betingelse ) i noen tilfeller : spesialdesignet kode

  10. Rmap prosedyre Prioritering : Korrekthet, klarhet, effektivitet • Mål : • Unngå redundans. • Minimalisere antall tabeller • 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.

More Related