bab1 pendahuluan
TRANSCRIPT
©Silberschatz, Korth and Sudarshan1.1Database System Concepts
Bab I : PendahuluanBab I : Pendahuluan
� 1. Tujuan Sistem Database� 2. Tinjauan Data� 3. Model Data� 4. Bahasa Definisi Data (Data Definition Language)� 5. Bahasa Manipulasi Data (Data Manipulation
Language)� 6. Manajemen Transaksi� 7. Manajemen Penyimpanan� 8. Pengatur Database (Database Administrator)� 9. Pengguna Database (Database Users)� 10. Struktur Sistem Kaseluruhan
©Silberschatz, Korth and Sudarshan1.2Database System Concepts
Database Management System/Database Management System/ Sistem Sistem Manajemen Manajemen Basisdata (DBMS)Basisdata (DBMS)
� Pengumpulan data yang saling berhubungan.
� Kumpulan program untuk mengakses data.
� DBMS berisi informasi mengenai suatu perusahaan tertentu.
� DBMS menyediakan suatu lingkungan yang nyaman sekaligus efisien untuk digunakan.
� Aplikasi database.
� Database Applications:� Perbankan : seluruh transaksi.
� Maskapai penerbangan : pesanan tempat, jadwal penerbangan.
� Universitas : pendaftaran, kelulusan.
� Penjualan : pelanggan, produk, pembelian.
� Pabrik : produksi, stok simpanan, pesanan, rantai persediaan.
� Sumber Daya Manusia : catatan pegawai, gaji, potongan pajak.
� Database mencakup seluruh aspek dalam hidup kita.
©Silberschatz, Korth and Sudarshan1.3Database System Concepts
Tujuan Sistem DatabaseTujuan Sistem Database
� Awal mulanya, aplikasi database dibangun pada sistem file paling atas.
� Kelemahan penggunaan sistem file untuk menyimpan data :� Kelebihan data dan tidak konsisten
� Format file yang berulang-ulang, salinan informasi pada file yang berbeda-beda.
� Kesulitan dalam mengakses data � perlunya menulis program baru untuk melaksanakan tiap
tugas baru
� Isolasi data - format dan file yang berulang-ulang.
� Masalah integritas � Kendala integritas (mis. neraca perhitungan >0) menjadi
bagian dari kode program. � Sulit untuk menambah hal baru atau mengubah yang sudah
ada
©Silberschatz, Korth and Sudarshan1.4Database System Concepts
Tujuan Sistem Database (Lanjutan)Tujuan Sistem Database (Lanjutan)
� Kelemahan penggunaan sistem file (lanjutan) � Pembaharuan hal-hal kecil
� Gangguan/kerusakan dapat menyebabkan database dalam keadaan yang tidak tetap dengan sebagian pembaruan ikut terbawa.
� Mis. transfer uang dari satu account ke account yang lain mungkin bisa berhasil atau malah tidak sama sekali.
� Akses yang bersamaan oleh banyak pengguna.� Akses bersamaan yang dibutuhkan untuk penampilan � Akses bersamaan yang tidak terkontrol bisa mengakibatkan
ketidakteraturan. – Mis. dua orang yang membaca suatu perhitungan dan
memperbaruinya disaat yang bersamaan
� Masalah keamanan.
� Sistem database menawarkan solusi dari semua masalah diatas
©Silberschatz, Korth and Sudarshan1.5Database System Concepts
Tingkatan AbstraksiTingkatan Abstraksi
� Level fisik : menggambarkan bagaimana suatu catatan (record) (mis.pelanggan) disimpan.
� Level logika : menggambarkan data yang tersimpan dalam database dan keterkaitan/hubungan antar data.
type customer = recordname : string;street : string;city : integer;
end;
� View level (level sudut pandang): program aplikasi menyembunyikan detail dari tipe data. Sudut pandang (view) ini juga dapat menyembunyikan informasi (mis.gaji) untuk tujuan keamanan.
©Silberschatz, Korth and Sudarshan1.6Database System Concepts
Tinjauan DataTinjauan Data
Arsitektur untuk suatu sistem database
©Silberschatz, Korth and Sudarshan1.7Database System Concepts
InstanceInstance dan Skema dan Skema
� Serupa dengan tipe dan variabel dalam bahasa pemrograman� Skema - struktur logis dari database
� mis. database berisi informasi mengenai kumpulan pelanggan dan accountnya serta hubungan antara keduanya.
� dapat diterapkan untuk mengetik informasi dari suatu variabel pada suatu program.
� Skema fisik : desain database pada level fisik.� Skema logis : desain database pada level logika.
� Instance - muatan sebenarnya dari database pada batas waktu tertentu.� dapat diterapkan pada nilai dari suatu variabel.
� Kebebasan Data Fisik - kemampuan untuk memodifikasi skema fisik tanpa mengubah skema logika� aplikasi tergantung pada skema logika.� pada umumnya penghubung antara level dan komponen yang bermacam-
macam harus benar-benar ditegaskan, sehingga jika ada perubahan dibeberapa bagian tidak akan berpengaruh serius pada yang lain
©Silberschatz, Korth and Sudarshan1.8Database System Concepts
Model DataModel Data
� Seperangkat alat untuk menggambarkan � data
� hubungan data
� semantik data
� kendala data
� Model Entity-Relationship� Model Relational � Model lain :
� model yang berorientasi obyek
� model data semi-struktur
� model terdahulu : model network dan model hirarki
©Silberschatz, Korth and Sudarshan1.9Database System Concepts
Model Model Entity-RelationshipEntity-Relationship
Contoh skema dari model entity-relationship
©Silberschatz, Korth and Sudarshan1.10Database System Concepts
Model Model Entity RelationshipEntity Relationship (Lanj.) (Lanj.)
� Model E-R dalam dunia nyata
� Entities/entitas (objects)
� mis. pelanggan, account, bank cabang
� Hubungan (relationship) antar obyek (entitas)
� mis. account A-101 dipegang oleh pelanggan Johnson
� Hubungan (relationship) kumpulan depositor menyesuaikan pelanggan dengan account
� Yang paling banyak digunakan untuk desain database
� Desain database pada model E-R biasanya dipakai juga untuk desain pada model relasional (akan dibahas nanti) yang digunakan untuk penyimpanan dan pemrosesan
©Silberschatz, Korth and Sudarshan1.11Database System Concepts
Model Relasional Model Relasional
� Contoh data tabular pada model relasional
customer-name
Customer-idcustomer-street
customer-city
account-number
Johnson
Smith
Johnson
Jones
Smith
192-83-7465
019-28-3746
192-83-7465
321-12-3123
019-28-3746
Alma
North
Alma
Main
North
Palo Alto
Rye
Palo Alto
Harrison
Rye
A-101
A-215
A-201
A-217
A-201
Attributes
©Silberschatz, Korth and Sudarshan1.12Database System Concepts
Contoh Database RelationalContoh Database Relational
©Silberschatz, Korth and Sudarshan1.13Database System Concepts
Bahasa Definisi DataBahasa Definisi Data / Data Definition / Data Definition Language (DDL)Language (DDL)
� Catatan khusus untuk mendefinisikan skema database� E.g.
create table account ( account-number char(10), balance integer)
� DDL compiler menghasilkan suatu kumpulan tabel yang tersimpan dalam sebuah kamus data (data dictionary )
� Kamus data berisi metadata (yaitu data mengenai data):� skema database
� data bahasa definisi (definition language) dan penyimpanan (storage)
� bahasa yang mana struktur penyimpanan dan metode2 aksesnya hanya khusus digunakan oleh sistem database.
� biasanya merupakan perluasan dari bahasa definisi data.
©Silberschatz, Korth and Sudarshan1.14Database System Concepts
Bahasa Manipulasi DataBahasa Manipulasi Data / Data / Data Manipulation Language (DML)Manipulation Language (DML)
� Bahasa untuk mengakses dan memanipulasi data diatur oleh model data yang sesuai
� DML juga dikenal sebagai bahasa query
� Dua kelas bahasa
� Prosedural - pengguna mengkhususkan pada data apa yang dibutuhkan dan bagaimana untuk memperoleh data tersebut.
� Nonprosedural - pengguna mengkhususkan pada data apa yang dibutuhkan tanpa mengkhususkan bagaimana untuk memperoleh data tersebut.
� SQL adalah bahasa query yang paling banyak digunakan
©Silberschatz, Korth and Sudarshan1.15Database System Concepts
SQLSQL
� SQL: bahasa non-prosedural yang banyak digunakan� E.g. cari nama pelanggan dengan id pelanggan 192-83-7465
select customer.customer-namefrom customerwhere customer.customer-id = ‘192-83-7465’
� E.g. cari perhitungan semua account yang dipegang oleh pelanggan dengan id pelanggan 192-83-7465
select account.balancefrom depositor, accountwhere depositor.customer-id = ‘192-83-7465’ and depositor.account-number = account.account-
number
� Program2 aplikasi biasanya mengakses database melalui salah satu dari :� perluasan bahasa untuk memasukkan SQL yang cocok
� Penghubung/interface program aplikasi (mis. ODBC/JDBC) yang memungkinkan query-query SQL dapat dikirim ke database
©Silberschatz, Korth and Sudarshan1.16Database System Concepts
Pengguna DatabasePengguna Database
� Para pengguna dibedakan dari cara yang mereka lakukan dalam berinteraksi dengan sistem
� Pemrogram aplikasi - berinteraksi dengan sistem melalui panggilan DML.
� Pengguna mutakhir - menyusun permintaan dalam suatu bahasa pertanyaan database.
� Pengguna khusus - menulis aplikasi database khusus yang tidak sesuai kedalam kerangka pemrosesan data tradisional.
� Pengguna naif - meminta salah satu dari program aplikasi permanen yang pernah ditulis sebelumnya
� E.g. orang2 yang mengakses database pada web, bank teller, juru tulis pegawai.
©Silberschatz, Korth and Sudarshan1.17Database System Concepts
Administrator Administrator DatabaseDatabase
� Mengkoordinasikan segala aktivitas dalam sistem database; administrator database memiliki pemahaman yang baik mengenai sumber2 informasi dan kebutuhan perusahaan.
� Tugas administrator database meliputi :
� Mendefinisikan skema
� Mendefinisikan metode akses dan struktur penyimpanan
� Memodifikasi organisasi fisik dan skema
� Menjamin otoritas pengguna untuk mengakses database
� Menspesifikkan kendala integritas
� Berperan sebagai penghubung dengan pengguna
� Mengawasi penampilan dan merespon terhadap permintaan akan perubahan
©Silberschatz, Korth and Sudarshan1.18Database System Concepts
Manajemen TransaksiManajemen Transaksi
� Sebuah transaksi adalah sekumpulan operasi yang membentuk sebuah satuan fungsi logis dalam suatu aplikasi database
� Komponen manajemen transaksi memastikan bahwa database tetap berada dalam keadaan konsisten (benar) meskipun sistem terganggu (mis. kerusakan power dan sistem operasi bertabrakan/crash) dan transaksi terganggu.
� Persetujuan/Concurrency-kontrol manajer mengatur interaksi antar transaksi yang bersamaan, untuk menjamin kelangsungan database.
©Silberschatz, Korth and Sudarshan1.19Database System Concepts
Manajemen PenyimpananManajemen Penyimpanan
� Manajer penyimpanan adalah sebuah modul program yang menyediakan penghubung antara data level rendah yang disimpan dalam database dan program2 aplikasi serta query-query yang dimasukkan ke dalam sistem.
� Manajer penyimpanan bertanggung jawab terhadap hal-hal dibawah ini :
� interaksi dengan manajer file
� penyimpanan yang efisien, mendapatkan kembali data dan memperbaruinya
©Silberschatz, Korth and Sudarshan1.20Database System Concepts
Struktur Sistem KeseluruhanStruktur Sistem Keseluruhan
©Silberschatz, Korth and Sudarshan1.21Database System Concepts
Arsitektur AplikasiArsitektur Aplikasi
Two-tier architecture : E.g.program klien menggunakan ODBC/JDBC untuk berkomunikasi dengan database
Three-tier architecture : E.g. aplikasi dasar web, dan aplikasi yang dibangun menggunakan "middleware"