Basis data merupakan sumber informasi yang dapat dipakai bersama. Setiap pemakai membutuhkan pandangan yang berbeda terhadap data yang disimpan di dalam basis data. Untuk memenuhi kebutuhan tersebut, terdapat arsitektur komersial DBMS yang didasarkan pada perluasan arsitektur yang disebut sebagai arsitektur ANSI-SPARC. Basis data adalah tempat kumpulan data. Menurut C.J. Date (1990), terdapat tujuh keuntungan dengan menggunakan pendekatan basis data, yaitu
- Redundansi dapat dikurangkan (redundancy can be reduced).
- Ketidakkonsistenan dapat dihindari (inconsistency can be avoided (to some extent)).
- Data dapat dibagikan (the data can be shared).
- Standar-standar dapat diselenggarakan (standards can be enforced).
- Pembatasan keamanan dapat diterapkan (security restrictions can be applied).
- Integritas dapat dipertahankan (integrity can be maintained).
- Keperluan yang bertentangan dapat diseimbangkan (conflicting requirements can be balanced).
Basis data memiliki arsitektur
Struktur, artinya komponen-komponen apa yang ada dalam suatu sistem dan fungsi masing-masing komponen tersebut, serta bagaimana inter-relasi dan interaksi antar komponen dalam sistem tersebut.
- Arsitektur Sistem Software:
Spesifikasi dari arsitektur sistem software, menyebutkan bermacam-macam modul beserta interface dan inter-relasi antar data dan alur kontrol dalam suatu sistem:
- Programming-in-the-small:
Pengembangan individual modul
- Programming-in-the-large: Pengintegrasian modul-modul menjadi suatu sistem yang komplit.
- Secara garis besar, basis data memiliki susunan atau arsitektur sebagai berikut:
– DBMS (Data Base Management System): bagian dari perangkat lunak yang bertanggungjawab dalam create, read, update, delete record atau mengelola basis data
– DDL (Data Definition Language): yang dipakai oleh DBMS untuk secara fisik menetapkan jenis record, field dan struktur hubungannya
– DML (Data Manipulation Language): dipakai untuk membuat, membaca dan meng-update record dalam basis data, dan melakukan navigasi antara record-record yang berbeda
– Metadata: the data about the data –such as record and field definitions, synonyms, data relationships, validation rules, help messages, and so forth
- Jadi, Distributed DBMS adalah Large Scale Software System.
- Struktur “Ideal” (Standard): Segala bentuk sistem mengacu atau merupakan turunan dari Reference Architecture ini.
- Untuk menciptakan Reference Architecture ini diperlukan standardisasi.
- Contoh: ISO/OSI Model yang merupakan reference architecture dari Wide Area Computer Networks
- Reference Model (Arsitektur Sistem) dapat dinyatakan berdasarkan 3 pendekatan yang berbeda:
¨ Berdasarkan Komponen:
n Inter-relasi antar komponen yang masing-masing mempunyai fungsi yang berbeda-beda.
¨ Berdasarkan Fungsi:
n Penyediaan fungsi-fungsi/fasilitas-fasilitas yang dapat memenuhi kebutuhan user yang berbeda-beda. Strukturnya kebanyakan berbentuk hirarkhi, sesuai klasifikasi user, contohnya ISO/OSI model.
¨ Berdasarkan Data:
n Karena data merupakan sumber daya utama yang di-manage oleh DBMS, maka pendekatan ini menjadi pilihan yang tepat untuk melangkah lebih jauh ke proses standardisasi. Penyediaan beberapa tipe data dan arsitektur sistem ditekankan pada penyediaan fungsi berdasarkan klasifikasinya yang dapat menggunakan tipe-tipe data pada masing-masing klasifikasi.
n Arsitektur sistem yang berbasis organisasi data. Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
1. Tingkat eksternal (external level)
Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Pada tingkat ini menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Masing-masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut, dan hubungan antar entitas (relationship) yang diperlukan saja.
2. Tingkat konseptual (conceptual level)
Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Pada tingkat ini menggambarkan data yang disimpan dalam basis data dan hubungan antara datanya. Hal-hal yang digambarkan dalam tingkat konseptual adalah:
- semua entitas beerta atribut dan hubungannya
- batasan data
- informasi semantic tentang data
- keamanan dan integritas informasi
semua cara pandang pada tingkat eksternal berupa data yang dibutuhakan oleh pemakai harus sudah tercakup didalam tingkat konseptual atau dapat diturunkan dari data yang ada. Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatiakn besarnya penyimpana dalam ukuran byte.
3. Tingkat Internal (Internal level)
Tingkat internal merupakan perwujudan basis data dalam computer. Pada tingakat ini menggambarkan bagaimana basis data disimpan secara fisik didalam peralatan strorage yang berkaitan erat dengan tempat penyimpanan/physical storage.
Tingkat internal memperhatikan hal-hal berikut ini:
- Alokasi ruang penyimpana data dan indeks
- Deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data elemen)
- Penempatan record
- Penempatan data dan teknik enscryption.
¨ Three Views of Data:
n External View
¨ tingkat pemakai individu
¨ Struktur data yang terlihat oleh user.
n Internal View
¨ representasi tingkat bawah keseluruhan basis data.
¨ Struktur data dalam sistem atau mesin.
¨ Berhubungan erat dengan organisasi data secara fisik.
¨ Lokasi dan mekanisme akses ke data
n Conceptual View :
¨ representasi keseluruhan isi informasi basis data.
¨ Yang menjembatani, definisi abstrak dari database. Representasi data dan relasi antar data tanpa memperhatikan kebutuhan setiap aplikasi atau keterbatasan media penyimpanan.
Arsitektur DBMS
Arsitektur data menjadi sebuah sumber bisnis pada sebuah lingkungan basis data. Sistem informasi dibangun disekitar sumber ini untuk membuat programmer komputer atau pengguna akhir dapat mengakses data secara fleksibel. Arsitektur data bisnis mendefinisikan bagaimana bisnis tersebut akan berkembang dan menggunakan file maupun database untuk menyimpan semua data dalam organisasi, teknologi file dan database untuk digunakan, dan setup struktur administrasi untuk mengelola sumber data.
Database arsitektur mengacu pada teknologi database yang menckup database engine, database utility, alat CASE database untuk analisa dan desain, dan alat pengembangan aplikasi database.
Arsitektur Basis Data dibangun menggunakan format paket bahasa yaitu DDL, dan DML.– DDL (Data Definition Language), yang merupakan satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data. Contoh perintah
DDL misalnya, Create Table, Create Index, Alter table, drop view, Drop index. – DML (Data Manipulation Language), yang merupakan satu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat. Dengan DML kita akan dapat :
o Mengambil informasi yang tersimpan dalam basis data.
o Menyisipkan informasi baru dalam basis data.
o Menghapus informasi dari tabel.
Tipe File
Tipe-tipe file yang digunakan dalam DBMS dibedakan menjadi :
• File Induk (master File)
– file induk acuan (reference master file) : file induk yang recordnya relatif statis,
jarang berubah nilainya. Misalnya file daftar gaji, file mata pelajaran.
– file induk dinamik (dynamic master file): file induk yang nilai dari record-recordnya
sering berubah atau sering dimutakhirkan (update) sebagai hasil dari suatu
transaksi. Misalnya file induk data barang, yang setiap saat harus di up-date bila
terjadi transaksi.
• File Transaksi (transaction file)
File ini bisa disebut file input; digunakan untuk merekam data hasil dari
transaksi yang terjadi. Misalnya file penjualan yang berisi data hasil transaksi
penjualan.
• File Laporan (Report file)
File ini bisa disebut output file, yaitu file yang berisi informasi yang akan
ditampilkan.
• File Sejarah (history file)
File ini bisa disebut file arsip (archival file), merupakan file yang berisi data
masa lalu yang sudah tidak aktif lagi, tetapi masih disimpan sebagai arsip.
• File Pelindung (backup file)
File ini merupakan salinan dari file-file yang masih aktif di dalam database pada
suatu saat tertentu. File ini digunakan sebagai pelindung atau cadangan bila
file database yang aktif mengalami kerusakan atau hilang.
Teknik Merancang Model Basis Data
Dalam DBMS terdapat beberapa model basis data yang digunakan yang
menyatakan hubungan antara record-record yang ada dalam basisdata
yaitu :
– Flat file (Tabular) : data terletak didalam tabel tunggal
– Hirarchical : mengunakan pola Induk-anak (parent-child)
– Network : disebut juga DBTG (database task group) or CODASYL (converence on data system language)
– Relational : terdiri dari tabel-tabel termonalisasi dengan field-field kunci
sebagai penghubung relational antar table
Sebetulnya terdapat teknik yang lebih baru dari model relasional yaitu:
– DBMS Deduktif
– DBMS Pakar
– DBMS Semantik
– DBMS berorientasi objek
– DBMS relasional universal.
Namun teknik tersebut masih relatif jarang digunakan saat ini. Sedangkan teknik
relasional telah didukung dan merupakan standart dari bahasa SQL.
Pendekatan paling umum dan banyak digunakan dalam melakukan
perancangan model konseptual adalah dengan menggunakan model data
relational, yang memiliki dua buah teknik, yaitu :
– Teknik Normalisasi
– Teknik Entity Relationship Diagram (ERD)
PERBEDAAN ARSITEKTUR BASIS DATA DAN SISTEM BASIS DATA
Arsitektur basis data lebih ke fokus ke bagaimana data itu disimpan dalam media penyimpanan( misal hardisk), masalah indexing, kecepatan akses, sequential atau tersebar. pokonya yang berhubungan dengan bagaimana data disimpan dalam media fisik. Sedangkan sistem basis data lebih cenderung bagaimana menggabungkan hal-hal yang berhubungan dengan manajemen data tersebut. misalnya aja bahasa interfacingnya apa aja( sql, pl/sql), gimana caranya multiple query, aksesnya apa aja( stand alone, jaringan) jadi
basis data –> gimana caranya simpan datanya
sistem basis data-> terdiri dari basis data, sql, user interfacenya gimana, hak akses
Arsitektur DBMS Multi User
Teleprocessing
Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.
Semua pemrosesan dikerjakan dalam batasan fisik komputer yang sama. Terminal untuk pemakai berjenis ‘dumb’, yang tidak dapat berfungsi sendiri dan masing-masing dihubungkan ke komputer pusat. Terminal-terminal tersebut mengirimkan pesan melalui subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian menggunakan layanan DBMS.
Dengan cara yang sama, pesan dikembalikan ke terminal pemakai. Arsitektur ini menempatkan beban yang besar pada komputer pusat yang tidak hanya menjalankan program aplikasi tetapi juga harus menyelesaikan sejumlah pekerjaan pada terminal seperti format data untuk tampilan di monitor.
File-Server
Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun 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
Client Server
Untuk mengatasi kelemahan arsitektur-arsitektur di atas maka dikembangkan arsitektur client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem.
Sesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada satu sisi dalam LAN dan client pada sisi yang lain.
Dalam konteks basis data, client mengatur interface berfungsi sebagai workstation tempat menjalankan aplikasi basis data. Client menerima permintaan pemakai, memeriksa sintaks dan generate kebutuhan basis data dalam SQL atau bahasa yang lain. Kemudian meneruskan pesan ke server, menunggu response dan bentuk response untuk pemakai akhir. Server menerima dan memproses permintaan basis data kemudian mengembalikan hasil ke client.
Ada beberapa keuntungan jenis arsitektur ini adalah :
• Memungkinkan akses basis data yang besar
• Menaikkan kinerja
• Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah mesin server jika hanya memproses basis data.
• Biaya untuk hardware dapat dikurangi
• Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk menyimpan dan mengatur basis data
• Biaya komunikasi berkurang
• Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati 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
Berikut ini adalah ringkasan fungsi client-server
Client | Server |
Mengatur user interface | Menerima dan memproses basis data yang diminta dari client |
Menerima dan memeriksa sintaks input dari pemakai | Memeriksa autorisasi |
Memproses aplikasi | Menjamin tidak terjadi pelanggaran terhadap integrity constraint |
Generate permintaan basis data dan memindahkannya ke server | Melakukan query/pemrosesan update dan memindahkan response ke client |
Memberikan response balik kepada pemakai | Memelihara data dictionary |
Menyediakan akses basis data secara bersamaan |
Menyediakan kontrol recovery |
Data Dictionary
Data dictionary adalah tempat penyimpanan informasi yang menggambarkan data dalam basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data. Modul pengontrol otorisasi 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 basis data
• 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 basis data
• 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 basis data karena secara otomatis dikerjakan oleh sistem. Sebaliknya, sistem pasif tidak konsisten terhadap perubahan basis data yang dilakukan oleh pemakai.