-- SQL-skript som oppretter databasetabeller for spillbiblioteket.

-- Forutsetter at skriptet blir kjørt fra databasen der
-- tabellene skal opprettes. Alternativt kan man legge
-- til en USE kommando først.






--
-- Slett tabeller
--



-- --------------------------------------------------------

--
-- Tabellstruktur for tabell Spill
--

CREATE TABLE IF NOT EXISTS Spill (
  SId int(5) NOT NULL AUTO_INCREMENT,
  Tittel varchar(50) NOT NULL,
  Sjanger varchar(50) NOT NULL,
  Studio varchar(50) NOT NULL,
  Aar date NOT NULL,
  INDEX (Tittel),
  PRIMARY KEY (SId)
) ENGINE=InnoDB;

--
-- Dataark for tabell Spill
--

INSERT INTO Spill (Tittel, Sjanger, Studio, Aar) VALUES
('Counter-Strike', 'First Person Shooter', 'Valve', '2000-06-14'),
('Battlefield 4', 'First Person Shooter', 'Electronic Arts', '2013-10-29'),
('World of Warcraft', 'MMORPG', 'Blizzard', '2004-11-21'),
('Hearthstone', 'Trading Card Game', 'Blizzard', '2010-09-21'),
('Minecraft', 'Sandbox', 'Mojang', '2012-02-28');

-- --------------------------------------------------------

--
-- Tabellstruktur for tabell Bibliotek
--

CREATE TABLE IF NOT EXISTS Bibliotek (
  BibId int(5) NOT NULL AUTO_INCREMENT,
  BId int(5) DEFAULT NULL,
  SId int(5) DEFAULT NULL,
  PRIMARY KEY (BibId)
) ENGINE=InnoDB;

--
-- Dataark for tabell Bibliotek
--

INSERT INTO Bibliotek (BId, SId) VALUES
(1, 1),
(1, 2),
(1, 3),
(1, 4),
(2, 1),
(2, 2),
(2, 3),
(2, 4),
(2, 5),
(3, 1),
(3, 3),
(3, 5);

-- --------------------------------------------------------

--
-- Tabellstruktur for tabell Omtale
--

CREATE TABLE IF NOT EXISTS Omtale (
  BibId int(5) DEFAULT NULL,
  BId int(5) DEFAULT NULL,
  Kommentar varchar(255) NOT NULL DEFAULT '',
  Tid numeric(5,1) UNSIGNED NOT NULL DEFAULT 0.0,
  Rangering smallint(1) UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (BibId)
) ENGINE=InnoDB;

--
-- Dataark for tabell Omtale
--

INSERT INTO Omtale (BibId, BId, Kommentar, Tid, Rangering) VALUES
(3, 1, 'Im a special little snowflake', 5, 9),
(5, 2, 'Booooring', 3.5, 4),
(10, 3, 'Superawesome game!', 6, 7),
(12, 3, 'This game hits me right in the feels', 13.5, 9);

-- --------------------------------------------------------

--
-- Begrensninger for dumpede tabeller
--

--
-- Begrensninger for tabell Bibliotek
--

ALTER TABLE Bibliotek
  ADD CONSTRAINT BibliotekBrukerFK FOREIGN KEY (BId) REFERENCES Bruker (BId),
  ADD CONSTRAINT BibliotekSpillFK FOREIGN KEY (SId) REFERENCES Spill (SId);

--
-- Begrensninger for tabell Omtale
--

ALTER TABLE Omtale
  ADD CONSTRAINT OmtaleBibliotekFK FOREIGN KEY (BibId) REFERENCES Bibliotek (BibId),
  ADD CONSTRAINT OmtaleBrukerFK FOREIGN KEY (BId) REFERENCES Bruker (BId);

  
