a syntax overview - Østfold university college · det er en fordel hvis både min. og max. er med...

31
ITF10306 1 Databaser 1/10 Innledning EKSAMEN Emnekode: ITF10306 Emnenavn: Databaser Dato: 21.05.19 Eksamenstid: 09.00 - 13.00. Hjelpemidler: Syntaksoversikt (vedlagt oppgaven). Faglærer: Edgar Bostrøm/Ida K. Thoresen Sensurfrist: 11.06.19 Karakterene er tilgjengelige i Studentweb. Om oppgavesettet Oppgavesettet består av 3 tekstoppgaver og en flervalgsoppgave. Hver av de 4 oppgavene teller likt ved bedømningen. Vedlegget består av 6 sider. På flervalgsoppgaven er minst ett av svaralternativene korrekte, dette betyr at det kan være kun ett korrekt alternativ, men det kan også være flere eller alle. For hvert korrekt alternativ gis det 1 poeng, mens det for galt svar gis -0,5 poeng. Les gjennom hele oppgavesettet før du starter. Det vil kunne være informasjon underveis som er viktig for en senere oppgave. Være også svært nøye med å lese oppgaveteksten og kontrollere løsningen på hver deloppgave! Vedlagt er en syntaksoversikt, som finnes ved siden av oppgavearket. Du kan benytte utleverte ark der du ønsker å lage illustrasjoner, modeller etc. Når du gjør det husk å skrive SE PAPIRARK som svar på de oppgavene dette gjelder, så er du sikker på at sensor ser hva du har skrevet i tillegg til det som leveres elektronisk. Karakterene er tilgjengelige for studenter på studentweb senest 2 virkedager etter sensurfrist. Bompenger. Noen av dere blir kanskje i dårlig humør av det, men mye av dagens oppgave handler altså om bompenger. Vent med å deppe til etter eksamen!

Upload: others

Post on 03-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

1/10

Innledning

EKSAMENEmnekode:ITF10306Emnenavn:DatabaserDato:21.05.19Eksamenstid:09.00-13.00.Hjelpemidler:Syntaksoversikt(vedlagtoppgaven).Faglærer:EdgarBostrøm/IdaK.ThoresenSensurfrist:11.06.19KaraktereneertilgjengeligeiStudentweb.OmoppgavesettetOppgavesettetbestårav3tekstoppgaverogenflervalgsoppgave.Hveravde4oppgavenetellerliktvedbedømningen.Vedleggetbestårav6sider.Påflervalgsoppgavenerminstettavsvaralternativenekorrekte,dettebetyratdetkanværekunettkorrektalternativ,mendetkanogsåværeflereelleralle.Forhvertkorrektalternativgisdet1poeng,mensdetforgaltsvargis-0,5poeng.Lesgjennomheleoppgavesettetførdustarter.Detvilkunneværeinformasjonunderveissomerviktigforensenereoppgave.Væreogsåsværtnøyemedåleseoppgavetekstenogkontrollereløsningenpåhverdeloppgave!Vedlagterensyntaksoversikt,somfinnesvedsidenavoppgavearket.Dukanbenytteutlevertearkderduønskerålageillustrasjoner,modelleretc.NårdugjørdethuskåskriveSEPAPIRARKsomsvarpådeoppgavenedettegjelder,såerdusikkerpåatsensorserhvaduharskrevetitilleggtildetsomlevereselektronisk.Karaktereneertilgjengeligeforstudenterpåstudentwebsenest2virkedagerettersensurfrist.

Bompenger.

Noenavdereblirkanskjeidårlighumøravdet,menmyeavdagensoppgavehandleraltsåombompenger.Ventmedådeppetilettereksamen!

Page 2: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

2/10

Page 3: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

3/10

1 Oppgave1.SQL’evibetalesåmye?

Oppgave1.SQL’evibetalesåmye?Tid:1time.Visnakkerombommerellerbomstasjoner,selvomdetjoegentligerstedermedelektroniskregistreringavpasseringen.Dettesværtforenkledesystemetbeståravinformasjonombommeneinkl.pris,dvs.hvaenpasseringgjennomdennebommenkoster,hvilkebilersompasserer,ogselvepasseringen,inkl.tidenforpasseringen.Kjennetegnerdetsomvimerfolkeligkallerforbilnummer(f.eks.AA98765).Viregnerbaremednorskekjøretøy.Sammeperson(ogfirma)kaneieflerebiler.Forfirmaerskrivesfirmanavnetinnsometternavn,mensfornavn-kolonnenikkeblirbrukt.Tilsvarendebrukervifirmanrifødselsnummer-kolonnen.TabellenBilinneholderenBiltypekode,dettebeskrivesnærmereioppgave3.Deulikebommenekanhaulikprisforpassering,menforeløpigregnerviatallebiltyperharsammeprisforengittbom.Passeringsnritabellenpasseringerenteller/løpenummer.Fremmednøkleneitabellenframkommeravkorresponderendeprimærnøklerideandretabellene.BILKjennetegnBiltypekodeFødselsnrEtternavnFornavnAdressePostnrPoststedBOMBomnrBomnavnPrisPASSERINGPasseringsnrKjennetegnBomnrDagMånedÅrTidspunkt

a. Skrivutaltombommersominneholder‘tunnell’somendelavnavnetsitt.

b. Skrivutallepasseringeri2019forbilermedkjennetegnsombegynnerpåbokstaveneASogAA.Kjennetegn,bomnrog-navn,samtdatoogtidspunktskalskrivesut.Detskalsorteresslikatdenyestepasseringenekommerførst.

c. SkrivutaltfratabellenBilfordebilenesomikkeharnoenpasseringeridetheletatti2019.

d. Hvilkenbomerdendyresteåpasseregjennom?Bomnr,-navnogprisskalværemed.Detkangodtværefleresomerlikedyre,ogisåtilfelleskalalledisseværemed.

e. Skrivutantallpasseringerforhverbomstasjon.Bomnr,-navnogantallpasseringerskalmed.

f. Skrivutkjennetegnpåbilersomharbetaltover10.000ibompengeri2019.

g. Skrivutkjennetegn,bomnrog-navnpådebilenehvorallepasseringeneharskjeddpåsammebom.

Dukanbrukeetegetarkhvisduønskerålageillustrasjoner,modelleretc.Hvisdugjørdet,skrivSEPAPIRARKSEPAPIRARKfordeoppgavenedetgjelder,slikatduersikkerpåatsensorserhvaduharskrevetitilleggtildetsomlevereselektronisk.

Skrivdittsvarher...

Page 4: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

4/10

2 Oppgave2.MerSQL.Normalisering

Oppgave2.MerSQL.NormaliseringTid:1time.

a. LagenCREATETABLE-setningforålagetabellenPASSERING.Tidspunktkanduregnef.eks.somenstrengellerdukandefineredetmeddatatypentime.Deterenfordelhvisdufårmedatdatomåværeettallfra1til31,ogmånedmåværeettallfra1til12.

b. DefinerfremmednøklerforPASSERING.BrukALTERTABLE-setninger.Tamedendringstyper,vibrukerRESTRICTforslettingogCASCDEforendring.

c. BilenmedkjennetegnAA12345erbyttetutmedennybilmedkjennetegnAA98765.Viskalleggeinnkjennetegnetfordennyeistedetfordengamle.BrukenUPDATE-setningfordette.

d. Skrivutbomnr,-navnogantallpasseringerfordenbomstasjonensomharflestpasseringer.Detkangodtværefleresomharlikemangepasseringer.

e. Skrivutkjennetegnpåbilersomharpassertbådebomnr13ogbomnr17påsammedato.

f. Lagenlistemedallebruddpå2NF(2.normalform)somfinnesitabellenBIL.Alternativtkandubrukeetdetermineringsdiagramforåvisebruddene.

g. ForeslånytabellstrukturforBIL(evt.fordeltpåfleretabeller)slikatdetikkebrytermed2NF

Dukanbrukeetegetarkhvisduønskerålageillustrasjoner,modelleretc.Hvisdugjørdet,skrivSEPAPIRARKSEPAPIRARKfordeoppgavenedetgjelder,slikatduersikkerpåatsensorserhvaduharskrevetitilleggtildetsomlevereselektronisk.

Skrivdittsvarher...

Page 5: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

5/10

3 Oppgave3.Datamodellering

Oppgave3.DatamodelleringTid:1time.Viskalgjøreendelutvidelseriforholdtildetenklesystemetioppgave1.

Detfinnesjomangebomselskapilandet,ogdeharansvarfordeulikebommenesomfinnes.Viskalhamedinformasjonomdette,medBomselskapID,BomselskapNavn,oghvilketbomselskaphverbomhørertil.Personer(ogfirmaer)kanoppretteenavtale(bomavtale)medettogbareettbompengeselskap,manharitilfelleetavtalenrogdatofornåravtalenbleinngått.Denneavtalenkangjeldeflerebiler.Dettypiskeerdaatdefårf.eks.rabatt(f.eks.30%)påpasseringerfordettebompengeselskapetsbommer,mendennekanvarierelittfraavtaletilavtale,noenerjoflinketilåforhandle!!Desomerekstraflinketilåforhandlekanogsåfåprosenterhosetannetbomselskapenndendeharavtalemed.Rabattprosenten(e)skalinkluderesisystemet.

Ipraksisharbommeneulikepriserforulikebiltyper.Forhverbommådetderforfinnesenoversiktoverulikebiltypermedbiltypekodeog-betegnelse(f.eks.BB-Personbil,LA-Lastebil,EL–Elbilosv.,ognyekoderog-betegnelsermåkunneleggesinn).Dettemåværeknyttettildenenkeltebil.Viantaratenbilkunerknyttetoppmotenbiltypekode.

DetmåogsåfinnesenoversiktoverpriserforhverBiltypepåhverbomstasjon(f.eks.atdetforpasseringgjennombomstasjonnr.2918koster25kr.forBB,60kr.forLA,osv.).Dettevildermeddannegrunnlagetforåkunnehaulikepriseravhengigavhvilkenbiltypedeter.

Lagendatamodellhvordutarutgangspunktidetsomersagtioppgave1og2,ogduleggertil(evt.endrer)utfradetsomerbeskrevetover.Deterenfordelhvisbådemin.ogmax.ermedimodellen,ogtilsverndemedverb/rollerderdetkanklargjøremodellen.Kommentérderdumenerdetkanværetvilomhvordanstrukturenbørvære.

(Detleggesmestpåmodellen,menkommentarervilogsåtellemed.)

Dukanbrukeetegetarkhvisduønskerålageillustrasjoner,modelleretc.Hvisdugjørdet,skrivSEPAPIRARKSEPAPIRARKfordeoppgavenedetgjelder,slikatduersikkerpåatsensorserhvaduharskrevetitilleggtildetsomlevereselektronisk.

Skrivdittsvarher...

Oppgave4-Flervalgsoppgave

Påhveroppgaveerminstettavsvaralternativenekorrekte,dettebetyratdetkanværekunettkorrektalternativ,mendetkanogsåværeflereelleralle.Forhvertkorrektsvaralternativgisdet1poeng,mensdetforgaltsvargis-0,5poeng.

Page 6: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

6/10

4 Oppgave4.a

Hvilkestruktureravdatamodellerharvi?Velgettellerflerealternativer

Fysisknivå

Konseptueltnivå

Praktisknivå

Logisknivå

5 Oppgave4.b

Hvaergaltomfremmednøkler?Velgettellerflerealternativer

Primærnøkkelenfrahovedtabellenblirfremmednøkkelidetaljeringstabellen

Utenfremmednøklerhaddeviikkeklartåkobleinformasjonfraforskjelligetabellersammen

Fremmednøklenemåaldrisettespåmangesidenienrelasjon

Ienidentifiserendestrukturbenyttesfremmednøkkelensomendelavprimærnøkkelenidetaljeringstabellene

6 Oppgave4.c

Vikangjørefleretyperkontrollavlovligeverdier.Hvilke?Velgettellerflerealternativer

Kontrollavmaksantall

Kontrollifleredimensjoner

Kontrollirelasjoner

Kontrolliettnivå

Page 7: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

7/10

7 Oppgave4.d

Hvaerkorrektomnettverk?Velgettellerflerealternativer

Båderettedeogurettedegrafererentypenettverk

Enrelasjonsdatabasekanbeskrivevissenettverk

Etnettverkeretsystemavnoderogkanter

Enmatrisekanbenyttesforåbeskriveetnettverk

8 Oppgave4.e

Hvamåværeoppfyltforatentabellskalværepå,2NF,2.normalform?Velgettellerflerealternativer

Deleravnøkkelenskalikkekunnedeterminereikke-nøkkelattributter

Alleattributterskalværeatomiske

Enhverdeterminanterenkandidatnøkkel

Ikke-nøkkelattributterskalikkeværetransitivtavhengigeavprimærnøkkelen

9 Oppgave4.f

Hvordankoblervidataifleretabellersammenienrelasjonsdatabase?Velgettellerflerealternativer

Vikoblerdatasammenbasertpåkolonnenavnene

Vikoblerdatasammenbasertpåhvordandataeneserut

Vikoblerdatasammenbasertpålikhetiverdier

Vikoblerdatasammenbasertpårekkefølgenavradeneitabellen

Page 8: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

8/10

10 Oppgave4.g

Hvilkeegenskaperregnessomfasteegenskaperienrelasjonsdatabase?Velgettellerflerealternativer

Allekolonnermåinneholdeenverdi

Enkolonneskalinneholdekunénverdi

Relasjonsdatabaserbestårkunavtabeller

Radeneitabelleneerusorterte

11 Oppgave4.h

Hvaerkorrektomfølgenderelasjonsoperatoreriforbindelsemedrelasjonsdatabaser?Velgettellerflerealternativer

Vedenprojeksjonoppretterviennyrelasjonutifrabestemteattributterieneksisterenderelasjon

Vedenforeningoppretterviennyrelasjonvedåsettesammenhvertuppelienrelasjonmedhvertuppelienannenrelasjon

Nårvibenytterenseleksjon(restriksjon)oppretterviennyrelasjonutifrabestemtetuplerieneksisterenderelasjon

Vedetproduktoppretterviennyrelasjonmedsammensettingavtuplerfratorelasjonerpåetfellesattributt.

12 Oppgave4.i

Hvaerikkekorrektnårvisnakkeromenvisning(view)?Velgettellerflerealternativer

Envisningkallesgjerneenvirtuelltabell

Detlagresdataienvisning

Envisningeretsøkbartobjektiendatabasesomdefineresavenspørring

Mankanikkespørremotenvisningliktsommankanmotentabell

Page 9: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

9/10

13 Oppgave4.j

Hvaerkorrektnårvisnakkeromaliasidatabasesammenheng?Velgettellerflerealternativer

Etaliasbenyttesforågientabelletmidlertidignavn

Aliaseteksistererkunsålengespørringenbenyttes

Etaliaseretannetnavnpåentabell

Aliasbenyttesgjerneforågikolonneretmerforståelignavn

14 Oppgave4.k

Hvastemmeromfølgendemåterågjenfinnedatapå?Velgettellerflerealternativer

Vedåbenytteindekseropprettervienhjelpetabellsominneholderindeksverdieneogsombenyttesforrasktoppslagigrunntabellensomerindeksert.

Vedetfullsøk(lineærsøk)harvisortertedataoghalvererdatamengdenviisøkerihvergangvisøker.Vivetverdienvileteretter,sjekkerverdienmidtisøkemengdenogfortsettersøketidendelenavmengdenvivetvårdatabefinnersegi.

Vedetbinærsøkharviusortertedataogmåderforsøkegjennomalleradeneitabellenforåfinnedendataenvileteretter.

Hashingerenmetodesombenytterenhashingfunksjonforågiallemuligeverdieretresultatinnenforetønsketintervall.Hensiktenmeddetteeråenkeltfinnedatamedlikeellerulikeverdier.

15 Oppgave4.l

Hvilkeegenskaperkanentransaksjonha?Velgettellerflerealternativer

Consistency-databasenmåværekonsistentførogetterenendttransaksjon

Isolation-transaksjonerkanikkearbeidemeddatasomalleredeerimidlertidigendrettilstand

Atomicity-altelleringentingblirgjennomført

Durability-resultatetavdenutførtetransaksjonenerendelig/vilikkeforsvinne

Page 10: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

ITF103061Databaser

10/10

16 Oppgave4.m

Hvaerkorrektomendeltlås,leselås?Velgettellerflerealternativer

Endeltlåsbenytteskunvedlesing

Forutsetteratdetikkeerandrelåserpåobjektet

Godtaratandretransaksjonerkanlese,menikkeendredataenedersomentransaksjonholderdeltlåspåetobjekt.

Enleselåsgodtaratfleretransaksjonerleserdesammedataene

17 Oppgave4.n

Hvilkemåterkanvigjenoppretteendatabasepå?Velgettellerflerealternativer

Foroverrulling

RAID

Bakoverrulling

Fjernelåser

Page 11: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

Question 1Attached

Page 12: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

1

SQL-syntaks – noen elementer

o Syntaksoversikten gjelder SQL2.

o Oversikten er ikke fullstendig og heller ikke helt presis, men er forhåpentligvis til hjelp.

o [ ] brukes om frivillige elementer, det er altså ikke med i SQL-språket.

o ¦ brukes som eller, det er altså ikke med i SQL-språket.

o { ….. } start, hhv. slutt, ” ”.

o < ….> brukes for å beskrive et språkelement. Disse beskrives eller er beskrevet tidligere i

syntaksbeskrivelsen eller følger av det generelle mønsteret fra andre.

o Fet skrift brukes om faste språkelementer

Create / alter / drop table-setning

Create table CREATE TABLE <tabellnavn> (<kommaseparert tabelldefinisjonsliste>);

<kommaseparert tabelldefinisjonsliste>:

• liste med en eller flere elementer som er enten <kolonnedefinisjon> eller <skrankedefinisjon>

• hvis listen består av flere elementer, er det komma mellom disse.

• listen må ha minst en <kolonnedefinisjon>, har som regel også minst en <skrankedefinisjon>

<kolonnedefinisjon>:

• <kolonnenavn> <datatype> [�OT �ULL] [DEFAULT <verdi>] , samt eventuell <skrankedefinisjon>, men

uten (den første) kommaseparerte kolonnelisten.

<skrankedefinisjon> (det finnes noen flere enn de som er omtalt her)

• [CO�STRAI�T <skrankenavn>] PRIMARY KEY (<kommaseparert kolonneliste>)

• [CO�STRAI�T <skrankenavn>] FOREIG� KEY (<kommaseparert kolonneliste>) REFERE�CES

<tabell> (<kommaseparert kolonneliste>) [O� UPDATE <ref.oper.>] [O� DELETE <ref.oper.>]

• [CO�STRAI�T <skrankenavn>] U�IQUE (<kommaseparert kolonneliste>)

• [CO�STRAI�T <skrankenavn>] CHECK (<betingelse>)

<kommaseparert kolonneliste>:

• en eller flere kolonner. Hvis det er flere kolonner er disse adskilt med komma

<ref.oper.>: (dvs. referanseintegritetsoperasjon)

• {RESTRICT ¦ �O ACTIO� ¦ CASCADE ¦ SET �ULL}

Alter table

ALTER TABLE <tabellnavn>

{ADD ¦ DROP} {[COLUM�]1 <kolonnedefinisjon> ¦ <skrankedefinisjon>};

Noen systemer mangler DROP.

Drop table

DROP TABLE <tabellnavn>;

1 Skal være med for noen systemer, skal utelates for andre.

Page 13: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

2

Select-setninger.

Select-setning uten gruppering

SELECT [DISTI�CT] <kommaseparert resultatiste>

FROM <kommaseparert tabellliste>

[WHERE <betingelse>]

[ORDER BY <ordnet kolonneliste med sortering>];

<kommaseparert resultatliste>:

• kommaseparert liste, hvor hvert element er en av

o en kolonne

o en beregning m.m.

o en select-setninger som returnerer en verdi for hver verdi av de andre i listen.

• et element kan gis et eget navn (alias). Mest vanlig for å gi resultatet av en beregning et folkelig navn. Skrives

<kolonne> / <beregning> AS <NyttNavn>.

<kommaseparert tabelliste>:

• enkleste form er en enkelt tabell eller en liste av tabeller med komma mellom

• et element i denne kan også være alias, på formen <tabellnavn> [AS] <aliasnavn>. Alias må brukes hvis man

trenger to eller flere benevnelser for samme tabell.

• elemenene i denne kan være I��ER JOI�, LEFT [OUTER] JOI� eller RIGHT [OUTER] JOI� .

Eks.: <tabell1> LEFT OUTER JOI� <tabell2> O� <tabell1>.<kolonne1> = <tabell2>.<kolonne2>

• inner, left og right join kan også nestes i flere nivåer.

<betingelse>:

• består av en eller flere <enkeltbetingelse> evt. med A�D eller OR mellom.

• paranteser brukes på vanlig måte, A�D binder sterkere enn OR

<enkeltbetingelse>:

• er et utsagn som, for en gitt rad i from-setningen, resulterer i enten sant eller usant.

• ofte <kolonnenavn> = <verdi>, men kan også være >, >=, <>, <=

• hvis du ikke bruker INNER / LEFT / OUTER JOIN er det viktig å ha med <tabell1>.PK = <tabell2>.FK

• BETWEE� <startverdi> A�D <sluttverdi>

• søking i starten av en streng (trunkert søking): <kolonne> LIKE ’<startstreng>%’

• søking i om delstrengen finnes i kolonnen: <kolonne> LIKE ’%<delstreng>%’

• �OT brukes til å negere en enkeltbetingelse eller sammensatt betingelse. Binder sterkere enn A�D og OR.

• <kolonne> IS [�OT] �ULL brukes for å sjekke om en kolonne er NULL, evt. ikke er NULL.

• delspørringer med IN / NOT IN:

<kolonne> [�OT] I�

(SELECT <enkeltkolonne> …………)

• delspørringer med EXISTS / NOT EXISTS:

[�OT] EXISTS (SELECT …………)

• ALL og A�Y brukes på resultatet av en delspørring.

o ALL er sann hvis alle i delspørringen oppfyller kriteriet. Usant hvis delspørringen er tom.

o A�Y er sann hvis noen (en eller flere) oppfyller kravet. Sant hvis delspørringen er tom. SOME er

ekvivalent med ANY. o Tips: WHERE <kolonne> >= ALL (SELECT <kolonneliste> …… ) er det samme som

WHERE <kolonne> = (SELECT max(<kolonne>) ………………….)

<ordnet kolonneliste med sortering>:

• som kolonneliste, men i sorteringsprioritet, og hver kolonne kan etterfølges av ASC eller DESC.

• hvis det ikke oppgis sortering, blir sorteringen i stigende rekkefølge.

Page 14: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

3

Select-setning med gruppering / aggregering

For det som er felles for alle select-setning henvises det til 0.

SELECT <kommaseparert resultat- eller aggregeringsliste>

FROM <kommaseparert tabelliste>

[WHERE <betingelser>]

[GROUP BY <kommaseparert resultatliste>]

[HAVI�G <betingelse for gruppe>]

[ORDER BY <ordnet kolonneliste med sortering>];

<kommaseparert resultat- eller aggregeringsliste>:

• NB! hvert element er enten et element fra group by-listen eller en <aggregeringsfunksjon>.

<aggregeringsfunksjon>:

• {count(*)¦count(<kolonne>)¦sum(<kolonne>)¦max(<kolonne>)¦min(<kolonne>)¦avg(<kolonne>)¦ mfl.}

• <kolonne> kan også være en beregning

• noen systemer har også mulighet for count (distinct <kolonne>)), teller altså opp antall ulike.

• hvis vi ikke har med GROUP BY gjelder aggregeringen for hele tabellen

<betingelse for gruppe>:

• bare aktuelt dersom man har GROUP BY.

• betingelse som gjelder gruppen, innholder ofte en aggregeringsfunksjon, f.eks. count(*) > 1, sum(<kolonne>)

= (select sum( ……)

• kan inneholde A�D, OR, �OT osv., på samme måte som <betingelse>

I�SERT / UPDATE / DELETE

INSERT-setning I�SERT I�TO <tabell> [(<kommaseparert kolonneliste>)]

{ VALUES (<kommaseparert verdiliste>) ¦ <select-setning> } ;

UPDATE-setning

UPDATE <tabell>

SET <kommaseparert kolonne/verdi-liste>

[WHERE <betingelse>];

• I noen systemer kan <tabell> i stedet være en begrenset form for <kommaseparert tabellliste>

<kommaseparert kolonne/verdi-liste>:

• hvert element består av <kolonne> = <konstant> eller <kolonne> = <beregninget verdi, f.eks. på grunnlag av

tidligere verdi>

• oftest bare en slik kolonne/verdi-kombinasjon, men kan være flere.

DELETE-setning

DELETE FROM <tabell>

[WHERE <betingelse>];

Page 15: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

4

Create / drop view

Create view

CREATE VIEW <utsnittsnavn> [(<kommaseparert kolonneliste>)]

AS <select-setning>;

• kolonnelisten er nødvendig hvis det ikke er fullt samsvar mellom kolonnenavn i select-setningen og utsnittet.

Drop view

DROP VIEW <utsnittsnavn>;

Indekser

CREATE [U�IQUE] I�DEX <indeksnavn> O� <tabell> (<ordnet kolonneliste med sortering>);

DROP I�DEX <indeksnavn>;

Noen systemer har andre mekanismer i tillegg.

Gi / frata rettigheter til tabeller, laging av brukere, databaser m.m.

GRA�T <rettigheter> O� <tabell el.l.> TO <bruker/gruppeliste> [WITH GRA�T OPTIO�];

REVOKE [<rettigheter> ¦ GRA�T OPTIO�] FROM <tabell el.l.> TO <bruker/gruppeliste>;

<rettigheter>:

kommasepartert liste med en eller flere av SELECT, I�SERT, UPDATE (<kolonnenavn>), DELETE, ALL m.fl..

<bruker/gruppeliste>:

kommasepart liste med en eller flere brukere eller grupper. I tillegg finnes ofte noen standardgrupper, som PUBLIC og

DBA.

Noen variasjoner og begrensninger fra et system til et annet.

Annet:

Muligheter for å lage / ta bort brukere etc., CREATE USER, gjerne sammen med IDE�TIFIED BY <passord>.

Tilsvarende DROP USER.

Muligheter for å lage nye databaser, CREATE DATABASE <databasenavn>

I noen systemer: laging av typer, domener etc.

Page 16: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

5

Data

mod

elln

ota

sjon

i 3

dia

lek

ter:

Ch

en, k

råk

efot

og n

edsk

ale

rt U

ML

. E

n d

el d

etal

jer

og

var

iasj

oner

er

ute

latt

.

C

hen

s E

R

Krå

kef

ot

ned

ska

lert

UM

L

Gru

nn

leg

gen

de.

F

or

alle

dia

lek

ter:

attr

ibu

tter

kan

tas

med

ell

er u

tela

tes

(av

h.

av h

vo

r la

ngt

i

pro

sess

en o

g h

vo

r

sto

r m

od

elle

n b

lir)

dit

to f

or

do

men

er/d

atat

yp

er

det

fin

nes

var

ian

ter

for

å v

ise

min

./m

ax.

1

m

Beg

rep

: E

nti

tet(

styp

er),

rel

asjo

n(s

typ

er),

att

rib

utt

er.

Beg

rep

: E

nti

tet(

styp

er),

rel

asjo

n(s

typ

er),

att

rib

utt

er.

1

er a

rbei

dss

ted

fo

r

▲ jo

bb

er i

*

Beg

rep

: E

nti

tet(

styp

er)

elle

r o

bje

ktk

lass

er,

(mult

ipli

site

ts)a

sso

sias

joner

, at

trib

utt

er.

Er

rep

etis

jon

er t

illa

tt?

Ja, p

å k

on

sep

tuel

t n

ivå

Nei

– s

pli

ttes

ut

i eg

ne

enti

tets

typ

er

Ja, p

å k

on

sep

tuel

t n

ivå

Ev

entu

elle

pri

r- o

g

frem

med

kle

r

Tas

gje

rne

ikk

e m

ed

Hv

is d

et t

as m

ed:

Mar

ker

es f

.ek

s. m

ed

pri

rnø

kk

el:

un

der

stre

kin

g

frem

med

kk

el:

pri

kk

et l

inje

, *

, el

.l.

Hv

is d

et t

as m

ed:

mar

ker

es g

jern

e m

ed

{P

K} h

hv

. {F

K} b

ak a

ttri

bu

ttn

avn

et.

Hv

is (

del

av

) b

egge

del

er:

{P

K,F

K}

En

tite

tise

rin

g

Kan

gjø

res,

men

van

ligv

is s

ette

s d

et

bar

e p

å at

trib

utt

er p

å re

lasj

on

en.

Bar

e n

ød

ven

dig

ved

2.

ord

ens

enti

teti

seri

ng (

enti

teti

seri

ng a

v n

oe

som

all

ered

e er

en

tite

tise

rt e

ller

ku

nn

e

rt e

nti

teti

sert

).

Gjø

res

der

som

”re

lasj

on

en s

kal

in

neh

old

e

attr

ibu

tter

”.

evt.

med

att

rib

utt

er

Kan

gjø

res,

men

bar

e n

ød

ven

dig

ved

det

som

ell

ers

vil

le v

ært

2.

ord

ens

enti

teti

seri

ng.

Ass

osi

ativ

e en

tite

tsty

per

m/

attr

ibu

tter

kan

leg

ges

på:

*

*

arb

eid

s

sted

Avd

elin

g

Per

son

Per

sID

::::

::::

:

Avd

elin

g

job

ber

i

Avd

elin

g

Per

son

Per

sID

::::

::::

:

Ver

bal

bes

kri

vel

se.

Kan

evt.

set

tes

beg

ge

sid

er.

Alt

ernat

ivt

bru

kes

en r

oll

e

som

”re

lasj

onsn

avn”

Ro

llen

av

n /

rela

sjo

nsn

avn

Max

. n

ærm

est

enti

tets

-

typ

en,

evt.

min

. le

nger

un

na

1 e

r (o

g k

an s

kri

ves

) 1

..1

0..

1 m

å sk

rives

0..

1

* e

r (o

g k

an s

kri

ves

) 0

..*

1..

* b

eteg

ner

1

..m

.

Ver

bal

bes

kri

vel

se.

en

elle

r b

egge

sid

er.

Pil

vis

er

retn

ing

Per

son

nr

Per

son

Kurs

Per

son

Del

tagel

se

Kurs

Per

son

nav

n

Per

son

Per

son

Kurs

Del

tagel

se

Per

sID

::::

::::

::

Ekse

mp

el

med

att

rib

utt

er

min

. 0

, d

vs.

Avd

. kan h

a p

erso

n

Page 17: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

6

Ord

reli

nje

Ord

re

n-æ

re r

ela

sjo

nst

yp

e

/ a

sso

sia

sjo

ner

(n

>2

)

Inn

ebyg

dt

i n

ota

sjo

nen

, in

gen

fo

rskje

ll

bin

ære

og n

-ære

.

Ev

t. e

nti

teti

seri

ng g

jøre

s fø

rst,

der

ette

r h

enges

nye

enti

tets

typ

er p

å d

en n

ye

enti

tets

typ

en.

Bru

k

f

or

å k

nytt

e d

em s

amm

en.

Ass

osi

ativ

e

en

tite

tsty

per

kan

bru

kes

Av

hen

gig

het

av

an

dre

enti

tets

typ

er

(en

en

tite

t er

av

hen

gig

av

eksi

sten

sen

av

en

an

nen

enti

tet)

kal

les

svak

en

tite

t /

wea

k e

nti

ty

Mar

ker

es v

ed a

t fr

emm

edn

øk

kel

en e

r en

del

av p

rim

ærn

øk

kel

en (

man

ge-

sid

en)

kal

les

ko

mp

osi

sjo

n.

Fin

nes

også

en

min

dre

ster

k k

ob

lin

g s

om

kal

les

agg

reger

ing (

mar

ker

es

med

i s

ted

et f

or

) .

Arv

Fin

nes

ik

ke,

i ti

lfel

le b

esk

riv

es

som

1:1

, m

en g

ir i

kk

e eg

entl

ig a

rv.

Fin

nes

ik

ke,

i ti

lfel

le b

esk

riv

es s

om

1:

1,

men

gir

ik

ke

egen

tlig

arv

.

{M

and

ato

ry,

Or}

I ti

lleg

g:

kan

bes

kri

ve

ko

mb

inas

jon

er a

v

man

dat

ory

/op

tio

nal

og o

m e

n o

ver

ord

net

kan

kob

les

til

max

. 1

ell

er t

il f

lere

un

der

ord

ned

e (o

r el

ler

and

), s

e o

ver

.

Kan

også

re a

rv m

ed”e

tt b

arn

”, f

.ek

s.

bar

e ”K

un

de”

og ”

Ute

nla

nd

sku

nd

e”.

Fo

rho

ld t

il

no

rma

lise

rin

g

evt.

gjø

re u

tsp

litt

inger

av

rep

etis

jon

er

Er

no

rmal

iser

t M

å gjø

re e

vt.

uts

pli

ttin

ger

av

rep

etis

jon

er

Ov

erfø

rin

g t

il

rela

sjo

nsd

ata

ba

ser

Ov

erfø

res

til

krå

kef

ot

el.l

. fø

rst

(fra

ko

nse

ptu

elt

til

logis

k n

ivå)

Alt

ern

ativ

t:

Leg

g p

å p

rim

ær-

og f

rem

med

kle

r

Ev

t. r

epet

isjo

ner

tas

bo

rt.

En

tite

tsty

per

bli

r ti

l ta

bel

ler.

Rel

asjo

ner

so

m g

jeld

er 1

:m t

as b

ort

,

rela

sjo

ner

so

m g

jeld

er m

:m b

lir

egn

e

tab

elle

r.

Ev

t. m

ange-

til-

man

ge

enti

teti

sere

s. E

ller

s:

enti

tets

typ

er b

lir

til

tab

elle

r

Ev

t. r

epet

isjo

ner

tas

bo

rt.

En

tiet

styp

er/o

bje

ktk

lass

er b

lir

til

tab

elle

r.

Ass

osi

asjo

nsa

ttri

bu

tter

i m

:m b

lir

egn

e

tab

elle

r, a

nd

re m

:m e

nti

teti

sere

s.

yer

e o

rden

s re

lasj

on

styp

er b

lir

til

tab

elle

r.

Arv

om

form

ule

res

(fle

re a

lter

nat

iver

fin

nes

, in

gen

er

hel

t go

de)

. D

erso

m m

an

bru

ker

OR

DB

-utv

idel

ser

i sy

stem

er s

om

har

det

te,

kan

arv

im

ple

men

tere

s.

Ord

reli

nje

Ord

re

Ku

nd

e

Ute

nla

nd

s

ku

nd

e In

nenla

nd

s

ku

nd

e

Page 18: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

Question 2Attached

Page 19: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

1

SQL-syntaks – noen elementer

o Syntaksoversikten gjelder SQL2.

o Oversikten er ikke fullstendig og heller ikke helt presis, men er forhåpentligvis til hjelp.

o [ ] brukes om frivillige elementer, det er altså ikke med i SQL-språket.

o ¦ brukes som eller, det er altså ikke med i SQL-språket.

o { ….. } start, hhv. slutt, ” ”.

o < ….> brukes for å beskrive et språkelement. Disse beskrives eller er beskrevet tidligere i

syntaksbeskrivelsen eller følger av det generelle mønsteret fra andre.

o Fet skrift brukes om faste språkelementer

Create / alter / drop table-setning

Create table CREATE TABLE <tabellnavn> (<kommaseparert tabelldefinisjonsliste>);

<kommaseparert tabelldefinisjonsliste>:

• liste med en eller flere elementer som er enten <kolonnedefinisjon> eller <skrankedefinisjon>

• hvis listen består av flere elementer, er det komma mellom disse.

• listen må ha minst en <kolonnedefinisjon>, har som regel også minst en <skrankedefinisjon>

<kolonnedefinisjon>:

• <kolonnenavn> <datatype> [�OT �ULL] [DEFAULT <verdi>] , samt eventuell <skrankedefinisjon>, men

uten (den første) kommaseparerte kolonnelisten.

<skrankedefinisjon> (det finnes noen flere enn de som er omtalt her)

• [CO�STRAI�T <skrankenavn>] PRIMARY KEY (<kommaseparert kolonneliste>)

• [CO�STRAI�T <skrankenavn>] FOREIG� KEY (<kommaseparert kolonneliste>) REFERE�CES

<tabell> (<kommaseparert kolonneliste>) [O� UPDATE <ref.oper.>] [O� DELETE <ref.oper.>]

• [CO�STRAI�T <skrankenavn>] U�IQUE (<kommaseparert kolonneliste>)

• [CO�STRAI�T <skrankenavn>] CHECK (<betingelse>)

<kommaseparert kolonneliste>:

• en eller flere kolonner. Hvis det er flere kolonner er disse adskilt med komma

<ref.oper.>: (dvs. referanseintegritetsoperasjon)

• {RESTRICT ¦ �O ACTIO� ¦ CASCADE ¦ SET �ULL}

Alter table

ALTER TABLE <tabellnavn>

{ADD ¦ DROP} {[COLUM�]1 <kolonnedefinisjon> ¦ <skrankedefinisjon>};

Noen systemer mangler DROP.

Drop table

DROP TABLE <tabellnavn>;

1 Skal være med for noen systemer, skal utelates for andre.

Page 20: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

2

Select-setninger.

Select-setning uten gruppering

SELECT [DISTI�CT] <kommaseparert resultatiste>

FROM <kommaseparert tabellliste>

[WHERE <betingelse>]

[ORDER BY <ordnet kolonneliste med sortering>];

<kommaseparert resultatliste>:

• kommaseparert liste, hvor hvert element er en av

o en kolonne

o en beregning m.m.

o en select-setninger som returnerer en verdi for hver verdi av de andre i listen.

• et element kan gis et eget navn (alias). Mest vanlig for å gi resultatet av en beregning et folkelig navn. Skrives

<kolonne> / <beregning> AS <NyttNavn>.

<kommaseparert tabelliste>:

• enkleste form er en enkelt tabell eller en liste av tabeller med komma mellom

• et element i denne kan også være alias, på formen <tabellnavn> [AS] <aliasnavn>. Alias må brukes hvis man

trenger to eller flere benevnelser for samme tabell.

• elemenene i denne kan være I��ER JOI�, LEFT [OUTER] JOI� eller RIGHT [OUTER] JOI� .

Eks.: <tabell1> LEFT OUTER JOI� <tabell2> O� <tabell1>.<kolonne1> = <tabell2>.<kolonne2>

• inner, left og right join kan også nestes i flere nivåer.

<betingelse>:

• består av en eller flere <enkeltbetingelse> evt. med A�D eller OR mellom.

• paranteser brukes på vanlig måte, A�D binder sterkere enn OR

<enkeltbetingelse>:

• er et utsagn som, for en gitt rad i from-setningen, resulterer i enten sant eller usant.

• ofte <kolonnenavn> = <verdi>, men kan også være >, >=, <>, <=

• hvis du ikke bruker INNER / LEFT / OUTER JOIN er det viktig å ha med <tabell1>.PK = <tabell2>.FK

• BETWEE� <startverdi> A�D <sluttverdi>

• søking i starten av en streng (trunkert søking): <kolonne> LIKE ’<startstreng>%’

• søking i om delstrengen finnes i kolonnen: <kolonne> LIKE ’%<delstreng>%’

• �OT brukes til å negere en enkeltbetingelse eller sammensatt betingelse. Binder sterkere enn A�D og OR.

• <kolonne> IS [�OT] �ULL brukes for å sjekke om en kolonne er NULL, evt. ikke er NULL.

• delspørringer med IN / NOT IN:

<kolonne> [�OT] I�

(SELECT <enkeltkolonne> …………)

• delspørringer med EXISTS / NOT EXISTS:

[�OT] EXISTS (SELECT …………)

• ALL og A�Y brukes på resultatet av en delspørring.

o ALL er sann hvis alle i delspørringen oppfyller kriteriet. Usant hvis delspørringen er tom.

o A�Y er sann hvis noen (en eller flere) oppfyller kravet. Sant hvis delspørringen er tom. SOME er

ekvivalent med ANY. o Tips: WHERE <kolonne> >= ALL (SELECT <kolonneliste> …… ) er det samme som

WHERE <kolonne> = (SELECT max(<kolonne>) ………………….)

<ordnet kolonneliste med sortering>:

• som kolonneliste, men i sorteringsprioritet, og hver kolonne kan etterfølges av ASC eller DESC.

• hvis det ikke oppgis sortering, blir sorteringen i stigende rekkefølge.

Page 21: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

3

Select-setning med gruppering / aggregering

For det som er felles for alle select-setning henvises det til 0.

SELECT <kommaseparert resultat- eller aggregeringsliste>

FROM <kommaseparert tabelliste>

[WHERE <betingelser>]

[GROUP BY <kommaseparert resultatliste>]

[HAVI�G <betingelse for gruppe>]

[ORDER BY <ordnet kolonneliste med sortering>];

<kommaseparert resultat- eller aggregeringsliste>:

• NB! hvert element er enten et element fra group by-listen eller en <aggregeringsfunksjon>.

<aggregeringsfunksjon>:

• {count(*)¦count(<kolonne>)¦sum(<kolonne>)¦max(<kolonne>)¦min(<kolonne>)¦avg(<kolonne>)¦ mfl.}

• <kolonne> kan også være en beregning

• noen systemer har også mulighet for count (distinct <kolonne>)), teller altså opp antall ulike.

• hvis vi ikke har med GROUP BY gjelder aggregeringen for hele tabellen

<betingelse for gruppe>:

• bare aktuelt dersom man har GROUP BY.

• betingelse som gjelder gruppen, innholder ofte en aggregeringsfunksjon, f.eks. count(*) > 1, sum(<kolonne>)

= (select sum( ……)

• kan inneholde A�D, OR, �OT osv., på samme måte som <betingelse>

I�SERT / UPDATE / DELETE

INSERT-setning I�SERT I�TO <tabell> [(<kommaseparert kolonneliste>)]

{ VALUES (<kommaseparert verdiliste>) ¦ <select-setning> } ;

UPDATE-setning

UPDATE <tabell>

SET <kommaseparert kolonne/verdi-liste>

[WHERE <betingelse>];

• I noen systemer kan <tabell> i stedet være en begrenset form for <kommaseparert tabellliste>

<kommaseparert kolonne/verdi-liste>:

• hvert element består av <kolonne> = <konstant> eller <kolonne> = <beregninget verdi, f.eks. på grunnlag av

tidligere verdi>

• oftest bare en slik kolonne/verdi-kombinasjon, men kan være flere.

DELETE-setning

DELETE FROM <tabell>

[WHERE <betingelse>];

Page 22: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

4

Create / drop view

Create view

CREATE VIEW <utsnittsnavn> [(<kommaseparert kolonneliste>)]

AS <select-setning>;

• kolonnelisten er nødvendig hvis det ikke er fullt samsvar mellom kolonnenavn i select-setningen og utsnittet.

Drop view

DROP VIEW <utsnittsnavn>;

Indekser

CREATE [U�IQUE] I�DEX <indeksnavn> O� <tabell> (<ordnet kolonneliste med sortering>);

DROP I�DEX <indeksnavn>;

Noen systemer har andre mekanismer i tillegg.

Gi / frata rettigheter til tabeller, laging av brukere, databaser m.m.

GRA�T <rettigheter> O� <tabell el.l.> TO <bruker/gruppeliste> [WITH GRA�T OPTIO�];

REVOKE [<rettigheter> ¦ GRA�T OPTIO�] FROM <tabell el.l.> TO <bruker/gruppeliste>;

<rettigheter>:

kommasepartert liste med en eller flere av SELECT, I�SERT, UPDATE (<kolonnenavn>), DELETE, ALL m.fl..

<bruker/gruppeliste>:

kommasepart liste med en eller flere brukere eller grupper. I tillegg finnes ofte noen standardgrupper, som PUBLIC og

DBA.

Noen variasjoner og begrensninger fra et system til et annet.

Annet:

Muligheter for å lage / ta bort brukere etc., CREATE USER, gjerne sammen med IDE�TIFIED BY <passord>.

Tilsvarende DROP USER.

Muligheter for å lage nye databaser, CREATE DATABASE <databasenavn>

I noen systemer: laging av typer, domener etc.

Page 23: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

5

Data

mod

elln

ota

sjon

i 3

dia

lek

ter:

Ch

en, k

råk

efot

og n

edsk

ale

rt U

ML

. E

n d

el d

etal

jer

og

var

iasj

oner

er

ute

latt

.

C

hen

s E

R

Krå

kef

ot

ned

ska

lert

UM

L

Gru

nn

leg

gen

de.

F

or

alle

dia

lek

ter:

attr

ibu

tter

kan

tas

med

ell

er u

tela

tes

(av

h.

av h

vo

r la

ngt

i

pro

sess

en o

g h

vo

r

sto

r m

od

elle

n b

lir)

dit

to f

or

do

men

er/d

atat

yp

er

det

fin

nes

var

ian

ter

for

å v

ise

min

./m

ax.

1

m

Beg

rep

: E

nti

tet(

styp

er),

rel

asjo

n(s

typ

er),

att

rib

utt

er.

Beg

rep

: E

nti

tet(

styp

er),

rel

asjo

n(s

typ

er),

att

rib

utt

er.

1

er a

rbei

dss

ted

fo

r

▲ jo

bb

er i

*

Beg

rep

: E

nti

tet(

styp

er)

elle

r o

bje

ktk

lass

er,

(mult

ipli

site

ts)a

sso

sias

joner

, at

trib

utt

er.

Er

rep

etis

jon

er t

illa

tt?

Ja, p

å k

on

sep

tuel

t n

ivå

Nei

– s

pli

ttes

ut

i eg

ne

enti

tets

typ

er

Ja, p

å k

on

sep

tuel

t n

ivå

Ev

entu

elle

pri

r- o

g

frem

med

kle

r

Tas

gje

rne

ikk

e m

ed

Hv

is d

et t

as m

ed:

Mar

ker

es f

.ek

s. m

ed

pri

rnø

kk

el:

un

der

stre

kin

g

frem

med

kk

el:

pri

kk

et l

inje

, *

, el

.l.

Hv

is d

et t

as m

ed:

mar

ker

es g

jern

e m

ed

{P

K} h

hv

. {F

K} b

ak a

ttri

bu

ttn

avn

et.

Hv

is (

del

av

) b

egge

del

er:

{P

K,F

K}

En

tite

tise

rin

g

Kan

gjø

res,

men

van

ligv

is s

ette

s d

et

bar

e p

å at

trib

utt

er p

å re

lasj

on

en.

Bar

e n

ød

ven

dig

ved

2.

ord

ens

enti

teti

seri

ng (

enti

teti

seri

ng a

v n

oe

som

all

ered

e er

en

tite

tise

rt e

ller

ku

nn

e

rt e

nti

teti

sert

).

Gjø

res

der

som

”re

lasj

on

en s

kal

in

neh

old

e

attr

ibu

tter

”.

evt.

med

att

rib

utt

er

Kan

gjø

res,

men

bar

e n

ød

ven

dig

ved

det

som

ell

ers

vil

le v

ært

2.

ord

ens

enti

teti

seri

ng.

Ass

osi

ativ

e en

tite

tsty

per

m/

attr

ibu

tter

kan

leg

ges

på:

*

*

arb

eid

s

sted

Avd

elin

g

Per

son

Per

sID

::::

::::

:

Avd

elin

g

job

ber

i

Avd

elin

g

Per

son

Per

sID

::::

::::

:

Ver

bal

bes

kri

vel

se.

Kan

evt.

set

tes

beg

ge

sid

er.

Alt

ernat

ivt

bru

kes

en r

oll

e

som

”re

lasj

onsn

avn”

Ro

llen

av

n /

rela

sjo

nsn

avn

Max

. n

ærm

est

enti

tets

-

typ

en,

evt.

min

. le

nger

un

na

1 e

r (o

g k

an s

kri

ves

) 1

..1

0..

1 m

å sk

rives

0..

1

* e

r (o

g k

an s

kri

ves

) 0

..*

1..

* b

eteg

ner

1

..m

.

Ver

bal

bes

kri

vel

se.

en

elle

r b

egge

sid

er.

Pil

vis

er

retn

ing

Per

son

nr

Per

son

Kurs

Per

son

Del

tagel

se

Kurs

Per

son

nav

n

Per

son

Per

son

Kurs

Del

tagel

se

Per

sID

::::

::::

::

Ekse

mp

el

med

att

rib

utt

er

min

. 0

, d

vs.

Avd

. kan h

a p

erso

n

Page 24: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

6

Ord

reli

nje

Ord

re

n-æ

re r

ela

sjo

nst

yp

e

/ a

sso

sia

sjo

ner

(n

>2

)

Inn

ebyg

dt

i n

ota

sjo

nen

, in

gen

fo

rskje

ll

bin

ære

og n

-ære

.

Ev

t. e

nti

teti

seri

ng g

jøre

s fø

rst,

der

ette

r h

enges

nye

enti

tets

typ

er p

å d

en n

ye

enti

tets

typ

en.

Bru

k

f

or

å k

nytt

e d

em s

amm

en.

Ass

osi

ativ

e

en

tite

tsty

per

kan

bru

kes

Av

hen

gig

het

av

an

dre

enti

tets

typ

er

(en

en

tite

t er

av

hen

gig

av

eksi

sten

sen

av

en

an

nen

enti

tet)

kal

les

svak

en

tite

t /

wea

k e

nti

ty

Mar

ker

es v

ed a

t fr

emm

edn

øk

kel

en e

r en

del

av p

rim

ærn

øk

kel

en (

man

ge-

sid

en)

kal

les

ko

mp

osi

sjo

n.

Fin

nes

også

en

min

dre

ster

k k

ob

lin

g s

om

kal

les

agg

reger

ing (

mar

ker

es

med

i s

ted

et f

or

) .

Arv

Fin

nes

ik

ke,

i ti

lfel

le b

esk

riv

es

som

1:1

, m

en g

ir i

kk

e eg

entl

ig a

rv.

Fin

nes

ik

ke,

i ti

lfel

le b

esk

riv

es s

om

1:

1,

men

gir

ik

ke

egen

tlig

arv

.

{M

and

ato

ry,

Or}

I ti

lleg

g:

kan

bes

kri

ve

ko

mb

inas

jon

er a

v

man

dat

ory

/op

tio

nal

og o

m e

n o

ver

ord

net

kan

kob

les

til

max

. 1

ell

er t

il f

lere

un

der

ord

ned

e (o

r el

ler

and

), s

e o

ver

.

Kan

også

re a

rv m

ed”e

tt b

arn

”, f

.ek

s.

bar

e ”K

un

de”

og ”

Ute

nla

nd

sku

nd

e”.

Fo

rho

ld t

il

no

rma

lise

rin

g

evt.

gjø

re u

tsp

litt

inger

av

rep

etis

jon

er

Er

no

rmal

iser

t M

å gjø

re e

vt.

uts

pli

ttin

ger

av

rep

etis

jon

er

Ov

erfø

rin

g t

il

rela

sjo

nsd

ata

ba

ser

Ov

erfø

res

til

krå

kef

ot

el.l

. fø

rst

(fra

ko

nse

ptu

elt

til

logis

k n

ivå)

Alt

ern

ativ

t:

Leg

g p

å p

rim

ær-

og f

rem

med

kle

r

Ev

t. r

epet

isjo

ner

tas

bo

rt.

En

tite

tsty

per

bli

r ti

l ta

bel

ler.

Rel

asjo

ner

so

m g

jeld

er 1

:m t

as b

ort

,

rela

sjo

ner

so

m g

jeld

er m

:m b

lir

egn

e

tab

elle

r.

Ev

t. m

ange-

til-

man

ge

enti

teti

sere

s. E

ller

s:

enti

tets

typ

er b

lir

til

tab

elle

r

Ev

t. r

epet

isjo

ner

tas

bo

rt.

En

tiet

styp

er/o

bje

ktk

lass

er b

lir

til

tab

elle

r.

Ass

osi

asjo

nsa

ttri

bu

tter

i m

:m b

lir

egn

e

tab

elle

r, a

nd

re m

:m e

nti

teti

sere

s.

yer

e o

rden

s re

lasj

on

styp

er b

lir

til

tab

elle

r.

Arv

om

form

ule

res

(fle

re a

lter

nat

iver

fin

nes

, in

gen

er

hel

t go

de)

. D

erso

m m

an

bru

ker

OR

DB

-utv

idel

ser

i sy

stem

er s

om

har

det

te,

kan

arv

im

ple

men

tere

s.

Ord

reli

nje

Ord

re

Ku

nd

e

Ute

nla

nd

s

ku

nd

e In

nenla

nd

s

ku

nd

e

Page 25: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

Question 3Attached

Page 26: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

1

SQL-syntaks – noen elementer

o Syntaksoversikten gjelder SQL2.

o Oversikten er ikke fullstendig og heller ikke helt presis, men er forhåpentligvis til hjelp.

o [ ] brukes om frivillige elementer, det er altså ikke med i SQL-språket.

o ¦ brukes som eller, det er altså ikke med i SQL-språket.

o { ….. } start, hhv. slutt, ” ”.

o < ….> brukes for å beskrive et språkelement. Disse beskrives eller er beskrevet tidligere i

syntaksbeskrivelsen eller følger av det generelle mønsteret fra andre.

o Fet skrift brukes om faste språkelementer

Create / alter / drop table-setning

Create table CREATE TABLE <tabellnavn> (<kommaseparert tabelldefinisjonsliste>);

<kommaseparert tabelldefinisjonsliste>:

• liste med en eller flere elementer som er enten <kolonnedefinisjon> eller <skrankedefinisjon>

• hvis listen består av flere elementer, er det komma mellom disse.

• listen må ha minst en <kolonnedefinisjon>, har som regel også minst en <skrankedefinisjon>

<kolonnedefinisjon>:

• <kolonnenavn> <datatype> [�OT �ULL] [DEFAULT <verdi>] , samt eventuell <skrankedefinisjon>, men

uten (den første) kommaseparerte kolonnelisten.

<skrankedefinisjon> (det finnes noen flere enn de som er omtalt her)

• [CO�STRAI�T <skrankenavn>] PRIMARY KEY (<kommaseparert kolonneliste>)

• [CO�STRAI�T <skrankenavn>] FOREIG� KEY (<kommaseparert kolonneliste>) REFERE�CES

<tabell> (<kommaseparert kolonneliste>) [O� UPDATE <ref.oper.>] [O� DELETE <ref.oper.>]

• [CO�STRAI�T <skrankenavn>] U�IQUE (<kommaseparert kolonneliste>)

• [CO�STRAI�T <skrankenavn>] CHECK (<betingelse>)

<kommaseparert kolonneliste>:

• en eller flere kolonner. Hvis det er flere kolonner er disse adskilt med komma

<ref.oper.>: (dvs. referanseintegritetsoperasjon)

• {RESTRICT ¦ �O ACTIO� ¦ CASCADE ¦ SET �ULL}

Alter table

ALTER TABLE <tabellnavn>

{ADD ¦ DROP} {[COLUM�]1 <kolonnedefinisjon> ¦ <skrankedefinisjon>};

Noen systemer mangler DROP.

Drop table

DROP TABLE <tabellnavn>;

1 Skal være med for noen systemer, skal utelates for andre.

Page 27: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

2

Select-setninger.

Select-setning uten gruppering

SELECT [DISTI�CT] <kommaseparert resultatiste>

FROM <kommaseparert tabellliste>

[WHERE <betingelse>]

[ORDER BY <ordnet kolonneliste med sortering>];

<kommaseparert resultatliste>:

• kommaseparert liste, hvor hvert element er en av

o en kolonne

o en beregning m.m.

o en select-setninger som returnerer en verdi for hver verdi av de andre i listen.

• et element kan gis et eget navn (alias). Mest vanlig for å gi resultatet av en beregning et folkelig navn. Skrives

<kolonne> / <beregning> AS <NyttNavn>.

<kommaseparert tabelliste>:

• enkleste form er en enkelt tabell eller en liste av tabeller med komma mellom

• et element i denne kan også være alias, på formen <tabellnavn> [AS] <aliasnavn>. Alias må brukes hvis man

trenger to eller flere benevnelser for samme tabell.

• elemenene i denne kan være I��ER JOI�, LEFT [OUTER] JOI� eller RIGHT [OUTER] JOI� .

Eks.: <tabell1> LEFT OUTER JOI� <tabell2> O� <tabell1>.<kolonne1> = <tabell2>.<kolonne2>

• inner, left og right join kan også nestes i flere nivåer.

<betingelse>:

• består av en eller flere <enkeltbetingelse> evt. med A�D eller OR mellom.

• paranteser brukes på vanlig måte, A�D binder sterkere enn OR

<enkeltbetingelse>:

• er et utsagn som, for en gitt rad i from-setningen, resulterer i enten sant eller usant.

• ofte <kolonnenavn> = <verdi>, men kan også være >, >=, <>, <=

• hvis du ikke bruker INNER / LEFT / OUTER JOIN er det viktig å ha med <tabell1>.PK = <tabell2>.FK

• BETWEE� <startverdi> A�D <sluttverdi>

• søking i starten av en streng (trunkert søking): <kolonne> LIKE ’<startstreng>%’

• søking i om delstrengen finnes i kolonnen: <kolonne> LIKE ’%<delstreng>%’

• �OT brukes til å negere en enkeltbetingelse eller sammensatt betingelse. Binder sterkere enn A�D og OR.

• <kolonne> IS [�OT] �ULL brukes for å sjekke om en kolonne er NULL, evt. ikke er NULL.

• delspørringer med IN / NOT IN:

<kolonne> [�OT] I�

(SELECT <enkeltkolonne> …………)

• delspørringer med EXISTS / NOT EXISTS:

[�OT] EXISTS (SELECT …………)

• ALL og A�Y brukes på resultatet av en delspørring.

o ALL er sann hvis alle i delspørringen oppfyller kriteriet. Usant hvis delspørringen er tom.

o A�Y er sann hvis noen (en eller flere) oppfyller kravet. Sant hvis delspørringen er tom. SOME er

ekvivalent med ANY. o Tips: WHERE <kolonne> >= ALL (SELECT <kolonneliste> …… ) er det samme som

WHERE <kolonne> = (SELECT max(<kolonne>) ………………….)

<ordnet kolonneliste med sortering>:

• som kolonneliste, men i sorteringsprioritet, og hver kolonne kan etterfølges av ASC eller DESC.

• hvis det ikke oppgis sortering, blir sorteringen i stigende rekkefølge.

Page 28: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

3

Select-setning med gruppering / aggregering

For det som er felles for alle select-setning henvises det til 0.

SELECT <kommaseparert resultat- eller aggregeringsliste>

FROM <kommaseparert tabelliste>

[WHERE <betingelser>]

[GROUP BY <kommaseparert resultatliste>]

[HAVI�G <betingelse for gruppe>]

[ORDER BY <ordnet kolonneliste med sortering>];

<kommaseparert resultat- eller aggregeringsliste>:

• NB! hvert element er enten et element fra group by-listen eller en <aggregeringsfunksjon>.

<aggregeringsfunksjon>:

• {count(*)¦count(<kolonne>)¦sum(<kolonne>)¦max(<kolonne>)¦min(<kolonne>)¦avg(<kolonne>)¦ mfl.}

• <kolonne> kan også være en beregning

• noen systemer har også mulighet for count (distinct <kolonne>)), teller altså opp antall ulike.

• hvis vi ikke har med GROUP BY gjelder aggregeringen for hele tabellen

<betingelse for gruppe>:

• bare aktuelt dersom man har GROUP BY.

• betingelse som gjelder gruppen, innholder ofte en aggregeringsfunksjon, f.eks. count(*) > 1, sum(<kolonne>)

= (select sum( ……)

• kan inneholde A�D, OR, �OT osv., på samme måte som <betingelse>

I�SERT / UPDATE / DELETE

INSERT-setning I�SERT I�TO <tabell> [(<kommaseparert kolonneliste>)]

{ VALUES (<kommaseparert verdiliste>) ¦ <select-setning> } ;

UPDATE-setning

UPDATE <tabell>

SET <kommaseparert kolonne/verdi-liste>

[WHERE <betingelse>];

• I noen systemer kan <tabell> i stedet være en begrenset form for <kommaseparert tabellliste>

<kommaseparert kolonne/verdi-liste>:

• hvert element består av <kolonne> = <konstant> eller <kolonne> = <beregninget verdi, f.eks. på grunnlag av

tidligere verdi>

• oftest bare en slik kolonne/verdi-kombinasjon, men kan være flere.

DELETE-setning

DELETE FROM <tabell>

[WHERE <betingelse>];

Page 29: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

4

Create / drop view

Create view

CREATE VIEW <utsnittsnavn> [(<kommaseparert kolonneliste>)]

AS <select-setning>;

• kolonnelisten er nødvendig hvis det ikke er fullt samsvar mellom kolonnenavn i select-setningen og utsnittet.

Drop view

DROP VIEW <utsnittsnavn>;

Indekser

CREATE [U�IQUE] I�DEX <indeksnavn> O� <tabell> (<ordnet kolonneliste med sortering>);

DROP I�DEX <indeksnavn>;

Noen systemer har andre mekanismer i tillegg.

Gi / frata rettigheter til tabeller, laging av brukere, databaser m.m.

GRA�T <rettigheter> O� <tabell el.l.> TO <bruker/gruppeliste> [WITH GRA�T OPTIO�];

REVOKE [<rettigheter> ¦ GRA�T OPTIO�] FROM <tabell el.l.> TO <bruker/gruppeliste>;

<rettigheter>:

kommasepartert liste med en eller flere av SELECT, I�SERT, UPDATE (<kolonnenavn>), DELETE, ALL m.fl..

<bruker/gruppeliste>:

kommasepart liste med en eller flere brukere eller grupper. I tillegg finnes ofte noen standardgrupper, som PUBLIC og

DBA.

Noen variasjoner og begrensninger fra et system til et annet.

Annet:

Muligheter for å lage / ta bort brukere etc., CREATE USER, gjerne sammen med IDE�TIFIED BY <passord>.

Tilsvarende DROP USER.

Muligheter for å lage nye databaser, CREATE DATABASE <databasenavn>

I noen systemer: laging av typer, domener etc.

Page 30: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

5

Data

mod

elln

ota

sjon

i 3

dia

lek

ter:

Ch

en, k

råk

efot

og n

edsk

ale

rt U

ML

. E

n d

el d

etal

jer

og

var

iasj

oner

er

ute

latt

.

C

hen

s E

R

Krå

kef

ot

ned

ska

lert

UM

L

Gru

nn

leg

gen

de.

F

or

alle

dia

lek

ter:

attr

ibu

tter

kan

tas

med

ell

er u

tela

tes

(av

h.

av h

vo

r la

ngt

i

pro

sess

en o

g h

vo

r

sto

r m

od

elle

n b

lir)

dit

to f

or

do

men

er/d

atat

yp

er

det

fin

nes

var

ian

ter

for

å v

ise

min

./m

ax.

1

m

Beg

rep

: E

nti

tet(

styp

er),

rel

asjo

n(s

typ

er),

att

rib

utt

er.

Beg

rep

: E

nti

tet(

styp

er),

rel

asjo

n(s

typ

er),

att

rib

utt

er.

1

er a

rbei

dss

ted

fo

r

▲ jo

bb

er i

*

Beg

rep

: E

nti

tet(

styp

er)

elle

r o

bje

ktk

lass

er,

(mult

ipli

site

ts)a

sso

sias

joner

, at

trib

utt

er.

Er

rep

etis

jon

er t

illa

tt?

Ja, p

å k

on

sep

tuel

t n

ivå

Nei

– s

pli

ttes

ut

i eg

ne

enti

tets

typ

er

Ja, p

å k

on

sep

tuel

t n

ivå

Ev

entu

elle

pri

r- o

g

frem

med

kle

r

Tas

gje

rne

ikk

e m

ed

Hv

is d

et t

as m

ed:

Mar

ker

es f

.ek

s. m

ed

pri

rnø

kk

el:

un

der

stre

kin

g

frem

med

kk

el:

pri

kk

et l

inje

, *

, el

.l.

Hv

is d

et t

as m

ed:

mar

ker

es g

jern

e m

ed

{P

K} h

hv

. {F

K} b

ak a

ttri

bu

ttn

avn

et.

Hv

is (

del

av

) b

egge

del

er:

{P

K,F

K}

En

tite

tise

rin

g

Kan

gjø

res,

men

van

ligv

is s

ette

s d

et

bar

e p

å at

trib

utt

er p

å re

lasj

on

en.

Bar

e n

ød

ven

dig

ved

2.

ord

ens

enti

teti

seri

ng (

enti

teti

seri

ng a

v n

oe

som

all

ered

e er

en

tite

tise

rt e

ller

ku

nn

e

rt e

nti

teti

sert

).

Gjø

res

der

som

”re

lasj

on

en s

kal

in

neh

old

e

attr

ibu

tter

”.

evt.

med

att

rib

utt

er

Kan

gjø

res,

men

bar

e n

ød

ven

dig

ved

det

som

ell

ers

vil

le v

ært

2.

ord

ens

enti

teti

seri

ng.

Ass

osi

ativ

e en

tite

tsty

per

m/

attr

ibu

tter

kan

leg

ges

på:

*

*

arb

eid

s

sted

Avd

elin

g

Per

son

Per

sID

::::

::::

:

Avd

elin

g

job

ber

i

Avd

elin

g

Per

son

Per

sID

::::

::::

:

Ver

bal

bes

kri

vel

se.

Kan

evt.

set

tes

beg

ge

sid

er.

Alt

ernat

ivt

bru

kes

en r

oll

e

som

”re

lasj

onsn

avn”

Ro

llen

av

n /

rela

sjo

nsn

avn

Max

. n

ærm

est

enti

tets

-

typ

en,

evt.

min

. le

nger

un

na

1 e

r (o

g k

an s

kri

ves

) 1

..1

0..

1 m

å sk

rives

0..

1

* e

r (o

g k

an s

kri

ves

) 0

..*

1..

* b

eteg

ner

1

..m

.

Ver

bal

bes

kri

vel

se.

en

elle

r b

egge

sid

er.

Pil

vis

er

retn

ing

Per

son

nr

Per

son

Kurs

Per

son

Del

tagel

se

Kurs

Per

son

nav

n

Per

son

Per

son

Kurs

Del

tagel

se

Per

sID

::::

::::

::

Ekse

mp

el

med

att

rib

utt

er

min

. 0

, d

vs.

Avd

. kan h

a p

erso

n

Page 31: A syntax overview - Østfold University College · Det er en fordel hvis både min. og max. er med i modellen, og tilsvernde med verb/roller der det kan ... ITF10306 1 Databaser 7/10

6

Ord

reli

nje

Ord

re

n-æ

re r

ela

sjo

nst

yp

e

/ a

sso

sia

sjo

ner

(n

>2

)

Inn

ebyg

dt

i n

ota

sjo

nen

, in

gen

fo

rskje

ll

bin

ære

og n

-ære

.

Ev

t. e

nti

teti

seri

ng g

jøre

s fø

rst,

der

ette

r h

enges

nye

enti

tets

typ

er p

å d

en n

ye

enti

tets

typ

en.

Bru

k

f

or

å k

nytt

e d

em s

amm

en.

Ass

osi

ativ

e

en

tite

tsty

per

kan

bru

kes

Av

hen

gig

het

av

an

dre

enti

tets

typ

er

(en

en

tite

t er

av

hen

gig

av

eksi

sten

sen

av

en

an

nen

enti

tet)

kal

les

svak

en

tite

t /

wea

k e

nti

ty

Mar

ker

es v

ed a

t fr

emm

edn

øk

kel

en e

r en

del

av p

rim

ærn

øk

kel

en (

man

ge-

sid

en)

kal

les

ko

mp

osi

sjo

n.

Fin

nes

også

en

min

dre

ster

k k

ob

lin

g s

om

kal

les

agg

reger

ing (

mar

ker

es

med

i s

ted

et f

or

) .

Arv

Fin

nes

ik

ke,

i ti

lfel

le b

esk

riv

es

som

1:1

, m

en g

ir i

kk

e eg

entl

ig a

rv.

Fin

nes

ik

ke,

i ti

lfel

le b

esk

riv

es s

om

1:

1,

men

gir

ik

ke

egen

tlig

arv

.

{M

and

ato

ry,

Or}

I ti

lleg

g:

kan

bes

kri

ve

ko

mb

inas

jon

er a

v

man

dat

ory

/op

tio

nal

og o

m e

n o

ver

ord

net

kan

kob

les

til

max

. 1

ell

er t

il f

lere

un

der

ord

ned

e (o

r el

ler

and

), s

e o

ver

.

Kan

også

re a

rv m

ed”e

tt b

arn

”, f

.ek

s.

bar

e ”K

un

de”

og ”

Ute

nla

nd

sku

nd

e”.

Fo

rho

ld t

il

no

rma

lise

rin

g

evt.

gjø

re u

tsp

litt

inger

av

rep

etis

jon

er

Er

no

rmal

iser

t M

å gjø

re e

vt.

uts

pli

ttin

ger

av

rep

etis

jon

er

Ov

erfø

rin

g t

il

rela

sjo

nsd

ata

ba

ser

Ov

erfø

res

til

krå

kef

ot

el.l

. fø

rst

(fra

ko

nse

ptu

elt

til

logis

k n

ivå)

Alt

ern

ativ

t:

Leg

g p

å p

rim

ær-

og f

rem

med

kle

r

Ev

t. r

epet

isjo

ner

tas

bo

rt.

En

tite

tsty

per

bli

r ti

l ta

bel

ler.

Rel

asjo

ner

so

m g

jeld

er 1

:m t

as b

ort

,

rela

sjo

ner

so

m g

jeld

er m

:m b

lir

egn

e

tab

elle

r.

Ev

t. m

ange-

til-

man

ge

enti

teti

sere

s. E

ller

s:

enti

tets

typ

er b

lir

til

tab

elle

r

Ev

t. r

epet

isjo

ner

tas

bo

rt.

En

tiet

styp

er/o

bje

ktk

lass

er b

lir

til

tab

elle

r.

Ass

osi

asjo

nsa

ttri

bu

tter

i m

:m b

lir

egn

e

tab

elle

r, a

nd

re m

:m e

nti

teti

sere

s.

yer

e o

rden

s re

lasj

on

styp

er b

lir

til

tab

elle

r.

Arv

om

form

ule

res

(fle

re a

lter

nat

iver

fin

nes

, in

gen

er

hel

t go

de)

. D

erso

m m

an

bru

ker

OR

DB

-utv

idel

ser

i sy

stem

er s

om

har

det

te,

kan

arv

im

ple

men

tere

s.

Ord

reli

nje

Ord

re

Ku

nd

e

Ute

nla

nd

s

ku

nd

e In

nenla

nd

s

ku

nd

e