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
- 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
- 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.
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
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 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 :
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.
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)
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)
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)
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.
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 :
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
sebagai penghubung relational antar table
Sebetulnya terdapat teknik yang lebih baru dari model relasional yaitu:
– DBMS Deduktif
– 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 :
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. Sebalikn