Review KONSEP BASIS DATA MI2143 – Dasar SQL Review KONSEP BASIS DATA Disusun oleh: RA. Paramita Mayadewi, S.Kom, M.T – paramita@tass.telkomuniversity.ac.id Disajikan oleh: Tim Pengajar Hanya dipergunakan untuk kepentingan pengajaran di Lingkungan Universitas Telkom
Tujuan Pembelajaran Siswa memahami konsep basis data relasional Siswa memahami pemodelan entity relationship (ER) Siswa memahami pemetaan dari diagram ER ke tabel
Konsep Basis Data Analogi Lemari Arsip Disk Lemari arsip Basis data FILE MAP Lemari arsip Basis data NRP Nama Alamat Tgl Lahir 0400100252 Adi Jl. Akasia 12 Januari 1980 0400200144 Sandi Jl. Pulau Kawe 1 April 1981 0300100312 Heru Jl. Ahmad Yani 31 Juli 1980
Karakteristik Basis Data Kumpulan data yang saling berhubungan Diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah Tanpa pengulangan (redudansi) yang tidak perlu
Data & Informasi Data adalah fakta mengenai obyek (tangible/intangible) yang dinyatakan dengan nilai (angka, deretan karakter atau simbol) Informasi adalah hasil analisis dan sintesis terhadap data, yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan pengguna Informasi bersifat relatif !!
Ilustrasi Hirarki Data Field Daftar Mahasiswa NRP NAMA KELAS 1408010 Yani MI-03 1408129 Doni MI-02 2408065 Fajar MI-01 2408045 Asep Table Record Database Daftar IP Mahasiswa NRP TA SEM IP 1408010 20082009 7 3,35 8 3,75 1408129 2,30 2,75 20092010 2,90 2408065 3,10
DBMS (Database Management System) DBMS adalah perangkat lunak (software) yang digunakan untuk memanipulasi database Misal : Ms. Access, Oracle, SQL Server, PostgreSQL, MySQL, dll… DBMS <> Bahasa Pemrograman Bahasa pemrograman adalah software yang digunakan untuk membangun aplikasi program/coding (menulis program) Misal : Visual Basic, C, Java, Pascal, dll…
Prinsip Dasar Skema Relasi 1 entity 1 relasi (tabel) 1 atribut 1 item data (field) MAHASISWA NRP Nama Alamat MAHASISWA (NRP, Nama, Alamat)
Binary Relationship (Relasi 1:1) Menjadi 2 tabel yang dihasilkan dari 2 entity, dimana primary key entity pertama harus diletakkan sebagai atribut (foreign key) dari entity kedua, atau sebaliknya. MAHASISWA KTM ELEKTRONIK memiliki 1 NRP Nama Alamat NoKTM tglValid MAHASISWA (NRP, Nama, Alamat) KTM ELEKTRONIK (NoKTM, tglValid, NRP) ATAU MAHASISWA (NRP, Nama, Alamat, NoKTM) KTM ELEKTRONIK (NoKTM, tglValid) Peletakan key atribut salah satu entity boleh dibalik, karena tidak akan menghasilkan nilai NULL. Sebagai contoh, MAHASISWA pasti memiliki 1 KTM elektronik, dan 1 KTM elektronik hanya dimiliki oleh 1 mahasiswa.
Binary Relationship (Relasi 1:M atau M:1) Menjadi 2 tabel yang dihasilkan dari 2 entity, dimana primary key entity yang “one” (1) harus diletakkan sebagai atribut (foreign key) dari entity yang “many” (M) MAHASISWA REGISTRASI melakukan 1 M NRP Nama Alamat NoKwitansi tglBayar jmlByr MAHASISWA (NRP, Nama, Alamat) REGISTRASI (NoKwitansi, tglBayar, jmlByr, NRP)
Binary Relationship (Relasi M:N) Menjadi 3 tabel yang dihasilkan dari 2 entity dan 1 relationship, dimana primary key relasi yang dihasilkan dari relationship berasal dari primary key 2 entity yang dihubungkannya. MAHASISWA MATA KULIAH mengikuti M N NRP Nama Alamat KdMK NmMK SKS Nilai MAHASISWA (NRP, Nama, Alamat) MATA KULIAH (KdMK, NmMK, SKS) MENGIKUTI (NRP, KdMK, Nilai) MHS_MK (NRP, KdMk, Nilai)
Unary Relationship Menjadi 1 tabel dengan menambahkan peran lain dari entity tersebut sebagai atribut. MAHASISWA dipimpin oleh M NRP Nama Alamat 1 ketua kelas MAHASISWA (NRP, nama, alamat, ketuakelas)
Ternary Relationship MATA KULIAH MAHASISWA DOSEN Menjadi 4 tabel yang dihasilkan dari 3 entity dan 1 relationship, dimana primary key yang dihasilkan dari relationship berasal dari primary key 3 entity yang dihubungkannya. MAHASISWA MATA KULIAH belajar NRP Nama Alamat KdMK NmMK SKS Sem TAkd DOSEN KdDosen NmDos AlmDos MAHASISWA (NRP, Nama, Alamat) MATAKULIAH (KdMK, NmMK, SKS) DOSEN (KdDOsen, NmDos, AlmDos) BELAJAR (NRP, KdMK, KdDosen, Sem, TAkd)
Contoh Studi Kasus Sistem penjualan barang sederhana dengan asumsi data pembeli tidak dicatat. Setiap pertugas yang menangani penjualan akan dicatat. Berikut diagram ER nya: PETUGAS KdPetugas NmPetugas tglMasuk menangani 1 PENJUALAN M KdJual tglJual tercatat PRODUK N KdProduk NmProduk jumlah Harga Stok Satuan PETUGAS (KdPetugas, NmPetugas, tglMasuk) PENJUALAN (KdJual, tglJual, KdPetugas) PRODUK (KdProduk, NmProduk, Harga, Stok, Satuan) TERCATAT/PENJ_PRODUK (KdProduk, KdJual, Jumlah)
Diagram Relasi Antar Tabel PETUGAS (KdPetugas, NmPetugas, tglMasuk) PENJUALAN (KdJual, tglJual, KdPetugas) PRODUK (KdProduk, NmProduk, Harga, Stok, Satuan) TERCATAT/PENJ_PRODUK (KdProduk, KdJual, Jumlah) # KdPetugas NmPetugas tglMasuk PETUGAS # KdJual tglJual KdPetugas PENJUALAN 1 M # KdProduk NmProduk Harga Stok Satuan PRODUK Jumlah PENJ_PRODUK
Reference Silberschatz-Korth-Sudarshan.[2001]. Database System Concepts. McGraw Hill. Raghu Ramakrishnan/Johannes Gehrke. (Second Edition). Database Management Systems. McGraw Hill S.Sumathi-S.Esakkirajan. (Vol. 47, 2007). Fundamentals of Relational Database Management Systems. Springer.