· 8 years ago · Nov 15, 2017, 10:18 AM
1#tämä on tehtävän t6 luontiskripti
2#skiprti poistaa madhollisen roolipeli-tietokannan
3# ja luo sen uuudellleeeen
4
5#skiprti lisää kantaa myös alkudatan
6
7DROP DATABASE IF EXISTS roolipeli;
8CREATE DATABASE roolipeli;
9USE roolipeli;
10
11# --- taulujen luonti ---
12
13CREATE TABLE Maastotyyppi
14(
15 Id INT NOT NULL,
16 Nimi VARCHARACTER(30) NOT NULL,
17 Liikkumisvaikeus INT NOT NULL,
18 Taisteluvaikeus INT NOT NULL,
19 PRIMARY KEY (Id)
20);
21
22CREATE TABLE Vihollistyyppi
23(
24 Id INT NOT NULL,
25 Lajinimi VARCHARACTER(40) NOT NULL,
26 Hyokkausvoima INT NOT NULL,
27 Puolustusvoima INT NOT NULL,
28 Alkukunto INT NOT NULL,
29 PRIMARY KEY (Id)
30);
31
32CREATE TABLE Taika
33(
34 Id INT NOT NULL,
35 Nimi VARCHARACTER(40) NOT NULL,
36 Kuntovaikutus INT NOT NULL,
37 PRIMARY KEY (Id)
38);
39
40CREATE TABLE Osaa
41(
42 TaikaId INT NOT NULL,
43 VihollistyyppiId INT NOT NULL,
44 PRIMARY KEY (TaikaId, VihollistyyppiId),
45 FOREIGN KEY (TaikaId) REFERENCES Taika(Id),
46 FOREIGN KEY (VihollistyyppiId) REFERENCES Vihollistyyppi(Id)
47);
48
49CREATE TABLE Esinetyyppi
50(
51 Id INT NOT NULL,
52 Nimi VARCHARACTER(30) NOT NULL,
53 puolustusvaikutus INT,
54 Hyokkaysvaikutus INT,
55 Kuntovaikutus INT,
56 Rahavaikutus INT,
57 PRIMARY KEY (Id)
58);
59
60CREATE TABLE Maastoruutu
61(
62 Xkoord INT NOT NULL,
63 Ykoord INT NOT NULL,
64 MaastotyyppiId INT NOT NULL,
65 PRIMARY KEY (Xkoord, Ykoord),
66 FOREIGN KEY (MaastotyyppiId) REFERENCES Maastotyyppi(Id)
67);
68
69CREATE TABLE Vihollinen
70(
71 Id INT NOT NULL,
72 Kunto INT NOT NULL,
73 Xkoord INT NOT NULL,
74 Ykoord INT NOT NULL,
75 vihollistyyppiId INT NOT NULL,
76 PRIMARY KEY (Id),
77 FOREIGN KEY (Xkoord, Ykoord) REFERENCES Maastoruutu(Xkoord, Ykoord),
78 FOREIGN KEY (vihollistyyppiId) REFERENCES Vihollistyyppi(Id)
79);
80
81CREATE TABLE Pelihahmo
82(
83 Id INT NOT NULL,
84 Taso INT NOT NULL,
85 Nimi VARCHARACTER(30) NOT NULL,
86 Kuntopisteet INT NOT NULL,
87 Rahat INT NOT NULL,
88 Xkoord INT NOT NULL,
89 Ykoord INT NOT NULL,
90 PRIMARY KEY (Id),
91 FOREIGN KEY (Xkoord, Ykoord) REFERENCES Maastoruutu(Xkoord, Ykoord)
92);
93
94CREATE TABLE Esine
95(
96 Id INT NOT NULL,
97 Xkoord INT ,
98 Ykoord INT ,
99 EsinetyyppiId INT NOT NULL,
100 PelihahmoId INT ,
101 PRIMARY KEY (Id),
102 FOREIGN KEY (Xkoord, Ykoord) REFERENCES Maastoruutu(Xkoord, Ykoord),
103 FOREIGN KEY (EsinetyyppiId) REFERENCES Esinetyyppi(Id),
104 FOREIGN KEY (PelihahmoId) REFERENCES Pelihahmo(Id)
105);
106
107# --- datan lisääminen ---
108
109
110INSERT INTO Maastotyyppi VALUES(1, "Tie", 3, 2);
111INSERT INTO Maastotyyppi VALUES(2, "Metsä", 8, 7);
112INSERT INTO Maastotyyppi VALUES(3, "Vuoristo", 15, 12);
113
114INSERT INTO maastoruutu(Xkoord, Ykoord, MaastotyyppiID)
115 VALUES(1, 1, 3);
116INSERT INTO maastoruutu VALUES(2, 1, 2);
117INSERT INTO maastoruutu VALUES(3, 1, 1);
118INSERT INTO maastoruutu VALUES(4, 1, 2);
119INSERT INTO maastoruutu VALUES(1, 2, 3);
120INSERT INTO maastoruutu VALUES(2, 2, 3);
121
122#Lisätään Hilfred, HUOM: nyt vasen alakulma
123INSERT INTO pelihahmo
124VALUES(1, 1, "Hilfred", 70, 0, 1, 1);
125
126#Vihollistyypit
127INSERT INTO vihollistyyppi VALUES(1, "Örkki", 50, 30, 40);