Minggu ke - 5 Basis Data 1
ER-D mapping to Model Relasional dan 1NF Normalisasi Database
ER Data Model
ER Data Model => Weak Entity • Entitas Lemah (Weak Entity) adalah entitas yang keberadaannya sangat bergantung dengan entitas lain. - Tidak memiliki Key Attribute sendiri. Contoh:
ER Data Model => Jenis Atribut Jenis – Jenis Atribut: • Single-Valued Attribute • Composite Attribute Contoh: - Atribut ALAMAT, terdiri atas atribut JALAN, KOTA, KODE_POS. • Multi-Valued Attribute: adalah atribut yang memiliki isi lebih dari satu nilai. Contoh: - Atribut HOBBY pada entitas MAHASISWA, dapat memiliki lebih dari satu nilai: membaca, menulis, olahraga, dsb. • Derived Attribute: atribut turunan, atribut yang didapatkan dari informasi atribut yang lain. Contoh: - Atribut UMUR berasal dari atribut tanggal_lahir • Null Values Attribute: adalah atribut yang tidak memiliki nilai. Contoh: Atribut SUPERSSN (supervisor) pada database Company.
Tipe Relasi (Rasio Kardinalitas) Rasio Kardinalitas 1:1
: One-to-One
N : 1 : Many-to-One
M : N : Many-to-Many
Participation Constraint Dependencies Participation Constraint Dependency • Ada 2 jenis Participation Constraint: 1. Partisipasi Total ( ) adalah bentuk partisipasi yang menunjukkan ketergantungan penuh suatu entitas (semua dan harus). Contoh: semua pegawai bekerja di suatu Departemen 2. Partisipasi Parsial ( ) adalah bentuk partisipasi yang menujukkan ketergantuan tidak penuh suatu entitas (beberapa, tidak harus semua) Contoh: tidak semua pegawai menjadi Manager di suatu Departemen.
Tugas (1) Buat rancangan ER Diagram untuk sistem database Perpustakaan Kampus dengan deskripsi sebagai berikut: 1. Sistem database perpustakaan kampus yang melibatkan mahasiswa dan dosen sebagai anggota perpustakaan, koleksi buku, dan pegawai perpustakaan. 2. Dalam sistem, digambarkan anggota dapat meminjam buku, sedang pegawai melayani anggota dan menajemen buku-buku perpustakaan. 3. Seorang anggota dapat meminjam buku lebih dari 1, begitu juga sebaliknya. 4. Seorang pegawai mencatat peminjaman beberapa anggota perpustakaan, tapi tidak sebaliknya. 5. Seorang pegawai meregister beberapa anggota perpustakaan, tapi tidak sebaliknya. 6. Seorang pegawai bertugas memanajemen semua koleksi buku perpustakaan. 7. Setiap anggota yang datang ke perpustakaan belum tentu datang untuk meminjam buku (mungkin karena hal lain: ingin baca, buku tidak ada/masih dipinjam, dll), begitu juga sebaliknya.
Tugas (1) cont. 8. 9.
10. 11. 12. 13.
Pada anggota, yang harus dicatat yaitu id anggota, nama, no telp, status (dosen, mahasiswa), alamat, no telepon. Pada buku yang harus dicatat adalah id buku, judul, pengarang (mungkin lebih dari 1), penerbit (yg juga bisa lebih dr 1, spt: Elex media, Andy Yogyakarta, Mc Graw-Hill, dll), jumlah eksemplar, status (yg mengkalkulasi antara jumlah stok & jumlah buku yg dipinjam, misal. Isi status: “Ada, Sisa 3”). Pada pegawai, yang harus dicatat adalah id pegawai, nama, alamat, no telepon. Setiap terjadi peminjaman buku, harus dicatat tanggal meminjam, tanggal kembali dan jumlah total buku yang dipinjam. Setiap pegawai memanajemen buku, tercatat tanggal buku saat pertama kali di-entry. Dan pegawai juga harus mencatat tanggal registrasi anggota perpustakaan saat melayani anggota / pengunjung (calon anggota).
Buat rancangan ER Diagram dari deskripsi diatas, sertakan pula tipe relasi (rasio kardinalitas) beserta batasan partisipasinya (total/parsial)
ER Diagram (ERD) • E-R Diagram With Composite, Multivalued, and Derived Attributes
Mapping ke Skema Relasi Diagram Skema Konsepsual / ER Diagram for the company schema
Tugas 2 • Tuliskan spesifikasi dari database Company (lihat pada slide sebelumnya). – Contoh bagian spesifikasi yang bisa dituliskan: 1. Semua pegawai bekerja di sebuah departemen 2. Satu departemen terdiri dari satu atau lebih pegawai yang bekerja di departemen tersebut. …… ……
Mapping Skema ER Diagram EMPLOYEE FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO
DEPARTMENT DNAME
DNUMBER MGRSSN
MGRSTARTDATE
DEPT_LOCATIONS DNUMBER
DLOCATION
PROJECT PNAME
PNUMBER
LOCATION
DNUM
WORKS ON ESSN
PNO
HOURS
DEPENDENT SSN
DEPENDENT_NAME SEX BDATE
RELATIONSHIP
Mapping Skema ER Diagram dengan Referential Integrity Constraint Employee Fname
Minit
Lname SSN
Bdate Address Sex
Salary
Departement Dname DNumber MgrSSN
MgrStartDate
Dept_Locations DNumber DLocation Project Pname
PNumber PLocation DNum
Works_On ESSN
PNO
Hours
Dependent ESSN
Dependent_name
Sex
Bdate
Relationship
SuperSSN
DNO
Contoh Implementasi Data Table DEPARTMENT
WORKS ON DEPARTMENT LOCATION
Contoh Implementasi Data Table DEPENDENT
EMPLOYEE
PROJECT
Tugas (3) • Mapping skema konsepsual (ERD) Perpustakaan yg dibuat pada Tugas (1) ke bentuk skema fisik database beserta referential integrity constraint-nya.
Normalisasi Database
Mengapa diperlukan NORMALISASI? • Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan • Untuk menyempurnakan struktur tabel
Jenis Normalisasi 1.normalisasi pertama (1NF). 2.normalisasi kedua (2NF). 3.normalisasi ketiga (3NF).
FUNCTIONAL DEPENDENCY (FD) • Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu Functional Dependency (FD) atau Ketergantungan Fungsional, khususnya dalam melakukan dekomposisi rancangan database. • Functional Dependency (FD) dapat disimbolkan dengan: A B : artinya B memiliki ketergantungan dengan A • Berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A.
FUNCTIONAL DEPENDENCY (FD) Contoh:
Functional Dependency: • Fd1: NRP Nama (nama bergantung pada NRP) • Fd2: Mata_Kuliah, NRP Nilai (nilai bergantung pd MK & NRP) Non Functional Dependency: • Mata_Kuliah NRP • NRP Nilai
NORMALISASI 1NF 1st Normal Form (1NF) • Merubah dari bentuk flat tabel dimana semua informasi ter-include dalam satu tabel (unnormalized table) menjadi bentuk normal pertama (1NF). • Suatu relation R disebut 1st NF jika dan hanya jika semua attribute value-nya simple/atomic (tidak boleh ada attribute yang composit & multivalue) • Tujuan 1NF adalah: – Membuang adanya pengulangan (Redudansi) data, – Menghindari adanya pencatatan Null Value, dan – Menjaga setiap entry data dr relasi (perpotongan bariskolom) memiliki maksimal satu nilai tunggal.
• Beberapa table dapat mengandung partial depedency
Contoh-1
NORMALISASI 1NF
Contoh: • Apakah bentuk relasi table Department sudah memenuhi normal 1 (1NF)? Jika belum normalisasikan.
Contoh-1
NORMALISASI 1NF
• Sebuah bentuk relasi table Department dengan asumsi tiap department dapat memiliki sejumlah lokasi. (gambar (a) Department) • Atribut/kolom DLOCATIONS, dapat mengandung nilai lebih dari satu sehingga termasuk multivalue seperti ilustrasi gambar (a) Department.
DEPARTMENT
DNUMBER
DEPARTMENT
DNAME
DMGRSSN
DLOCATIONS
5
Research
333445555
Bellaire, Sugarland, Houston
4
Administrati on
987654321
Stafford
Headquarte rs
888665555
1
(a) Department
Houston
DNUMBER
DNAME
DMGRSSN
DLOCATIONS
5
Research
333445555
Bellaire
5
Research
333445555
Sugarland
5
Research
333445555
Houston
4
Administration
987654321
Stafford
1
Headquarters
888665555
Houston
(b) Department
Contoh-1
NORMALISASI 1NF
Untuk mendapatkan bentuk normal 1 (1NF) skema relasi DEPARTMENT, yaitu: • Hapus atribut DLOCATIONS lalu pisahkan sehingga membentuk table baru Dept_Locations, atributnya terdiri atas Primary Key dari table Department dan atribut itu sendiri DLOCATIONS. Kedua atribut tersebut {DNO,DLOCATIONS} digabung membentuk Primary Key.
Contoh-2
NORMALISASI 1NF
A. Unnormalized table (tabel tidak normal) Suatu tabel dikatakan unnormalized jika : a) Mempunyai penggandaan field yang sejenis Contoh :
Tabel dibawah adalah tabel siswa mengambil mata kuliah (MK) SISWA
Tabel siswa diatas mempunyai 3 field yang sejenis, yaitu MK1, MK2 dan MK3. Sehingga tabel diatas adalah termasuk unnormalized. Jika kita isikan nilai datanya, maka akan terjadi kemungkinan null value, atau data mata kuliah yang diambil bisa lebih dari satu atau multivalue.
Contoh-2
NORMALISASI 1NF
b) Elemen datanya memungkinkan untuk null value (tidak berisi) Contoh : Tabel yang mencatat No. SIM yang dimiliki siswa SISWA_SIM
Tampak dalam tabel diatas bahwa elemen data dari no SIM si-Amin dan si-Bayu adalah null atau tidak berisi nilai. Sehingga tabel di atas adalah termasuk unnormalized.
Contoh-2
NORMALISASI 1NF
B. NORMAL I (1NF) • Suatu tabel dikatakan berada pada bentuk normal I jika ia tidak berada pada bentuk unnormalized table. Unnormalized table SISWA disebabkan karena adanya multivalue column yaitu MK, sehingga dilakukan proses normalisasi I (1NF). Contoh : Kalau tabel pada contoh (a) diatas kita normalisasi 1, dengan melakukan decompose menjadi 2 table yaitu :
Contoh-2
NORMALISASI 1NF
Kalau pada contoh (b) diatas kita normalisasi I, maka hasilnya akan didapatkan seperti ini : SISWA
P.K SIM
P.K
Contoh-3
NORMALISASI 1NF
Contoh 1NF: • Suatu format tabel yang dikenal sehari-hari :
•
Bentuk UnNormalize : (redudancy pada alamat)
•
Bentuk Normal 1NF & 2NF :