Ds

From Wikivyuka
Revision as of 13:40, 8 March 2012 by Dur30 (talk | contribs)

Jump to: navigation, search
create table Vlastnik(
id_vla   NUMBER PRIMARY KEY,
jmenovla varchar2(25) not null,
prijmenivla varchar2(25) not null,
adresavla varchar2(30)
);

insert into vlastnik values (1, 'Jan', 'Trčka', 'Frýdek-Místek');
create table parcela
(idParcela number primary key,
ku varchar2(8),
tvarParcely sdo_geometry
);
INSERT INTO parcela VALUES(
0,
'ova01',
SDO_GEOMETRY(2003,
NULL,
NULL, 
SDO_ELEM_INFO_ARRAY(1,1003,3), --obdelnik
SDO_ORDINATE_ARRAY(1,1,5,10)
)
);
INSERT INTO parcela VALUES(
1,
'bu02',
SDO_GEOMETRY(2003,
NULL,
NULL, 
SDO_ELEM_INFO_ARRAY(1,1003,3), --obdelnik
SDO_ORDINATE_ARRAY(2,6, 9.9)
)
);
INSERT INTO parcela VALUES(
20,
'ova005',
SDO_GEOMETRY( 2003,
NULL, NULL, SDO_ELEM_INFO_ARRAY(1,1003,1), -- polygon
SDO_ORDINATE_ARRAY(5,10 , 4,10 , 2,10 , 9,15 , 9,16 , 20,10, 5,10 )
)
);
create table vlastnictvi(
idVlastnictvi number primary key,
idVlastnik number(6) not null, 
idParcela number(6) not null,
odVlastni date not null, -- datum nabyti parcely
doVlastni date,  -- datum pozbyti parcely
constraints vla_vla foreign key (idVlastnik) references vlastnik,
constraints vla_pa foreign key (idParcela) references parcela
);

Vložení záznamů do tabulky Vlastnictví - ukázka změn vlastnictví v čase. Tatáž parcela je postupně vlastněna jedním druhým a opět prvním vlastníkem. Pro vložení hodnot datumu je využita konverzní funkce to_date, která umožňuje zadávat datum ve zvoleném formátu (zde DD-MM-YY).

insert into vlastnictvi values(1, 2, 0, to_date('01-01-07', 'DD-MM-YY'),  to_date('01-01-08', 'DD-MM-YY'));
insert into vlastnictvi values((2, 4, 0, to_date('01-01-09', 'DD-MM-YY'),to_date('01-01-11', 'DD-MM-YY'));
insert into vlastnictvi values(3, 2, 0, to_date('01-01-12', 'DD-MM-YY'),null);

Vyhledání aktuálního vlastníka parcely s číslem id=0.

select y.jmenovla, y.prijmenivla
from vlastnictvi x, vlastnik y
where x.id_vla = y.id_vla and x.doVlastni is null and x.id_par = 0;

Vyhledání aktuálního vlastníka parcely s číselným označením 253.

select y.jmenovla, y.prijmenivla
from vlastnictvi x, vlastnik y, parcela z
where x.id_par = z.id_par and x.id_vla = y.id_vla and x.doVlastni is null and z.cisloparcely = 253;


select p1.cisloparcely, p2.cisloparcely, SDO_GEOM.SDO_INTERSECTION(p1.tvarparcela,  p2.tvarparcela,0.005)
from parcela p1, parcela p2 
where p1.cisloparcely = 1 AND p2.cisloparcely = xx;

Zpět na stránku PDB