Sistem Basis Data

19
Sistem Basis Data Pangestu Widodo

Transcript of Sistem Basis Data

Sistem Basis Data

Pangestu Widodo

Sistem Penilaian

● 10% kehadiran

● 20% tugas

● 35% UTS

● 35% UAS

Literatur

● Database System Concepts, 6th Ed

Silberschatz, Korth, Sudarshan

– Slide-slide asli dapat didownload di db-book.com

Apa itu Database?

● Kumpulan data yang saling terkait

– Tidak harus dalam bentuk elektronik

– Seringkali DBMS (Database Management System) digunakan untuk mengelola database dalam bentuk elektronik

Contoh DBMS

● mySQL

● PostgreSQL

● SQL Server

● Oracle

● IBM DB2

● etc

Mengapa Sistem Basis Data?● Pada masa lalu database dibuat langsung diatas file

system

● Muncul banyak kesulitan, antara lain:

– Harus membuat program baru untuk setiap pekerjaan baru

– Format file yang digunakan tidak seragam, bisa bermacam-macam

– Bisa terdapat duplikasi data di file-file yang berbeda

– Kesulitan untuk menerapkan “constraint” pada database

contoh: minimal saldo pada akun tabungan

constraint terpaksa diimplementasikan dalam program

Mengapa Sistem Basis Data? (cont.)

– Kesulitan menerapkan prinsip “atomicity”

apabila ada sebuah update pada database dan hanya berhasil sebagian/parsial, database bisa menjadi tidak konsisten. Contoh: transfer uang dari antar tabungan

– Kesulitan menyediakan akses konkuren (bersamaan) untuk banyak user sekaligus

akses konkuren yang tidak terkontrol dapat mengakibatkan database menjadi tidak konsisten

– Masalah keamanan

sulit mengatur data-data mana saja yang boleh dan tidak boleh diakses oleh user

ACID

● Merupakan 4 ciri/sifat yang harus dimiliki oleh sebuah DBMS

● Atomicity

setiap perubahan pada basis data harus mengikuti aturan “semua atau tidak sama sekali”.

● Consistency

setiap perubahan pada basis data hanya akan membawa basis data dari satu state/keadaan yang valid ke state lain yang juga valid

● Isolation

memastikan bahwa transaksi-transaksi yang berjalan bersamaan (konkuren) akan menghasilkan keadaan basis data yang sama dengan keadaan yang dicapai apabila transaksi-transaksi tersebut berjalan secara berurutan

● Durability

setiap perubahan yang telah dilakukan pada basis data akan tersimpan secara permanen, dan akan bertahan meskipun terjadi kegagalan sistem, listrik padam, dll

Model Relasional

● Pada model relasional, kumpulan data diorganisasikan ke dalam bentuk tabel 2 dimensi, yang disebut relasi (relations)

atribut(kolom)

tuple(baris)

Contoh Database Relasional

Schema dan Instance

● Schema merupakan struktur logic dari sebuah databaseContoh: dari database relasional sebelumnya:

● instructor(ID, name, dept_name, salary)● department(dept_name, building, budget)

● Instance merupakan konten aktual dari sebuah database pada suatu waktu

Contoh:● instructor(2222, Einstein, Physics, 95000)● department(Biology, Watson, 90000)

Model Entity-Relationship

● Elemen dalam model Entity-Relationship:

– Entity

● merupakan sebuah objek yang dapat dibedakan dari objek lainnya

● dideskripsikan oleh sekelompok atribut

– Relationship

● asosiasi/keterhubungan antara beberapa entity

● Digambarkan dalam bentuk Entity-Relationship Diagram (ERD)

Entity-Relationship Diagram

Kemana perginya atribut dept_name pada entity instructor?

SQL (Structured Query Language)

● Merupakan bahasa non-prosedural yang paling banyak digunakan untuk mengelola database

● Terbagi atas beberapa kelompok:

– Data Definition Language (DDL)

– Data Manipulation Language (DML)

– Data Control Language (DCL)

– Transaction Control Language (TCL )

DDL (Data Definition Language)

● Digunakan untuk membuat atau mengubah schema basis data.

● Contoh:

create table instructor ( ID char(5), name varchar(20), dept_name varchar(20), salary numeric(8,2))

DML (Data Manipulation Language)

● Digunakan untuk melakukan seleksi/pencarian, penambahan, atau pengubahan instance basis data.

● Contoh:

– Pencarian nama instruktur dengan ID 2222

select name from instructor where instructor.ID = ‘22222’

– Pencarian lokasi ruang instruktur dengan ID 2222

select department.building from instructor, department where instructor.dept_name = department.dept_name and instructor.ID = ‘22222’

Desain Basis Data

Apa yang salah dengan desain diatas?

● Untuk menghasilkan desain database yang baik, dapat dilakukan proses normalisasi

Transaksi pada Basis Data

● Ambil contoh kasus berikut:

Terjadi transaksi transfer dana sebesar Rp 500.000,00 dari akun tabungan Mr.X ke akun tabungan Mr.Y.

Langkah-langkah proses update database yang harus dilakukan adalah:

● Saldo tabungan Mr.X dikurangi Rp 500.000,00● Saldo tabungan Mr.Y ditambah Rp 500.000,00

● Apa yang terjadi jika setelah saldo tabungan Mr.X dikurangi lalu listrik padam atau terjadi kesalahan sistem?

Komponen Sistem Basis Data