Sistem Basis Data
Model Enhanced Entity Relationship
MODEL ENHANCED ENTITY RELATIONSHIP
Pada tahun delapan puluhan terdapat perkembangan dengan cepat beberapa aplikasi basis data baru, seperti Computer Aided Design (CAD), Computer Aided Manufacturing (CAM), Computer Aided Software Engineering (CASE) tools dan aplikasi-aplikasi multimedia. Jenis aplikasi ini lebih banyak tergantung pada kebutuhankebutuhan basis data dibandingkan dengan aplikasi administrasi tradisional. Konsep dasar model Entity Relationship (ER) tidak cukup untuk menggambarkan kebutuhan-kebutuhan yang baru, aplikasi-aplikasi yang lebih kompleks. Hal ini menimbulkan suatu kebutuhan untuk mengembangkan konsep model semantik tambahan. Ada beberapa model data semantik yang telah diajukan. Tetapi beberapa konsep semantik yang penting telah dengan sukses tergabung dalam model ER yang asli. Model ER yang didukung dengan konsep semantik tambahan disebut model Enhanced Entity Relationship (EER). Model EER berisikan seluruh konsep model ER ditambah konsep-konsep dari subclass dan superclass, dan konsep-konsep yang berhubungan yaitu specialization dan generalization. Konsep lainnya yang termasuk dalam model EER yaitu Category Pada
tulisan
ini
hanya
menggambarkan
konsep
utama
dari
model
EER
yang
bernama
specialization/generalization, dan mengilustrasikan bagaimana konsep tersebut direpresentasikan dalam model EER. Konsep specialization/generalization berhubungan dengan konsep jenis-jenis entitas yang dideskripsikan sebagai superclass atau subclass, dan proses turunan atribut.
SUBCLASS DAN SUPERCLASS Dalam beberapa hal, suatu jenis entitas akan mempunyai banyak tambahan subgroup entitas yang sangat berarti dan perlu digambarkan secara nyata karena entitas-entitas tersebut penting sekali artinya bagi aplikasi basis data. Contoh: Entitas-entitas yang merupakan anggota dari entitas EMPLOYEE dikelompokkan menjadi secretary, engineer, manager, technician, salaried_employee, hourly_employee, dan lain-lain. Himpunan entitas pada tiap-tiap grup adalah subset entitas dari entitas EMPLOYEE, yang berarti bahwa setiap entitas yang merupakan anggota dari salah satu subgroup-subgroup ini adalah suatu employee juga. Tiap-tiap subgroup tadi adalah suatu subclass dari entity EMPLOYEE, dan entity EMPLOYEE disebut superclass untuk tiap-tiap subclass tersebut. Hubungan antara superclass dan beberapa subclass-nya disebut superclass/subclass relationship. Contoh: EMPLOYEE/SECRETARY dan EMPLOYEE/TECHNICIAN adalah dua superclass/subclass relationships. Sebuah entitas tidak dapat berada dalam basis data dengan menjadi anggota suatu subclass saja, tetapi entitas tersebut juga harus merupakan anggota dari superclass.
Suzan Agustri
69
Sistem Basis Data
Model Enhanced Entity Relationship
SPECIALIZATION Specialization adalah proses pendefinisian suatu himpunan subclass dari suatu entitas; entitas ini disebut superclass dari specialization. Himpunan subclass tersebut membentuk specialization yang telah didefinisikan berdasarkan beberapa sifat/karakteristik yang istimewa dari suatu entitas pada suatu superclass yang menggambarkan perbedaan yang jelas antara entitas tersebut. Contoh: himpunan subclass {SECRETARY, ENGINEER, TECHNICIAN} adalah specialization dari superclass entitas EMPLOYEE dimana perbedaan antara entitas EMPLOYEE berdasarkan pada jenis pekerjaan dari tiap-tiap entitas. Kita dapat mempunyai beberapa specialization dari jenis entitas yang sama berdasarkan perbedaan karakteristik yang istimewa. Contoh: specialization dari entitas EMPLOYEE dapat menghasilkan himpunan subclass {SALARIED_EMPLOYEE, HOURLY_EMPLOYEE},
pada specialization ini
perbedaan entitas
EMPLOYEE berdasarkan metode
pembayarannya.
GENERALIZATION Generalization adalah proses pendefinisian entitas-entitas yang disatukan menjadi entitas superclass tunggal dari entitas aslinya yang merupakan subclass istimewa. Proses generalization dapat dipandang sebagai kebalikan dari proses specialization. Contoh: Gambar 1. Kita dapat memandang {CAR, TRUCK} sebagai specialization dari VEHICLE, sebaliknya kita memandang VEHICLE sebagai suatu generalization dari CAR dan TRUCK. Dengan cara yang sama, kita dapat memandang EMPLOYEE sebagai generalization dari SECRETARY, TECHNICIAN, dan ENGINEER.
Suzan Agustri
70
Sistem Basis Data
Model Enhanced Entity Relationship
No of passangers
No Of Axles Price
Price
Tonnage
Max speed TRUCK CAR
Vehicleid
Vehicleid License Plate No
License Plate No
Price Vehicleid
License Plate No
VEHICLE
d No of passangers
No Of Axles Tonnage
Max speed
CAR
TRUCK
Gambar 1. Generalize Superclass VEHICLE
CATEGORIZATION Category adalah kebutuhan yang timbul untuk model suatu relationship superclass/subclass tunggal dengan lebih dari satu superclass dimana superclas-superclass tersebut menggambarkan jenis entity yang berbeda. Contoh: Gambar 2. Terdapat
3
jenis
entitas
yaitu:
PERSON,
BANK,
dan
COMPANY.
Dalam
suatu
basis
data
REGISTERED_VEHICLE, pemilik kendaraan (OWNER) bisa saja perorangan, bank, atau perusahaan. Kita perlu membuat suatu class yang terdiri dari 3 jenis entitas untuk memainkan perannya sebagai pemilik kendaraan. Maka dibuat suatu category OWNER yaitu sebuah subclass dari gabungan (UNION) 3 class yaitu COMPANY, BANK, dan PERSON untuk kepentingan ini.
Suzan Agustri
71
Sistem Basis Data
Model Enhanced Entity Relationship
BName
BAddress
BANK SSN
SName
Driver License No
Address
CName
PERSON
CAddress
COMPANY U
OWNER Lien or Regular
OWNS
Purchase Date
License Plate No REGISTERED_VEHICLE
U
TYear
TYear TMake
Cmake
TModel
Cmodel Tonnage Cstyle CAR
TRUCK
Vehicleid
Vehicleid
Gambar 2. Category REGISTERED_VEHICLE
Pada Gambar di atas, terdapat 2 category yaitu OWNER yang merupakan sebuah subclass dari gabungan PERSON, BANK, dan COMPANY, yang lainnya yaitu REGISTERED_VEHICLE yang merupakan subclass dari gabungan CAR dan TRUCK. Sebuah category dapat mempunyai 2 atau lebih superclass yang menggambarkan jenis-jenis entitas yang berbeda, sebaliknya relationship superclass/subclass lainnya selalu memiliki superclass tunggal.
Suzan Agustri
72
Sistem Basis Data
Model Enhanced Entity Relationship
Suatu category adalah subset dari gabungan superclass-nya. Oleh sebab itu suatu entitas yang merupakan anggota OWNER harus berisikan sedikitnya 1 superclass, tetapi tidak harus menjadi anggota dari seluruh superclass. Hal ini menggambarkan batasan bahwa seorang OWNER mungkin saja suatu COMPANY, sebuah BANK, atau perorangan (PERSON). Perbedaan
antara
dua
gambar
di
atas
(generalize
superclass
VEHICLE
dengan
category
REGISTERED_VEHICLE): Pada generalize superclass VEHICLE: - Setiap mobil dan truk adalah vehicle - Jika dipisahkan, tidak dapat dihindari bahwa akan terdapat jenis entitas lain seperti entitas BICYCLE Pada category REGISTERED_VEHICLE -
Terdiri dari beberapa mobil dan beberapa truk, tetapi tidak seluruh mobil dan truk yang diregistrasikan
-
Category registered_vehicle menyatakan hanya mobil dan truk saja, dan bukan jenis entitas lain yang dapat menjadi anggota REGISTERED_VEHICLE
Suzan Agustri
73