tutorial ordbms oracle 1 2012
TRANSCRIPT
-
8/16/2019 tutorial Ordbms Oracle 1 2012
1/16
1 TEKNOLOGI OBJECT-RELATIONAL DBMSpada ORACLE 10 g
2
1. Object Types dan User-Defned Types
Object type adalah tipe data yang dapat dibuat sendiri oleh pengguna , hal ini dikenal sebagai user-defined types yang lebih memungkinkan user untuk memodelkan entitas dunia nyata yang komplek (complex real-world).
Metadata untuk user-defined types disimpan di dalam suatu skema yang memungkinkan SQL,PL/SQL, Java dan interface yang lain menampilkannya. Tipe data objek memudahka n untuk bekerjadengan menggunakan data komplek (complex data), seperti images, video, dan audio.
Pada !ra"le, perintah # create type $ digunakan untuk membuat suatu tipe data baru %obje"ttype& yang nantinya dapat digunakan se"ara umum pada saat
membuat sebuat tabel %menggunakan perintah #"reate table$ &membuat tipe data lain
Perintah untuk membuat suatu object type
CREATE [OR REPLACE] TYPE AS O !ECT(attribute attribute type, ....,attribute attribute type)/
C"nt"# 1 $
CREATE OR REPLACE TYPE Person_T AS O !ECT(person_id VARCHAR2(10),person_name VARCHAR2(30))/CREATE TA LE Course(course_id VARCHAR2(10),course_name VARCHAR2(20),lecturer Person_T);
'eterangan #(s obje"t$ harus selalu digunakan setelah statement "reate/repla"e sebuah obje"t type.#or repla"e$ bersi)at optional. *engan menggunakan perintah #or repla"e$ maka suatu
obje"t dengan nama yang sama akan otomatis di+update %diganti& dengan versi yang baru dari obje"t type tsb.
Object Relational Database pada Oracle 10g ~ Agnes Maria Polina, S.Kom.,M.Sc ~Hal 1
T%j%an &nstr%'s("na) $ Ma!asis"a mamp# mema!ami $onsep Object-Relational Database %ang diimplementasi$an mengg#na$an ORD&MS Oracle10 g.
-
8/16/2019 tutorial Ordbms Oracle 1 2012
2/16
ontoh di atas menunjukkan penggunaan obje"t type Person-T sebagai jenis attributdalam tabel ourse.
C"nt"# * $
erikut ini pembuatan object type bernama Mahasis a-objtyp
Object type
CREATE OR REPLACE TYPE Mahasiswa_objtyp AS OBJECT (
NIM NUMBER, Na a !ARC"AR#($%%&, E ai' !ARC"AR#(# &, T)'p !ARC"AR#(#%&&* +
erikut ini merupakan "ontoh pembuatan tabel (lumni-objtab dengan sebuah kolom object type .
Tabel objek
CREATE TABLE A' -i_objtab (
Mhs_US. Mahasiswa_objtyp, T/'_' ' s .ATE &*
Sintak di ba ah ini menyisipkan satu baris data ke dalam tabel (lumni-objtab
INSERT INTO A' -i_objtab !ALUES( Mahasiswa_objtyp ( 0$1%%$, 2E'3a E3)'i-a2, 2)'3a4yahoo56o 2,2%7$ 8$#018 9:72&,
2$% No3 #%%72 &*
Tabel (lumni-objtab merupakan tabel relational dengan sebuah object type sebagai tipedata dari kolom+kolomnya. !bjek yang menempati kolom dari tabel relational disebutdengan objek kolom (column object) . 0ambar berikut mengilustrasikan tabel(lumni-objtab, yang pada salah satu kolomnya berupa objek kolom
!bjek kolom
'olom Mhs-1S* bertipe objek Mahasis a-objtyp'olom Tgl-lulus
bertipe *(T2
34M 3ama 2mail Telp Tgl-lulus
5678997 2lva 2velina elva:yahoo."om 9;76+7; 79+3ov+
-
8/16/2019 tutorial Ordbms Oracle 1 2012
3/16
Latihan :
7. uatlah !bje"t Type seperti tampak di ba ah ini
-
8/16/2019 tutorial Ordbms Oracle 1 2012
4/16
Perintah umum (general syntax) untuk mende)inisikan suatu object type
CREATE ;OR REPLACE< TYPE Na aTip)
;AUT"I. =CURRENT_USER > .E?INER@<
= =IS > AS@ OBJECT > UN.ER Na aS p) typ) @
(
Na aAt ib t Tip).ata;, Na aAt ib t Tip).ata OR.ER@ MEMBER Sp)si i asi? -/si,<
;=?INAL> NOT ?INAL@ MEMBER Sp)si i asi? -/si,<
;=INSTANTIABLE> NOT INSTANTIABLE@ MEMBER Sp)si i asi? -/si,< ;=MEMBER > STATIC@ = Sp)si i asiS bP o/ a >
Sp)si i asiP) a-//i'a-@
;, =MEMBER > STATIC@ = Sp)si i asiS bP o/ a >
Sp)si i asiP) a-//i'a-@ NOT ?INAL@< ; =INSTANTIABLE> NOT INSTANTIABLE@
-
8/16/2019 tutorial Ordbms Oracle 1 2012
5/16
+ OR.ER Pernyataan yang digunakan met od untuk membuat suatu perbandingan se"ara
langsung object-to-object.+ ?INAL Pernyataan yang menjelaskan bah a object type&met od tidak dapat mende)inisikan
suatu subtype dari object type&met od tersebut.
+ NOT ?INAL Pernyataan yang menjelaskan bah a object type&met od dapat mende)inisikan
suatu subtype dari object type&met od tersebut.
+ INSTANTIABLE Pernyataan yang menyatakan bah a tidak dapat menginisialisasikan
instance dari object type.
+ NOT INSTANTIABLE Pernyataan yang menyatakan bah a tidak dapat menginisialisasikan
instance dari object type.
Object Relational Database pada Oracle 10g ~ Agnes Maria Polina, S.Kom.,M.Sc ~Hal *
-
8/16/2019 tutorial Ordbms Oracle 1 2012
6/16
*. ,et#"ds Object
Sebuah object type %sudah dibahas pada bab 7 di atas& teridiri dari dari < bagian, yaitu 7. attributes STATIC@ = Ba a-S bP o/ a > Sp)si i asiP) a-//i'a- @*
-
8/16/2019 tutorial Ordbms Oracle 1 2012
7/16
MAP MEMBER ?UNCTION get_NIM RETURN NUMBER&*
+
>>>>>C&,
C77 3ov
-
8/16/2019 tutorial Ordbms Oracle 1 2012
8/16
P) a-//i'a- )tho (invoke a method) )-// -a a- dot
not tion obje!t_" #i b$e % ðod'( isa'-ya D
Mhs_USD 5get_NIM'( i a-a Mhs_US. a a'ah att ib t a i tab)'
a' -i_ti s a- /)t_NIM a a'ah -a a )tho pa a obj)6t typ)
Mhs_objtyp5
"asi' --i-/ D
Contoh II :
7. Membuat object type Person
-
8/16/2019 tutorial Ordbms Oracle 1 2012
9/16
6. uat tabel !3T( TS< dimana attribut !3T( T bertipe person
-
8/16/2019 tutorial Ordbms Oracle 1 2012
10/16
5. Perintah SQL untuk menampilkan )irst-name, last-name, email, dan phone untuk
obj"et instan"e yang memiliki )irst-name 'evin adalah sbb
Object Relational Database pada Oracle 10g ~ Agnes Maria Polina, S.Kom.,M.Sc ~Hal 10
1/
-
8/16/2019 tutorial Ordbms Oracle 1 2012
11/16
Latihan 2 :
7. uatlah !bje"t Type seperti tampak di ba ah ini
-
8/16/2019 tutorial Ordbms Oracle 1 2012
12/16
0. &n#er(tance
Suatu object type dapat me ariskan baik attribut maupun method pada sub type di ba ahnya.
1ntuk menerapkan in eritance , suatu obejct type harus dide)inisikan ‘ !" #I $L% pada
akhir deklarasi. 'ey ord ‘U D&'% yang digunakan bersama statement ‘C'&$"& "()&% ber)ungsi untuk membuat sub type dari super type di atasnya.
0eneral SyntaD yang digunakan untuk in eritance adalah sbb
CREATE [OR REPLACE] TYPE AS O !ECT(key attribute attribute type,attribute attribute type,...,attribute attribute type) [ &2AL32OT &2AL]/CREATE [OR REPLACE] TYPE U2DER 4 super-typeobject schema>(additional attribute attribute type, ....,additional attribute attribute type)[ &2AL32OT &2AL]/CREATE TA LE O
(key attribute 2OT 2ULL5PR&,ARY 6EY (key attribute)) 7
C"nt"# $ atla! object t%pe Person/t dengan s#b t%pe seperti tampa$ pada
gambar di ba"a!.
Object Relational Database pada Oracle 10g ~ Agnes Maria Polina, S.Kom.,M.Sc ~Hal 1'
1*
-
8/16/2019 tutorial Ordbms Oracle 1 2012
13/16
Lan8'a#-)an8'a# $
*+ Memb#at object type dengan nama Pers"n+9typ %ang bersi at O2 34 A5
agar object ini dapat memili$i s#b t%pe 6dapat di"aris$an7
8R9A29 2:P9 person)/t%p AS O&;982 6idno ?
2+ Memb#at isi :et#"d mili$ object type Pers"n+9typ . @#na$an perinta!
8R9A29 OR R9P5A89 2:P9 &OD: sbb
@2(T2 !@ @2PL( 2 TAP2 !*A person8-typ (SM(P M2M 2@ E13 T4!3 get-idno @2T1@3 31M 2@ 4S
2043@2T1@3 idnoB23*B++ )un"tion that "an be overriden by subtypesM2M 2@ E13 T4!3 sho @2T1@3 ?(@ F(@< 4S
2043@2T1@3 C4d C GG T!- F(@%idno& GG C, 3ame C GG nameB23*B
23*B/
,+ Membuat sub type dengan nama student_typ yang merupakan "hild %anak& dari
obje"t type person-_typ :
@2(T2 TAP2 student-typ 13*2@ person8-typ %
dept-id 31M 2@,
major ?(@ F(@
-
8/16/2019 tutorial Ordbms Oracle 1 2012
14/16
@2(T2 TAP2 !*A student-typ (S!?2@@4*430 M2M 2@ E13 T4!3 sho @2T1@3 ?(@ F(@< 4S
2043@2T1@3 %sel) (S person8-typ&.sho GG C ++ Major C GG major B23*B23*B/
+ Membuat sub type dengan nama employee_typ yang merupakan "hild %anak& dari
obje"t type person-_typ :
@2(T2 TAP2 employee-typ 13*2@ person8-typ %emp-id 31M 2@,mgr ?(@ F(@
-
8/16/2019 tutorial Ordbms Oracle 1 2012
15/16
@2(T2 TAP2 !*A part-time-student-typ (S!?2@@4*430 M2M 2@ E13 T4!3 sho @2T1@3 ?(@ F(@< 4S
2043@2T1@3 % %S2LE (S person8-typ&.sho GG C ++ Major C GG major GGC, Fours C GG T!- F(@%number-hours&&B23*B23*B/
+ Membuat table dengan nama person-_obj_table yang bertipe obje"t person-_typ :
@2(T2 T( L2 person8-obj-table !E person8-typB
*3+Menyisipkan data ob Jones ke dalam object type person-_typ pada tabel
person-_obj_table
43S2@T 43T! person8-obj-table
?(L12S %person8-typ%7
-
8/16/2019 tutorial Ordbms Oracle 1 2012
16/16
S2L2 T p.sho %&
E@!M person8-obj-table pB
HIII ractices makes erfect IIIH
1