Attempt ov7, initial add
This commit is contained in:
parent
c532aa8bfc
commit
7471b157ce
BIN
ov7/eer_modell.png
Normal file
BIN
ov7/eer_modell.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 69 KiB |
101
ov7/eer_modell.puml
Normal file
101
ov7/eer_modell.puml
Normal file
@ -0,0 +1,101 @@
|
||||
@startuml
|
||||
|
||||
|
||||
skinparam linetype ortho
|
||||
|
||||
entity "Arbeidsstasjon" as arb {
|
||||
arbeidsstasjon_id {PK} : number
|
||||
--
|
||||
lokasjon : string
|
||||
}
|
||||
|
||||
entity "Kunde" as k {
|
||||
kunde_id {PK} : number
|
||||
--
|
||||
navn : string
|
||||
adresse: string
|
||||
}
|
||||
|
||||
entity "Ordre" as o {
|
||||
ordre_id {PK} : number
|
||||
--
|
||||
kunde_id : number
|
||||
rabatt : number
|
||||
betalingsstatus : string
|
||||
ordredato : date
|
||||
leveringsdato_antatt : date
|
||||
leveringsdato_faktisk : date
|
||||
}
|
||||
|
||||
entity "Del" as d {
|
||||
del_id {PK} : number
|
||||
--
|
||||
spesialstol_id: number
|
||||
deltype_id : number
|
||||
ferdigstilt : boolean
|
||||
}
|
||||
|
||||
entity "Deltype" as dt {
|
||||
deltype_id {PK} : number
|
||||
--
|
||||
navn : string
|
||||
arbeidsstasjon_id : number
|
||||
antall : number
|
||||
farge : string
|
||||
pris : number
|
||||
beskrivelse : string
|
||||
}
|
||||
|
||||
entity "Stoffrull" as sr {
|
||||
stoffrull_id {PK} : number
|
||||
--
|
||||
deltype_id : number
|
||||
meter : number
|
||||
}
|
||||
|
||||
entity "Standardstol" as sts {
|
||||
standardstol_id {PK} : number
|
||||
--
|
||||
modellnavn: string
|
||||
stoltype : "kontorstol" | "konferansestoltol"
|
||||
pris: number
|
||||
lagerantall: number
|
||||
}
|
||||
|
||||
entity "Spesialstol" as sps {
|
||||
spesialstol_id {PK} : number
|
||||
--
|
||||
modellnavn: string
|
||||
stoltype : "kontorstol" | "konferansestoltol"
|
||||
pris: number
|
||||
}
|
||||
|
||||
entity "Bestilling" as b {
|
||||
bestilling_id {PK} : number
|
||||
--
|
||||
ordre_id : number
|
||||
antall : number
|
||||
pris : number
|
||||
standardstol_id : number
|
||||
spesialstol_id : number
|
||||
stoffrull_id : number
|
||||
}
|
||||
|
||||
k ||--o{ o
|
||||
o ||-|{ b
|
||||
|
||||
b ||--o| sts
|
||||
b ||--o| sps
|
||||
note "Det er enten en spesialstol_id eller en standardstol_id, den andre er NULL" as n1
|
||||
n1 .. b
|
||||
|
||||
b ||---|| sr
|
||||
|
||||
sr }o--|| dt
|
||||
|
||||
sps ||--|{ d
|
||||
d }o--|| dt
|
||||
|
||||
dt }o-|| arb
|
||||
|
||||
@enduml
|
85
ov7/losning.md
Normal file
85
ov7/losning.md
Normal file
@ -0,0 +1,85 @@
|
||||
---
|
||||
geometry: margin=30mm
|
||||
author: Felix Albrigtsen
|
||||
...
|
||||
|
||||
# EER-modell
|
||||
|
||||
![EER-modell](eer_modell.png)
|
||||
|
||||
# Relasjonsmodell
|
||||
|
||||
|
||||
kunde(<u>kunde\_id</u>, navn, string)
|
||||
|
||||
ordre(<u>ordre\_id</u>, kunde\_id\*, rabatt, betalingsstatus, ordredata, leveringsdato\_antatt, leveringsdato\_faktisk)
|
||||
|
||||
bestilling(<u>bestilling\_id</u>, ordre\_id\*, antall, pris, standardstol\_id\*, spesialstol\_id\*, stoffrull\_id)
|
||||
|
||||
> Merk! standardstol\_id og spesialstol\_id brukes som fremmednøkkel, men kan være NULL.
|
||||
|
||||
|
||||
spesialstol(<u>spesialstol\_id</u>, modellnavn, stoltype, pris)
|
||||
|
||||
standardstol(<u>standardstol_id</u>, modellnavn, stoltype, pris, lagerantall)
|
||||
|
||||
del(<u>del\_id</u>, spesialtstol\_id\*, deltype\_id\*, ferdigstilt)
|
||||
|
||||
deltype(<u>deltype\_id</u>, navn, arbeidsstasjon\_id\*, antall, farge, pris, beskrivelse)
|
||||
|
||||
stoffrull(<u>stoffrull\_id</u>, deltype\_id\*, meter)
|
||||
|
||||
arbeidsstasjon(<u>arbeidsstasjon\_id</u>, lokasjon)
|
||||
|
||||
|
||||
|
||||
# Oppgave 2 - SQL
|
||||
|
||||
## 2.1 Finn hvor mange (antallet) stolmodeller som finnes av hver stoltype.
|
||||
```sql
|
||||
SELECT COUNT(*) FROM spesialstol
|
||||
UNION
|
||||
SELECT COUNT(*) FROM standardstol
|
||||
GROUP BY stoltype;
|
||||
```
|
||||
|
||||
## 2.2 Ut fra alle registrerte ordre (bestillinger): Finn gjennomsnittlig antall bestilte stoler av hver stoltype.
|
||||
|
||||
```sql
|
||||
SELECT SUM(antall) FROM (
|
||||
SELECT b1.antall, sts.stoltype FROM bestilling b1
|
||||
LEFT JOIN standardstol sts
|
||||
ON b.standardstol_id = sts.standardstol_id
|
||||
WHERE b1.spesialstol_id IS NULL
|
||||
|
||||
UNION
|
||||
|
||||
SELECT b2.antall, sps.stoltype FROM bestilling b2
|
||||
LEFT JOIN spesialstol sps
|
||||
ON b2.spesialstol_id = sps.spesialstol_id
|
||||
WHERE b2.spesialstol_id
|
||||
)
|
||||
|
||||
GROUP BY stoltype;
|
||||
```
|
||||
|
||||
## 2.3 Finn det totale antallet stoler som finnes i bestilling, og som enda ikke er levert kunder. Tips: Sjekk på reell leveringsdato (dvs. om ordren er effektuert)
|
||||
|
||||
```sql
|
||||
SELECT SUM(b.antall) AS "Bestilte stoler, ikke levert"
|
||||
FROM bestilling b
|
||||
LEFT JOIN ordre o
|
||||
ON b.ordre_id = o.ordre_id
|
||||
WHERE o.leveringsdato_faktisk IS NULL;
|
||||
```
|
||||
|
||||
## 2.4 Finn ut hvor mange (antallet) av stolene i spørring 3 over som er standardstoler.
|
||||
|
||||
```sql
|
||||
SELECT SUM(b.antall) AS "Bestilte standardstoler, ikke levert"
|
||||
FROM bestilling b
|
||||
LEFT JOIN ordre o
|
||||
ON b.ordre_id = o.ordre_id
|
||||
WHERE o.leveringsdato_faktisk IS NULL
|
||||
AND b.spesialstol_id IS NULL;
|
||||
```
|
BIN
ov7/losning.pdf
Normal file
BIN
ov7/losning.pdf
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user