· 6 years ago · Jun 12, 2019, 12:22 AM
1Komentarze (przeczytaj i wywal potem)
2
3W robieniu tabel lepiej nie stosować wyrażeń 2 członowych jak Samochód Cieżarowy
4oraz dodatkowo wywalam polskie znaki bysmy sie pozniej nie pierdolili z nimi
5jeszcze sie okaze jak z php ze maili nie mozna wysylac na serwer bo nie obsluge
6
7Primary key by definition can never be Null.
8
9TLDR: bez polskich znaków i nazwa jeden wyraz. PRIMARY KEY jest NOT NULL z defincji
10
11// Wykonanie operacji związanej ze związkami cyklicznymi 1:1
12// Wykonanie operacji związanej z całkowita rozłączna
13nie wiem jak zrobić zatem Model, Samochodciezarowy, Samochodosobowy zostanie opuszczony przezemnie
14w generowaniu 10 przykladow
15
16// dorobic wartosci do innych tabel ja juz nie mam sily xd
17//dobranoc
18
19------------------------------------
20
21--USE master;
22--DROP DATABASE Gwarancjadostudni;
23--GO
24
25--CREATE DATABASE Gwarancjadostudni;
26--GO
27
28--USE Gwarancjadostudni;
29--GO
30
31-------- USUŃ TABELE --------
32
33DROP TABLE IF EXISTS Marka;
34DROP TABLE IF EXISTS Model;
35DROP TABLE IF EXISTS Samochodciezarowy;
36DROP TABLE IF EXISTS Samochodosobowy;
37DROP TABLE IF EXISTS Typsilnika;
38DROP TABLE IF EXISTS Samochod;
39DROP TABLE IF EXISTS Dodatkowewyposazenie;
40DROP TABLE IF EXISTS Klient;
41DROP TABLE IF EXISTS Sprzedaz;
42DROP TABLE IF EXISTS Dealer;
43DROP TABLE IF EXISTS Posiada;
44DROP TABLE IF EXISTS Posiadaja;
45DROP TABLE IF EXISTS Posiadanie;
46
47------------ CREATE - UTWÓRZ TABELE I POWIĄZANIA ------------
48
49
50
51
52CREATE TABLE Marka (
53nazwa VARCHAR(20) PRIMARY KEY,
54rokzalozenia DATA
55);
56
57CREATE TABLE Model (
58identyfikator VARCHAR(20) PRIMARY KEY,
59nazwa VARCHAR(20),
60rokwprowadzenianarynek DATA,
61Marka_nazwa VARCHAR(20) REFERENCES Marka(nazwa)
62);
63
64CREATE TABLE Samochodciezarowy (
65ladownosc INT NOT NULL
66);
67
68CREATE TABLE Samochodosobowy (
69liczbapasazerow INT NOT NULL,
70pojemnoscbagaznika INT NOT NULL
71);
72
73CREATE TABLE Typsilnika (
74identyfikator VARCHAR(20) PRIMARY KEY,
75rodzajpaliwa VARCHAR(20),
76opisparametrow VARCHAR(20),
77CHECK (rodzajpaliwa IN ('benzyna'),('diesel'),('usmiechbabelka'),('prad'))
78);
79
80CREATE TABLE Samochod (
81VIN INT PRIMARY KEY,
82przebiegdonegocjacji INT NOT NULL,
83skrzyniabiegow VARCHAR(20),
84krajpochodzenia VARCHAR(20),
85rokprodukcji DATA,
86Model_identyfikator VARCHAR(20) REFERENCES Model(identyfikator),
87Typsilnika_identyfikator VARCHAR(20) REFERENCES Typsilnika(identyfikator),
88Dealer_nazwa VARCHAR(20) REFERENCES Dealer(nazwa),
89CHECK (skrzyniabiegow IN ('jestdziala'),('jestniedziala'),('niema'),('niewiadomo'))
90);
91
92CREATE TABLE Dodatkowewyposazenie (
93nazwa VARCHAR(20) PRIMARY KEY,
94);
95
96CREATE TABLE Klient (
97ID INT PRIMARY KEY,
98imie VARCHAR(20) NOT NULL,
99nazwisko VARCHAR(20) NOT NULL,
100numertelefonu INT NOT NULL,
101Sprzedaz_data DATA REFERENCES Sprzedaz(data)
102);
103
104CREATE TABLE Sprzedaz (
105data DATA FOREIGN KEY,
106cena INT NOT NULL,
107Samochod_VIN INT REFERENCES Samochod(VIN),
108Dealer_nazwa VARCHAR(20) REFERENCES Dealer(nazwa)
109);
110
111CREATE TABLE Dealer (
112nazwa VARCHAR(20) PRIMARY KEY,
113adres VARCHAR(20) NOT NULL
114);
115
116CREATE TABLE Posiada (
117Typsilnika_identyfikator VARCHAR(20) REFERENCES Typsilnika(identyfikator),
118Model_identyfikator VARCHAR(20) REFERENCES Model(identyfikator),
119PRIMARY KEY (Typsilnika_identyfikator,Model_identyfikator)
120);
121
122CREATE TABLE Posiadaja (
123Dealer_nazwa VARCHAR(20) REFERENCES Dealer(nazwa),
124Model_identyfikator VARCHAR(20) REFERENCES Model(identyfikator),
125PRIMARY KEY (Dealer_nazwa,Model_identyfikator)
126);
127
128CREATE TABLE Posiadanie (
129Samochod_VIN INT REFERENCES Samochod(VIN),
130Dodatkowewyposazenie_nazwa VARCHAR(20) REFERENCES Dodatkowewyposazenie(nazwa)
131);
132
133------------ INSERT - WSTAW DANE ------------
134
135INSERT INTO Marka VALUES ('Skoda',1985),
136INSERT INTO Marka VALUES ('Toyota',1965),
137INSERT INTO Marka VALUES ('Dacia',1885),
138INSERT INTO Marka VALUES ('BMW',1705),
139INSERT INTO Marka VALUES ('Opel',1855),
140INSERT INTO Marka VALUES ('Ford',1786),
141INSERT INTO Marka VALUES ('Hyundai',1596),
142INSERT INTO Marka VALUES ('Mini',1875),
143INSERT INTO Marka VALUES ('Porsche',1885),
144INSERT INTO Marka VALUES ('Lexux',1655);
145
146
147INSERT INTO Typsilnika VALUES ('DBAD','benzyna','szybki'),
148INSERT INTO Typsilnika VALUES ('A123','usmiechbabelka','wolny'),
149INSERT INTO Typsilnika VALUES ('B452','diesel','sredni'),
150INSERT INTO Typsilnika VALUES ('C942','benzyna','wolny'),
151INSERT INTO Typsilnika VALUES ('Z354','diesel','megaszybki'),
152INSERT INTO Typsilnika VALUES ('M434','benzyna','megawolny'),
153INSERT INTO Typsilnika VALUES ('P352','prad','szybki'),
154INSERT INTO Typsilnika VALUES ('K425','benzyna','szybki'),
155INSERT INTO Typsilnika VALUES ('O145','benzyna','wolny'),
156INSERT INTO Typsilnika VALUES ('P535','prad','sredni');
157
158
159INSERT INTO Samochod VALUES (12569,125,'jestdziala','Albania',2019,'');
160
161
162
163CREATE TABLE Samochod (
164VIN INT PRIMARY KEY,
165przebiegdonegocjacji INT NOT NULL,
166skrzyniabiegow VARCHAR(20),
167krajpochodzenia VARCHAR(20),
168rokprodukcji DATA,
169Model_identyfikator VARCHAR(20) REFERENCES Model(identyfikator),
170Typsilnika_identyfikator VARCHAR(20) REFERENCES Typsilnika(identyfikator),
171Dealer_nazwa VARCHAR(20) REFERENCES Dealer(nazwa),
172CHECK (skrzyniabiegow IN ('jestdziala'),('jestniedziala'),('niema'),('niewiadomo'))
173);
174
175
176
177
178
179
180
181
182------------ SELECT ------------
183
184SELECT * FROM Marka;
185SELECT * FROM Model;
186SELECT * FROM Samochodciezarowy;
187SELECT * FROM Samochodosobowy;
188SELECT * FROM Typsilnika;
189SELECT * FROM Samochod;
190SELECT * FROM Dodatkowewyposazenie;
191SELECT * FROM Klient;
192SELECT * FROM Sprzedaz;
193SELECT * FROM Dealer;
194SELECT * FROM Posiada;
195SELECT * FROM Posiadaja;
196SELECT * FROM Posiadanie;