user_objects zawiera komunikaty na temat wszystkich obiektów należących do bieżącego użytkownika,

również składowanych podprogramów

 

describe user_views;

select * from user_views;

 

--select * from user_constraints;

--desc kierowcy;

--desc user_objects;

--desc user_views;

--desc user_updatable_columns;

--desc user_indexes;

select * from user_views;

 

 

1. Do tabeli kierowcy dodac trzy wiersze(bedzie konflikt o cos bedziesz wpisywal zle musisz zobaczyc user_constraints)

2. stworz dwie table i razem z trzecia zrob z niej sensowna baze danych (u mnie to byly tabele pojazdy i przewozy) (ograniczenia do tabel podawala)

3. dodaj po dwa wiersze do nowo stworzonych tabel

4. stworz perspektywe info z danymi o pojezdzie typu towarowy, ktory w bierzacym okresie zarobil ponad 2500zl

 


create table kierowcy
(
id number(4) constraint pr_ky Primary Key,
nazwisko varchar2(30) check(nazwisko=initcap(nazwisko)),
imie varchar2(30) not null,
kategoria char(1) check(kategoria in('A','B','C','D'))
);

select * from user_constraints;

desc kierowcy;

insert into kierowcy values(1, 'Frączkowski','Piotr','A');
insert into kierowcy values(2,'Jakubik','Krzysztof','C');
insert into kierowcy values(3,'Frączek','Roman','D');

select * from kierowcy;

create table pojazdy
(
nr_rej varchar2(8) constraint pr_p_key Primary Key,
typ varchar2(8) check (typ in('OSOBOWY','TOWAROWY')),
cena_za_km number(3,2),
data_prod number(4) check(data_prod>1990)
);

desc pojazdy;

insert into pojazdy(nr_rej,typ)values('sc1233','TOWAROWY');
insert into pojazdy values('sc1234','OSOBOWY','2','1999');

SELECT * FROM POJAZDY;

create table przewozy1
(
id number(4) constraint id_p_key primary key,
nr_sam varchar2(8) references pojazdy(nr_rej),
kierowca number(4) references kierowcy(id),
data_wyj date default sysdate,
data_powrotu date,
constraint ch_dat check(data_wyj<=data_powrotu)
)

insert into przewozy (id,nr_sam,kierowca) values (1,'sc1234',2);
insert into przewozy values (2,'sc1233',2,sysdate,sysdate);

select * from przewozy

 

//-------------------------------

KLUCZE

--select * from cat;
--create table prac2 as (select * from pracownicy);
--desc prac2;
--desc user_constraints;
--select CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME from user_constraints where TABLE_NAME in ('PRAC2','PRACOWNICY');
--alter table PRAC2 add constraint nr_akt_pk primary key (nr_akt); 
--select * from PRACOWNICY;
 
--create table d0odatki(
--lp number(3),
--nr_akt number(4) primary key,
--placa number(7,2) );
--desc d0odatki;
 
--alter table d0odatki add constraint nr_akt_fk foreign key (nr_akt)
--references prac2(nr_akt)
--on delete cascade;
--alter table d0odatki modify placa not null;
--insert into d0odatki values (1,9235,12211);
--insert into d0odatki values (2,8913,12214);
--insert into d0odatki values (3,9731,1214);
--update prac2 p set placa=(select placa from d0odatki d )where p.nr_akt=d.NR_AKT;?????????
--select * from prac2;
--select * from d0odatki; 
--rollback;
 
--select * from prac2;
--update  prac2 set placa=(placa + 150) where 3<=(select count(*) from prac2 p where p.NR_AKT=KIEROWNIK ); ????????
--select * from prac2;

 

//---------------------------------------

KOPIOWANIE TABELI

 

--select * from cat;
--create table prac2 as (select * from pracownicy);
--desc prac2;
--desc user_constraints;
select CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME from user_constraints where TABLE_NAME in ('PRAC2','PRACOWNICY');
--alter table PRAC2 add constraint nr_akt_pk primary key (nr_akt); 
--select * from PRACOWNICY;

//--------------------------------

SEKWENCJE

--CREATE TABLE KLIENT ( 
--NIP NUMBER(12) PRIMARY KEY, 
--NAZWISKO VARCHAR(20) NOT NULL, 
--IMIE VARCHAR(20) NOT NULL, 
--ADRES VARCHAR(40) NOT NULL);
 
--CREATE TABLE TOWAR ( 
--SYMBOL NUMBER(12) PRIMARY KEY, 
--NAZWA VARCHAR(20) NOT NULL, 
--CENA NUMBER(4,2), 
--IL_SZTUK NUMBER(4) NOT NULL, 
--CHECK (CENA>0));
 
--CREATE TABLE SPRZEDAZ ( 
--LP NUMBER(4) constraint sp_lp_pk PRIMARY KEY, 
--SYMBOL NUMBER(12) constraint sp_id_fk REFERENCES TOWAR(SYMBOL), 
--NIP NUMBER(12) constraint sp_ni_fk REFERENCES KLIENT(NIP), 
--ILE NUMBER(4), 
--DATA DATE);
 
--create SEQUENCE sp_lp_seq 
--INCREMENT BY 1 
--START WITH 1;
 
--INSERT INTO KLIENT VALUES (562, 'aaaa' , 'aaaa' , 'as' );
--INSERT INTO KLIENT VALUES (745, 'bbbb' , 'bbbb' , 'df' );
--INSERT INTO KLIENT VALUES (856, 'cccc' , 'cccc' , 'gh' );
--INSERT INTO KLIENT VALUES (785, 'dddd' , 'dddd' , 'hj' );
--INSERT INTO KLIENT VALUES (741, 'eeee' , 'eeee' , 'jk' );
 
--INSERT INTO TOWAR VALUES (100, 'alkohol' , 2.24 , 1000 );
--INSERT INTO TOWAR VALUES (101, 'fajki' , 5.75 , 1000 );
--INSERT INTO TOWAR VALUES (102, 'kondomy' , 7.26 , 1000 );
 
--INSERT INTO SPRZEDAZ VALUES (sp_lp_seq.nextval, '100' ,562 , 50, sysdate );
--INSERT INTO SPRZEDAZ VALUES (sp_lp_seq.nextval, '102' ,562 , 20, sysdate );
--INSERT INTO SPRZEDAZ VALUES (sp_lp_seq.nextval, '100' ,785 , 50, sysdate );
--INSERT INTO SPRZEDAZ VALUES (sp_lp_seq.nextval, '101' ,785 , 10, sysdate );