· 6 years ago · Mar 21, 2019, 03:14 PM
1---
2-- Elektronisk Treningsdagbok
3---
4
5SET @OLD_UNIQUE_CHECKS = @@UNIQUE_CHECKS, UNIQUE_CHECKS = 0;
6SET @OLD_FOREIGN_KEY_CHECKS = @@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS = 0;
7SET @OLD_SQL_MODE = @@SQL_MODE, SQL_MODE = "TRADITIONAL,ALLOW_INVALID_DATES";
8
9DROP SCHEMA "ourDb" IF EXISTS;
10
11CREATE SCHEMA IF NOT EXISTS "ourDb";
12 DEFAULT CHARACTER SET utf8;
13USE "ourDb";
14
15CREATE TABLE IF NOT EXISTS "ourDb"."Treningsøkt" (
16 øktID INT PRIMARY KEY
17 dato DATE NOT NULL,
18 tidspunkt TIMESTAMP NOT NULL,
19 varighet INT NOT NULL,
20 informasjon NVARCHAR(255) NOT NULL,
21 Pform INT(10) NOT NULL,
22 Pprestasjon INT(10) NOT NULL,
23 NotatFK INT,
24 FOREIGN KEY (NotatID) REFERENCES Notat("NotatID")
25);
26
27
28CREATE TABLE IF NOT EXISTS "ourDb"."Notat" (
29 NotatID INT,
30 Formål NVARCHAR(255),
31 Opplevelse NVARCHAR(255),
32 NyeMÃ¥l NVARCHAR(255),
33 TreningsøktID INT PRIMARY KEY,
34 PRIMARY KEY ("NotatID", "TreningsøktID"),
35 INDEX "fk_Notat_Treningsøkt_idx" ("TreningsøktID" ASC),
36 CONSTRAINT "fk_Notat_Treningsøkt"
37 FOREIGN KEY ("TreningsøktID")
38 REFERENCES "ourDb"."Treningsøkt" ("TreningsøktID")
39 ON DELETE CASCADE
40 ON UPDATE CASCADE
41);
42
43CREATE TABLE IF NOT EXISTS Øvelsesgruppe (
44 ØvelsesgruppeID INT PRIMARY KEY,
45 Kroppsdel NVARCHAR(40) NOT NULL
46);
47
48CREATE TABLE IF NOT EXISTS "ourDb"."Øvelse" (
49 ØvelseID INT PRIMARY KEY,
50 Navn NVARCHAR(40),
51 Beskrivelse NVARCHAR(255),
52 Kilogram INT,
53 Sett INT
54);
55
56DROP TABLE IF EXISTS "ourDb"."Fritt";
57
58CREATE TABLE IF NOT EXISTS "ourDb"."Fritt" (
59 "FrittID" INT PRIMARY KEY,
60 "Navn" NVARCHAR(45) NOT NULL,
61 "Beskrivelse" NVARCHAR(400) NOT NULL,
62 PRIMARY KEY ("FrittID")
63);
64
65DROP TABLE IF EXISTS "ourDb"."Fritt_has_Øvelsesgruppe";
66
67CREATE TABLE IF NOT EXISTS "ourDb"."Fritt_has_Øvelsesgruppe" (
68 "FrittID" INT NOT NULL,
69 "ØvelsesgruppeID" INT NOT NULL,
70 PRIMARY KEY ("FrittID", "ØvelsesgruppeID"),
71 INDEX "fk_Fritt_has_Øvelsesgruppe_Øvelsesgruppe1_idx" ("ØvelsesgruppeID" ASC),
72 INDEX "fk_Fritt_has_Øvelsesgruppe_Fritt1_idx" ("idFritt" ASC),
73 CONSTRAINT "fk_Fritt_has_Øvelsesgruppe_Fritt1"
74 FOREIGN KEY ("idFritt") REFERENCES "ourDb"."Fritt" ("idFritt")
75 ON DELETE CASCADE
76 ON UPDATE CASCADE,
77 CONSTRAINT "fk_Fritt_has_Øvelsesgruppe_Øvelsesgruppe1"
78 FOREIGN KEY ("ØvelsesgruppeID")REFERENCES "ourDb"."Øvelsesgruppe" ("ØvelsesgruppeID")
79 ON DELETE CASCADE
80 ON UPDATE CASCADE
81);
82
83DROP TABLE IF EXISTS "ourDb"."Apparat";
84
85CREATE TABLE IF NOT EXISTS "ourDb"."Apparat" (
86 ApparatID INT PRIMARY KEY,
87 Navn NVARCHAR(40 NOT NULL),
88 Beskrivelse NVARCHAR(300) NOT NULL
89);
90
91
92DROP TABLE IF EXISTS "ourDb"."Apparatøvelse";
93
94CREATE TABLE IF NOT EXISTS "ourDb"."Apparatøvelse" (
95 "ØvelseBenytterApparatID" INT NOT NULL AUTO_INCREMENT,
96 "Navn" NVARCHAR(45) NOT NULL,
97 "ApparatID" INT NOT NULL,
98 "Beskrivelse" NVARCHAR(450) NOT NULL,
99 PRIMARY KEY ("ØvelseBenytterApparatID"),
100 INDEX "fk_ApparatØvelse_Apparat1_idx" ("ApparatID" ASC),
101 CONSTRAINT "fk_ApparatØvelse_Apparat1"
102 FOREIGN KEY ("ApparatID")
103 REFERENCES "ourDb"."Apparat" ("ApparatID")
104 ON DELETE RESTRICT
105 ON UPDATE CASCADE
106);
107
108
109DROP TABLE IF EXISTS "ourDb"."Treningsøkt_has_Fritt";
110
111CREATE TABLE IF NOT EXISTS "ourDb"."Treningsøkt_has_Fritt" (
112 "idTreningsøkt" INT NOT NULL,
113 "idFritt" INT NOT NULL,
114 "Beskrivelse" NVARCHAR(450) NOT NULL,
115 PRIMARY KEY ("idTreningsøkt", "idFritt"),
116 INDEX "fk_Treningsøkt_has_Fritt_Fritt1_idx" ("idFritt" ASC),
117 INDEX "fk_Treningsøkt_has_Fritt_Treningsøkt1_idx" ("idTreningsøkt" ASC),
118 CONSTRAINT "fk_Treningsøkt_has_Fritt_Treningsøkt1"
119 FOREIGN KEY ("idTreningsøkt")
120 REFERENCES "ourDb"."Treningsøkt" ("idTreningsøkt")
121 ON DELETE CASCADE
122 ON UPDATE CASCADE,
123 CONSTRAINT "fk_Treningsøkt_has_Fritt_Fritt1"
124 FOREIGN KEY ("idFritt")
125 REFERENCES "ourDb"."Fritt" ("idFritt")
126 ON DELETE CASCADE
127 ON UPDATE CASCADE
128);
129
130DROP TABLE IF EXISTS "ourDb"."Treningsøkt_has_ApparatØvelse";
131
132CREATE TABLE IF NOT EXISTS "ourDb"."Treningsøkt_has_ApparatØvelse" (
133 "idTreningsøkt" INT NOT NULL,
134 "ØvelseBenytterApparatID" INT NOT NULL,
135 "Kilo" INT NOT NULL,
136 "Reps" INT NOT NULL,
137 "Set" INT NOT NULL,
138 PRIMARY KEY ("idTreningsøkt", "ØvelseBenytterApparatID"),
139 INDEX "fk_Treningsøkt_has_ApparatØvelse_ApparatØvelse1_idx" ("ØvelseBenytterApparatID" ASC),
140 INDEX "fk_Treningsøkt_has_ApparatØvelse_Treningsøkt1_idx" ("idTreningsøkt" ASC),
141 CONSTRAINT "fk_Treningsøkt_has_ApparatØvelse_Treningsøkt1"
142 FOREIGN KEY ("idTreningsøkt")
143 REFERENCES "ourDb"."Treningsøkt" ("idTreningsøkt")
144 ON DELETE CASCADE
145 ON UPDATE CASCADE,
146 CONSTRAINT "fk_Treningsøkt_has_ApparatØvelse_ApparatØvelse1"
147 FOREIGN KEY ("ØvelseBenytterApparatID")
148 REFERENCES "ourDb"."Apparatøvelse" ("ØvelseBenytterApparatID")
149 ON DELETE CASCADE
150 ON UPDATE CASCADE
151);
152
153DROP TABLE IF EXISTS "ourDb"."ApparatØvelse_has_Øvelsesgruppe";
154
155CREATE TABLE IF NOT EXISTS "ourDb"."ApparatØvelse_has_Øvelsesgruppe" (
156 "ØvelseBenytterApparatID" INT NOT NULL,
157 "ØvelsesgruppeID" INT NOT NULL,
158 PRIMARY KEY ("ØvelseBenytterApparatID", "ØvelsesgruppeID"),
159 INDEX "fk_ApparatØvelse_has_Øvelsesgruppe_Øvelsesgruppe1_idx" ("ØvelsesgruppeID" ASC),
160 INDEX "fk_ApparatØvelse_has_Øvelsesgruppe_ApparatØvelse1_idx" ("ØvelseBenytterApparatID" ASC),
161 CONSTRAINT "fk_ApparatØvelse_has_Øvelsesgruppe_ApparatØvelse1"
162 FOREIGN KEY ("ØvelseBenytterApparatID")
163 REFERENCES "ourDb"."Apparatøvelse" ("ØvelseBenytterApparatID")
164 ON DELETE CASCADE
165 ON UPDATE CASCADE,
166 CONSTRAINT "fk_ApparatØvelse_has_Øvelsesgruppe_Øvelsesgruppe1"
167 FOREIGN KEY ("ØvelsesgruppeID")
168 REFERENCES "ourDb"."Øvelsesgruppe" ("ØvelsesgruppeID")
169 ON DELETE CASCADE
170 ON UPDATE CASCADE
171);
172
173SET SQL_MODE = @OLD_SQL_MODE;
174SET FOREIGN_KEY_CHECKS = @OLD_FOREIGN_KEY_CHECKS;
175SET UNIQUE_CHECKS = @OLD_UNIQUE_CHECKS;