· 6 years ago · Jun 21, 2019, 02:46 PM
1DROP TABLE IF EXISTS Sprzedaz;
2DROP TABLE IF EXISTS Samochod_osobowy;
3DROP TABLE IF EXISTS Samochod_dealer;
4DROP TABLE IF EXISTS Samochod_ciezarowy;
5DROP TABLE IF EXISTS Samochod_DodatkoweWyposazenie;
6DROP TABLE IF EXISTS Model_TypSilnika;
7DROP TABLE IF EXISTS Model_Dealer;
8DROP TABLE IF EXISTS Samochod;
9DROP TABLE IF EXISTS Model;
10DROP TABLE IF EXISTS Marka;
11DROP TABLE IF EXISTS Typ_silnika;
12DROP TABLE IF EXISTS Dealer;
13DROP TABLE IF EXISTS Klient;
14DROP TABLE IF EXISTS Dodatkowe_Wyposazenie;
15
16
17CREATE TABLE Marka
18(
19nazwa VARCHAR(50) PRIMARY KEY,
20rok_zalozenia DATE
21);
22CREATE TABLE Model
23(
24identyfikator INT PRIMARY KEY IDENTITY,
25nazwa VARCHAR(50),
26rok_wprowadzenia_na_rynek DATE,
27marka_nazwa VARCHAR(50) REFERENCES Marka(nazwa),
28id_generacja INT NULL REFERENCES Model(identyfikator)
29);
30
31
32
33CREATE TABLE Typ_silnika (
34 identyfikator INT PRIMARY KEY IDENTITY,
35 rodzaj_paliwa VARCHAR(20) CHECK (rodzaj_paliwa IN ('95', '98', 'diesel', 'gaz', 'prad')) ,
36 opis_parametrow VARCHAR(50)
37);
38
39CREATE TABLE Samochod_Ciezarowy (
40 model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
41 ladownosc_kg INT
42);
43
44CREATE TABLE Samochod_osobowy (
45 model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
46 liczba_pasazerow INT,
47 pojemnosc_bagaznika_litry INT
48);
49
50CREATE TABLE Samochod (
51 VIN VARCHAR(50) PRIMARY KEY,
52 przebieg_km INT,
53 szkrzynia_biegow INT,
54 kraj_pochodzenia VARCHAR(30),
55 rok_produkcji DATE,
56 model_ID INT REFERENCES Model(identyfikator),
57 Typ_silnika_ID INT REFERENCES Typ_silnika(identyfikator),
58);
59
60CREATE TABLE Dealer (
61 nazwa VARCHAR(50) PRIMARY KEY,
62 Adres VARCHAR(50)
63);
64
65CREATE TABLE Samochod_Dealer (
66 VIN VARCHAR(50) PRIMARY KEY REFERENCES Samochod(VIN),
67 Dealer_nazwa VARCHAR(50) REFERENCES Dealer(nazwa)
68);
69
70CREATE TABLE Dodatkowe_wyposazenie(
71 nazwa VARCHAR(50) PRIMARY KEY
72);
73
74
75CREATE TABLE Klient (
76 ID INT PRIMARY KEY IDENTITY,
77 imie VARCHAR(50),
78 nazwisko VARCHAR(50),
79 nr_telefon BIGINT
80);
81
82CREATE TABLE Sprzedaz (
83 Data_sprzedazy DATE PRIMARY KEY,
84 cena MONEY,
85 Samochod_VIN VARCHAR(50) REFERENCES dbo.Samochod(VIN) ON DELETE CASCADE,
86 Dealer_nazwa VARCHAR(50) REFERENCES dbo.Dealer(nazwa),
87 Klient_ID INT REFERENCES dbo.Klient(ID)
88);
89
90CREATE TABLE Model_TypSilnika(
91 Model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
92 TypSilnika_ID INT REFERENCES Typ_silnika(identyfikator)
93);
94
95CREATE TABLE Model_Dealer(
96 Model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
97 Dealer_nazwa VARCHAR(50) REFERENCES Dealer(nazwa)
98);
99
100CREATE TABLE Samochod_DodatkoweWyposazenie (
101 VIN VARCHAR(50) PRIMARY KEY REFERENCES Samochod(VIN),
102 Nazwa_wyposazenie VARCHAR(50) REFERENCES Dodatkowe_wyposazenie(nazwa)
103);
104
105INSERT INTO dbo.Marka(nazwa,rok_zalozenia) VALUES
106('Volkswagen', '1937'),
107('Ford', '1903'),
108('Renault', '1898'),
109('Peugeot', '1896'),
110('Opel', '1862'),
111('Mercedes', '1926'),
112('Audi', '1909'),
113('BMW', '1916'),
114('Fiat', '1899'),
115('Skoda', '1895')
116
117
118CREATE UNIQUE INDEX idx_test_uq_x
119ON Model(id_generacja)
120WHERE id_generacja IS NOT NULL;
121
122INSERT INTO dbo.Model(nazwa,rok_wprowadzenia_na_rynek,marka_nazwa,id_generacja) VALUES
123('Fabia', '1999', 'Skoda', null),
124('Fabia v2', '1999', 'Skoda', 1),
125('Fabia v3', '1999', 'Skoda', 2),
126('Audi a1', '1979', 'Audi', null),
127('Audi a2', '1979', 'Audi', 4),
128('Audi a3', '1979', 'Audi', 5),
129('Audi a6', '1979', 'Audi', 6),
130('Golf 1', '1979', 'Volkswagen', null),
131('Golf 2', '1989', 'Volkswagen', 8),
132('Golf 3', '1999', 'Volkswagen', 9),
133('Golf 4', '2004', 'Volkswagen', 10),
134('BMW 1', '1978', 'BMW', null),
135('BMW 2', '1978', 'BMW', 12),
136('BMW 3', '1978', 'BMW', 13),
137('BMW 4', '1978', 'BMW', 14),
138('BMW 5', '1978', 'BMW', 15)
139
140INSERT INTO dbo.Typ_silnika(rodzaj_paliwa,opis_parametrow) VALUES
141
142('95', '75km, 80kw'),
143('98', '115km, 70kw'),
144('95', '115km, 20kw, uzywany'),
145('98', '115km, 20kw'),
146('diesel', '115km, 20kw'),
147('diesel', '115km, 20kw, niezle kopci'),
148('95', '115km, 20kw, jest super'),
149('prad', '115km, 20kw'),
150('gaz', '85km, 20kw'),
151('95', '175km, 20kw'),
152('95', '115km, 20kw')
153
154INSERT INTO dbo.Samochod_Ciezarowy(model_ID,ladownosc_kg) VALUES
155(1, 155),
156(2, 525),
157(4, 625),
158(5, 725),
159(6, 1425),
160(7, 700),
161(8, 1425),
162(9, 555),
163(10, 512)
164INSERT INTO dbo.Samochod_osobowy (model_ID,liczba_pasazerow,pojemnosc_bagaznika_litry) VALUES
165(1, 5, 100),
166(2, 4, 100),
167(14, 2, 50),
168(11, 5, 50),
169(5, 8, 300),
170(6, 5, 100),
171(8, 5, 100),
172(10, 4, 100),
173(9, 5, 100),
174(7, 2, 20)
175
176INSERT INTO dbo.Samochod ( VIN, przebieg_km, szkrzynia_biegow,kraj_pochodzenia,rok_produkcji,model_ID,Typ_silnika_ID) VALUES
177
178('1GCEK14H6DS161890', 14555, '5', 'Francja', '2003', 1, 1),
179('2T1BU4EEXBC622932', 67555, '5', 'Polsja', '1954', 5, 5),
180('3N1AB7AP5DL710655', 14555, '5', 'Niemcy', '1963', 7, 1),
181('1FBJS31L6VHA87909', 84555, '5', 'Chorwacja', '2004', 1, 5),
182('1HGCP26869A183852', 24555, '5', 'Francja', '2002', 3, 4),
183('2FMGK5C88EBD11829', 324555, '5', 'Niemcy', '2006', 5, 2),
184('1C6RR7FT9ES155382', 424555, '5', 'Francja', '1922', 7, 8),
185('5XYZWDLA8FG257248', 14555, '5', 'Niemcy', '2009', 8, 5),
186('1C4RJFAG4EC150198', 524555, '5', 'Anglia', '2003', 10, 2),
187('5NPEB4AC6CH463090', 14555, '5', 'Francja', '2003', 12, 4)
188
189INSERT INTO dbo.Dealer (nazwa, Adres) VALUES
190('Wazniak', 'Poznan ul Taka 2'),
191('Osilek', 'Warszawa ul Mika 3'),
192('Lasuch', 'Pozna ul Kierska 12'),
193('Maruda', 'Rogirowko ul Napieralu 2'),
194('Ciamajda ', 'Poznan ul Ratajczaka 3'),
195('Lalus', 'Katowice ul Mala 3'),
196('Spioch', 'Poznan ul asd 2'),
197('Pracus', 'Warszawa ul Krakowska 1'),
198('Smerfetka', 'Rogierwowko ul Duza 8'),
199('Zgrywus', 'Poznan Kierska 21')
200
201INSERT INTO dbo.Samochod_Dealer (VIN,Dealer_nazwa) VALUES
202('1GCEK14H6DS161890', 'Wazniak'),
203('2T1BU4EEXBC622932', 'Osilek'),
204('3N1AB7AP5DL710655', 'Lasuch'),
205('1FBJS31L6VHA87909', 'Maruda'),
206('1HGCP26869A183852', 'Ciamajda'),
207('2FMGK5C88EBD11829', 'Lalus'),
208('1C6RR7FT9ES155382', 'Spioch'),
209('5XYZWDLA8FG257248', 'Pracus'),
210('1C4RJFAG4EC150198', 'Smerfetka'),
211('5NPEB4AC6CH463090', 'Zgrywus')
212
213INSERT INTO dbo.Dodatkowe_wyposazenie (nazwa) VALUES
214('apteczka'),
215('zapasowe kolo'),
216('zapasowa zarowka'),
217('zestaw narzedzi'),
218('kamilzelka odblaskowa'),
219('szyby antynapadowe'),
220('budzik'),
221('tempomat'),
222('bagaznik na rowery'),
223('naklejka zapachowa')
224
225INSERT INTO dbo.Klient
226(
227 imie,
228 nazwisko,
229 nr_telefon
230)
231VALUES
232('Pawel', 'Gawel', 1758746079622),
233('Wojciech', 'Pokrywka', 17403175202),
234('Jan', 'Ratajczak', 17147447034),
235('Dawid', 'Kowalski', 174141144284),
236('Pawel', 'Nowak', 1726787009597),
237('Krzysztof', 'Aksymiran', 17347942084),
238('Anna', 'Gawel', 17092811188),
239('Pawel', 'Tusk', 1776085725175),
240('Wojciech', 'Parda', 1769176996615),
241('Mikolaj', 'Kaczorowsk', 1736614762310),
242('Pawel', 'Nowak', 74870113241)
243
244INSERT INTO dbo.Sprzedaz
245(
246 Data_sprzedazy,
247 cena,
248 Samochod_VIN,
249 Dealer_nazwa,
250 Klient_ID
251
252)
253VALUES
254('2018-02-01', 5000, '1GCEK14H6DS161890','Wazniak', 1),
255('2009', 50000, '1GCEK14H6DS161890', 'Wazniak', 2),
256('2010', 1500, '3N1AB7AP5DL710655', 'Osilek', 2),
257('2016-12-04', 5600, '1GCEK14H6DS161890', 'Wazniak', 3),
258('2019', 3100, '3N1AB7AP5DL710655', 'Osilek', 4),
259('2008', 4000, '1C4RJFAG4EC150198', 'Osilek', 4),
260('2016', 5000, '1C6RR7FT9ES155382', 'Osilek', 1),
261('2015', 8000, '1C4RJFAG4EC150198', 'Zgrywus', 2),
262('2018-05-26', 1200, '1C6RR7FT9ES155382', 'Zgrywus', 8),
263('2018', 5500, '1C6RR7FT9ES155382', 'Zgrywus', 9)
264
265
266
267INSERT INTO dbo.Model_TypSilnika
268(
269 Model_ID,
270 TypSilnika_ID
271)
272VALUES
273(1, 2),
274(2, 5),
275(3, 3),
276(4, 2),
277(5, 7),
278(6, 9),
279(7, 2),
280(8, 6),
281(9, 7),
282(10, 2)
283INSERT INTO dbo.Model_Dealer
284(
285 Model_ID,
286 Dealer_nazwa
287)
288VALUES
289(1, 'Wazniak'),
290(2, 'Osilek'),
291(3, 'Lasuch'),
292(4, 'Maruda'),
293(5, 'Ciamajda '),
294(6, 'Lalus'),
295(7, 'Spioch'),
296(8, 'Pracus'),
297(9, 'Smerfetka'),
298(10, 'Zgrywus')
299
300INSERT INTO dbo.Samochod_DodatkoweWyposazenie
301(
302 VIN,
303 Nazwa_wyposazenie
304)
305VALUES
306('1GCEK14H6DS161890', 'apteczka'),
307('2T1BU4EEXBC622932', 'bagaznik na rowery'),
308('3N1AB7AP5DL710655', 'bagaznik na rowery'),
309('1FBJS31L6VHA87909', 'zestaw narzedzi'),
310('1HGCP26869A183852', 'apteczka'),
311('2FMGK5C88EBD11829', 'zapasowe kolo'),
312('1C6RR7FT9ES155382', 'apteczka'),
313('5XYZWDLA8FG257248', 'kamilzelka odblaskowa'),
314('1C4RJFAG4EC150198', 'zapasowe kolo'),
315('5NPEB4AC6CH463090', 'apteczka')
316
317
318
319SELECT * FROM dbo.Marka;
320SELECT * FROM dbo.Model;
321SELECT * FROM dbo.Typ_silnika
322SELECT * FROM Samochod_Ciezarowy
323SELECT * FROM dbo.Samochod_osobowy
324SELECT * FROM dbo.Samochod
325SELECT * FROM dbo.Samochod_Dealer
326SELECT * FROM dbo.Dodatkowe_wyposazenie
327SELECT * FROM dbo.Dealer
328SELECT * FROM dbo.Sprzedaz
329SELECT * FROM dbo.Klient
330SELECT * FROM dbo.Model_TypSilnika
331SELECT * FROM dbo.Model_Dealer
332SELECT * FROM dbo.Samochod_DodatkoweWyposazenie
333
334--KONIEC TWORZENIA BAZY