-- Database: Videoutleie


-- Sletter tabellene

-- For å få et skript som kan kjøres flere ganger:

-- DROP TABLE Utleie;
-- DROP TABLE Kunde;
-- DROP TABLE Eksemplar;
-- DROP TABLE Film;


-- MySQL
-- For å få et skript som kan kjøres flere ganger,
-- og som fungerer enten tabellen(e) finnes eller ikke:

-- DROP TABLE IF EXISTS Utleie;
-- DROP TABLE IF EXISTS Kunde;
-- DROP TABLE IF EXISTS Eksemplar;
-- DROP TABLE IF EXISTS Film;



-- Oppretter tabellene

CREATE TABLE Film
(
    FNr     INTEGER,
    Tittel  VARCHAR(100),
    År      SMALLINT,
    Land    VARCHAR(50),
    Sjanger VARCHAR(50),
    Alder   SMALLINT,
    Tid     SMALLINT,
    Pris    DECIMAL(8, 2),
    CONSTRAINT FilmPN PRIMARY KEY (FNr)
);


CREATE TABLE Eksemplar
(
    FNr        INTEGER,
    EksNr      SMALLINT,
    Format     CHAR(20),
    CONSTRAINT EksemplarPN PRIMARY KEY (FNr, EksNr),
    CONSTRAINT EksemplarFilmFN FOREIGN KEY (FNr) REFERENCES Film (FNr)
);


CREATE TABLE Kunde
(
    KNr        INTEGER,
    Fornavn    VARCHAR(50),
    Etternavn  VARCHAR(50),
    CONSTRAINT KundePN PRIMARY KEY (KNr)
);


CREATE TABLE Utleie
(
    FNr     INTEGER,
    EksNr   SMALLINT,
    KNr     INTEGER, 
    Dato    DATE,
    KlSlett TIME,
    CONSTRAINT UtleiePN PRIMARY KEY (FNr, EksNr, Dato, KlSLett),
    CONSTRAINT UtleieKunde FOREIGN KEY (KNr) REFERENCES Kunde (KNr), 
    CONSTRAINT UtleieEksemplar FOREIGN KEY (FNr, EksNr) REFERENCES Eksemplar (FNr, EksNr)
);



-- Setter inn eksempeldata

INSERT INTO Film (FNr, Tittel, År, Land, Sjanger, Alder, Tid, Pris) VALUES
( 1, 'Casablanca',           1942, 'USA',          'Drama',     15, 102, '149.00'),
( 2, 'Fort Apachea',         1948, 'USA',          'Western',   15, 127,     NULL),
( 3, 'Apocalypse Now',       1979, 'USA',          'Action',    18, 155, '123.00'),
( 4, 'Streets of Fire',      1984, 'USA',          'Action',    15,  93,     NULL),
( 5, 'High Noon',            1952, 'USA',          'Western',   15,  85, '123.00'),
( 6, 'Cinema Paradiso',      1988, 'Italia',       'Komedie',   11, 123,     NULL),
( 7, 'Asterix hos britene',  1988, 'Frankrike',    'Tegnefilm',  7,  78, '149.00'),
( 8, 'Veiviseren',           1987, 'Norge',        'Action',    15,  96,  '87.00'),
( 9, 'Salmer fra kjøkkenet', 2002, 'Norge',        'Komedie',    7,  80, '149.00'),
(10, 'Anastasia',            1997, 'USA',          'Tegnefilm',  7,  94, '123.00'),
(11, 'La Grande bouffe',     1973, 'Frankrike',    'Drama',     15, 129, ' 87.00'),
(12, 'The Blues Brothers',   1980, 'USA',          'Komedie',   11, 124, '135.00'),
(13, 'Beatles: Help',        1965, 'Storbritania', 'Musikk',    11, 144,     NULL);


INSERT INTO Eksemplar (FNr, EksNr, Format) VALUES
( 1, 1, 'Blue-ray'),
( 1, 2, 'Blue-ray'),
( 2, 1, 'Blue-ray'),
( 3, 1, 'DVD'     ),
( 4, 1, 'Blue-ray'),
( 4, 2, 'DVD'     ),
( 4, 3, 'Blue-ray'),
( 5, 1, 'Blue-ray'),
( 6, 1, 'DVD'     ),
( 7, 1, 'DVD'     ),
( 8, 1, 'Blue-ray'),
( 9, 1, 'Blue-ray'),
( 9, 2, 'DVD'     ),
(10, 1, 'Blue-ray'),
(10, 2, 'Blue-ray'),
(11, 1, 'DVD'     ),
(11, 2, 'Blue-ray'),
(11, 3, 'Blue-ray'),
(11, 4, 'Blue-ray'),
(12, 1, 'DVD'     ),
(13, 1, 'DVD'     ),
(13, 2, 'Blue-ray');


INSERT INTO Kunde (KNr, Fornavn, Etternavn) VALUES
(1, 'Varg',    'Virrum' ),
(2, 'Trude',   'Stein'  ),
(4, 'Katinka', 'Fosheim'),
(5, 'Robert',  'Romman' ),
(6, 'Jon',     'Vein'   );


INSERT INTO Utleie (FNr, EksNr, KNr, Dato, KlSlett) VALUES
( 1, 1, 1, '2015-06-09', '16:30:00'),
( 2, 1, 1, '2015-06-08', '19:19:00'),
( 4, 1, 1, '2015-06-09', '18:30:00'),
( 1, 2, 2, '2015-06-09', '19:54:00'),
( 3, 1, 4, '2015-06-09', '18:30:00'),
( 1, 1, 5, '2015-06-10', '19:12:00'),
(11, 2, 5, '2015-06-10', '19:12:00'),
( 8, 1, 6, '2015-06-10', '17:50:00');
