Add prev exams and ov8
This commit is contained in:
parent
bb35fdcdd7
commit
17d7ee1aed
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,41 @@
|
|||
PERSON(__person_id__, navn, epost, telefon)
|
||||
|
||||
ANSATT(__person_id__\*, timelønn, ansettelsesår)
|
||||
|
||||
LEDER(__ansatt_id__\*)
|
||||
|
||||
PROSJEKTLEDER(__leder_id__\*)
|
||||
|
||||
INGENIØR(__ansatt_id__\*)
|
||||
|
||||
ADMINISTRATIV(__ansatt_id__\*)
|
||||
|
||||
EKSTERN(__person_id__\*, rolle, tekst)
|
||||
|
||||
KUNDE(__kundenr__\*, navn, addresse, epost, telefon)
|
||||
|
||||
|
||||
PROSJEKT(__prosjektnr__, kunde\_id*, styringskomite\_id\*, referansegruppe\_id\*, kontrollgruppe\_id\*, effektmål_id\*, navn)
|
||||
|
||||
DELPROSJEKT(__prosjektnr__*, __delprosjektnr__, forutsetter\_delprosjektnr\*, budsjett, sluttdato\_plan, sluttdato\_faktisk)
|
||||
|
||||
FASE(__fasenr__, (prosjektnr, delprosjektnr)\*, budsjett, startdato\_plan, startdato\_faktisk)
|
||||
|
||||
AKTIVITET(__aktivitetsnr__, forutsetter\_aktivitetsid\*, beskrivelse, budsjett\_ing, budsjett\_adm)
|
||||
|
||||
|
||||
GRUPPE(__gruppe_id__)
|
||||
|
||||
STYRINGSKOMITE(__gruppe_id__\*)
|
||||
REFERANSEGRUPPE(__gruppe_id__\*)
|
||||
KONTROLLGRUPPE(__gruppe_id__\*)
|
||||
|
||||
GRUPPEMEDLEMSKAP(__gruppe_id__\*, __person_id*__)
|
||||
|
||||
ARBEIDSTIMER(__ukenr__, __aktivitetsnr__\*, __ansatt_id__\*, timer)
|
||||
|
||||
MÅL(__målnr__, formulering, status)
|
||||
EFFEKTMÅL(__målnr__\*)
|
||||
RESULTATDELMÅL(__målnr__\*)
|
||||
|
||||
RESULTATDELMÅLTILHØRIGHET(__resultatdelmål__\*, __prosjektnr__\*, __delprosjektnr__\*)
|
|
@ -0,0 +1,90 @@
|
|||
kunde (
|
||||
__kundenr__
|
||||
navn,
|
||||
adresse,
|
||||
telefon,
|
||||
epost
|
||||
)
|
||||
|
||||
dyreart (
|
||||
__art_id__,
|
||||
navn,
|
||||
)
|
||||
rase (
|
||||
__rase_id__,
|
||||
art_id*,
|
||||
navn,
|
||||
)
|
||||
|
||||
vaksine(
|
||||
__vaksine_id__,
|
||||
navn
|
||||
)
|
||||
|
||||
vaksine_krav (
|
||||
__vaksine_krav_id__,
|
||||
vaksine_id*,
|
||||
art_id*,
|
||||
rase_id*,
|
||||
alder,
|
||||
)
|
||||
|
||||
vaksine_utfort (
|
||||
__vaksine_utf_id__,
|
||||
vaksine_krav_id*,
|
||||
dyr_id*,
|
||||
dato,
|
||||
)
|
||||
|
||||
dyr (
|
||||
__dyr_id__,
|
||||
rase_id*
|
||||
eier_id*
|
||||
fode_aar,
|
||||
bur_alene,
|
||||
bur_husstand
|
||||
)
|
||||
|
||||
dyr_kunde_henting (
|
||||
__dyr_id__*
|
||||
__kundenr__*
|
||||
)
|
||||
|
||||
opphold (
|
||||
__dyr_id__,
|
||||
dato_fra,
|
||||
dato_til,
|
||||
)
|
||||
|
||||
bhageavtale (
|
||||
__bhageavtale_id__,
|
||||
dyr_id*,
|
||||
dato_fra,
|
||||
avtaletype, -- 0=fast med prosent, 1=klippekort (klipp=antall gjenværende), 2=dropin
|
||||
prosent,
|
||||
klipp,
|
||||
)
|
||||
bhageopphold (
|
||||
__bhageopphold_id__, -- Denne ID-en er nok til å fastslå klippekort/avtale-id
|
||||
bhageavtale_id*,
|
||||
dato,
|
||||
)
|
||||
|
||||
arrangement (
|
||||
__arrangement_id__,
|
||||
navn,
|
||||
beskrivelse,
|
||||
dato_fra,
|
||||
dato_til,
|
||||
tid_fra,
|
||||
tid_til,
|
||||
pris
|
||||
)
|
||||
|
||||
arrangement_paamelding (
|
||||
__paamelding_id__,
|
||||
arragenement_id*,
|
||||
dyr_id*,
|
||||
mottatt_diplom,
|
||||
)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
-- Oppgave 2 a (forslag 1)
|
||||
SELECT DISTINCT STED.stedsnavn FROM ETAPPE
|
||||
LEFT JOIN STED ON STED.sted_id = ETAPPE.til_stedid OR STED.sted_id = ETAPPE.fra_stedid
|
||||
LEFT JOIN LØP_ETAPPE ON LØP_ETAPPE.enr = ETAPPE.enr
|
||||
LEFT JOIN LØP ON LØP.lnr = LØP_ETAPPE.lnr
|
||||
WHERE LØP.lnr = 1 AND LØP.aar = 2018
|
||||
ORDER BY STED.stedsnavn;
|
||||
|
||||
-- Oppgave 2 a (forslag 2)
|
||||
SELECT DISTINCT S.stedsnavn
|
||||
FROM STED S, ETAPPE E, LØP_ETAPPE LE, LØP L
|
||||
WHERE S.sted_id = E.til_stedid OR S.sted_id = E.fra_stedid
|
||||
AND E.enr = LE.enr
|
||||
AND LE.lnr = L.lnr
|
||||
AND L.lnr = 1 AND LE.aar = 2018
|
||||
ORDER BY S.stedsnavn;
|
||||
|
||||
-- Oppgave 2 b
|
||||
SELECT e.distanse, s_f.stedsnavn AS fra, s_t.stedsnavn AS til FROM ETAPPE e
|
||||
LEFT JOIN STED s_t ON s_t.sted_id = e.til_stedid
|
||||
LEFT JOIN STED s_f ON s_f.sted_id = e.fra_stedid
|
||||
LEFT JOIN LØP_ETAPPE le ON le.enr = e.enr
|
||||
LEFT JOIN LØP l ON l.lnr = le.lnr
|
||||
WHERE l.lnr = 1 AND l.aar = 2018
|
||||
ORDER BY le.løpenr;
|
||||
|
||||
-- Oppgave 2 c
|
||||
SELECT DISTINCT d.deltnr, d.navn FROM DELTAKER d
|
||||
WHERE d.deltnr IN
|
||||
(SELECT d.deltnr, COUNT(*) AS antall FROM DELTAKER d
|
||||
LEFT JOIN TIDTAKING t ON t.deltnr = d.deltnr
|
||||
WHERE t.lnr = 1 AND t.aar = 2018 AND t.fullført = 1
|
||||
GROUP BY d.deltnr
|
||||
HAVING antall = 4);
|
||||
|
||||
-- Oppgave 2 d
|
||||
CREATE VIEW finnmark_deltaker AS
|
||||
SELECT d.deltnr, COUNT(e.enr) AS etapper, SUM(t.tid) AS tot_tid FROM DELTAKER d
|
||||
LEFT JOIN TIDTAKING t ON t.deltnr = d.deltnr
|
||||
LEFT JOIN LØP l ON l.lnr = t.lnr
|
||||
LEFT JOIN LØP_ETAPPE le ON le.lnr = l.lnr
|
||||
LEFT JOIN ETAPPE e ON e.enr = le.enr
|
||||
WHERE l.løpsnavn = "Finnmarksløpet" AND l.aar = 2018 AND t.fullført = 1
|
||||
GROUP BY d.delntr;
|
|
@ -0,0 +1,135 @@
|
|||
@startuml
|
||||
|
||||
|
||||
Entity sykehus {
|
||||
* sykehusnr
|
||||
--
|
||||
* navn
|
||||
* adresse
|
||||
* telefon
|
||||
}
|
||||
|
||||
Entity bygning {
|
||||
* bygningbokstav {PPK}
|
||||
--
|
||||
* areal
|
||||
}
|
||||
|
||||
Entity avdeling {
|
||||
* avdelingsnr
|
||||
--
|
||||
* navn
|
||||
* forkortelse
|
||||
* resepsjon_etasje
|
||||
}
|
||||
|
||||
Entity avdeling_poliklinisk {
|
||||
}
|
||||
|
||||
Entity avdeling_senger {
|
||||
* sengeplasser
|
||||
}
|
||||
|
||||
Entity avdeling_labratorium {
|
||||
* tilbud
|
||||
}
|
||||
|
||||
Entity person {
|
||||
* personnr
|
||||
--
|
||||
* fornavn
|
||||
* etternavn
|
||||
* adresse
|
||||
* telefon
|
||||
}
|
||||
|
||||
Entity ansatt {
|
||||
* ansettelsesår
|
||||
* lisensår
|
||||
* kompetanse
|
||||
}
|
||||
|
||||
Entity sykepleier {
|
||||
}
|
||||
Entity lege {
|
||||
}
|
||||
Entity fastlege {
|
||||
}
|
||||
|
||||
ansatt -|> person
|
||||
sykepleier --|> ansatt
|
||||
lege --|> ansatt
|
||||
fastlege --|> lege
|
||||
|
||||
Entity fastlegeforhold {
|
||||
* dato
|
||||
--
|
||||
* personnr
|
||||
* fastlegenr
|
||||
}
|
||||
|
||||
fastlegeforhold "1..*" -- "0..1" person
|
||||
fastlegeforhold "1..*" -- "1..1" fastlege
|
||||
|
||||
|
||||
ansatt "0..*" - "1..1" avdeling : jobber i
|
||||
|
||||
avdeling_labratorium --|> avdeling
|
||||
avdeling_senger --|> avdeling
|
||||
avdeling_poliklinisk --|> avdeling
|
||||
|
||||
avdeling "0..*" - "1..1" bygning : er i
|
||||
|
||||
/' avdeling "0..*" -- "1..1" sykehus '/
|
||||
bygning "0..*" - "1..1" sykehus : er del av
|
||||
|
||||
|
||||
|
||||
/' PASIENT '/
|
||||
|
||||
Entity pasient {
|
||||
}
|
||||
|
||||
pasient --|> person
|
||||
|
||||
Entity henvisning {
|
||||
* henvisningsnr
|
||||
--
|
||||
* tekst
|
||||
* dato
|
||||
}
|
||||
|
||||
diamond henvisningsdiamond
|
||||
|
||||
henvisningsdiamond .. henvisning
|
||||
henvisningsdiamond "0..*" -- "1..1" avdeling : henviser til
|
||||
henvisningsdiamond "0..*" -- "1..1" fastlege : henvist av
|
||||
henvisningsdiamond "0..*" -- "1..1" pasient
|
||||
|
||||
Entity innkalling {
|
||||
* innkallingsnr
|
||||
--
|
||||
* dato
|
||||
}
|
||||
innkalling "0..1" -- "0..1" henvisning : som følge av
|
||||
innkalling "0..*" -- "1..1" avdeling : til
|
||||
innkalling "0..*" -- "1..1" pasient
|
||||
|
||||
|
||||
Entity opphold {
|
||||
* oppholdnr
|
||||
--
|
||||
* dato
|
||||
* avslutningsdato
|
||||
* notattekst
|
||||
}
|
||||
opphold "0..*" -- "1..1" avdeling : til
|
||||
opphold "0..*" -- "0..1" pasient
|
||||
opphold "0..1" -- "0..1" innkalling : som følge av
|
||||
innkalling "0..1" -- "0..1" opphold : som følge av
|
||||
opphold "0..*" -- "1..*" ansatt
|
||||
opphold "0..*" -- "1..1" lege : ansvarlig
|
||||
|
||||
|
||||
|
||||
@enduml
|
|
@ -0,0 +1,29 @@
|
|||
SYKEHUS(__sykehusnr__, navn, adresse, telefon)
|
||||
BYGNING(__sykehusnr__*, __bygningbokstav__, areal)
|
||||
|
||||
AVDELING(__avdelingsnr__, (sykehusnr, bygningbokstav)*, navn, forkortelse, resepsjon_etasje)
|
||||
|
||||
AVDELINGPOLIKLINISK(__poliavdelingsnr__*)
|
||||
AVDELINGSENGER(__sengeavdelingsnr__*, sengeplasser)
|
||||
AVDELINGLABRATORIUM(__labavdelingsnr__*, tilbud)
|
||||
|
||||
|
||||
PERSON(__personnr__, fornavn, etternavn, adresse, telefon)
|
||||
PASIENT(__pasientpersonnr__*)
|
||||
ANSATT(__ansattpersonnr__*, ansettelsesår, lisensår, kompetanse)
|
||||
LEGE(__legepersonnr__*)
|
||||
FASTLEGE(__fastlegepersonnr__*)
|
||||
SYKEPLEIER(__sykepleierpersonnr__*)
|
||||
|
||||
FASTLEGEFORHOLD(__fastlegepersonnr__*, __personnr__*, __dato_start__)
|
||||
|
||||
HENVISNING(__henvisningsnr__, fastlegepersonnr*, avdelingsnr*, pasientpersonnr*, tekst, dato)
|
||||
|
||||
INNKALLING(__innkallingsnr__, pasientpersonnr*, avdelingsnr*, resultatav_henvisningsnr*, dato)
|
||||
|
||||
OPPHOLD(__oppholdsnr__, ansvarlig_legepersonnr*, pasientpersonnr*, avdelingsnr*, resultatav_innkallingsnr*, dato_start, dato_slutt, notat)
|
||||
|
||||
(På disse tre (henvisning, innkalling, opphold) kunne vi kanskje laget primærnøkler av flere attributter (avdeling, pasient, lege, dato, etc.), men vi har ingen garanti for at disse er unike. Samme lege kan for eksempel henvise en pasient til samme avdeling av flere årsaker til samme tid.)
|
||||
|
||||
|
||||
OPPHOLDTILHØRIGHET(__oppholdsnr__*, __ansattpersonnr__*)
|
Loading…
Reference in New Issue