aboutsummaryrefslogtreecommitdiff
path: root/eindopdracht/eindopdracht.m4
blob: ce4d795ea260269ab204fec94014fd13dfa52a68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
changequote(`{{', `}}')
include({{../common.m4}})

# Eindopdracht

## Opdracht 1

1. Data bekijken en redundante kolommen in eigen tabellen zetten
2. Strokendiagram maken
3. SQL script maken om de database tabellen te initialiseren
4. SQL scripts maken om de tabellen te vullen met data uit de spreadsheet

## Opdracht 2

- Hoofdkantoren kunnen in een eigen tabel, en naar gerefereerd worden via id
  nummers
- Merken kunnen in een eigen tabel, en naar gerefereerd worden via id nummers
- Types kunnen in een eigen tabel opgeslagen worden en een referentie hebben
  naar een merk
- Vermogen wordt in twee eenheden opgeslagen terwijl de ene eenheid van de
  andere afgeleid kan worden

## Opdracht 3

![](imgs_erd.svg)

## Opdracht 4

![](imgs_strokendiagram.svg)

De keuze om bij de `Hoofdkantoor` tabel geen alternate key boven de `LocatieID` en
`MerkID` te zetten is een bewuste, op deze manier kan er namelijk onderscheid
blijven tussen meerdere bedrijven die in verschillende delen van een
kantoorgebouw zitten.

q_norm(5)

De `insert` commando's worden door een script gegenereerd die de excel
spreadsheet als csv inneemt, zie makefile voor implementatie.

## Opdracht 6

![](imgs_database_diagram.svg)

## Opdracht 7

De primary/foreign key relaties zijn al aangelegd door de database initalisatie
query.

q_with_test(8)
q_with_output(9)