PhysischesModell - Tobi9990/TourAdvisor GitHub Wiki
DROP TABLE stadtplan CASCADE CONSTRAINTS;
DROP TABLE stadtplanAdmin CASCADE CONSTRAINTS;
DROP TABLE stadtplanUser CASCADE CONSTRAINTS;
DROP TABLE strassenabschnitt CASCADE CONSTRAINTS;
DROP TABLE sehenswurdigkeit CASCADE CONSTRAINTS;
create table Person (
Pid number(4) primary key,
pname varchar(30)
);
create table Stadtplan(
Stid number(4) primary key,
bez varchar(30)
);
create table stadtplanadmin(
Pid number(4) primary key,
pname varchar(30),
adminrechte varchar(30),
Stid number(4),
foreign key (pid) references Person(Pid),
foreign key (Stid) references Stadtplan(Stid)
);
create table stadtplanUser(
Pid number(4) primary key,
uname varchar(30),
userrechte varchar(30),
Stid number(4),
foreign key (pid) references Person(Pid),
foreign key (Stid) references Stadtplan(Stid)
);
create table strassenabschnitt(
aid number(4) primary key,
aBezeichnung varchar(30),
Stid number(4),
objekt SDO_GEOMETRY,
foreign key (Stid) references Stadtplan(Stid)
);
INSERT INTO user_sdo_geom_metadata ( TABLE_NAME,
COLUMN_NAME,
DIMINFO,
SRID
)
VALUES
( 'strassenabschnitt',
'objekt',
SDO_DIM_ARRAY( -- 20X20 grid
SDO_DIM_ELEMENT('X', 0, 20, 0.005),
SDO_DIM_ELEMENT('Y', 0, 20, 0.005)
),
NULL -- SRID
);
CREATE INDEX index_strassenabschnitt ON strassenabschnitt(objekt) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
create table sehenswurdigkeit(
swid number(4) primary key,
swname varchar(30),
beschreibung varchar(30),
aid number(4),
foreign key (aid) references strassenabschnitt(aid)
);
create table sehenswurdigkeit_angesehen(
pid number(4),
swid number(4),
unique (pid, swid),
foreign key (pid) references Person(pid),
foreign key (swid) references sehenswurdigkeit(swid)
);
-- Stadtplan
Insert Into stadtplan values(1, 'Villach');
-- Person Insert Into Person values (1, 'Name');
Insert Into Person values (2, 'Name');
Insert Into Person values (3, 'Name');
Insert Into Person values (4, 'Name');
-- Administrator
Insert Into stadtplanadmin values(1, 'Peter', 'Verwaltungsrecht', 1);
-- User
Insert Into stadtplanUser values(1, 'John', 'Anwendungsrecht', 1);
Insert Into stadtplanUser values(2, 'Phillip', 'Anwendungsrecht', 1);
Insert Into stadtplanUser values(3, 'Stefan', 'Anwendungsrecht', 1);
Insert Into stadtplanUser values(4, 'Karl', 'Anwendungsrecht', 1);
-- Strassenabschnitt
--1
INSERT INTO strassenabschnitt VALUES(
1, 'A1', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(10,10, 300,10)
)
);
--2
INSERT INTO strassenabschnitt VALUES(
2, 'A2', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(300,10, 450,10)
)
);
--3
INSERT INTO strassenabschnitt VALUES(
3, 'A3', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(500,150, 450,10)
)
); --4 INSERT INTO strassenabschnitt VALUES(
4, 'A4', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(300,10, 250,200)
)
);
--5
INSERT INTO strassenabschnitt VALUES(
5, 'A5', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(100,200, 250,200)
)
);
--6
INSERT INTO strassenabschnitt VALUES(
6, 'A6', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(10,10, 100,200)
)
);
--7
INSERT INTO strassenabschnitt VALUES(
7, 'A7', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(300,300, 250,200)
)
);
--8
INSERT INTO strassenabschnitt VALUES(
8, 'A8', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(400,200, 300,300)
)
);
--9
INSERT INTO strassenabschnitt VALUES(
9, 'A9', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(400,200, 350,1000)
)
);
--10
INSERT INTO strassenabschnitt VALUES(
10, 'A10', 1,
SDO_GEOMETRY(
2002,
NULL,
NULL,
SDO_ELEM_INFO_ARRAY(1,2,1), -- compound line string
SDO_ORDINATE_ARRAY(500,150, 400,200)
)
);
-- Sehenswürdigkeiten
Insert Into sehenswurdigkeit values (1, 'S1', 'Beschreibung', 1);
Insert Into sehenswurdigkeit values (2, 'S2', 'Beschreibung', 10);
Select * from stadtplan;
Select * from stadtplanAdmin;
Select * from stadtplanUser;
Select * from strassenabschnitt;
Select * from sehenswurdigkeit;