You are on page 1of 5

ASSSIGNMENT 2

NAME
: SUJAN GANDIKOTA RAMESH
RED ID : 817855084
COURSE : SPATIAL DATABASES (CS-615)

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> CREATE TYPE city_detail as OBJECT (
2 name VARCHAR2(15),
3 latitude NUMBER(6),
4 longitude NUMBER(6),
5 member function display return VARCHAR2,
6 pragma restrict_references(display,WNDS)
7 );
8 /
Type created.
SQL> CREATE TYPE treasure_info AS OBJECT (
2 name VARCHAR2(15),
3 property VARCHAR2(15)
4 );
5 /
Type created.
SQL> CREATE TYPE treasure AS VARRAY(5) OF treasure_info;
2 /
Type created.
SQL> CREATE TABLE museums(
2 name VARCHAR2(25),
3 city CITY_DETAIL,
4 country VARCHAR2(25),
5 category VARCHAR2(25),
6 treasure treasure,
7 weblink VARCHAR2(35));
Table created.
1* INSERT INTO museums VALUES('Egyptian Museum',city_detail('Cairo',30,31),'Egypt','Egyptian
Antiquities',treasure(treasure_info('Tutankhamen', '1500 BC')),'http://www.sca-egypt.org/')
SQL> /
1 row created.
SQL> INSERT INTO museums VALUES('Vatican Museum',city_detail('vatican',41,12),'Rome','Paintings',
treasure(treasure_info('michaealangelo','1508')),' http://mv.vatican.va.htm');
1 row created.

SQL> INSERT INTO museums VALUES('Tokyo National Museum',city_detail('Taito',35,-139),'Japan','Art',


treasure(treasure_info('Jomon vessel ','3000-2000 BCE'),treasure_info('Yayoi jar','1st3rd')),'http://www.tnm.jp/?lang=en');
1 row created.
SQL> INSERT INTO museums VALUES('British Museum',city_detail('London',51,0),'ENGLAND','culture',
treasure(treasure_info('Rosetta stone','medeival stone')),' www.britishmuseum.org');
1 row created.
SQL> INSERT INTO museums VALUES('RijksMuseum',city_detail('Amsterdam',52,4),'netherlands','Arts',
treasure(treasure_info('isaac gogel','1805')),'https://www.rijksmuseum.nl/');
1 row created.
SQL> INSERT INTO museums VALUES('National museum',city_detail('delhi',28,77),'India','paintings',
2 treasure(treasure_info('bahadur', 'ivory')),' www.nationalmuseumindia.gov.in');
1 row created.
SQL> INSERT INTO museums VALUES('salar jung',city_detail('hyderabad',17,78),'India','sculptures',
2 treasure(treasure_info('sword', 'aurangazeb')),' www.salarjungmuseum.in/');
1 row created.
SQL> INSERT INTO museums VALUES('USS museum',city_detail('san diego',32,117),'USA','carriers',
2 treasure(treasure_info('aircrafts', 'simulators')),' www.midway.org
3 ');
1 row created.
SQL> INSERT INTO museums VALUES('colombo museum',city_detail('colombo',6,79),'sri lanka','ragalia
history',
2 treasure(treasure_info('henry','1877')),'http://www.museum.gov.lk/');
1 row created.
SQL> INSERT INTO museums VALUES('Baba museum',city_detail('neil road',1,103),'singapore','pre war
history',
2 treasure(treasure_info('suu ling','19a.d')),'en.wikipedia.org/wiki/Baba_House');
1 row created.
SQL> select count(*) from museums;
COUNT(*)
---------10
SQL> CREATE OR REPLACE TYPE BODY city_detail AS
2 member function display return VARCHAR2 IS

3 long1 museums.city.longitude%type;
4 long2 VARCHAR2(10);
5 BEGIN
6 SELECT m.city.longitude INTO long1 from museums m where m.city.longitude = self.longitude;
7 long2 := TO_CHAR(long1);
8 IF long1<0 THEN
9 long2 := replace(long2,'-','') || 'W';
10 ELSE
11 long2 := long2 || 'E';
12 END IF;
13 RETURN long2;
14 END;
15 END;
16 /
Type body created.
SQL> select m.name,m.city.name,m.city.display() from museums m;
NAME
CITY.NAME
------------------------- --------------M.CITY.DISPLAY()
-------------------------------------------------------------------------------Egyptian Museum
Cairo
31E
Vatican Museum
12E

vatican

Tokyo National Museum


139W

Taito

NAME
CITY.NAME
------------------------- --------------M.CITY.DISPLAY()
-------------------------------------------------------------------------------British Museum
London
0E
RijksMuseum
4E
National museum
77E

Amsterdam
delhi

NAME
CITY.NAME
------------------------- --------------M.CITY.DISPLAY()
--------------------------------------------------------------------------------

salar jung
78E
USS museum
117E
colombo museum
79E

hyderabad
san diego
colombo

NAME
CITY.NAME
------------------------- --------------M.CITY.DISPLAY()
-------------------------------------------------------------------------------Baba museum
neil road
103E
10 rows selected.
SQL>

You might also like