Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --CREATE TABLE desdemona (
- --klucz CHAR(10),
- --pole1 VARCHAR(50),
- --nazwaPromocji varchar(150),
- --CONSTRAINT pk_kluczykStrasznieGlowny PRIMARY KEY (klucz, pole1),
- --CONSTRAINT fk_kluczykBardzoObcy FOREIGN KEY (nazwaPromocji) REFERENCES znizki(nazwaPromocji));
- --INSERT INTO desdemona ( klucz, pole1) VALUES ('marcelina' , 'marchweka');
- CREATE TABLE znizki(
- nazwaPromocji VARCHAR(150) PRIMARY KEY,
- wartoscProcentowa tinyint
- );
- CREATE TABLE ofertyZoo (
- nazwaOfery VARCHAR(150) PRIMARY KEY,
- cena smallmoney,
- iloscUlgowychWejsciowek tinyint,
- iloscPelnoplatychWejsciowek tinyint
- );
- CREATE TABLE punktySprzedazy (
- numerokienka tinyint PRIMARY KEY
- );
- CREATE TABLE rachunki (
- DATA DATE,
- numerWDniu INTEGER,
- cena smallmoney,
- iloscUlgowychWejsciowek tinyint,
- iloscPelnoplatychWejsciowek tinyint
- PRIMARY KEY (numerWdniu, DATA),
- znizka VARCHAR(150),
- FOREIGN KEY(znizka) REFERENCES znizki(nazwaPromocji),
- punktSprzedarzy tinyint NOT NULL,
- FOREIGN KEY (punktSprzedarzy) REFERENCES punktySprzedazy(numerOkienka),
- kasjer VARCHAR(11) NOT NULL,
- FOREIGN KEY (kasjer) REFERENCES kasjerzy(PESEL),
- dataZwiedzania DATE,
- FOREIGN KEY (dataZwiedzania) REFERENCES biletyGrupowe(dataZwiedzania),
- numerBiletu INTEGER,
- FOREIGN KEY (numerBiletu) REFERENCES biletyGrupowe(numerBiletu),
- );
- CREATE TABLE biletyGrupowe(
- dataZwiedzania DATE NOT NULL,
- godzina TIME,
- numerBiletu INTEGER NOT NULL,
- cenaUslugiPrzewodnika smallmoney,
- iloscUlgowychWejsciowek tinyint,
- iloscPelnoplatychWejsciowek tinyint,
- punktSprzedarzy tinyint NOT NULL,
- FOREIGN KEY (punktSprzedarzy) REFERENCES punktySprzedazy(numerOkienka),
- przewodnik VARCHAR(11),
- FOREIGN KEY (przewodnik) REFERENCES przewodnicy(PESEL),
- kasjer VARCHAR(11) NOT NULL,
- FOREIGN KEY (kasjer) REFERENCES kasjerzy(PESEL),
- PRIMARY KEY (dataZwiedzania, numerBiletu)
- );
- CREATE TABLE pozycjeNaRachunku(
- iloscZakupionych tinyint,
- lp tinyint, --zakladamy, ze rachunek ma mniej niz 200 pozycji
- DATA DATE,
- numerWdniu INTEGER,
- cena smallmoney,
- iloscUlgowychWejsciowek tinyint NOT NULL,
- iloscPelnoplatychWejsciowek tinyint NOT NULL,
- nazwaOferty VARCHAR(150) NOT NULL,
- FOREIGN KEY (nazwaOferty) REFERENCES ofertyZoo(nazwaOferty),
- FOREIGN KEY (numerWdniu) REFERENCES rachunki(numerWdniu),
- FOREIGN KEY (DATA) REFERENCES rachunki(DATA),
- PRIMARY KEY (numerWdniu, DATA, lp)
- );
- CREATE TABLE sponsorzyZoo(
- nazwa VARCHAR(100) PRIMARY KEY,
- kolejnoscNaBilecie tinyint,
- przekazaneFundusze money
- );
- CREATE TABLE daneOZwiedzajacych(
- plec CHAR,
- wiek tinyint,
- kodPocztowy VARCHAR(5),
- lp tinyint,
- dataZwiedzania DATE,
- FOREIGN KEY (dataZwiedzania) REFERENCES biletyGrupowe(dataZwiedzania),
- numerBiletu INTEGER,
- FOREIGN KEY (numerBiletu) REFERENCES biletyGrupowe(numerBiletu),
- PRIMARY KEY (lp, numerBiletu, dataZwiedzania)
- );
- CREATE TABLE pracownicy(PESEL VARCHAR(11) NOT NULL,
- imie VARCHAR(200) NOT NULL,
- nazwisko VARCHAR(200) NOT NULL,
- PRIMARY KEY(PESEL)
- );
- CREATE TABLE przewodnicy(
- PESEL VARCHAR(11) NOT NULL REFERENCES pracownicy(pesel),
- nrLegitymacji VARCHAR(10) NOT NULL,
- PRIMARY KEY(PESEL)
- );
- CREATE TABLE kasjerzy(
- PESEL VARCHAR(11) NOT NULL REFERENCES pracownicy(PESEL),
- ID INTEGER NOT NULL,
- PRIMARY KEY(PESEL)
- );
- CREATE TABLE biletDosponsorowal(
- dataZwiedzania DATE,
- FOREIGN KEY (dataZwiedzania) REFERENCES biletyGrupowe(dataZwiedzania),
- numerBiletu INTEGER,
- FOREIGN KEY (numerBiletu) REFERENCES biletyGrupowe(numerBiletu),
- nazwaSponsora VARCHAR(100),
- FOREIGN KEY (nazwaSponsora) REFERENCES sponsorzyZoo(nazwa),
- PRIMARY KEY(dataZwiedzania, numerBiletu, nazwaSponsora)
- );
- /*CHECK;*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement