bab1 pendahuluan

21
©Silberschatz, Korth and Sudarshan 1.1 Database System Concepts Bab I : Pendahuluan Bab 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

Upload: miftah-abdurrozak

Post on 08-Jul-2015

165 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bab1 pendahuluan

©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

Page 2: Bab1 pendahuluan

©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.

Page 3: Bab1 pendahuluan

©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

Page 4: Bab1 pendahuluan

©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

Page 5: Bab1 pendahuluan

©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.

Page 6: Bab1 pendahuluan

©Silberschatz, Korth and Sudarshan1.6Database System Concepts

Tinjauan DataTinjauan Data

Arsitektur untuk suatu sistem database

Page 7: Bab1 pendahuluan

©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

Page 8: Bab1 pendahuluan

©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

Page 9: Bab1 pendahuluan

©Silberschatz, Korth and Sudarshan1.9Database System Concepts

Model Model Entity-RelationshipEntity-Relationship

Contoh skema dari model entity-relationship

Page 10: Bab1 pendahuluan

©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

Page 11: Bab1 pendahuluan

©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

Page 12: Bab1 pendahuluan

©Silberschatz, Korth and Sudarshan1.12Database System Concepts

Contoh Database RelationalContoh Database Relational

Page 13: Bab1 pendahuluan

©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.

Page 14: Bab1 pendahuluan

©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

Page 15: Bab1 pendahuluan

©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

Page 16: Bab1 pendahuluan

©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.

Page 17: Bab1 pendahuluan

©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

Page 18: Bab1 pendahuluan

©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.

Page 19: Bab1 pendahuluan

©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

Page 20: Bab1 pendahuluan

©Silberschatz, Korth and Sudarshan1.20Database System Concepts

Struktur Sistem KeseluruhanStruktur Sistem Keseluruhan

Page 21: Bab1 pendahuluan

©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"