Sprawozdanie Adam Czech

background image

POLITECHNIKA OPOLSKA

Zaawansowane systemy baz danych

Sprawozdanie z wykonanych ćwiczeń

Adam Czech

W1L1P1

nr indeksu: 81325

background image

1. Obiekty w bazie Oracle.

a) Ćwiczenie I

create or replace type czlowiek as object

(imie VARCHAR2(20), nazwisko VARCHAR2(20), wiek INT);

background image

create or replace type pracownik as object

(personalia czlowiek, pensja FLOAT, zatrudniony DATE);

background image

create table zatrudnieni

(dzial int,p pracownik);

background image

insert into zatrudnieni values

(10, PRACOWNIK(CZLOWIEK('Adam','Czech',23),'3500','2015/04/22'));

background image

b) Ćwiczenie II

create or replace type punkt as object

(x integer, y integer, member function WezX return integer,

member function WezY return integer, member function

Odl(w in Punkt) return number);

c) Ćwiczenie III

background image

create or replace type body punkt as

member function WezX return integer as

begin

return self.x;

end;

member function WezY return integer as

begin

return self.y;

end;

member function Odl(w in punkt) return number as

begin

return sqrt((x-w.WezX())*(x-w.WezX())+(y-w.WezY())*(y-w.WezY()));

end;

end;

background image

d) Ćwiczenie IV

create table PUNKTY of PUNKT_1

e) Ćwiczenie V

background image

insert into PUNKTY values ('150','10');

f) Ćwiczenie VI

background image

select value(w), w.ODL(PUNKT(0,0)) as "odleglosc od (0,0)" from PUNKTY w where

w.WezX() + w.WezY() < 100;

background image

2. Operacja na obiektach.

a) Ćwiczenie I

create or replace TYPE t_adres as object

(ulica varchar(20),

nr_domu int,

miasto varchar(20),

kod_pocztowy varchar(6),

member function Daj_adres return T_ADRES,

member procedure Zmien_adres(nowy t_adres));

background image

create or replace TYPE BODY T_ADRES AS

MEMBER FUNCTION DAJ_ADRES RETURN T_ADRES IS BEGIN

RETURN SELF;

END;

MEMBER PROCEDURE ZMIEN_ADRES (NOWY T_ADRES)

IS

BEGIN

SELF.ULICA := NOWY.ULICA;

SELF.NR_DOMU := NOWY.NR_DOMU;

SELF.MIASTO := NOWY.MIASTO;

SELF.KOD_POCZTOWY := NOWY.KOD_POCZTOWY;

END;

END;

b) Ćwiczenie II

background image

create or replace TYPE OSOBA as object(

Imie varchar2(20),

Nazwisko varchar2(20),

Data_ur date,

Wzrost int,

Kolor_oczu varchar2(10),

Adres T_ADRES,

member function Daj_imie_i_nazwisko return varchar2,

member function Czy_kolor_oczu(Kolor varchar2) return int,

member procedure Zmien_kolor_oczu(nowy varchar2);

member procedure Zmien_date_ur(nowa date));

create or replace type body OSOBA as

background image

member function Daj_imie_i_nazwisko return varchar2 is begin return self.imie||'

'||self.nazwisko; end;

member function Czy_kolor_oczu(Kolor varchar2) return int is begin

if ( self.Kolor_oczu not like Kolor) then return 0; else return 1; end if; end;

member procedure Zmien_kolor_oczu(nowy varchar2) is begin

self.Kolor_oczu := nowy; end;

member procedure Zmien_date_ur(nowa date) is begin

self.Data_ur := nowa;

end; end;

c) Ćwiczenie III

create or replace TYPE T_STUDENT as object(

Imie varchar2(20),

Nazwisko varchar2(20),

Data_ur date,

Wzrost int,

Adres T_ADRES_TABELA,

Zaliczone_przedmioty T_PRZEDMIOT_TABELA,

member function Daj_studenta return varchar2,

member procedure Zmien_date_ur(nowa date));

background image

3. Kolekcje

a) Ćwiczenie I

create or replace type t_przedmiot as object

( nazwa_przedmiotu varchar2(20), ocena integer,

member function daj_przedmiot return varchar2,

member procedure zmien_ocene(nowa integer))

background image

create or replace type body t_przedmiot as

member function daj_przedmiot return varchar2

is

begin

return self.nazwa_przedmiotu;

end;

member procedure zmien_ocene(nowa integer)

is

begin self.ocena:=nowa;

end;

end;

background image

b) Ćwczenie II

create or replace TYPE T_ADRES_TABELA IS VARRAY(3) OF T_ADRES

background image

create or replace TYPE T_PRZEDMIOT_TABELA AS TABLE OF T_PRZEDMIOT

create table STUDENCI of T_STUDENT nested table Zaliczone_przedmioty store as

Zaliczenia;

background image

INSERT INTO STUDENCI VALUES (Adam, 'Czech', '1991-08-28',174,

T_ADRES_TABELA(T_ADRES('Dluga', 32, 'Krzanowice', 47470 ),

T_ADRES('Lipowa',11,'Kosia',47400)),

T_PRZEDMIOT_TABELA(T_PRZEDMIOT(' Analiza ', 3), T_PRZEDMIOT('Bazy',5),

T_PRZEDMIOT(‘wf',4)));

4. Perspektywy obiektowe

a) Ćwiczenie I

create table STUD_ROW of tstudent nested table adresy store as adresy_stored_1;

background image

create table STUD_COL (ID_STUD number(4), student tstudent) nested table

student.adresy store as adresy_stored_2;

insert into STUD_ROW Values (' ADAM ',' CZECH','1991-08-28',

12345678991,174,KADRESY(TADRES('Dluga',32,'Krzanowice',47470 )));

background image

insert into STUD_COL Values (1,TSTUDENT(' ADAM ',' CZECH','1991-08-28',

12345678991,174,KADRESY(TADRES('Dluga',32,'Krzanowice',47470 )));

b) Ćwiczenie II

CREATE OR REPLACE VIEW PERS1 AS SELECT K.ID_STUD, K.STUDENT.IMIE IMIE,

K.STUDENT.NAZWISKO NAZWISKO,

K.STUDENT.DATA_UR DATA_UR,

K.STUDENT.PESEL PESEL,

K.STUDENT.WZROST WZROST,

K.STUDENT.ADRESY ADRESY

FROM STUD_COL K;

CREATE OR REPLACE VIEW PERS2 OF TSTUDENT WITH OBJECT IDENTIFIER (PESEL)

AS SELECT

S.IMIE IMIE,

S.NAZWISKO NAZWISKO,

background image

S.DATA_UR DATA_UR,

S.PESEL PESEL,

S.WZROST WZROST,

S.ADRESY ADRESY

FROM STUD_ROW S;

background image

c) Ćwiczenie III

create or replace trigger wyzwalacz instead of insert or update or delete on pers1

for each row declare

a kadresy; begin

if deleting then

delete table(select s.student.adresy from stud_col s where

s.student.nazwisko=:old.nazwisko) p;

end if;

if inserting then

a:=:new.adresy;

for i in a.first..a.last loop

insert into table(select s.student.adresy from stud_col s where

s.id_stud=:new.id_stud) p

values(tadres(a(i).ulica,a(i).nr_domu,a(i).miasto,a(i).kod_pocztowy));

end loop; end if;

if updating then

a:=:new.adresy;

for i in a.first..a.last loop

update table(select s.student.adresy from stud_col s where s.id_stud=:new.id_stud)

p set p.ulica=a(i).ulica;

update table(select s.student.adresy from stud_col s where s.id_stud=:new.id_stud)

p set p.nr_domu=a(i).nr_domu;

update table(select s.student.adresy from stud_col s where s.id_stud=:new.id_stud)

p set p.miasto=a(i).miasto;

update table(select s.student.adresy from stud_col s where s.id_stud=:new.id_stud)

p set p.kod_pocztowy=a(i).kod_pocztowy;

end loop;

end if;

end;

background image

background image

5. Wyzwalacze

a) Ćwiczenie I

create table studenci1 (

id_studenta int,

imie varchar(20),

nazwisko varchar (35),

przedmiot varchar (100),

ocena float);

background image

create table statystyki (

przedmiot varchar (100),

liczba_studentow int,

suma_ocen float);

insert into studenci1 values ( 3,'Adam','Czech','Bazdy Danych',5);

insert into studenci1 values ( 4,'Marek','Porazka','Sieci',5);

insert into studenci1 values ( 5,'Dominika','Kowalczyk','Programowanie',2);

insert into studenci1 values ( 6,'Lukasz','Baszta','Bazy danych',3);

insert into studenci1 values ( 7,'Dawid','Kropka','Fizyka',2);

insert into studenci1 values ( 8,'Kamil','Penderecki','Analiza',4);

insert into studenci1 values ( 9,'Maciej','Kozak','Sieci',3);

insert into studenci1 values ( 10,'Maria','Stasiewicz','Analiza',4);

background image


Wyszukiwarka

Podobne podstrony:
Adam Czech Sprawozdanie
Adam Czech Sprawozdanie
Sprawozdanie Adam Krawczyk, Sprawozdanie Adam Krawczyk, Adam Krawczyk
Adam Czech ccna3 166797 204102
Adam Czech L1 Ćwiczenie 4
Adam Czech ccna4 list 166797 204115
Adam Czech ccna4 166797 204115
Adam Czech L1 Ćwiczenie 9
Adam Czech L1 Ćwiczenie 8
Adam Czech ccna3 list 166797 204102
Adam Czech L1 Ćwiczenie 6
Adam Czech L1 Ćwiczenie 7
Adam Czech L1 Ćwiczenie 3
Czech sprawozdanie 4
Czech sprawozdanie 1 id 128290 Nieznany
Czech sprawozdanie 1
Czech sprawozdanie 3 id 128292 Nieznany
Czech sprawozdanie 2
Sprawozdanie 13 adam, SPRAWOZDANIA czyjeś

więcej podobnych podstron