Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE Kontakt (
- id_kontaktu NUMBER(4,0) PRIMARY KEY,
- kraj VARCHAR2(30) NOT NULL,
- miesto VARCHAR2(30) NOT NULL,
- ulica VARCHAR2(30) NOT NULL,
- mieszkanie VARCHAR2(10) NOT NULL,
- email VARCHAR2(50),
- telefon NUMBER(9,0) NOT NULL);
- CREATE TABLE Dane_osobowe (
- id_osoby NUMBER(4,0) PRIMARY KEY,
- imie VARCHAR2(30) NOT NULL,
- nazwisko VARCHAR2(30) NOT NULL,
- id_kontaktu NUMBER(4,0) NOT NULL UNIQUE REFERENCES Kontakt(id_kontaktu));
- CREATE TABLE Pracownicy (
- id_pracownika NUMBER(2,0) PRIMARY KEY,
- id_osoby NUMBER(4,0) NOT NULL UNIQUE REFERENCES Dane_osobowe(id_osoby),
- stanowisko VARCHAR2(30) NOT NULL,
- pensja NUMBER(7,2) NOT NULL CHECK (pensja > 0));
- CREATE TABLE Autorzy (
- id_autora NUMBER(3,0) PRIMARY KEY,
- id_osoby NUMBER(4,0) NOT NULL UNIQUE REFERENCES Dane_osobowe(id_osoby),
- wydawnictwo VARCHAR2(40));
- CREATE TABLE Komiksy (
- id_komiksu NUMBER(4,0) PRIMARY KEY,
- tutul VARCHAR2(100) NOT NULL,
- nr_tomu NUMBER(2,0) NOT NULL,
- id_autora NUMBER(3,0) NOT NULL REFERENCES Autorzy(id_autora),
- data_wydania DATE NOT NULL,
- ilosc_stron NUMBER(4,0) NOT NULL CHECK (ilosc_stron > 0),
- cena NUMBER(5,2) NOT NULL CHECK (cena > 0));
- CREATE TABLE Sklepy (
- id_sklepu NUMBER(3,0) PRIMARY KEY,
- nazwa VARCHAR2(40) NOT NULL,
- id_kontaktu NUMBER(4,0) NOT NULL UNIQUE REFERENCES Kontakt(id_kontaktu));
- CREATE TABLE Zamowienia (
- id_zamowienia NUMBER(6,0) PRIMARY KEY,
- nr_zamowienia NUMBER(6,0) NOT NULL,
- data_zamowienia DATE NOT NULL,
- id_sklepu NUMBER(3,0) REFERENCES Sklepy(id_sklepu),
- id_komiksu NUMBER(4,0) NOT NULL REFERENCES Komiksy(id_komiksu),
- ilosc NUMBER(4,0) NOT NULL,
- typ CHAR(1) NOT NULL);
- -- Logi tabeli komiksy
- CREATE TABLE Logi_komiksy (
- id_operacji NUMBER(10) PRIMARY KEY,
- typ_operacji VARCHAR2(6),
- uzytkownik VARCHAR2(20),
- czas_operacji DATE,
- id_komiksu NUMBER(4,0) DEFAULT NULL,
- tytul VARCHAR2(100) DEFAULT NULL,
- nr_tomu NUMBER(2,0) DEFAULT NULL,
- id_autora NUMBER(3,0) DEFAULT NULL,
- data_wydania DATE DEFAULT NULL,
- ilosc_stron NUMBER(4,0) DEFAULT NULL,
- cena NUMBER(5,2) DEFAULT NULL);
- -- TRIGERY
- CREATE OR REPLACE TRIGGER Komiks_Audit AFTER INSERT OR DELETE OR UPDATE ON Komiksy
- FOR EACH ROW
- DECLARE
- my Komiks_Audit%ROWTYPE;
- BEGIN
- IF inserting THEN my.typ_operacji := 'insert';
- ELSIF updating THEN my.typ_operacji := 'update';
- ELSE my.typ_operacji := 'delete';
- END IF;
- my.uzytkownik := USER;
- my.czas_operacji := SYSDATE;
- my.id_operacji := log_seq.NEXTVAL;
- CASE my.typ_operacji
- WHEN 'insert' THEN
- my.id_komiksu := :NEW.id_komiksu;
- my.tytul := :NEW.tytul;
- my.nr_tomu := :NEW.nr_tomu;
- my.id_autora := :NEW.id_autora;
- my.data_wydania := :NEW.data_wydania;
- my.ilosc_stron := :NEW.ilosc_stron;
- my.cena := :NEW.cena;
- ELSE
- my.id_komiksu := :OLD.id_komiksu;
- my.tytul := :OLD.tytul;
- my.nr_tomu := :OLD.nr_tomu;
- my.id_autora := :OLD.id_autora;
- my.data_wydania := :OLD.data_wydania;
- my.ilosc_stron := :OLD.ilosc_stron;
- my.cena := :OLD.cena;
- END CASE;
- INSERT INTO Logi_komiksy VALUES my;
- END;
- /*
- drop TRIGGER Komiks_audit;
- drop table Logi_komiksy;
- */
- /*
- CREATE TRIGGER aftter_kontakt_update AFTER UPDATE ON Kontakt
- FOR EACH ROW
- BEGIN
- INSERT INTO Logi_komiksy
- VALUES(log_seq.nextval, 'update', SYSDATE, :NEW.id_komiksu, :NEW.tytul, :NEW.nr_tomu, :NEW.id_autora, NEW.data_wydania,
- :NEW.ilosc_stron, :NEW.cena);
- END;
- */
- --drop TRIGGER aftter_kontakt_update;
- CREATE SEQUENCE log_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 9999999999;
- CREATE SEQUENCE kontakt_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 9999;
- CREATE SEQUENCE osoba_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 9999;
- CREATE SEQUENCE pracownik_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 99;
- CREATE SEQUENCE autor_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 999;
- CREATE SEQUENCE komiks_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 999;
- CREATE SEQUENCE sklep_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 999;
- CREATE SEQUENCE zamowienie_seq START WITH 1
- INCREMENT BY 1
- MINVALUE 1
- MAXVALUE 999999;
- /*
- DROP SEQUENCE log_seq;
- DROP SEQUENCE kontakt_seq;
- DROP SEQUENCE osoba_seq;
- DROP SEQUENCE sklep_seq;
- DROP SEQUENCE zamowienie_seq;
- DROP SEQUENCE autor_seq;
- DROP SEQUENCE pracownik_seq;
- DROP SEQUENCE komiks_seq;
- DROP TABLE Zamowienia;
- DROP TABLE Sklepy;
- DROP TABLE Komiksy;
- DROP TABLE Autorzy;
- DROP TABLE Pracownicy;
- DROP TABLE Dane_osobowe;
- DROP TABLE Kontakt;
- DROP TABLE Logi_komiksy;
- */
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Rosja', 'Moskwa', 'Columbiadamm', '10/9', 'moskwa@gmail.com', 123456789);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Niemlcy', 'Berlin', 'Volkhonka', '12/19', 'berlin@gmail.com', 486486214);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Wroclaw', 'Grabiszynska', '2/22', 'wroclaw@gmail.com', 154788625);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Ukraina', 'Kijow', 'Malevycha', '14', 'kijow@gmail.com', 125478963);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Japonia', 'Tokyo', 'Takeshita', '15/8', 'tokyo@gmail.com', 589632147);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Ameryka', 'Waszyngton', 'Belmont', '1/1', 'waszyngton@gmail.com', 125478965);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Warszawa', 'Piekna', '6', 'warszawa@gmail.com', 123654782);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Poznan', 'Wspolna', '86/5', 'poznan@gmail.com', 456895632);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Lodz', 'Piotrkowska', '120/29', 'lodz@gmail.com', 154782556);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Krakow', 'Wielicka', '141/3', 'krakow@gmail.com', 123578496);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Gniezno', 'Wieka', '11/3', 'Gniezno@gmail.com', 541258963);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Bytom', 'Niepodleglosci', '10', NULL, 547865952);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Koszalin', 'Spojna', '155/5', NULL, 125433695);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Radom', 'Przyjazni', '13/6', 'radom@gmail.com', 125566332);
- INSERT INTO Kontakt VALUES(kontakt_seq.NEXTVAL, 'Polska', 'Sosnowiec', 'Krucza', '100', NULL, 554477888);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Pawel', 'Komorowski', 1);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Paulina', 'Olewicz', 2);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Jan', 'Kowalski', 3);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Maria', 'Nowacki', 4);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Ewelina', 'Wojcik', 5);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Konrad', 'Klamra', 6);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Jakub', 'Puch', 7);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Weronika', 'Slon', 8);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Grazyna', 'Plew', 9);
- INSERT INTO DANE_OSOBOWE VALUES(osoba_seq.NEXTVAL, 'Zdzislaw', 'Rochon', 10);
- INSERT INTO Autorzy VALUES(autor_seq.NEXTVAL, 1, 'PWN');
- INSERT INTO Autorzy VALUES(autor_seq.NEXTVAL, 2, 'Marvel');
- INSERT INTO Autorzy VALUES(autor_seq.NEXTVAL, 3, 'JPF');
- INSERT INTO Autorzy VALUES(autor_seq.NEXTVAL, 4, 'COMICS');
- INSERT INTO Autorzy VALUES(autor_seq.NEXTVAL, 5, NULL);
- INSERT INTO Pracownicy VALUES(pracownik_seq.NEXTVAL, 6, 'Wlasciciel', 5000);
- INSERT INTO Pracownicy VALUES(pracownik_seq.NEXTVAL, 7, 'Pracownik biurowy', 3000);
- INSERT INTO Pracownicy VALUES(pracownik_seq.NEXTVAL, 8, 'Magazynier', 3500);
- INSERT INTO Pracownicy VALUES(pracownik_seq.NEXTVAL, 9, 'Sprzatacz', 2500);
- INSERT INTO Pracownicy VALUES(pracownik_seq.NEXTVAL, 10, 'Tlumacz', 6000);
- INSERT INTO Sklepy VALUES(sklep_seq.NEXTVAL, 'Empik', 11);
- INSERT INTO Sklepy VALUES(sklep_seq.NEXTVAL, 'KomiksLand', 12);
- INSERT INTO Sklepy VALUES(sklep_seq.NEXTVAL, 'Yatta', 13);
- INSERT INTO Sklepy VALUES(sklep_seq.NEXTVAL, 'Superkomiksy', 14);
- INSERT INTO Sklepy VALUES(sklep_seq.NEXTVAL, 'Mala Ksiegarnia', 15);
- INSERT INTO Komiksy VALUES(komiks_seq.NEXTVAL, 'Spiderman', 1, 1, TO_DATE('1990/05/29','YYYY/MM/DD'), 50, 100);
- INSERT INTO Komiksy VALUES(komiks_seq.NEXTVAL, 'Spiderman', 2, 1, TO_DATE('1990/07/20','YYYY/MM/DD'), 45, 100);
- INSERT INTO Komiksy VALUES(komiks_seq.NEXTVAL, 'Przygody Yeti', 1, 2, TO_DATE('2000/10/02','YYYY/MM/DD'), 100, 50);
- INSERT INTO Komiksy VALUES(komiks_seq.NEXTVAL, 'Chinskie bajki', 1, 3, TO_DATE('2018/05/01','YYYY/MM/DD'), 20, 10);
- INSERT INTO Komiksy VALUES(komiks_seq.NEXTVAL, 'Magiczna podroz', 1, 4, TO_DATE('2017/06/04','YYYY/MM/DD'), 200, 60);
- INSERT INTO Komiksy VALUES(komiks_seq.NEXTVAL, 'Pokemony', 1, 5, TO_DATE('1999/01/23','YYYY/MM/DD'), 40, 80);
- INSERT INTO Zamowienia VALUES(zamowienie_seq.NEXTVAL, 1, TO_DATE('2018/01/10', 'YYYY/MM/DD'), 1, 1, 20, 'S');
- INSERT INTO Zamowienia VALUES(zamowienie_seq.NEXTVAL, 2, TO_DATE('2018/01/10', 'YYYY/MM/DD'), 1, 2, 20, 'S');
- INSERT INTO Zamowienia VALUES(zamowienie_seq.NEXTVAL, 3, TO_DATE('2018/01/20', 'YYYY/MM/DD'), NULL, 3, 30, 'D');
- INSERT INTO Zamowienia VALUES(zamowienie_seq.NEXTVAL, 4, TO_DATE('2018/01/29', 'YYYY/MM/DD'), 3, 4, 10, 'S');
- INSERT INTO Zamowienia VALUES(zamowienie_seq.NEXTVAL, 5, TO_DATE('2018/02/02', 'YYYY/MM/DD'), 4, 5, 1, 'S');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement