Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE TABLE etaty(
- et_nazwa varchar2(20) constraint etaty_pk PRIMARY KEY,
- et_max_pensja number(8,2)
- );
- CREATE TABLE pracownicy(
- pr_numer number(6) constraint pracownicy_pk PRIMARY KEY,
- pr_nazwisko varchar2(20),
- pr_imie varchar2(20),
- pr_data_zatrudnienia date,
- pr_et_nazwa varchar2(20) constraint prac_etaty_fk references etaty(et_nazwa),
- pr_pensja number(8,2) default 0
- );
- CREATE TABLE oddzialy(
- od_numer number(4) constraint oddzialy_pk primary key,
- od_nazwa varchar2(50)
- );
- INSERT INTO etaty VALUES('Inzynier',5000);
- INSERT INTO etaty VALUES('Stazysta',2000);
- INSERT INTO etaty VALUES('Sprzataczka',1800);
- INSERT INTO etaty VALUES('Szef',10000);
- INSERT INTO etaty VALUES('Sekretarka',3500);
- INSERT INTO pracownicy VALUES (1,'Tadeusz','Tomasz', to_date('2018-01-01','YYYY-MM-DD'),'Szef',9500);
- INSERT INTO pracownicy VALUES (2,'Tadeusz','Krystyna', to_date('2018-01-01','YYYY-MM-DD'),'Sekretarka',2500);
- INSERT INTO pracownicy VALUES (3,'Tadeusz','Karol', to_date('2018-01-01','YYYY-MM-DD'),'Inzynier',4500);
- INSERT INTO pracownicy VALUES (4,'Tadeusz','Jadwiga', to_date('2018-01-01','YYYY-MM-DD'),'Sprzataczka',1500);
- INSERT INTO pracownicy VALUES (5,'Tadeusz','Jan', to_date('2018-01-01','YYYY-MM-DD'),'Inzynier',4500);
- INSERT INTO oddzialy VALUES(1,'Siedlce');
- INSERT INTO oddzialy VALUES(2,'Wroclaw');
- INSERT INTO oddzialy VALUES(3,'Szczecin');
- INSERT INTO oddzialy VALUES(4,'Poznan');
- INSERT INTO oddzialy VALUES(5,'Krakow');
- --zatwierdzania
- CREATE TABLESPACE dane1
- DATAFILE 'dane.dbf'
- SIZE 10M;
- CREATE TABLESPACE dane2
- DATAFILE 'dane.dbf'
- SIZE 20M AUTOEXTEND ON NEXT 2M;
- CREATE INDEX pr_numer_idx
- ON pracownicy(pr_numer)
- PARTITION BY RANGE(pr_numer)
- (PARTITION p_tabela1_50 VALUES LESS THAN (50) TABLESPACE dane1,
- PARTITION p_tabela1_m VALUES LESS THAN (maxvalue) TABLESPACE dane2
- );
- --gloablny
- CREATE INDEX pr_numer_idx
- ON pracownicy(pr_numer)
- GLOBAL
- PARTITION BY HASH(pr_numer)
- PARTITIONS 2;
- CREATE SYNONYM etaty1 FOR etaty@link1;
- CREATE SYNONYM pracownicy1 FOR pracownicy@link1;
- CREATE SYNONYM oddzialy1 FOR oddzialy@link1;
- CREATE SYNONYM etaty3 FOR etaty@link3;
- CREATE SYNONYM pracownicy3 FOR pracownicy@link3;
- CREATE SYNONYM oddzialy3 FOR oddzialy@link3;
- INSERT INTO etaty3 VALUES('front-end developer',9250.00);
- INSERT INTO pracownicy3 VALUES(6,'Tadeusz','Marcin',to_date('2018-01-01','YYYY-MM-DD'),'front-end developer',8000);
- CREATE SAVEPOINT sp_pierwszy;
- INSERT INTO oddzialy1 VALUES(6,'Warszawa');
- CREATE SAVEPOINT sp_drugi;
- DELETE FROM pracownicy WHERE pr_pensja<2000;
- UPDATE pracownicy SET pr_pensja=(pr_pensja*1.2) where pr_et_nazwa='junior developer';
- COMMIT;
- CREATE MATERIALIZED VIEW mv_etaty3
- BUILD IMMEDIATE
- REFRESH COMPLETE
- START WITH sysdate+(1/(24*60))
- NEXT sysdate+(1/(24*30))
- AS
- SELECT * FROM etaty3;
- CREATE MATERIALIZED VIEW mv_pracownicy3
- BUILD IMMEDIATE
- REFRESH COMPLETE
- START WITH sysdate+(1/(24*60))
- NEXT sysdate+(1/(24*30))
- AS
- SELECT * FROM pracownicy3;
- CREATE MATERIALIZED VIEW mv_oddzialy1
- BUILD IMMEDIATE
- REFRESH COMPLETE
- START WITH sysdate+(1/(24*60))
- NEXT sysdate+(1/(24*30))
- AS
- SELECT * FROM oddzialy1;
- exec dbms_mview.refresh('mv_etaty3');
- exec dbms_mview.refresh('mv_pracownicy3');
- exec dbms_mview.refresh('mv_odzialy1');
- CREATE OR REPLACE VIEW v_pracownicy
- AS
- SELECT * FROM pracownicy1
- WHERE pr_pensja>=2500 AND pr_data_zatrudnienia=to_date('2017-01-01','YYYY-MM-DD')
- WITH CHECK OPTION CONSTRAINT v_chk_warunek;
- INSERT INTO v_pracownicy VALUES (10,'Sprawdzian','Tomasz', to_date('2018-01-01','YYYY-MM-DD'),'Szef',1500);
- INSERT INTO v_pracownicy VALUES (11,'Sprawdzian','Tadeusz', to_date('2017-01-01','YYYY-MM-DD'),'Szef',9500);
- --uczestnik
- CREATE TABLESPACE dane1
- DATAFILE 'dane.dbf'
- SIZE 10M;
- CREATE TABLESPACE dane2
- DATAFILE 'dane.dbf'
- SIZE 20M AUTOEXTEND ON NEXT 2M;
- CREATE TABLESPACE dane3
- DATAFILE 'dane.dbf'
- SIZE 10M;
- CREATE TABLESPACE dane4
- DATAFILE 'dane.dbf'
- SIZE 20M AUTOEXTEND ON NEXT 2M;
- CREATE TABLE oddzialy
- (od_numer number(4) constraint oddzialy_pk primary key,
- od_nazwa varchar2(50))
- PARTITION BY RANGE(od_numer)
- (PARTITION p_tabela1_99 VALUES LESS THAN (100)
- TABLESPACE dane1,
- PARTITION p_tabela1_199 VALUES LESS THAN (200)
- TABLESPACE dane2,
- PARTITION p_tabela1_299 VALUES LESS THAN (300)
- TABLESPACE dane3,
- PARTITION p_tabela1_max VALUES LESS THAN (maxvalue)
- TABLESPACE dane4);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement