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