pengenalan basis data

advertisement
SISTEM BASIS DATA
By Novareza Klifartha
Konsep Sistem Basis Data
SISTEM
sebuah keterpaduan yang terdiri atas
sejumlah komponen fungsional dengan
satuan fungsi / tugas tertentu, yang saling
berhubungan dan secara bersama-sama
bertujuan untuk memenuhi suatu proses /
pekerjaan tertentu
Komponen Sistem Basis Data
Hardware
Operating System
Database
DBMS
User
Optional Software
Biasanya berupa perangkat komputer standar, media
penyimpan sekunder dan media komunikasi untuk sistem
jaringan.
Yakni merupakan perangkat lunak yang memfungsikan,
mengendalikan seluruh sumber daya dan melakukan operasi
dasar dalam sistem komputer. Harus sesuai dengan DBMS
yang digunakan.
Yakni basis data yang mewakili sistem tertentu untuk dikelola.
Sebuah sistem basis data bisa terdiri dari lebih dari satu basis
data.
(Database Management System). Perangkat lunak yang digunakan untuk mengelola
basis data. Contoh kelas sederhana: dBase, Foxbase, Rbase, MS. Access, MS.
Foxpro, Borland Paradox. Contoh kelas kompleks: Borland-Interbase, MS. SQL
Server, Oracle, Informix, Sybase.
Orang-orang yang berinteraksi dengan sistem basis data, mulai dari yang merancang
sampai yang menggunakan di tingkat akhir.
Perangkat lunak pelengkap yang mendukung. Bersifat opsional.
Database dan DBMS
• Database : sekelompok data operasional yang
digunakan oleh berbagai macam aplikasi dan
berbagai user dengan otoritas tertentu
• DBMS – Database Management System :
sistem perangkat lunak yang mengelola
eksekusi dari aplikasi user untuk mengakses
dan memodifikasi data pada database
sehingga keamanan, integritas, dan reliabilitas
tetap terjamin untuk tiap aplikasi
DBMS / Database Management System
Data
Basis Data
File 1
File 4
File 2
File 5
File 3
File 6
Database Management System
Data
Data
Peranan DBMS
• Menyediakan fasilitas untuk mengakses data
• Menyembunyikan proses detil tentang
bagaimana data disimpan dan dikelola
• Merupakan perantara bagi user dengan
database
DBMS Marketplace
• Relational DBMS - Oracle, Sybase; merupakan
perusahaan perangkat lunak terbesar
• IBM menawarkan juga sistem database relasional
DB2
• Microsoft memiliki SQL-Server dan Microsoft
Access yang berbasis desktop
• Perusahaan pengembang database relasional
mendapatkan tantangan dengan adanya "objectoriented DB"
• Kemudian di-counter dengan munculnya sistem
"object-relational"
Tahapan Pengembangan Database
• Tahap Pemodelan dan Perancangan Database
– Proses eksplorasi; analisis permasalahan dan
perancangan skema
• Tahap Pemrograman
– Pembuatan query dan operasi pengaksesan data
– Menggunakan SQL – Structured Query Language
• Tahap Implementasi
Abstraksi Data
• Physical – bagaimana data disimpan, diakses,
dimodifikasi, diurutkan, dialokasikan pada
memori atau perangkat peripheral,
direpresentasikan (ASCI, EBCDIC, ... )
• Conceptual – apa saja data yang ingin
ditampilkan, hubungan/relasi antar data yang
ada
• View – bagian mana dari data yang terlihat
oleh aplikasi tertentu
Abstraksi Data (2)
• Dapat dibagi menjadi tiga level :
View1
. . .
.
Conceptual
View
Of Data
Physical
Data
Storage
.
View k
Abstraksi Data (3)
• Contoh data pada level fisik (physical)
10
benjamin
3
63
6
10
J
0000035000james
3
3
6
000375
.
.
.
.
.
.
.
.
.
Database Users
• Naive Users - tidak mengetahui tentang database
terlalu mendalam; menjalankan program aplikasi yang
telah disiapkan
• Application Programmers - mengetahui bagaimana
berinteraksi dengan sistem; mungkin saja tidak
mengetahui bagaimana DBMS dirancang
• Sophisticated Users - mengetahui penggunaan lanjut
dari sistem; menggunakan sistem dan paket aplikasi di
atas sistem
• DBMS System Users / Database Administrator –
mengembangkan basis data; mengelola dan
memelihara basis data
Komponen DBMS
• Data Definition Language (DDL)
•
•
•
•
•
Data Manipulation Language (DML)
Host Language Interface
Data Administrator
Users
Query Processor
– Compiler
– Optimizer
• Management
– Transaction Manager
– File Manager
– Buffer Manager
– Authorization and Integrity Manager
Logical
Physical
Komponen DBMS (2)
Query Processor
• Compiler - memverifikasi apakah program atau
query yang ditulis mengikuti aturan DDL dan
DML
• Optimizer - menemukan cara paling efektif
untuk mengakses data yang diperlukan
kemudian memberikannya ke user
– Mengawasi eksekusi query dan perubahan query
jika diperlukan
Storage Management
• Modul program yang menyediakan interface
antara: data level bawah yang tersimpan di
database, dengan aplikasi program, dan
dengan query yang dikirim ke sistem
• Bertanggung jawab pada interaksi dengan file
manager dan efisiensi penyimpanan (store),
pengambilan (retrieve) dan perubahan
(update) data
Buffer Manager
• Bertanggungjawab pada alokasi dan
pemeliharaan buffer pada memori untuk
memfasilitasi pemrosesan data pada database
oleh beberapa aplikasi concurrent
• Mempertimbangkan ketika terjadi load data
dari buffer ke database atau pembatalan data
pada kondisi adanya data baru yang harus
diletakkan di buffer
File Manager
• Bertanggungjawab untuk melakukan
pemetaan (mapping) dari unit database yang
bersifat logis (obyek, relasi, dsb.) ke dalam
rangkaian operasi file low-level
• Bertanggungjawab memelihara file-file dan
indeks
• Menciptakan dan menghapuskan indeks serta
menata ulang storage yang tidak digunakan
Authorization & Integrity Manager
• Berperan dalam pengaturan akses ke
database; Hanya authorized user yang
dibolehkan mengakses
• Berperan dalam menjamin integritas selama
operasi normal dan juga pada waktu terjadi
kegagalan operasi (failures)
Transaction Manager
• Transaction adalah kumpulan operasi yang
menjalankan fungsi tunggal secara logis pada
aplikasi database
• Komponen ini menjamin bahwa database tetap
pada kondisi konsisten (benar) meskipun terjadi
kegagalan sistem (misal: listrik padam, sistem
operasi crash) dan juga kegagalan transaksi
• Concurrency-control mengendalikan interaksi
antar transaksi concurrent untuk menjaga
konsistensi database
Bahasa Basis Data
C/C++, Pascal (desktop)
PHP, ASP, JSP (web)
Program aplikasi
Calls to
DB
DBMS
Variabel Lokal
(Memori)
(Storage)
Ada 2 (dua) level :
• Bahasa pemrograman aplikasi – digunakan untuk
mengeksekusi DDL dan DML
• Bahasa query – yaitu DDL dan DML
DDL - Data Definition Language
• Digunakan untuk membuat tabel baru,
membuat indeks, mengubah struktur tabel
• Notasi untuk mendefinisikan database
CREATE TABLE mahasiswa (
nama varchar(20),
nim varchar(12) );
• Kumpulan tabel beserta struktunya disimpan
dalam data dictionary
DDL - Data Definition Language (2)
• Data dictionary merupakan bagian yang berisi
metadata (yaitu data tentang data)
• Menyimpan skema database
• Berisi data storage dan definition language
Mendefinisikan struktur penyimpanan dan bahasa untuk
membuat struktur tersebut
DML - Data Manipulation Language
• Digunakan untuk mengakses dan memanipulasi
data pada sebuah database
INSERT – menambah data (create)
SELECT – mengambil data (retrieve)
UPDATE – mengubah data (update)
DELETE – menghapus data (delete)
• User dapat mengakses data tanpa perlu
menspesifikasikan bagaimana cara pengaksesan
(non-procedural)
• SQL merupakan bahasa query yang paling banyak
digunakan
DML - Data Manipulation Language (2)
• Contoh notasi penggunaan DML
SELECT nama, nim FROM mahasiswa;
INSERT INTO mahasiswa (nama, nim) VALUES
(“john doe”, “010229301”);
DELETE FROM mahasiswa WHERE nama = “john doe”;
Administrator Database
• Mengkoordinasikan seluruh aktivitas sistem basis data
• Memiliki pemahaman mendalam mengenai kebutuhan
sumber daya informasi
• Tugas administrator database:
–
–
–
–
–
–
Mendefinisikan skema database
Mendefinisikan struktur dan metode akses
Memodifikasi skema dan organisasi fisik
Memberikan akses ke database
Menetapkan integrity constraint
Mengawasi performance dan respon pada perubahan
kebutuhan
SELESAI
Download