Pendahuluan
Sistem Basis Data Semester Genap Th Ajaran 2012/2013 Budi Susanto
Sistem Basis Data
Teknik Informatika
UKDW
2
Materi Perkuliahan ●
Konsep dan arsitektur sistem basis data (#1)
●
Blok Pembangunan Basis Data (#2)
●
Pemodelan Basis data (#3, #4)
●
Normalisasi Basis Data Relational (#5, #6)
●
SQL Dasar (#7)
●
SQL Aggregate + Himpunan (#8)
●
SQL Relasi, DDL, DML (#9, #10)
Sistem Basis Data
Teknik Informatika
UKDW
3
Materi Perkuliahan ●
Pengindeksan dalam Basis data (#11)
●
Metode Transaksi pada Database (#12)
●
Penguncian pada Akses Bersama (#13)
●
Pengembangan Aplikasi Database (#14)
Sistem Basis Data
Teknik Informatika
UKDW
4
Materi Praktikum ●
Pengenalan Fasilitas OracleXE
●
Operasi DDL
●
Operasi DML
●
Penerapan Normalisasi
●
Operasi Query Aggregate
●
Fungsi-fungsi SQL
●
Operasi Himpunan
●
Operasi Subquery
●
Operasi View dan Index
Sistem Basis Data
Teknik Informatika
UKDW
5
Kontrak Perkuliahan ●
Bobot Penilaian –
TTS : 10%
–
TAS : 10%
–
Tugas : 40% (4 kali tugas)
–
Praktikum: 40% ● ●
Sistem Basis Data
Tes 8 kali : 80% Tes Akhir : 20%
Teknik Informatika
UKDW
6
Buku Pegangan ●
●
●
●
Bryla, Bob & Loney, Kevin. 2008. Oracle Database 11g DBA Handbook. McGrawHill. Powell, Gavin. 2006. Beginning Database Design. Wrox, Willey Publishing. Powell, Gavin & McCullogh-Dieter, Carol. 2005. Oracle SQL Jumpstart with Example. Elsevier, Inc. Silberschatz, Abraham & Korth, Henry F. & Sudarshan S. 2002. Database System Concepts. Fourth Edition, McGraw Hill.
Sistem Basis Data
Teknik Informatika
UKDW
7
Tiket Masuk Kelas ●
●
●
membawa buku atau foto copy materi dari buku wajib sesuai dengan materi pada pertemuan aktif WAJIB mengenakan SEPATU dan BAJU/KAOS BERKERAH TOLERANSI TERLAMBAT MASUK KELAS 20 Menit
Sistem Basis Data
Teknik Informatika
UKDW
8
Pengantar Basis Data ●
Tujuan Sistem Basis Data
●
View of Data
●
Model-model Data dan Evolusinya
●
DML
●
DDL
●
Manajemen Transaksi
●
Management Penyimpanan
●
Administrasi Database
●
Pemakai Database
Sistem Basis Data
Teknik Informatika
UKDW
9
DBMS ●
●
●
●
Database Management System –
Kumpulan data yang saling berelasi (inter)
–
Sekumpulan program untuk mengakses data
DBMS berisi informasi tentang sebuah perusahaan/organisasi tertentu. DBMS menyediakan sebuah lingkungan yang mudah dan efisien untuk digunakan. Database telah masuk di semua aspek kehidupan.
Sistem Basis Data
Teknik Informatika
UKDW
10
Tipe Basisdata ●
●
Pemilihan pemodelan basisdata dipengaruhi oleh kebutuhan aplikasi. Secara fungsinya, basisdata dikelompokkan: –
Transaksional
–
Decision Support System (DSS)
–
Hybrid
Sistem Basis Data
Teknik Informatika
UKDW
11
Basisdata Transaksional ●
●
●
Sebuah basisdata yang didasarkan pada perubahan-perubahan kecil pada basisdata (traksaksi kecil). Fungsi utamanya: –
untuk menambah data,
–
mengubah data yang ada,
–
menghapus data yang ada,
Semua dilakukan terhadap data yang kecil.
Sistem Basis Data
Teknik Informatika
UKDW
12
Contoh Basisdata Transaksional ●
●
Basisdata client/server –
Melayani pemakai dalam perusahaan tunggal.
–
Jumlah pemakai antara 1 – ribuan.
–
Basisdata Client-server melayani untuk concurrency rendah dan throughput rendah pada waktu yang sama karena jumlah pemakai dapat diatur.
Basisdata OLTP –
Basisdata OLTP membutuhkan kemampuan concurrency.
–
Jumlah pemakai Internet tidak dapat diatur.
Sistem Basis Data
Teknik Informatika
UKDW
13
Basisdata DSS ●
Melayani kebutuhan manajerial/eksekutif –
Data warehouse database ●
●
●
–
Data mart ●
–
Dapat menggunakan pemodelan data yang sama dengan transaksional. Berisi data history beberapa tahun untuk menyediakan kemampuan perkiraan. Sehingga butuh kapasitas besar, melebihi OLTP. Mengambil sebagian kecil dari data warehouse.
Reporting database ●
Merupakan tipe data warehouse namun berisi data aktif (bukan arsip/historical).
Sistem Basis Data
Teknik Informatika
UKDW
14
Basisdata Hybrid ●
Merupakan campuran akan kebutuhan concurrency OLTP dan tipe data Warehouse. –
Dalam lingkungan yang menjalankan operasi lebih kecil,
–
Basisdata hybrid yang lebih kecil merupakan pilihan yang lebih cost-effective,
–
Sederhana, sebab terdapat satu basisdata — mesin, lisensi, SDM lebih sedikit.
Sistem Basis Data
Teknik Informatika
UKDW
15
Tujuan Sistem Basis Data ●
●
Pada awalnya, aplikasi database menggunakan sistem file. Kekurangan menggunakan sistem file untuk menyimpan data: –
Redudancy dan inkonsistensi Data ●
–
Format file banyak, duplikasi informasi di file berbeda
Kesulitan dalam pengaksesan data ●
Perlu menulis program baru untuk tugas baru
–
Isolasi data — banyak file dan format
–
Masalah integritas ● ●
Integrity constraints (mis. Saldo > 0) bagian dari app. Sulit menambah atau mengubah constraint
Sistem Basis Data
Teknik Informatika
UKDW
16
Tujuan Sistem Basis Data (lanj.) –
Atomicity update ●
–
Kegagalan menyebabkan basisdata dalam keadaan tidak konsisten
Akses bersamaan oleh beberapa pemakai ●
Akses bersamaan yang tak terkontrol dapat menyebabkan inkonsistensi –
– ●
Mis. Dua pemakai membaca saldo dan mengupdatenya pada saat yang sama
Masalah keamanan
Sistem basis data menawarkan solusi untuk masalah-masalah di atas.
Sistem Basis Data
Teknik Informatika
UKDW
17
Level Abstraksi ●
Level Fisik: –
●
Level Logika: –
●
Bagaimana sebuah record disimpan. Menggambarkan data disimpan dalam basis data, dan hubungan antar data. (struktur record)
Level View : –
Program aplikasi menyembunyikan detil tipe data atau data tertentu untuk alasan keamanan.
Sistem Basis Data
Teknik Informatika
UKDW
18
Arsitektur Basis Data
Sistem Basis Data
Teknik Informatika
UKDW
19
Instan dan Skema ●
Seperti tipe dan variabel dalam pemrograman.
●
Skema – struktur logika basis data
●
●
–
Skema Fisik : rancangan basisdata pada level fisik
–
Skema logika: rancangan basisdata pada level logika
Instan – isi sebenarnya dari basis data pada satu waktu tertentu – nilai variabel Ketidakketergantungan Data Fisik – kemampuan untuk mengubah skema fisik tanpa mengubah skema logika
Sistem Basis Data
Teknik Informatika
UKDW
20
Model Data ●
Sebuah kumpulan alat untuk menggambarkan data ● Hubungan data ● Semantik data ● Batasan (constraint) data ●
●
Model Entity-Relationship
●
Model Relational
●
Model-model lain : Model berbasis objek ● Model data semi-terstruktur ● Model lama: model jaringan dan model hirarki ●
Sistem Basis Data
Teknik Informatika
UKDW
21
Evolusi Model Data
Sistem Basis Data
Teknik Informatika
UKDW
22
Model E-R
●
●
E-R memodelkan dunia nyata. –
Entitas (objek)
–
Hubungan antar entitas
Rancangan dari model E-R biasanya dikonversikan ke Model Relational untuk penyimpanan dan pemrosesan.
Sistem Basis Data
Teknik Informatika
UKDW
23
Model Relational A ttr ib u te s
C u s to m e r - id
c u s to m e rnam e
1 9 2 -8 3 -7 4 6 5
Johnson
0 1 9 -2 8 -3 7 4 6
S m ith
1 9 2 -8 3 -7 4 6 5
Johnson
3 2 1 -1 2 -3 1 2 3
Jones
0 1 9 -2 8 -3 7 4 6
S m ith
Sistem Basis Data
c u s to m e rs tre e t
c u s to m e r c ity
a c c o u n tnum ber
A lm a
P a lo A lto
A -1 0 1
N o rth
R ye
A -2 1 5
A lm a
P a lo A lto
A -2 0 1
M a in
H a r r is o n
A -2 1 7
N o rth
R ye
A -2 0 1
Teknik Informatika
UKDW
24
Contoh Model Relational
Sistem Basis Data
Teknik Informatika
UKDW
25
Sejarah Model Relational
Sistem Basis Data
Teknik Informatika
UKDW
26
Data Definition Language (DDL) ●
●
●
Notasi khusus untuk mendefinisikan skema basis data DDL compiler menghasilkan sekumpulan tabel yang disimpan dalam data dictionary. Data dictionary berisi metadata (yaitu data tanpa data) –
Skema basisdata
–
Bahasa untuk penyimpan dan definisi data ●
●
Bahasa dimana struktur penyimpanan dan metode akses digunakan oleh sistem basisdata Perluasan dari DDL
Sistem Basis Data
Teknik Informatika
UKDW
27
Data Manipulation Language (DML) ●
Bahasa untuk mengakses dan manipulasi data yang diorganisasikan dengan model data tertentu –
●
DML juga sebagai bahasa query
Dua kelas bahasa –
Prosedural – pemakai menyebutkan data apa yang diperlukan dan bagaimana mendapatkan data tsb.
–
Nonprosedural – pemakai menyebutkan data apa yang diperlukan tanpa menyebutkan bagaimana mendapatkannya
Sistem Basis Data
Teknik Informatika
UKDW
28
SQL ● ●
SQL: bahasa non-prosedural Program aplikasi secara umum mengakses basis data melalui satu dari: –
Perluasan bahasa untuk menanamkan SQL,
–
API (Application program interface), mis. ODBC/JDBC, yang memungkinkan query SQL dikirim ke basisdata.
select account.balance from depositor, account where depositor.customer-id = ‘192-83-7465’ and depositor.account-number = account.account-number
Sistem Basis Data
Teknik Informatika
UKDW
29
Administrator Basisdata ● ●
●
Mengkoordinasikan semua aktifitas sistem basisdata Harus memiliki pemahaman resource informasi perusahaan dan kebutuhannya. Tugas administrator basisdata: –
mendefinisi skema
–
Mendefinisikan stuktur penyimpanan dan metode akses
–
Memodifikasi organisasi skema dan fisik
–
Mempercayakan otoritas pemakai untuk mengakses basisdata
–
Mendefinisikan integrity constraint
–
Memantau unjukkerja dan merespon kebutuhan
Sistem Basis Data
Teknik Informatika
UKDW
30
Manajemen Transaksi ●
●
●
Sebuah transaksi adalah sekumpulan operasi yang melakukan sebuah fungsi logika tunggal dalam aplikasi basisdata Komponen Manajemen Transaksi memastikan bahwa basisdata tetap konsisten walaupun sistem gagal (mis. listrik padam) dan transaksi gagal. Manajer Concurrency-control mengontrol interaksi antar transaksi yang terjadi bersamaan, untuk memastikan konsistensi basisdata.
Sistem Basis Data
Teknik Informatika
UKDW
31
Manajemen Penyimpan ●
●
Manajer penyimpan (Storage manager) adalah sebuah modul yang menyediakan antarmuka antara penyimpan data level rendah dalam basisdata dan program aplikasi dan query yang dikirimkan ke sistem. Manajer penyimpan bertanggung jawab: –
Interaksi dengan manajer file
–
Efisiensi menyimpan, mengambil dan meng-update data
Sistem Basis Data
Teknik Informatika
UKDW
32
Arsitektur Sistem Keseluruhan
Sistem Basis Data
Teknik Informatika
UKDW
33
Arsitektur Aplikasi
●
●
Arsitektur Two-tier : contoh: client menggunakan ODBC/JDBC untuk komunikasi dengan basisdata Arsitektur Three-tier : contoh: aplikasi web dan aplikasi menggunakan “middleware”
Sistem Basis Data
Teknik Informatika
UKDW