· 6 years ago · Jun 21, 2019, 03:48 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)
175INSERT INTO dbo.Samochod ( VIN, przebieg_km, szkrzynia_biegow,kraj_pochodzenia,rok_produkcji,model_ID,Typ_silnika_ID) VALUES
176('1GCEK14H6DS161890', 14555, '5', 'Francja', '2003', 1, 1),
177('2T1BU4EEXBC622932', 67555, '5', 'Polsja', '1954', 5, 5),
178('3N1AB7AP5DL710655', 14555, '5', 'Niemcy', '1963', 7, 1),
179('1FBJS31L6VHA87909', 84555, '5', 'Chorwacja', '2004', 1, 5),
180('1HGCP26869A183852', 24555, '5', 'Francja', '2002', 3, 4),
181('2FMGK5C88EBD11829', 324555, '5', 'Niemcy', '2006', 5, 2),
182('1C6RR7FT9ES155382', 424555, '5', 'Francja', '1922', 7, 8),
183('5XYZWDLA8FG257248', 14555, '5', 'Niemcy', '2009', 8, 5),
184('1C4RJFAG4EC150198', 524555, '5', 'Anglia', '2003', 10, 2),
185('5NPEB4AC6CH463090', 14555, '5', 'Francja', '2003', 12, 4)
186INSERT INTO dbo.Dealer (nazwa, Adres) VALUES
187('Wazniak', 'Poznan ul Taka 2'),
188('Osilek', 'Warszawa ul Mika 3'),
189('Lasuch', 'Pozna ul Kierska 12'),
190('Maruda', 'Rogirowko ul Napieralu 2'),
191('Ciamajda ', 'Poznan ul Ratajczaka 3'),
192('Lalus', 'Katowice ul Mala 3'),
193('Spioch', 'Poznan ul asd 2'),
194('Pracus', 'Warszawa ul Krakowska 1'),
195('Smerfetka', 'Rogierwowko ul Duza 8'),
196('Zgrywus', 'Poznan Kierska 21')
197INSERT INTO dbo.Samochod_Dealer (VIN,Dealer_nazwa) VALUES
198('1GCEK14H6DS161890', 'Wazniak'),
199('2T1BU4EEXBC622932', 'Osilek'),
200('3N1AB7AP5DL710655', 'Lasuch'),
201('1FBJS31L6VHA87909', 'Maruda'),
202('1HGCP26869A183852', 'Ciamajda'),
203('2FMGK5C88EBD11829', 'Lalus'),
204('1C6RR7FT9ES155382', 'Spioch'),
205('5XYZWDLA8FG257248', 'Pracus'),
206('1C4RJFAG4EC150198', 'Smerfetka'),
207('5NPEB4AC6CH463090', 'Zgrywus')
208INSERT INTO dbo.Dodatkowe_wyposazenie (nazwa) VALUES
209('apteczka'),
210('zapasowe kolo'),
211('zapasowa zarowka'),
212('zestaw narzedzi'),
213('kamilzelka odblaskowa'),
214('szyby antynapadowe'),
215('budzik'),
216('tempomat'),
217('bagaznik na rowery'),
218('naklejka zapachowa')
219INSERT INTO dbo.Klient (imie,nazwisko,nr_telefon) VALUES
220('Maja', 'Nowak', 1758746079622),
221('Lena', 'Podolska', 17403175202),
222('Oliwia', 'Witczak', 17147447034),
223('Maria', 'Nowijska', 174141144284),
224('Alicja', 'Znizka', 1726787009597),
225('Antoni', 'Mecenas', 17347942084),
226('Aleksander', 'Nowosilcow', 17092811188),
227('Filip', 'Kaczynski', 1776085725175),
228('Mikołaj', 'Nowy', 1769176996615),
229('Kacper', 'Witowski', 1736614762310),
230('Wojciech', 'Wojtowicz', 74870113241)
231INSERT INTO dbo.Sprzedaz(Data_sprzedazy,cena,Samochod_VIN,Dealer_nazwa,Klient_ID) VALUES
232('2018-02-01', 5000, '1GCEK14H6DS161890','Wazniak', 1),
233('2009', 50000, '1GCEK14H6DS161890', 'Wazniak', 2),
234('2010', 1500, '3N1AB7AP5DL710655', 'Osilek', 2),
235('2016-12-04', 5600, '1GCEK14H6DS161890', 'Wazniak', 3),
236('2019', 3100, '3N1AB7AP5DL710655', 'Osilek', 4),
237('2008', 4000, '1C4RJFAG4EC150198', 'Osilek', 4),
238('2016', 5000, '1C6RR7FT9ES155382', 'Osilek', 1),
239('2015', 8000, '1C4RJFAG4EC150198', 'Zgrywus', 2),
240('2018-05-26', 1200, '1C6RR7FT9ES155382', 'Zgrywus', 8),
241('2018', 5500, '1C6RR7FT9ES155382', 'Zgrywus', 9)
242INSERT INTO dbo.Model_TypSilnika (Model_ID,TypSilnika_ID) VALUES
243(01, 2),
244(02, 5),
245(03, 3),
246(04, 2),
247(05, 7),
248(06, 9),
249(07, 2),
250(08, 6),
251(09, 7),
252(10, 2)
253INSERT INTO dbo.Model_Dealer (Model_ID,Dealer_nazwa) VALUES
254(01, 'Wazniak'),
255(02, 'Osilek'),
256(03, 'Lasuch'),
257(04, 'Maruda'),
258(05, 'Ciamajda '),
259(06, 'Lalus'),
260(07, 'Spioch'),
261(08, 'Pracus'),
262(09, 'Smerfetka'),
263(10, 'Zgrywus')
264INSERT INTO dbo.Samochod_DodatkoweWyposazenie (VIN,Nazwa_wyposazenie) VALUES
265('1GCEK14H6DS161890', 'apteczka'),
266('2T1BU4EEXBC622932', 'zapasowe kolo'),
267('3N1AB7AP5DL710655', 'zapasowa zarowka'),
268('1FBJS31L6VHA87909', 'kamilzelka odblaskowa'),
269('1HGCP26869A183852', 'apteczka'),
270('2FMGK5C88EBD11829', 'szyby antynapadowe'),
271('1C6RR7FT9ES155382', 'budzik'),
272('5XYZWDLA8FG257248', 'tempomat'),
273('1C4RJFAG4EC150198', 'bagaznik na rowery'),
274('5NPEB4AC6CH463090', 'naklejka zapachowa')
275
276
277
278SELECT * FROM dbo.Marka;
279SELECT * FROM dbo.Model;
280SELECT * FROM dbo.Typ_silnika
281SELECT * FROM Samochod_Ciezarowy
282SELECT * FROM dbo.Samochod_osobowy
283SELECT * FROM dbo.Samochod
284SELECT * FROM dbo.Samochod_Dealer
285SELECT * FROM dbo.Dodatkowe_wyposazenie
286SELECT * FROM dbo.Dealer
287SELECT * FROM dbo.Sprzedaz
288SELECT * FROM dbo.Klient
289SELECT * FROM dbo.Model_TypSilnika
290SELECT * FROM dbo.Model_Dealer
291SELECT * FROM dbo.Samochod_DodatkoweWyposazenie