· 6 years ago · Jun 21, 2019, 11:44 AM
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 Dodatkowe_Wyposazenie;
14DROP TABLE IF EXISTS Klient;
15
16
17CREATE TABLE Marka (
18 nazwa VARCHAR(30) PRIMARY KEY,
19 rok_zalozenia DATE
20);
21
22CREATE TABLE Model (
23 identyfikator INT PRIMARY KEY IDENTITY,
24 nazwa VARCHAR(30),
25 rok_wprowadzenia_na_rynek DATE,
26 marka_nazwa VARCHAR(30) REFERENCES Marka(nazwa),
27 id_generacja INT NULL REFERENCES Model(identyfikator)
28);
29
30CREATE TABLE Typ_silnika (
31 identyfikator INT PRIMARY KEY IDENTITY,
32 rodzaj_paliwa VARCHAR(20) CHECK (rodzaj_paliwa IN ('95', '98', 'diesel', 'gaz', 'prad')) ,
33 opis_parametrow VARCHAR(40)
34);
35
36CREATE TABLE Samochod_Ciezarowy (
37 model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
38 ladownosc_kg INT
39);
40
41CREATE TABLE Samochod_osobowy (
42 model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
43 liczba_pasazerow INT,
44 pojemnosc_bagaznika_litry INT
45);
46
47CREATE TABLE Samochod (
48 VIN VARCHAR(30) PRIMARY KEY,
49 przebieg_km INT,
50 szkrzynia_biegow INT,
51 kraj_pochodzenia VARCHAR(30),
52 rok_produkcji DATE,
53 model_ID INT REFERENCES Model(identyfikator),
54 Typ_silnika_ID INT REFERENCES Typ_silnika(identyfikator),
55);
56
57CREATE TABLE Dealer (
58 nazwa VARCHAR(30) PRIMARY KEY,
59 Adres VARCHAR(50)
60);
61
62CREATE TABLE Samochod_Dealer (
63 VIN VARCHAR(30) PRIMARY KEY REFERENCES Samochod(VIN),
64 Dealer_nazwa VARCHAR(30) REFERENCES Dealer(nazwa)
65);
66
67CREATE TABLE Dodatkowe_wyposazenie(
68 nazwa VARCHAR(30) PRIMARY KEY
69);
70
71
72CREATE TABLE Klient (
73 ID INT PRIMARY KEY IDENTITY,
74 imie VARCHAR(30),
75 nazwisko VARCHAR(30),
76 nr_telefon INT CHECK(nr_telefon >= 100000000 AND nr_telefon <= 999999999)
77);
78
79CREATE TABLE Sprzedaz (
80 Data_sprzedazy DATE PRIMARY KEY,
81 cena MONEY,
82 Samochod_VIN VARCHAR(30) REFERENCES dbo.Samochod(VIN) ON DELETE CASCADE,
83 Dealer_nazwa VARCHAR(30) REFERENCES dbo.Dealer(nazwa),
84 Klient_ID INT REFERENCES dbo.Klient(ID)
85);
86
87CREATE TABLE Model_TypSilnika(
88 Model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
89 TypSilnika_ID INT REFERENCES Typ_silnika(identyfikator)
90);
91
92CREATE TABLE Model_Dealer(
93 Model_ID INT PRIMARY KEY REFERENCES Model(identyfikator),
94 Dealer_nazwa VARCHAR(30) REFERENCES Dealer(nazwa)
95);
96
97CREATE TABLE Samochod_DodatkoweWyposazenie (
98 VIN VARCHAR(30) PRIMARY KEY REFERENCES Samochod(VIN),
99 Nazwa_wyposazenie VARCHAR(30) REFERENCES Dodatkowe_wyposazenie(nazwa)
100);
101
102INSERT INTO dbo.Marka
103(
104 nazwa,
105 rok_zalozenia
106)
107VALUES
108( 'Ford', '1949'),
109( 'Opel', '1957'),
110( 'Skoda', '1989'),
111( 'Audi', '1943'),
112( 'Ferrari', '1965'),
113( 'Buggati', '1988'),
114( 'Chevrolet', '1915'),
115( 'Austin', '1956'),
116( 'Alfa Romeo', '1947'),
117( 'Citroen', '1988'),
118( 'Toyota', '1998'),
119( 'Volkswagen', '1998'),
120( 'Acura', '1949'),
121( 'Bugatti', '1957'),
122( 'Szybki', '1989'),
123( 'Buick', '1943'),
124( 'Loambo', '1965'),
125( 'Lamborgini', '1988'),
126( 'Chev', '1915'),
127( 'Austin Martin', '1956'),
128( 'Alfa nieRomeo', '1947'),
129( 'czikloczento', '1988'),
130( 'BMW', '1998'),
131( 'Dacia', '1998'),
132( 'Ambas', '2000')
133
134CREATE UNIQUE INDEX idx_test_uq_x
135ON Model(id_generacja)
136WHERE id_generacja IS NOT NULL;
137
138INSERT INTO dbo.Model
139(
140 nazwa,
141 rok_wprowadzenia_na_rynek,
142 marka_nazwa,
143 id_generacja
144)
145VALUES
146('Fabia', '1999', 'Skoda', null),
147('Fabia v2', '1999', 'Skoda', 1),
148('Fabia v3', '1999', 'Skoda', 2),
149('Audi a1', '1979', 'Audi', null),
150('Audi a2', '1979', 'Audi', 4),
151('Audi a3', '1979', 'Audi', 5),
152('Audi a6', '1979', 'Audi', 6),
153('Golf 1', '1979', 'Volkswagen', null),
154('Golf 2', '1989', 'Volkswagen', 8),
155('Golf 3', '1999', 'Volkswagen', 9),
156('Golf 4', '2004', 'Volkswagen', 10),
157('BMW 1', '1978', 'BMW', null),
158('BMW 2', '1978', 'BMW', 12),
159('BMW 3', '1978', 'BMW', 13),
160('BMW 4', '1978', 'BMW', 14),
161('BMW 5', '1978', 'BMW', 15)
162
163INSERT INTO dbo.Typ_silnika
164(
165 rodzaj_paliwa,
166 opis_parametrow
167)
168VALUES
169
170('95', '75km, 80kw'),
171('98', '115km, 70kw'),
172('95', '115km, 20kw, uzywany'),
173('98', '115km, 20kw'),
174('diesel', '115km, 20kw'),
175('diesel', '115km, 20kw, niezle kopci'),
176('95', '115km, 20kw, jest super'),
177('prad', '115km, 20kw'),
178('gaz', '85km, 20kw'),
179('95', '175km, 20kw'),
180('95', '115km, 20kw')
181
182INSERT INTO dbo.Samochod_Ciezarowy
183(
184 model_ID,
185 ladownosc_kg
186)
187VALUES
188(1, 155),
189(2, 525),
190(4, 625),
191(5, 725),
192(6, 1425),
193(7, 700),
194(8, 1425),
195(9, 555),
196(10, 512)
197INSERT INTO dbo.Samochod_osobowy
198(
199 model_ID,
200 liczba_pasazerow,
201 pojemnosc_bagaznika_litry
202)
203VALUES
204(1, 5, 100),
205(2, 4, 100),
206(14, 2, 50),
207(11, 5, 50),
208(5, 8, 300),
209(6, 5, 100),
210(8, 5, 100),
211(10, 4, 100),
212(9, 5, 100),
213(7, 2, 20)
214
215INSERT INTO dbo.Samochod
216(
217 VIN,
218 przebieg_km,
219 szkrzynia_biegow,
220 kraj_pochodzenia,
221 rok_produkcji,
222 model_ID,
223 Typ_silnika_ID
224)
225VALUES
226
227('hg23hgwew43tg', 14555, '5', 'Francja', '2003', 1, 1),
228('22gfhgwew43tg', 67555, '5', 'Polsja', '1954', 5, 5),
229('23hgwdhi0g3tg', 14555, '5', 'Niemcy', '1963', 7, 1),
230('23hgwefdsn3tg', 84555, '5', 'Chorwacja', '2004', 1, 5),
231('23hgwew4300tg', 24555, '5', 'Francja', '2002', 3, 4),
232('23hgwew43543g', 324555, '5', 'Niemcy', '2006', 5, 2),
233('23hgwew432h4g', 424555, '5', 'Francja', '1922', 7, 8),
234('23hgw43asg34g', 14555, '5', 'Niemcy', '2009', 8, 5),
235('23hgwew432n4g', 524555, '5', 'Anglia', '2003', 10, 2),
236('23ge43234v3hg', 14555, '5', 'Francja', '2003', 12, 4)
237
238INSERT INTO dbo.Dealer
239(
240 nazwa,
241 Adres
242)
243VALUES
244('Best', 'Poznan ul Taka 2'),
245('Motorization', 'Warszawa ul Mika 3'),
246('Najlepszy', 'Pozna ul Kierska 12'),
247('Pan Marek sprzedaje', 'Rogirowko ul Napieralu 2'),
248('Siedze i sprzedaje', 'Poznan ul Ratajczaka 3'),
249('Kup samochod od Pawla', 'Katowice ul Mala 3'),
250('The best BMW', 'Poznan ul asd 2'),
251('Golfy to najlepsze auta', 'Warszawa ul Krakowska 1'),
252('Tak tu kupisz auto', 'Rogierwowko ul Duza 8'),
253('4 kolka', 'Poznan Kierska 21')
254
255INSERT INTO dbo.Samochod_Dealer
256(
257 VIN,
258 Dealer_nazwa
259)
260
261VALUES
262('hg23hgwew43tg', 'Best'),
263('22gfhgwew43tg', 'Motorization'),
264('23hgwdhi0g3tg', 'Najlepszy'),
265('23hgwefdsn3tg', 'Pan Marek sprzedaje'),
266('23hgwew4300tg', 'Siedze i sprzedaje'),
267('23hgwew43543g', 'Kup samochod od Pawla'),
268('23hgwew432h4g', 'The best BMW'),
269('23hgw43asg34g', 'Golfy to najlepsze auta'),
270('23hgwew432n4g', 'Tak tu kupisz auto'),
271('23ge43234v3hg', '4 kolka')
272
273INSERT INTO dbo.Dodatkowe_wyposazenie
274(
275 nazwa
276)
277VALUES
278('poduszki'),
279('kamizelki'),
280('amortyzatory 48'),
281('spoiler'),
282('naklejki typu studenty'),
283('szyby ultradzwiekowe'),
284('zamiast 4 kol to 8'),
285('roslinka w bagazkiklu'),
286('klimatyzacja'),
287('halogeny')
288
289INSERT INTO dbo.Klient
290(
291 imie,
292 nazwisko,
293 nr_telefon
294)
295VALUES
296('Pawel', 'Gawel', 789456123),
297('Wojciech', 'Pokrywka', 789456123),
298('Jan', 'Ratajczak', 789456123),
299('Dawid', 'Kowalski', 789456123),
300('Pawel', 'Nowak', 789456123),
301('Krzysztof', 'Aksymiran', 789456123),
302('Anna', 'Gawel', 789456123),
303('Pawel', 'Tusk', 789456123),
304('Wojciech', 'Parda', 789456123),
305('Mikolaj', 'Kaczorowsk', 789456123),
306('Pawel', 'Nowak', 789456123)
307
308INSERT INTO dbo.Sprzedaz
309(
310 Data_sprzedazy,
311 cena,
312 Samochod_VIN,
313 Dealer_nazwa,
314 Klient_ID
315
316)
317VALUES
318('2018-02-01', 5000, 'hg23hgwew43tg','Best', 1),
319('2009', 50000, 'hg23hgwew43tg', 'Best', 2),
320('2010', 1500, '23hgwdhi0g3tg', 'Motorization', 2),
321('2016-12-04', 5600, 'hg23hgwew43tg', 'Best', 3),
322('2019', 3100, '23hgwdhi0g3tg', 'Motorization', 4),
323('2008', 4000, '23hgwew432n4g', 'Motorization', 4),
324('2016', 5000, '23hgwew432h4g', 'Motorization', 1),
325('2015', 8000, '23hgwew432n4g', '4 kolka', 2),
326('2018-05-26', 1200, '23hgwew432h4g', '4 kolka', 8),
327('2018', 5500, '23hgwew432h4g', '4 kolka', 9)
328
329
330
331INSERT INTO dbo.Model_TypSilnika
332(
333 Model_ID,
334 TypSilnika_ID
335)
336VALUES
337(1, 2),
338(2, 5),
339(3, 3),
340(4, 2),
341(5, 7),
342(6, 9),
343(7, 2),
344(8, 6),
345(9, 7),
346(10, 2)
347INSERT INTO dbo.Model_Dealer
348(
349 Model_ID,
350 Dealer_nazwa
351)
352VALUES
353(1, 'Best'),
354(2, 'Motorization'),
355(3, 'Najlepszy'),
356(4, 'Pan Marek sprzedaje'),
357(5, 'Siedze i sprzedaje'),
358(6, 'Kup samochod od Pawla'),
359(7, 'The best BMW'),
360(8, 'Golfy to najlepsze auta'),
361(9, 'Tak tu kupisz auto'),
362(10, '4 kolka')
363
364INSERT INTO dbo.Samochod_DodatkoweWyposazenie
365(
366 VIN,
367 Nazwa_wyposazenie
368)
369VALUES
370('hg23hgwew43tg', 'poduszki'),
371('22gfhgwew43tg', 'klimatyzacja'),
372('23hgwdhi0g3tg', 'klimatyzacja'),
373('23hgwefdsn3tg', 'spoiler'),
374('23hgwew4300tg', 'poduszki'),
375('23hgwew43543g', 'kamizelki'),
376('23hgwew432h4g', 'poduszki'),
377('23hgw43asg34g', 'naklejki typu studenty'),
378('23hgwew432n4g', 'kamizelki'),
379('23ge43234v3hg', 'poduszki')
380
381
382
383SELECT * FROM dbo.Marka;
384SELECT * FROM dbo.Model;
385SELECT * FROM dbo.Typ_silnika
386SELECT * FROM Samochod_Ciezarowy
387SELECT * FROM dbo.Samochod_osobowy
388SELECT * FROM dbo.Samochod
389SELECT * FROM dbo.Samochod_Dealer
390SELECT * FROM dbo.Dodatkowe_wyposazenie
391SELECT * FROM dbo.Dealer
392SELECT * FROM dbo.Sprzedaz
393SELECT * FROM dbo.Klient
394SELECT * FROM dbo.Model_TypSilnika
395SELECT * FROM dbo.Model_Dealer
396SELECT * FROM dbo.Samochod_DodatkoweWyposazenie
397
398--KONIEC TWORZENIA BAZY