· 6 years ago · Jun 11, 2019, 11:40 PM
1WERSJA PIERWSZA PO relacji 1:N kopia zapasowa
2
3
4CREATE TABLE Aktorzy
5(
6 PESEL CHAR(11) PRIMARY KEY,
7 imie VARCHAR(20),
8 nazwisko VARCHAR(20),
9 specjalnosc VARCHAR(15)
10);
11
12CREATE TABLE Prezesi
13(
14 PESEL CHAR(11) PRIMARY KEY,
15 imie VARCHAR(20),
16 nazwisko VARCHAR(20),
17 pensja MONEY
18);
19
20CREATE TABLE Studia
21(
22 nazwa VARCHAR(20) PRIMARY KEY,
23 adres VARCHAR(40),
24 Prezesi_PESEL CHAR(11) UNIQUE NOT NULL REFERENCES Prezesi(PESEL)
25);
26
27CREATE TABLE Filmy
28(
29 tytul VARCHAR(30),
30 rok INT,
31 dlugosc INT,
32 gatunek VARCHAR(10),
33 Studia_nazwa VARCHAR(20) REFERENCES Studia(nazwa),
34 PRIMARY KEY (tytul, rok)
35);
36
37CREATE TABLE Wystepowanie
38(
39 Aktorzy_PESEL CHAR(11) REFERENCES Aktorzy(PESEL),
40 Filmy_tytul VARCHAR(30),
41 Filmy_rok INT,
42 FOREIGN KEY (Filmy_tytul, Filmy_rok) REFERENCES Filmy(tytul, rok),
43 PRIMARY KEY (Aktorzy_PESEL, Filmy_tytul, Filmy_rok)
44);
45
46Komentarze (przeczytaj i wywal potem)
47
48W robieniu tabel lepiej nie stosować wyrażeń 2 członowych jak Samochód Cieżarowy
49oraz dodatkowo wywalam polskie znaki bysmy sie pozniej nie pierdolili z nimi
50jeszcze sie okaze jak z php ze maili nie mozna wysylac na serwer bo nie obsluge
51
52Primary key by definition can never be Null.
53
54TLDR: bez polskich znaków i nazwa jeden wyraz. PRIMARY KEY jest NOT NULL z defincji
55
56
57------------------------------------
58
59--USE master;
60--DROP DATABASE Gwarancjadostudni;
61--GO
62
63--CREATE DATABASE Gwarancjadostudni;
64--GO
65
66--USE Gwarancjadostudni;
67--GO
68
69-------- USUŃ TABELE --------
70
71DROP TABLE IF EXISTS Marka;
72DROP TABLE IF EXISTS Model;
73DROP TABLE IF EXISTS Samochodciezarowy;
74DROP TABLE IF EXISTS Samochodosobowy;
75DROP TABLE IF EXISTS Typsilnika;
76DROP TABLE IF EXISTS Samochod;
77DROP TABLE IF EXISTS Dodatkowewyposazenie;
78DROP TABLE IF EXISTS Klient;
79DROP TABLE IF EXISTS Sprzedaz;
80DROP TABLE IF EXISTS Dealer;
81DROP TABLE IF EXISTS Posiada;
82DROP TABLE IF EXISTS Posiadaja;
83DROP TABLE IF EXISTS Posiadanie;
84
85------------ CREATE - UTWÓRZ TABELE I POWIĄZANIA ------------
86
87CREATE TABLE Marka (
88nazwa VARCHAR(20) PRIMARY KEY,
89rokzalozenia DATE
90);
91
92CREATE TABLE Model (
93identyfikator VARCHAR(20) PRIMARY KEY,
94nazwa VARCHAR(20),
95rokwprowadzanienarynek VARCHAR(20),
96Marka_nazwa VARCHAR(20) REFERENCES Marka(nazwa)
97
98);
99
100
101CREATE TABLE Marka (
102nazwa VARCHAR(20) PRIMARY KEY,
103rokzalozenia DATA
104);
105
106CREATE TABLE Model (
107identyfikator VARCHAR(20) PRIMARY KEY,
108nazwa VARCHAR(20),
109rokwprowadzenianarynek DATA,
110Marka_nazwa VARCHAR(20) REFERENCES Marka(nazwa)
111);
112
113CREATE TABLE Samochodciezarowy (
114ladownosc INT NOT NULL
115);
116
117CREATE TABLE Samochodosobowy (
118liczbapasazerow INT NOT NULL,
119pojemnoscbagaznika INT NOT NULL
120);
121
122CREATE TABLE Typsilnika (
123identyfikator VARCHAR(20) PRIMARY KEY,
124rodzajpaliwa VARCHAR(20),
125opisparametrow VARCHAR(20),
126CHECK (rodzajpaliwa IN ('benzyna'),('diesel'),('usmiechbabelka'),('prad'))
127);
128
129CREATE TABLE Samochod (
130VIN INT PRIMARY KEY,
131przebiegdonegocjacji INT NOT NULL,
132skrzyniabiegow VARCHAR(20),
133krajpochodzenia VARCHAR(20),
134rokprodukcji DATA,
135Model_identyfikator VARCHAR(20) REFERENCES Model(identyfikator),
136Typsilnika_identyfikator VARCHAR(20) REFERENCES Typsilnika(identyfikator),
137Dealer_nazwa VARCHAR(20) REFERENCES Dealer(nazwa),
138CHECK (skrzyniabiegow IN ('jestdziala'),('jestniedziala'),('niema'),('niewiadomo'))
139);
140
141CREATE TABLE Dodatkowewyposazenie (
142nazwa VARCHAR(20) PRIMARY KEY,
143);
144
145CREATE TABLE Klient (
146ID INT PRIMARY KEY,
147imie VARCHAR(20) NOT NULL,
148nazwisko VARCHAR(20) NOT NULL,
149numertelefonu INT NOT NULL,
150Sprzedaz_data DATA REFERENCES Sprzedaz(data)
151);
152
153CREATE TABLE Sprzedaz (
154data DATA FOREIGN KEY,
155cena INT NOT NULL,
156Samochod_VIN INT REFERENCES Samochod(VIN),
157Dealer_nazwa VARCHAR(20) REFERENCES Dealer(nazwa)
158);
159
160CREATE TABLE Dealer (
161nazwa VARCHAR(20) PRIMARY KEY,
162adres VARCHAR(20) NOT NULL
163);
164
165CREATE TABLE Posiada (
166);
167
168CREATE TABLE Posiadaja (
169);
170
171CREATE TABLE Posiadanie (
172);
173
174
175
176
177Filmy
178
179Studia_nazwa VARCHAR(20) REFERENCES Studia(nazwa),