------------baza obiektowa studia fotograficznego----------------------------------------------- ------------usuwanie najpierw tabel potem typy-------------------------------------------------- ///drop table zamow; ///drop table harmon; drop table klient; drop table pracownik; drop table faktura; drop table zamieszkanie; drop table oddzialy; drop table stanowiska; drop table uslugi; drop type klient_typ; drop type faktura_typ; drop type pracownik_typ; drop type dane_osobowe_typ; drop type stanowisko_typ; drop type firma_typ; drop type zamowienie_table; drop type harmonogram_table; drop type zamowienie_typ; drop type harmonogram_typ; drop type usluga_typ; select object_name from user_objects; ------------------------------------------------------------------------------------------------ --------tworzenie typów obietków---------------------------------------------------------------- CREATE or replace TYPE dane_osobowe_typ AS OBJECT ( ID NUMBER(4), Kod VARCHAR2(6), Miejscowosc VARCHAR2(30), Ulica VARCHAR2(20), Nr_dom_miesz VARCHAR2(10), MEMBER PROCEDURE dane (id in number) ); / CREATE or replace TYPE usluga_typ AS OBJECT ( ID NUMBER(4), Nazwa_usl VARCHAR2(15), Szczeg VARCHAR2(30), Cena_jedn NUMBER(5,2), MEMBER PROCEDURE zamow (id in number, nr in number), MEMBER PROCEDURE cena (id in number, nr in number) ); / CREATE or replace TYPE stanowisko_typ AS OBJECT ( ID NUMBER(4), Nazwa_stan VARCHAR2(25), Opis VARCHAR2(30) ); / CREATE or replace TYPE firma_typ AS OBJECT ( ID NUMBER(4), Nazwa VARCHAR2(15), Miejscowosc VARCHAR2(30), Ulica VARCHAR2(20), Nr_dom_miesz VARCHAR2(10), Telefon Number(10) ); / CREATE or replace TYPE harmonogram_typ AS OBJECT ( Id_harmon_typ NUMBER(4), Licz_godz_mies NUMBER(10), Ilosc_dni_zwol NUMBER(10), Ilosc_dni_urlp NUMBER(10) ); / CREATE or replace TYPE harmonogram_table AS TABLE OF harmonogram_typ; / CREATE or replace TYPE faktura_typ AS OBJECT( Id_fakt_typ NUMBER(4), Do_zaplaty NUMBER(5,2), Forma_platn VARCHAR2(15), Data_wys DATE, Nazwa_firmy REF firma_typ ); / CREATE or replace TYPE pracownik_typ AS OBJECT( Id_prac_typ NUMBER(4), Imie_p VARCHAR2(15), Nazwisko_p VARCHAR2(30), Nip_p VARCHAR2(30), Dane_prac REF dane_osobowe_typ, Pesel NUMBER(13), Stanowisko REF stanowisko_typ, Wysok_wyn NUMBER(5,2), Wysok_premii NUMBER(5,2), Data_zatrud DATE, Harmonogram harmonogram_table ); / CREATE or replace TYPE zamowienie_typ AS OBJECT ( Id_zamow_typ NUMBER(4), Ilosc_szt NUMBER(5), Data_zl DATE, Data_odeb DATE, Wys_zal NUMBER(5,2), Id_prac_typ_1 REF pracownik_typ, Id_faktury_1 REF faktura_typ, Usluga REF usluga_typ ); / CREATE or replace TYPE zamowienie_table AS TABLE OF zamowienie_typ; / CREATE or replace TYPE klient_typ AS OBJECT( Id_klient_typ NUMBER(4), Imie_k VARCHAR2(15), Nazwisko_k VARCHAR2(30), Dane_klienta REF dane_osobowe_typ, Nip_k VARCHAR2(30), Zamowienia zamowienie_table ); / ------------------- wraz z metoadmi--------------- CREATE or replace TYPE klient_typ AS OBJECT( Id_klient_typ NUMBER(4), Imie_k VARCHAR2(15), Nazwisko_k VARCHAR2(30), Dane_klienta REF dane_osobowe_typ, Nip_k VARCHAR2(30), Zamowienia zamowienie_table, MEMBER PROCEDURE zamow (imie IN varchar2,nazwisko IN varchar2), MEMBER PROCEDURE cena (imie IN varchar2,nazwisko IN varchar2) ); / ------------------------------------------------- ------------------------------------------------------------------------------------------------ ---------tworzenie tabel------------------------------------------------------------------------ CREATE TABLE uslugi OF usluga_typ ( id PRIMARY KEY ) OBJECT ID PRIMARY KEY / CREATE TABLE stanowiska OF stanowisko_typ ( id PRIMARY KEY ) OBJECT ID PRIMARY KEY / CREATE TABLE oddzialy OF firma_typ ( id PRIMARY KEY ) OBJECT ID PRIMARY KEY / CREATE TABLE zamieszkanie OF dane_osobowe_typ ( id PRIMARY KEY ) OBJECT ID PRIMARY KEY / CREATE TABLE faktura OF faktura_typ ( Id_fakt_typ PRIMARY KEY ); CREATE TABLE pracownik OF pracownik_typ ( Id_prac_typ PRIMARY KEY ) NESTED TABLE Harmonogram STORE AS Harmon / CREATE TABLE klient OF klient_typ ( Id_klient_typ PRIMARY KEY ) NESTED TABLE Zamowienia STORE AS Zamow / ------------------------------------------------------------------------------------------------ ---------------------------sprawdzenie---------------------------------------------------------- select table_name from user_all_tables; show errors; describe faktura; describe harmon; describe klient; describe pracownik; describe zamow; describe oddzialy; describe uslugi; describe stanowiska; describe zamieszkanie; ------------------------------------------------------------------------------------------------ -------------dodanie powiazan do tabel---------------------------------------------------------- ALTER TABLE Zamow ADD (SCOPE FOR (Usluga) IS uslugi) / ALTER TABLE Zamow ADD (SCOPE FOR (Id_prac_typ_1) IS pracownik) / ALTER TABLE Zamow ADD (SCOPE FOR (Id_faktury_1) IS faktura) / ALTER TABLE pracownik ADD (SCOPE FOR (Stanowisko) IS stanowiska) / ALTER TABLE faktura ADD (SCOPE FOR (Nazwa_firmy) IS oddzialy) / ALTER TABLE klient ADD (SCOPE FOR (Dane_klienta) IS zamieszkanie) / ALTER TABLE pracownik ADD (SCOPE FOR (Dane_prac) IS zamieszkanie) / ------------------------------------------------------------------------------------------------