Masih tetap tentang Basis Data (Database), namun kali ini kita membahas tentang Konsep dan Arsitektur Basis Data (Database). Let's cekidot
2.1 Model Data, Schema dan Kebebasan Data
Dalam pembuatan basis data, agar basis data yang dibuat bisa sesuai dengan yang diinginkan maka diperlukan proses perancangan terlebih dahulu. Dimana dalam proses ini dilakukan pendeskripsian data dalam bentuk schema serta pembuatan model datanya. Untuk itu kita perlu mengetahui konsep dari schema dan model data dalam basis data.
Schema merupakan diskripsi dari basis data berupa abstraksi data yang terdiri dari nama dan tipe dari record, item-item data, serta constraint dari basis data.
Sedangkan model data merupakan alat utama yang digunakan untuk menyediakan abstraksi data. Sehingga model data merupakan penggambaran dari schema basis data.
Ada tiga kategori dalam model data, yaitu :
1. Model data tingkat tinggi
Model data ini menggunakan konsep seperti entity, attribute, dan relationship.
2. Model data representasional atau implementasi
Termasuk dalam jenis ini adalah model data relasional, jaringan, dan hirarki. Dimana data disajikan dengan menggunakan struktur record (record-based data model)
3. Model data fisik
Model data ini menggambarkan bagaimana data disimpan dalam komputer yaitu dalam format-format record, urutan-urutan record, dan access path. Model data nantinya akan menggambarkan setiap level dari basis data yang tampak seperti pada gambar berikut ini.
- Internal level (internal schema)
Menjelaskan struktur penyimpanan fisik dari basis data menggunakan model data fisik.
- Conceptual level (conceptual schema)
Menjelaskan struktur penyimpanan dari keseluruhan basis data untuk dipakai oleh satu komunitas user menggunakan model data tingkat tinggi atau model data implementasi.
- External atau view level (external schema atau user view)
Menjelaskan sebagian basis data yang menjadi perhatian dari sekelompok user tertentu menggunakan model data tingkat tinggi atau model impelementasi.
Arsitektur three-schema dapat digunakan untuk menjelaskan konsep ‘kebebasan data’ (data independence) yang dapat didefinisikan sebagai kemampuan untuk merubah skema pada suatu level dari system basis data tanpa harus menyebabkan perubahan dari skema pada tingkat yang lebih tinggi
Terdapat dua jenis kebebasan data, yaitu :
- Logical data independence
Yaitu kemampuan untuk merubah skema konseptual termasuk juga constraint dari basis data tanpa harus merubah skema eksternal. Hanya definisi dari view dan mapping yang perlu dirubah dalam DBMS
- Physical data independence
Yaitu kemampuan untuk merubah skema internal tanpa harus merubah skema konseptual (eksternal) yang mungkin diperlukan karena file-file fisik yang harus diorganisasikan kembali (misalnya membuat struktur akses tambahan untuk meningkatkan kinerja membacaan atau perubahan data).
2.2 Model Basis Data
Model basis data menyatakan hubungan antar data yang tersimpan dalam basis data struktur data logis. Pada saat ini terdapat tiga model data yang sering digunakan, yaitu :
- Hirarkis
- Jaringan
- Relasional
Model yang baru setelah relasional, beberapa nama yang sedang dikembangkan antara lain (sebagian ada di dalam konsep MPEG7):
- DBMS deduktif
- DBMS pakar
- DBMS semantik
- DBMS berorientasi objek
- DBMS relasional universal
Beberapa produk sistem berorientasi objek telah beredar dipasaran, antara lain: OpenODB (Hewlett Packard) dan Object Source (Object Design Corp.).
1. Model Hirarkis
Biasa disebut dengan model pohon (tree model) menggunakan pola hubungan orangtua-anak (parent-child). Setiap simpul menyatakan sekumpulan medan (field) ).
Suatu simpul (node) yang terhubung ke simpul level di bawahnya adalah orangtua (parent);
- Simpul yang dibawahi orangtua adalah anak (child );
- Simpul yang tak memiliki anak adalah daun (leaf );
- Hubungan orangtua dan anak adalah cabang (branch ).
Contoh produk DBMS yang menggunakan model hirarkis adalah IMS (Information management System), yang dikembangkan oleh dua perusahaan IBM dan Rockwell International Corporation.
Distandarisasi tahun 1971 dengan sebutan model Data Base Task Group (DBTG) atau Conference on Data System Language (CODASYL) dimana DBTG bagian dari CODASYL. Satu simpul anak bisa memiliki lebih dari satu simpul orangtua, orangtua adalah pemilik (owner) dan anak adalah anggota.
Contoh : produk CA- IDBMS/DB dari Computer Associates International Inc yang sebelumnya IDBMS (Integrated DataBase Management System).
3. Model Relasional
Merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami, serta paling populer saat ini dimana sekumpulan tabel berdimensi dua (relasi atau tabel). Relasi dirancang untuk menghilangkan kemubaziran data. DBMS yang bermodelkan relasional disebut RDBMS (Relational DBMS) Meskipun relasi dikatakan sama dengan tabel, relasi pada sejumlah literatur sering disebut saat membicarakan struktur logis dan table adalah nama yang sering disebut pada basis data fisis. Selanjutnya istilah ‘tabel’ kadang digunakan untuk menggantikan relasi atau sebaliknya.
Ada beberapa sifat yang melekat pada suatu relasi:
1. Tak ada tupel (baris) yang kembar yaitu menjadi primary key
2. Urutan tupel tidaklah penting (tupel - tupel dapat dipandang dalam sembarang urutan);
2. Setiap atribut memiliki nama yang unik;
3. Letak atribut bebas (urutan atribut tidak penting);
4. Setiap atribut memiliki nilai tunggal dan jenisnya sama untuk semua tupel.
Contoh produk DBMS yang menggunakan model relasional:
1. DB2 dari IBM;
2. RDB/VMS dari Digital Equipment Corp.;
3. Oracle dari Oracle Corp.;
4. Informix dari Informix Corp.;
5. Sybase;
6. Keluarga dBase;
7. Microsoft Access
8. Microsoft SQL
9. Microsoft Visual Foxpro;
2.3 Bahasa dari Basis Data
Basis data memiliki bahasa yang digunakan untuk membuat spesifikasi skema konseptual dan internal, serta mapping antara keduanya. Dalam setiap DBMS minimal terdapat empat jenis bahasa yaitu :
1. DDL (Data Definition Language,)
Yaitu bahasa yang digunakan untuk menspesifikasikan kedua skema konseptual dan internal, jika dalam DBMS tidak ada pemisahan yang ketat antara kedua level tersebut. Jika DBMS memiliki pemisahan yang jelas, maka DDL hanya digunakan untuk menspesifikasikan skema konseptual.
2. VDL (View Definition Language)
Yaitu bahasa yang digunakan untuk menspesifikasikan user view dan mapping menjadi skema konseptual pada DBMS yang memiliki pemisah yang jelas antara skema konseptual dan internal.
3. DML (Data Manipulation Language)
Yaitu bahasa yang digunakan untuk melakukan manipulasi data (setelah dilakukan proses kompilasi skema konseptual).
4. SQL (Structured Query Language)
Yaitu bahasa yang digunakan untuk manipulasi basis data relasional yang mengintegrasikan DDL, DML, dan VDL. Pada DML terdapat dua jenis bahasa, yaitu :
1. High-Level (Non_procedural) DML.
- digunakan secara interaktif (interpreter)
- dapat dijadikan satu dengan general purpose programming language (embedded)
High-Level DML yang biasa digunakan secara interaktif disebut “ Query Language “.
2. Low-Level (Proedural) DML.
Digunakan secara embedded dalam suatu general purpose programming language
Bilamana kedua jenis DML diatas digunakan secara “embedded”, maka : bahasa pemrograman yang digunakan disebut sebagai “Host Language” DML-nya disebut “Sub Language”
2.4 Lingkungan Sistem Basis Data
Suatu Database Management System (DBMS) harus memiliki komponen-komponen
sebagai berikut :
- File Manager, yang mengelola alokasi ruang, dalam disk dan struktur data yang dipakai untuk merepresentasikan informasi yang tersimpan dalam disk. Sebenarnya Sistem Operasi (tempat di mana DBMS diaktifkan) juga memiliki modul File Manager. Tetapi File Manager di DBMS lebih difokuskan pada efisiensi dan efektivitas penyimpanan.
- Database Manager, yang menyediakan interface antara data low-level yang ada di basis data dengan program aplikasi dan query yang diberikan ke sistem
- Query Processor, yang menerjemahkan perintah-perintah dalan query language ke perintah low-level yang dapat dimengerti oleh database manager. Di samping itu, Query Processor mentransformasikan permintaan user ke bentuk yang lebih efisien sehingga query menjadi lebih efektif.
- DML Precompiler, yang mengkonversi perintah DML yakni ditambahkan dalam sebuah program aplikasi ke pemanggilan prosedur normal dalam bahasa induk. Precompiler ini akan berinteraksi dengan query processor
- DDL Compiler, yang mengkonversi perintah-perintah DDL ke dalan sekumpulan label yang mengandung metadata. Tabel-tabel in kemudian disimpan dalam kamus data.
Sekian teman-teman :D