En til en og rekursive sammenhenger

Slides:



Advertisements
Liknende presentasjoner
12.Studienreise nach Finnland,
Advertisements

Skriv om slik at setningene betyr omtrent det samme
Kvinner og politikk Kvinnelig valgmobilisering i Nord-Norge: Glasstak eller etterslep? Marcus Buck.
Praktiske tips i DIPS Jon Even Sandvei Seniorkonsulent
Når matematikk blir magisk
© 2006 IFS AB. All rights reserved.
Litt mer om PRIMTALL.
Grafisk design Visuell kommunikasjon
BankID i Vital Forsikring ASA
Mange til mange sammenhengen
Høgskolen i Oslo Webprogrammering Grunnleggende PHP.
Produktkalkulasjon Læringsmål i kapitlet:
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
Tallord.
Avansert SQL og problemløsning
Rettigheter og plikter i arbeidslivet
Ole Petter Sørensen Trainor as
Trådløs telefon 7921G Nye Menyer
Regnskapsorganisasjon Regnskapssystemer Nettstudier Hva er et (godt) regnskapssystem? Plikt etter loven Ditt arbeide med lovsamlingen Jf.
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Databaseteori.
1 Kap 04 Datamodellering. 2 Datamodellering -Et språk for å analysere og beskrive virkeligheten. -En metode for å beskrive naturlige sammenhenger i data.
Den Jødekristne arven til vestkysten av India Israelsmøte på Vea, Tirsdag 1.oktober Av Ivar Fjeld 1.
SQLHiA Data-integritet. SQLHiA Data integritet Påkrevde data:Noen kolonner i en database-tabell må ha en eller annen verdi. Dette gjøres ved å sette NOT.
Noen hoderegningstriks
Prinsesse eller pirat – et fritt valg!
Databasehåndtering med MySQL
Module 10: Working Capital Management
Figur 3.2 Faste kostnader pr. Enhet ved ulike aktivitetsnivåer
Kapittel 14 Simulering.
Kvalitetssikring av analyser til forskningsbruk
SQL The questing beast Sir Thomas Mallory. Codds krav 5.Krav om omfattende språk for datahåndtering Det må finnes et relasjonelt språk som støtter datadefinisjon,
En sesongcup for årsklassene J15, J16, G15, G16 etter modell av NorgesCupen OASSK Cupen !
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
In 135 Datamodellering og databaser Introduksjon, Enkeltentiteten, Informasjon Ola Bø.
LC238D Datamodellering og databaser Else Lervik, september 2011 Forelesning 6, Uke 38 Objektorientering i ER-modeller.
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
Kap 06 Diskrete stokastiske variable
Revisjon Enklere i bruk Bedre redigeringsmuligheter. Tilpassing til egne behov Ståstedsanalysen sammen med resten av verktøyene i Skoleporten utgjør et.
Bygg og funksjon – å bestille et bygg – roller i en byggeprosess
DAG HOFTUN KNUTSEN Bruk og misbruk av SQL DAG HOFTUN KNUTSEN
Skriv om slik at setningene betyr omtrent det samme
GRØNNALGER BRUNALGER RØDALGER
Anvendt statistisk dataanalyse i samfunnsvitenskap
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
1 Sissi Karlson Født: Posisjon: Målvakt.
Figur 1 Behov. Figur 2 Behov Figur 3 Prioritering/ressursinnsats.
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Fødselsdato (dmå) er født har lønn Ansatt (ansnr) Beløp (NKr)+ Telefon
Bayeux-teppet 01 Romansk
Åpne en luke hver dag og få en gave
LEDIGE LOKALER TIL LEIE PÅ VÆRSTE-OMRÅDET
Samdata 2012 Somatikk.
Linq To SQL Fagdag 20. November DataContext  DataContexten er mappingen mot databasen –Generer objekter for alle entiteter (tabeller), med properties.
Presentasjon Robert Ruud
Avlevering i praksis KDRS-samling
INF3100 – – Ellen Munthe-Kaas Indeksering UNIVERSITETET I OSLO © Institutt for Informatikk Utvalgte animerte lysark: lysark nr. 7, 8, 9, 10,
Inflation og produktion 11. Makroøkonomi Teori og beskrivelse 4.udg. © Limedesign
Hva er riktig utvikling av kollektivtrafikken i Oppland. Historikk
PIMEX for kontroll av støyeksponering Filmer fra Sunndalsøra 16. februar 2007 Kristin Brørs.
Se ellers læreboka, kap , side
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
1. Født: Posisjon.
Veivalgsanalyse etter Sørlandsmesterskapet i lang (klassisk) distanse 2004.
Befolkning og arbejdsmarked 7. Mikroøkonomi Teori og beskrivelse © Limedesign
Hva er klokka?
Tilbudet i 2015 Kontraktene Oslo sentrum og Linje 25 Oslo Jan Erik Pedersen, Ruteplanlegger.
Utskrift av presentasjonen:

En til en og rekursive sammenhenger Self-reflection is the school of wisdom Baltastar Gracián

Et organisasjonskart

Modellering av et 1:1 forhold AVDELING ANSATT *avdnavn *ansattnr avdetasje ansattnavn avdtlf ansattlonn Avdelingsleder 1:1 sammenhengen er merket med navn Sammenhengsbeskrivelse Selvsagte sammenhenger merkes ikke med navn

Modellering av en rekursiv sammneheng En rekursiv sammenheng binder sammen en entitet med seg selv Rekursive sammenhenger skal merkes AVDELING ANSATT *avdelingsnavn *ansattnr avdelingsetasje ansattfnavn avdelingstlf ansattlonn avdelingsleder overordnet

Mapping av en 1:1 sammenheng De vanlige reglene gjelder Hvor plasserer du fremmednøkkelen? AVDELING? ANSATT? BEGGE TABELLER? regel: Plasser fremmednøkkelen slik at det blir færrest mulig NULL - her avdeling

Mapping av rekursive sammenhenger Vanlige regler 1:m Entiteten får en ekstra kolonne for fremmednøkkelen Må ha eget navn forskjellig fra primærnøkkel

Fremmednøkkel avdelingsleder Resultater av mapping Fremmednøkkel avdelingsleder AVDELINGS AVDELINGSNAVN AVDELINGS- ETASJE AVDELINGSTLF ANSATT- NR Management 5 2001 1 Marketing 2002 2 Accounting 4 2003 Purchasing 2004 7 Personnel & PR 2005 9 ANSATT ANSATT- NR ANSATT- FNAVN ANSATT- LONN AVDELINGS- NAVN OVER- ORDNET- NR 1 Alice 75000 Management 2 Ned 45000 Marketing 3 Andrew 25000 4 Clare 22000 5 Todd 38000 Accounting 6 Nancy 7 Brier 43000 Purchasing 8 Sarah 56000 9 Sophie 35000 Personnel & PR

Hvorfor mangler referanseintegritet for OVERORDNET? Å lage tabellene CREATE TABLE AVDELING ( AVDELINGSNAVN VARCHAR(15), AVDELINGSETASJE SMALLINT NOT NULL, AVDELINGSTLF SMALLINT NOT NULL, ANSATTNR SMALLINT NOT NULL, PRIMARY KEY(AVDELINGSNAVN) ); CREATE TABLE ANSATT ( ANSATTNR SMALLINT, ANSATTFNAVN VARCHAR(10), ANSATTLONN DECIMAL(7,0), AVDELINGSNAVN VARCHAR(15), OVERORDNET SMALLINT, PRIMARY KEY(ANSATTNR), CONSTRAINT FK_EMP_AVDELINGS FOREIGN KEY(AVDELINGSNAVN) REFERENCES AVDELING Hvorfor mangler referanseintegritet for OVERORDNET?

Spørring i et 1:1 forhold List lønna for hver avdelingsleder. SELECT ANSATTFNAVN, AVDELINGSNAVN, ANSATTLONN FROM ANSATT WHERE ANSATTNR IN (SELECT ANSATTNR FROM AVDELING); ANSATTFNAVN AVDELINGSNAVN ANSATTLONN Alice Management 75000 Ned Marketing 45000 Todd Accounting 38000 Brier Purchasing 43000 Sophie Personnel & PR 35000

Spørring fra en rekursiv sammenheng Finn lønna til Nancys sjef. SELECT UNDERORDNET.ANSATTFNAVN, UNDERORDNET.ANSATTLONN, OVERORDNET.ANSATTFNAVN, OVERORDNET.ANSATTLONN FROM ANSATT UNDERORDNET, ANSATT OVERORDNET WHERE UNDERORDNET.ANSATTFNAVN = 'NANCY' AND UNDERORDNET.OVERORDNETNR = OVERORDNET.ANSATTNR; UNDERORDNET.ANSATTFNAVN UNDERORDNET. ANSATTLONN OVERORDNET. ANSATTFNAVN OVERORDNET. ANSATTLONN Nancy 22000 Todd 38000

Å joine en tabell med seg selv ANSATT ANSATTN R ANSATT FNAVN ANSATTLONN AVDELINGSNAVN OVERORD NETNR 1 Alice 75000 Management 2 Ned 45000 Marketing 3 Andrew 25000 4 Clare 22000 5 Todd 38000 Accounting 6 Nancy 7 Brier 43000 Purchasing 8 Sarah 56000 9 Sophie 35000 Personnel & PR UNDERORDNET ANSATT ANSATT NR ANSATT FNAVN ANSATTLONN AVDELINGSNAVN OVERORD NETNR 1 Alice 75000 Management 2 Ned 45000 Marketing 3 Andrew 25000 4 Clare 22000 5 Todd 38000 Accounting 6 Nancy 7 Brier 43000 Purchasing 8 Sarah 56000 9 Sophie 35000 Personnel & PR OVERORDNET

Spørring fra en rekursiv sammenheng Finn navnene til ansatte som tjener mer enn sine overordnede SELECT UNDERORDNET.ANSATTFNAVN FROM ANSATT UNDERORDNET, ANSATT OVERORDNET WHERE UNDERORDNET.OVERORDNETNO = OVERORDNET.ANSATTNR AND UNDERORDNET.ANSATTLONN > OVERORDNET.ANSATTLONN; underordnet overordnet ansattnr ansatt fnavn ansattlonn avdelingsnavn overordn etno ansattfn avn overordne tno 2 Ned 45,000 Marketing 1 Alice 75,000 Management 3 Andrew 25,000 4 Clare 22,000 5 Todd 38,000 Accounting 6 Nancy 7 Brier 43,000 Purchasing 8 Sarah 56,000 9 Sophie 35,000 Personnel & PR ansattfnavn Sarah

Modeling a 1:1 recursive relationship The English monarchy

Mapping a 1:1 recursive relationship monarch montype monname monnum rgnbeg premonname premonnum Queen Victoria I 1837/6/20 William IV King Edward VII 1901/1/22 George V 1910/5/6 VIII 1936/1/20 VI 1936/12/11 Elizabeth II 1952/2/6

Creating the table CREATE TABLE monarch ( montype VARCHAR(5), monname VARCHAR(15) NOT NULL, monnum VARCHAR(5) NOT NULL, rgnbeg DATE, premonname VARCHAR(15), premonnum VARCHAR(5), PRIMARY KEY(monname,monnum));

Spørring fra en 1:1 rekursiv sammenheng Hvem regjerte før Elizabeth II? SELECT premonname, premonnum FROM monark WHERE monname = 'Elizabeth' and MONNUM = 'II'; premonname premonnum George VI

Querying a 1:1 recursive relationship Was Elizabeth II's predecessor a king or queen? SELECT pre.montype FROM monarch cur, monarch pre WHERE cur.premonname = pre.monname AND cur.premonnum = pre.monnum AND cur.monname = 'Elizabeth' AND cur.monnum = 'II'; montype King

Querying a 1:1 recursive relationship List the kings and queens of England in ascending chronological order. SELECT montype, monname, monnum, rgnbeg FROM monarch ORDER BY rgnbeg; montype monname monnum rgnbeg Queen Victoria I 1837-06-20 King Edward VII 1901-01-22 George V 1910-05-06 VIII 1936-01-20 VI 1936-12-11 Elizabeth II 1952-02-06

Modellering av en m:m rekursiv sammenheng Bill of materials (materialliste) problem Et produkt kan være en del av mange andre produkter og kan være satt sammen av mange andre produkter PRODUKT *prodid prodbeskr prodkostnad prodpris SAMMENSETNING antall

Mapping av en m:m rekursiv sammenheng PRODUkT PRODID PRODBESKR PROD KOSTNAD PRODPRIS 1000 Animal photography kit 725 101 35mm camera 150 300 102 Camera case 10 15 103 70-210 zoom lens 125 200 104 28-85 zoom lens 115 185 105 Photographer’s vest 25 40 106 Lens cleaning cloth 1 1.25 107 Tripod 35 45 108 24 exposure, 100 ASA, 35mm color negative film .85 SAMMEN- SETNING ANTALL PRODID SUBPRODID 1 1000 101 102 103 104 105 2 106 107 10 108

Å lage tabellene CREATE TABLE PRODUKT ( PRODID INTEGER, PRODBESKR VARCHAR(30), PRODKOSTNAD DECIMAL(9,2), PRODPRIS DECIMAL(9,2), PRIMARY KEY(PRODID)); CREATE TABLE SAMMENSETNING ( QUANTITY INTEGER NOT NULL, SUBPRODID INTEGER, PRIMARY KEY(PRODID, SUBPRODID), CONSTRAINT FK_SAMMENSETNING_PRODUKT FOREIGN KEY(PRODID)REFERENCES PRODUKT, CONSTRAINT FK_SAMMENSETNING_SUBPRODUKT FOREIGN KEY(SUBPRODID)REFERENCES PRODUKT);

Spørring mot en m:m rekursiv sammenheng Finn produktid for hver del av dyrefotograferingspakken. SELECT SUBPRODID FROM PRODUKT, SAMMENSETNING WHERE PRODBESKR = 'Animal photography kit' AND PRODUKT.PRODID = SAMMENSETNING.PRODID; SUBPRODID 101 106 107 105 104 103 102 108

Spørring mot en m:m rekursiv sammenheng Finn produktbeskrivelse og kostnad for hver komponent av dyrefotograferingspakken. SELECT PRODBESKR, PRODKOSTNAD FROM PRODUKT WHERE PRODID IN (SELECT SUBPRODID FROM PRODUKT, SAMMENSETNING WHERE PRODBESKR = 'Animal photography kit' AND PRODUKT.PRODID = SAMMENSETNING.PRODID); PRODBESKR PRODKOSTNAD 35mm camera 150.00 Camera case 10.00 70-210 zoom lens 125.00 28-85 zoom lens 115.00 Photographer’s vest 25.00 Lens cleaning cloth 1.00 Tripod 35.00 24 exp. 100ASA 35mm col neg 0.85