2.4 Data Dictionary
•
Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam
database. Data dictionary biasa disebut juga dengan metadata atau data mengenai data.
•
Modul
pengontrol autorisasi menggunakan data dictionary untuk memeriksa apakah
seorang pemakai perlu mempunyai wewenang.
Untuk mengerjakan pemeriksaan tersebut data
dictionary menyimpan :
•
•
nama-nama pemakai yang mempunyai wewenang untuk menggunakan DBMS
•
•
nama-nama data item yang ada dalam database
•
•
data item yang dapat diakses oleh pemakai dan jenis akses yang diijinkan,
misalnya: insert, update, delete
atau read
•
Sedangkan
untuk memeriksa integritas data, data dictionary menyimpan :
•
•
nama-nama data item dalam database
•
•
jenis dan ukuran data item
•
•
batasan untuk masing-masing data item
Sistem data dictionary dapat dibedakan atas
sistem aktif dan pasif.
•
Sistem aktif selalu konsisten dengan struktur database karena secara otomatis dikerjakan
oleh sistem.
•
Sebaliknya,
sistem pasif tidak konsisten terhadap perubahan database yang dilakukan oleh
pemakai.
2.5 Model Data
•
Model
merupakan media penyimpan dari sebuah perancangan, seorang perancang sistem
akan mengembangkan suatu model untuk mewujudkan ide yang ada serta untuk
mempelajari semua aspek dalam sebuah perancangan basis data.
•
Model
bisa dipergunakan untuk mengkomunikasikan konsep dalam pikiran manusia sehingga
orang lain bisa: berkomunikasi, mengategorikan, menerangkan, menentukan,
menyelidiki, melibatkan, menganalisa dan meniru
•
Model
data adalah kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan antara data dan batasan-batasan
data dalam suatu organisasi.
•
Fungsi
dari sebuah model data
untuk merepresentasikan data sehingga data tersebut mudah dipahami.
•
Perkembangan
model data merupakan representasi dari suatu reaksi terhadap model-model yang
mendahuluinya.
• Untuk menggambarkan data pada
tingkat eksternal dan konseptual digunakan model data berbasis objek atau model
data berbasis record.
1. Model
Data Berbasis Objek
Model data berbasis objek
menggunakan konsep entitas, atribut dan hubungan antar entitas. Beberapa jenis model data berbasis
objek yang umum adalah :
• entity-relationship
• semantic
• functional
• object-oriented
2. Model
Data Berbasis Record
Pada model data berbasis record,
database terdiri dari sejumlah record dalam bentuk yang tetap yang dapat
dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record yaitu
:
a. Model data relasional (Relational)
b. Model data hierarkhi (Hierarchy)
c. Model data jaringan (Network)
Model
Relasional
• Suatu database yang di dalamnya
terdapat tabel-tabel yang saling berelasi satu sama lain (relationship), ada
3 macam relationship yaitu:
- Relasi 1 ke-1 (relasi satu ke
satu) atau one to one
- Relasi 1 ke-n atau n ke-1 (relasi satu ke
banyak atau
banyak ke satu) atau one to many
- Relasi n ke-m (relasi banyak ke banyak) atau many
to
many
• Dihubungakan oleh sebuah key yaitu kunci utama (primary key) dan kunci
tamu (foreign key)
Kunci(key)
• Kunci merupakan elemen record yang
dipakai untuk menemukan record tersebut pada waktu akses atau bisa digunakan
untuk identifikasi tiap record.
– Primary key :Suatu atribut dimana
nilai unik digunakan untuk mengidentifikasi setiap baris di dalam tabel, kunci
utama yang baik memiliki karakteristik sbb:
•
Mandatory;
bahwa dia harus menyimpan nilai not-null, jika kolom kiri kosong maka duplikasi
baris bisa terjadi
•
Unique;
bisa mengidentifikasi setiap isi atribut
•
Stable;
tidak mungkin berubah
•
Short;
memiliki sedikit karakter, kolom yang lebih kecil menyebabkan ruang penyimpanan
menjadi lebih sedikit, pencarian basis data akan lebih cepat.
– Foreign key : merupakan sembarang
atribut yang menunjuk kepada primary key pada tabel lain.
– Jika nilai kunci asing tidak nul,
maka nilai kunci utama pada tabel yang saling diacu harus ada
•
Akan
terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many to
many
Model
Hierarchy
• Model data ini dikenal sebagai model
struktur pohon, di mana data direpresentasikan dalam bentuk pohon.
• Sebuah database hierarkhi terdiri
dari kumpulan record-record dimana record yang satu dengan yang lainnya
dihubungkan dengan link.
• Model hierarki mempunyai dua konsep
struktur data yaitu record dan parent-child relationship (PCR).
Model
Network
• Model data jaringan dikenal sebagai STRUKTUR
PLEX. Pada dasarnya struktur jaringan
ini merupakan perluasan dari
struktur hirarki.
• Pada struktur hirarki, setiap child
hanya mempunyai satu parent. sedangkan pada struktur jaringan, setiap child
dapat mempunyai lebih dari satu parent.
• Struktur jaringan ini merupakan
suatu graph, terdiri dari suatu node (simpul), yang dihubungkan dengan
suatu edge.
• Ada dua struktur data pada basis
data Model Jaringan, yaitu RECORD dan SET.
• Contoh dari model data jaringan adalah perangkat lunak
IDMS (Integrated Database Management System)
yang merupakan produk dari perusahaan perangkat lunak CULLINET yang bekerja pada mainframe IBM dengan
sistem kerja DOS atau MVS.
• IDMS menggunakan sistem CODASYL (conference
on Data System and Language) atau DBTG (Data Base Task Goup / Gugus
Tugas Basis Data)
• IDMS yang dikemukakan oleh DBTG
terdiri atas 3 bahasa basis data yaitu skema DDL, sub skema DDL dan DML.
2.6
Arsitektur DBMS Multi User
a. Arsitektur Mainframe/Teleprocessing
a. Arsitektur Mainframe/Teleprocessing
• Pada arsitektur ini, terdapat sebuah
komputer pusat (host) yang memiliki sumber daya yang sangat besar, baik memori,
processor maupun media penyimpanan.
• Melalui komputer terminal, pengguna
mengakses sumber daya tersebut. Komputer terminal hanya memiliki monitor/keyboard
dan tidak memiliki CPU.
• Semua sumber daya yang diperlukan
terminal dilayani oleh komputer host.
• Model ini berkembang pada akhir
tahun 1980-an.
• contoh : ATM mesin di bank-bank.
Gambar 7. Arsitektur Teleprocessing
b. Arsitektur
File Sharing / File-Server
• Proses didistribusikan ke dalam
jaringan sejenis LAN (Local Area Network).
• File server mengendalikan file yang diperlukan
oleh aplikasi dan DBMS.
• Aplikasi dan DBMS dijalankan pada
masing-masing workstation tetapi tetap meminta file dari file server jika diperlukan.
• Dengan cara ini, file server
berfungsi sebagai sebuah hard disk yang digunakan secara bersamaan.
• Kerugian arsitektur file-server
adalah :
- Terdapat lalulintas jaringan
yang besar
- Masing-masing workstation
membutuhkan copy DBMS
- Kontrol terhadap concurrency,
recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS
mengakses file secara bersamaan
Gambar 8. Arsitektur File Server
c. Arsitektur
Client-Server
• Untuk mengatasi kelemahan
arsitektur-arsitektur di atas maka dikembangkan arsitektur client-server.
• Salah satu hasilnya yaitu berupa
software database server yang menggantikan software database berbasis file
server.
• Dikenalkan pula RDBMS (Relational
Database Management System). Dengan arsitektur ini, query data ke server dapat
terlayani dengan lebih cepat karena yang ditransfer bukanlah file, tetapi
hanyalah hasil dari query tersebut. RPC (Remote Procedure Calls) memegang
peranan penting pada arsitektur client/server.
• Secara ringkas, umumnya server diletakkan
pada satu sisi dalam LAN dan
client pada sisi yang lain.
Gambar 9. Arsitektur Client Server
•
Dalam
konteks database, client mengatur interface berfungsi sebagai workstation
tempat menjalankan
aplikasi database. Client menerima permintaan pemakai, memeriksa sintaks
dan generate kebutuhan
database dalam SQL atau bahasa yang lain.
•
Kemudian
meneruskan pesan ke server,
menunggu response dan bentuk response untuk pemakai akhir.
•
Server menerima
dan memproses permintaan database kemudian mengembalikan hasil ke client.
•
Proses-proses
ini melibatkan pemeriksaan autorisasi, jaminan integritas, pemeliharaan data dictionary dan
mengerjakan query serta proses update.
•
Selain
itu juga menyediakan kontrol terhadap concurrency dan recovery.
•
Memungkinkan
akses database yang besar,
Menaikkan performa
•
Jika
client dan server diletakkan pada komputer yang berbeda kemudian CPU
yang berbeda dapat memproses aplikasi secara paralel.
•
Mengurangi
biaya untuk hardware
•
Hanya
server yang membutuhkan storage dan kekuatan proses yang cukup
untuk menyimpan dan mengatur database
•
Biaya
komunikasi berkurang
•
Aplikasi
menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian
yang dibutuhkan untuk akses database melalui jaringan
•
Meningkatkan
kekonsistenan
•
Server dapat
menangani pemeriksaan integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu
tempat, aplikasi program mengerjakan pemeriksaan sendiri
•
Map
ke arsitektur open-system dengan sangat alami
keuntungan jenis arsitektur ini adalah :