· 6 years ago · Jun 18, 2019, 05:30 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 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, 1425),
194(8, 1425),
195(9, 1425)
196INSERT INTO dbo.Samochod_osobowy
197(
198 model_ID,
199 liczba_pasazerow,
200 pojemnosc_bagaznika_litry
201)
202VALUES
203(1, 5, 100),
204(2, 4, 100),
205(14, 2, 50),
206(11, 5, 50),
207(5, 8, 300),
208(6, 5, 100),
209(8, 5, 100),
210(10, 4, 100),
211(9, 5, 100),
212(7, 2, 20)
213
214INSERT INTO dbo.Samochod
215(
216 VIN,
217 przebieg_km,
218 szkrzynia_biegow,
219 kraj_pochodzenia,
220 rok_produkcji,
221 model_ID,
222 Typ_silnika_ID
223)
224VALUES
225
226('hg23hgwew43tg', 14555, '5', 'Francja', '2003', 1, 1),
227('22gfhgwew43tg', 67555, '5', 'Polsja', '1954', 5, 5),
228('23hgwdhi0g3tg', 14555, '5', 'Niemcy', '1963', 7, 1),
229('23hgwefdsn3tg', 84555, '5', 'Chorwacja', '2004', 1, 5),
230('23hgwew4300tg', 24555, '5', 'Francja', '2002', 3, 4),
231('23hgwew43543g', 324555, '5', 'Niemcy', '2006', 5, 2),
232('23hgwew432h4g', 424555, '5', 'Francja', '1922', 7, 8),
233('23hgw43asg34g', 14555, '5', 'Niemcy', '2009', 8, 5),
234('23hgwew432n4g', 524555, '5', 'Anglia', '2003', 10, 2),
235('23ge43234v3hg', 14555, '5', 'Francja', '2003', 12, 4)
236
237INSERT INTO dbo.Dealer
238(
239 nazwa,
240 Adres
241)
242VALUES
243('Best', 'Poznan ul Taka 2'),
244('Motorization', 'Warszawa ul Mika 3'),
245('Najlepszy', 'Pozna ul Kierska 12'),
246('Pan Marek sprzedaje', 'Rogirowko ul Napieralu 2'),
247('Siedze i sprzedaje', 'Poznan ul Ratajczaka 3'),
248('Kup samochod od Pawla', 'Katowice ul Mala 3'),
249('The best BMW', 'Poznan ul asd 2'),
250('Golfy to najlepsze auta', 'Warszawa ul Krakowska 1'),
251('Tak tu kupisz auto', 'Rogierwowko ul Duza 8'),
252('4 kolka', 'Poznan Kierska 21')
253
254INSERT INTO dbo.Samochod_Dealer
255(
256 VIN,
257 Dealer_nazwa
258)
259
260VALUES
261('hg23hgwew43tg', 'Best'),
262('22gfhgwew43tg', 'Motorization'),
263('23hgwdhi0g3tg', 'Najlepszy'),
264('23hgwefdsn3tg', 'Pan Marek sprzedaje'),
265('23hgwew4300tg', 'Siedze i sprzedaje'),
266('23hgwew43543g', 'Kup samochod od Pawla'),
267('23hgwew432h4g', 'The best BMW'),
268('23hgw43asg34g', 'Golfy to najlepsze auta'),
269('23hgwew432n4g', 'Tak tu kupisz auto'),
270('23ge43234v3hg', '4 kolka')
271
272INSERT INTO dbo.Dodatkowe_wyposazenie
273(
274 nazwa
275)
276VALUES
277('poduszki'),
278('kamizelki'),
279('amortyzatory 48'),
280('spoiler'),
281('naklejki typu studenty'),
282('szyby ultradzwiekowe'),
283('zamiast 4 kol to 8'),
284('roslinka w bagazkiklu'),
285('klimatyzacja')
286
287INSERT INTO dbo.Klient
288(
289 imie,
290 nazwisko,
291 nr_telefon
292)
293VALUES
294('Pawel', 'Gawel', 789456123),
295('Wojciech', 'Pokrywka', 789456123),
296('Jan', 'Ratajczak', 789456123),
297('Dawid', 'Kowalski', 789456123),
298('Pawel', 'Nowak', 789456123),
299('Krzysztof', 'Aksymiran', 789456123),
300('Anna', 'Gawel', 789456123),
301('Pawel', 'Tusk', 789456123),
302('Wojciech', 'Parda', 789456123),
303('Mikolaj', 'Kaczorowsk', 789456123),
304('Pawel', 'Nowak', 789456123)
305
306INSERT INTO dbo.Sprzedaz
307(
308 Data_sprzedazy,
309 cena,
310 Samochod_VIN,
311 Dealer_nazwa,
312 Klient_ID
313
314)
315VALUES
316('2018-02-01', 5000, 'hg23hgwew43tg','Best', 1),
317('2009', 50000, 'hg23hgwew43tg', 'Best', 2),
318('2010', 1500, '23hgwdhi0g3tg', 'Motorization', 2),
319('2016-12-04', 5600, 'hg23hgwew43tg', 'Best', 3),
320('2019', 3100, '23hgwdhi0g3tg', 'Motorization', 4),
321('2008', 4000, '23hgwew432n4g', 'Motorization', 4),
322('2016', 5000, '23hgwew432h4g', 'Motorization', 1),
323('2015', 8000, '23hgwew432n4g', '4 kolka', 2),
324('2018-05-26', 1200, '23hgwew432h4g', '4 kolka', 8),
325('2018', 5500, '23hgwew432h4g', '4 kolka', 9)
326
327
328
329INSERT INTO dbo.Model_TypSilnika
330(
331 Model_ID,
332 TypSilnika_ID
333)
334VALUES
335('1', '4'),
336('2', '1'),
337('3', '1'),
338('4', '5'),
339('6', '6'),
340('7', '5'),
341('5', '3'),
342('8', '2'),
343('9', '1')
344INSERT INTO dbo.Model_Dealer
345(
346 Model_ID,
347 Dealer_nazwa
348)
349VALUES
350(1, 'Best'),
351(2, 'Motorization'),
352(3, 'Najlepszy'),
353(4, 'Pan Marek sprzedaje'),
354(5, 'Siedze i sprzedaje'),
355(6, 'Kup samochod od Pawla'),
356(7, 'The best BMW'),
357(8, 'Golfy to najlepsze auta'),
358(9, 'Tak tu kupisz auto'),
359(10, '4 kolka')
360
361INSERT INTO dbo.Samochod_DodatkoweWyposazenie
362(
363 VIN,
364 Nazwa_wyposazenie
365)
366VALUES
367('hg23hgwew43tg', 'poduszki'),
368('22gfhgwew43tg', 'klimatyzacja'),
369('23hgwdhi0g3tg', 'klimatyzacja'),
370('23hgwefdsn3tg', 'spoiler'),
371('23hgwew4300tg', 'poduszki'),
372('23hgwew43543g', 'kamizelki'),
373('23hgwew432h4g', 'poduszki'),
374('23hgw43asg34g', 'naklejki typu studenty'),
375('23hgwew432n4g', 'kamizelki'),
376('23ge43234v3hg', 'poduszki')
377
378
379
380SELECT * FROM dbo.Marka;
381SELECT * FROM dbo.Model;
382SELECT * FROM dbo.Typ_silnika
383SELECT * FROM Samochod_Ciezarowy
384SELECT * FROM dbo.Samochod_osobowy
385SELECT * FROM dbo.Samochod
386SELECT * FROM dbo.Samochod_Dealer
387SELECT * FROM dbo.Dodatkowe_wyposazenie
388SELECT * FROM dbo.Dealer
389SELECT * FROM dbo.Sprzedaz
390SELECT * FROM dbo.Klient
391SELECT * FROM dbo.Model_TypSilnika
392SELECT * FROM dbo.Model_Dealer
393SELECT * FROM dbo.Samochod_DodatkoweWyposazenie
394
395--KONIEC TWORZENIA BAZY