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