-- SQL-skript for eksamen DAT1000 Database 1 høst 2023.

-- Forutsetter at du kjører skriptet i en tom database.
-- På lokal maskin kan du eventuelt lage en database slik:
-- CREATE DATABASE IF NOT EXISTS eksamen23;
-- USE eksamen23;


-- Sletter tabeller.
DROP TABLE IF EXISTS Påmelding;
DROP TABLE IF EXISTS Fottur;
DROP TABLE IF EXISTS Hytte;
DROP TABLE IF EXISTS Deltaker;


-- Oppretter tabeller.
CREATE TABLE Deltaker
(
  DNr INTEGER,
  Fornavn   VARCHAR(100),
  Etternavn VARCHAR(100),
  EPost     VARCHAR(100),
  PRIMARY KEY (DNr)
);

CREATE TABLE Hytte
(
  HNr        SMALLINT,
  Navn       VARCHAR(100),
  Telefon    CHAR(8),
  AntSenger  SMALLINT,
  PRIMARY KEY (HNr)
);

CREATE TABLE Fottur
(
  FNr        INTEGER,
  StartDato  DATE,
  Turtype    VARCHAR(50),
  AntDager   SMALLINT,
  StartHytte SMALLINT,
  Pris       DECIMAL(8,2),
  PRIMARY KEY (FNr),
  FOREIGN KEY (StartHytte) REFERENCES Hytte (HNr)
);

CREATE TABLE Påmelding
(
  FNr     INTEGER,
  DNr     INTEGER,
  RegDato DATE,
  PRIMARY KEY (FNr, DNr),
  FOREIGN KEY (DNr) REFERENCES Deltaker (DNr),
  FOREIGN KEY (FNr) REFERENCES Fottur (FNr)
);


-- Setter inn eksempeldata
INSERT INTO Deltaker (DNr, Fornavn, Etternavn, EPost) VALUES
(1, 'Ole', 'Hansen', 'ole.hansen@gmail.com'),
(2, 'Kari', 'Andersen', 'kari.andersen@gmail.com'),
(3, 'Per', 'Olsen', 'per.olsen@gmail.com'),
(4, 'Lise', 'Pedersen', 'lise.pedersen@gmail.com'),
(5, 'Jan', 'Johansen', 'jan.johansen@gmail.com');

INSERT INTO Hytte (HNr, Navn, Telefon, AntSenger) VALUES
(101, 'Fjellro Turisthytte',    '12345678', 6),
(102, 'Skogsbu Hytte',          '87654321', 20),
(103, 'Vinterglede Hytte',      '23456789', 45),
(104, 'Fjellidyll Turisthytte', '98765432', 15),
(105, 'Julestemning Hytte',     '34567890', 80);

INSERT INTO Fottur (FNr, StartDato, Turtype, AntDager, StartHytte, Pris) VALUES
(1, '2022-07-15', 'Enkel',    3, 101, 3500.00),
(2, '2023-09-10', 'Middels',  3, 102, 4800.00),
(3, '2023-12-01', 'Enkel',    2, 103, 2200.00),
(4, '2023-12-20', 'Krevende', 7, 104, 8400.00),
(5, '2023-12-10', 'Krevende', 3, 105, 4500.00);

INSERT INTO Påmelding (FNr, DNr, RegDato) VALUES
(1, 5, '2022-06-01'),
(1, 2, '2022-06-02'),
(2, 3, '2023-08-20'),
(3, 2, '2023-11-15'),
(4, 5, '2023-12-01'),
(4, 2, '2023-12-01');
