· 7 years ago · Dec 03, 2018, 05:28 PM
1create database laiterekisteri;
2use laiterekisteri;
3
4DROP TABLE IF EXISTS asiakas;
5CREATE TABLE IF NOT EXISTS asiakas (
6 ASIAKAS_ID int(11) NOT NULL UNIQUE AUTO_INCREMENT,
7 NIMI varchar(50) CHARACTER SET latin1 NOT NULL,
8 SALASANA varchar(50) CHARACTER SET latin1 NOT NULL,
9 OSOITE varchar(50) CHARACTER SET latin1,
10 POSTINRO varchar(5) CHARACTER SET latin1,
11 POSTITMP varchar(50) CHARACTER SET latin1,
12 PRIMARY KEY (`ASIAKAS_ID`)
13) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
14
15DROP TABLE IF EXISTS kategoria;
16CREATE TABLE IF NOT EXISTS kategoria(
17 KATEGORIA varchar(50) CHARACTER SET latin1 NOT NULL UNIQUE,
18 PRIMARY KEY (`KATEGORIA`)
19) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
20
21DROP TABLE IF EXISTS laite;
22CREATE TABLE IF NOT EXISTS laite(
23 SARJANUMERO int(11) NOT NULL UNIQUE AUTO_INCREMENT,
24 NIMI varchar(50) CHARACTER SET latin1 NOT NULL,
25 MALLI varchar(50) CHARACTER SET latin1 NOT NULL,
26 MERKKI varchar(50) CHARACTER SET latin1 NOT NULL,
27 SIJAINTI varchar(50) CHARACTER SET latin1 NOT NULL,
28 KUVAUS varchar(50) CHARACTER SET latin1 NOT NULL,
29 KATEGORIA varchar(50) CHARACTER SET latin1 NOT NULL,
30 STATUS_NIMI varchar(50) NOT NULL,
31 OMISTAJA varchar(50) CHARACTER SET latin1 NOT NULL,
32 PRIMARY KEY (`SARJANUMERO`)
33) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
34
35DROP TABLE IF EXISTS status;
36CREATE TABLE IF NOT EXISTS status (
37 STATUS_NIMI varchar(50) CHARACTER SET latin1 NOT NULL UNIQUE,
38 PRIMARY KEY (`STATUS_NIMI`)
39) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
40
41DROP TABLE IF EXISTS varaus;
42CREATE TABLE IF NOT EXISTS varaus (
43 VARAUS_ID int(11) NOT NULL UNIQUE AUTO_INCREMENT,
44 SARJANUMERO int(11) NOT NULL,
45 ALKUPVM date NOT NULL,
46 LOPPUPVM date NOT NULL,
47 STATUS_NIMI varchar(50) NOT NULL,
48 ASIAKAS_ID int(11) NOT NULL,
49 PRIMARY KEY (`VARAUS_ID`)
50) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_swedish_ci;
51
52ALTER TABLE varaus
53ADD CONSTRAINT FK_laite
54 FOREIGN KEY (SARJANUMERO) REFERENCES laite (SARJANUMERO),
55
56ADD CONSTRAINT FK_asiakas
57 FOREIGN KEY (ASIAKAS_ID) REFERENCES asiakas (ASIAKAS_ID),
58
59ADD CONSTRAINT FK_status
60 FOREIGN KEY (STATUS_NIMI) REFERENCES status (STATUS_NIMI);
61
62ALTER TABLE laite
63ADD CONSTRAINT FK_laitekategoria
64 FOREIGN KEY (KATEGORIA) REFERENCES kategoria (KATEGORIA),
65
66ADD CONSTRAINT FK_laitestatus
67 FOREIGN KEY (STATUS_NIMI) REFERENCES status (STATUS_NIMI);
68
69
70INSERT INTO status (STATUS_NIMI) VALUES ('LAINATTU'), ('VARATTU'), ('POISTETTU');
71INSERT INTO kategoria (KATEGORIA) VALUES ('ELEKTRONIIKKA'), ('TAVARAT');
72
73
74INSERT INTO laite (NIMI, MALLI, MERKKI, SIJAINTI, KUVAUS, KATEGORIA, OMISTAJA) VALUES
75('PUHELIN', 'NOKIA', '3310', 'KUHMO', 'HYVALUURI', 'ELEKTRONIIKKA', 'JOONAS NISKANEN'),
76('NÄYTTO', 'ACER', 'H123', 'KUOPIO', 'PELINAYTTO', 'ELEKTRONIIKKA', 'SEPPO TAALASMAA'),
77('KIRVES', 'SUPERI', '2000', 'KUHMO', 'KOVAKIRVES', 'TAVARAT', 'JOONAS NISKANEN'),
78('JAKOAVAIN', 'SUPERI', '9000', 'HELSINKI', 'NICEJAKOAVAIN', 'TAVARAT', 'ISMO LAITELA'),
79('TABLETTI', 'APPLE', 'IPAD', 'KUOPIO', 'NICETABLETTI', 'ELEKTRONIIKKA', 'SEPPO TAALASMAA'),
80('TIETOKONE', 'HP', 'PAVILLON', 'KUHMO', 'EPICTIETOKONE', 'ELEKTRONIIKKA', 'SAULI NIINISTO'),
81('RUUVIMEISSELI', 'MUTTERIMIKA', '2444', 'KUHMO', 'HYVAMEISSELI', 'TAVARAT', 'JOONAS NISKANEN');