Anda di halaman 1dari 4

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/324684881

Konversi ER Model ke NoSQL MongoDB

Article · April 2018

CITATIONS READS

0 104

1 author:

Adi Purnama
Bandung Institute of Technology
34 PUBLICATIONS   3 CITATIONS   

SEE PROFILE

All content following this page was uploaded by Adi Purnama on 22 April 2018.

The user has requested enhancement of the downloaded file.


Konversi ER Model ke NoSQL “MongoDB”

1. Skema data pada MongoDB

Pada mongoDB, setiap elemen data disimpan dalam sebuah document dengan struktur sebagai
berikut.

Document = {
key = value,
key = value,
…. }
Value dapat berupa
1. Tipe dasar (int,double,string,boolean)
2. Document lain
3. ObjectID (ID unik setiap dokumen, dibuat otomatis oleh MongoDB. Berfungsi sebagai
pointer / foreign key)
4. Array (Contoh : [“a”,”b”,”c”]

2. Prinsip konversi ER Model ke MongoDB

Gambar 1: ER Model untuk kasus pertama. Seorang customer “memiliki”


pinjaman di Bank. (Sumber gambar : “Database System Concepts” -
Silberschatz)
Prinsip konversi ER Model ke MongoDB terbagi menjadi dua kasus. Untuk kasus pertama, jika
entitas X "memiliki" entitas Y, maka entitas Y disimpan dalam entitas X. Sebagai contoh : Entitas
pengguna bank "memiliki" daftar hutang. Semua daftar hutang pengguna tersebut disimpan
seluruhnya pada data pengguna bank.

PenggunaBank
Nama
Daftar Hutang :
#1 Nomor Hutang = X, Jumlah Pinjaman = Y
#2 Nomor Hutang = Z , Jumlah Pinjaman = Z

Pada key daftar hutang, valuenya bertipe array. Setiap elemen array memiliki value berupa
document seperti ini
Hutang
Nomor Hutang
Jumlah Pinjaman
Gambar 2: ER Model untuk kemungkinan kedua. Perhatikan bahwa hubungan
"works-for" tidak berarti suatu employee "memiliki" employee yang lain.
(Sumber gambar : “Database System Concepts” - Silberschatz)

Untuk kasus kedua, entitas X "berhubungan" dengan entitas Y. Namun tidak memiliki Y secara
keseluruhan. Hubungan ini disimpan pada entitas Z. Sebagai contoh, hubungan antar “bekerja pada”
dalam sistem pegawai. Ketika suatu pekerja X “bekerja kepada” pekerja Y, bukan berarti pekerja Y
itu “memiliki” pekerja X. Hubungan antar kedua pekerja ini disimpan dalam entitas lain. Entitas ini
menyimpan ObjectID dari masing-masing pekerja sebagai foreign key

Employee
name
telephone number
Works For
Manager : ObjectID
Worker : ObjectID

Tambahan

Untuk attribut yang bersifat multivalue, data disimpan dengan value bertipe array. Primary key
tidak perlu dibuat karena sudah dibuat otomatis oleh MongoDB. Sementara itu untuk constraint
seperti one-to-one, one-to-many , many-to-many dan total/partial participation tidak dapat
diimplementasikan di mongoDB. Oleh karena itu, constraint ini harus dikelola sendiri oleh aplikasi.
Hubungan IS-A, dapat diimplementasikan dengan menambahkan attribut “tipe entitas”. Hal ini
mudah diimplementasikan karena skema masing masing record data dapat berbeda-beda. Hal ini
tidak bisa dilakukan pada database relasiona. Sebagai contoh

Person1 :
Name = X
Type = NormalPerson
Person2:
Name = Y
Type = Employee
EmployeeID = 13

Perhatikan bahwa record Person2 memiliki attribut tambahan berupa Empoyee ID..
View publication stats

Anda mungkin juga menyukai