Didimus Rumpak, M.Si.
2
Database Concepts 1e Chapter 2
Model Relasi Pengampu Matakuliah A Didimus Rumpak, M.Si. hp.: 085691055061
[email protected]
© 2009 by Prentice Hall
1
Bab Tujuan Pelajari dasar konseptual model relasi Memahami bagaimana relasi berbeda dari tabel non relasi Pelajari dasar terminologi relasi Mempelajari arti dan pentingnya kunci, kunci asing, dan terminologi yang terkait
© 2009 by Prentice Hall
2
Chapter Objectives (continued) Memahami bagaimana mewakili relasi kunci asing Pelajari tujuan dan penggunaan kunci pengganti Pelajari arti ketergantungan fungsi dependensi Memahami dua dasar prinsip-prinsip desain relasi © 2009 by Prentice Hall
3
Suatu Relasi Sebuah relasi merupakan tabel dua dimensi yang memiliki karakteristik khusus Tabel dimensi, seperti matriks, terdiri dari baris dan kolom
© 2009 by Prentice Hall
4
Karakteristik Suatu Relasi
Baris berisi data tentang sebuah entitas Kolom berisi data tentang atribut dari entitas Sel-sel tabel memegang nilai tunggal Semua entri dalam kolom adalah dari jenis yang sama Setiap kolom memiliki nama yang unik Urutan kolom tidak penting Urutan baris tidak penting Tidak ada dua baris mungkin identik © 2009 by Prentice Hall
5
Contoh Relasi No_Pegawai
Nama_Depan Nama_Belakang
100
Mary
Abermany
700
Jerry
Caldera
300
Alea
Copley
40
Murugan
Jacksoni
© 2009 by Prentice Hall
6
A Nonrelation Example Sel-sel tabel memegang nilai tunggal No_Pegawai
Telp
Nama_Belakang
100
335-6421, 454-9744
Abermany
700
215-7789
Caldera
300
610-9850
Copley
40
299-9090
Jacksoni
© 2009 by Prentice Hall
7
Contoh bukan Relasi Tidak ada dua baris mungkin identik No_Pegawai 100 700 300 100 40
Telp 335-6421 215-7789 610-9850 335-6421 299-9090 © 2009 by Prentice Hall
Nama_Belakang Abermany Caldera Copley Abermany Jacksoni 8
Terminologi Sinonim…
Table
Row
Column
File or Datafile Record
Field
Relation
Attribute
Tuple
© 2009 by Prentice Hall
9
Kunci Kunci adalah salah satu atau lebih kolom dari sebuah relasi yang digunakan untuk mengidentifikasi suatu baris
© 2009 by Prentice Hall
10
Keunikan suatu Kunci Kunci Unik
Kunci Tidak Unik
Nilai data unik untuk setiap baris. Oleh karena itu, kunci akan unik mengidentifikasi baris.
Nilai data dapat diberikan di antara beberapa baris. Akibatnya, kunci akan mengidentifikasi serangkaian baris.
© 2009 by Prentice Hall
11
Kunci Komposit Sebuah kunci komposit adalah kunci yang berisi dua atau lebih atribut Untuk kunci untuk menjadi unik, sering hal itu harus menjadi kunci komposit
© 2009 by Prentice Hall
12
Contoh Kunci Komposit Untuk mengidentifikasi seorang anggota keluarga, Anda perlu tahu FamilyID, sebuah FirstName, dan Sufiks (misalnya, Jr) Kuncinya adalah komposit: FamilyID, FirstName, Suffix Orang perlu mengetahui nilai dari ketiga kolom untuk secara unik mengidentifikasi seorang individu © 2009 by Prentice Hall
13
Kunci Kandidat Sebuah Kunci Kandidat disebut "calon" karena merupakan kandidat untuk menjadi kunci utama Sebuah kunci kandidat adalah kunci unik
© 2009 by Prentice Hall
14
Kunci Utama Kunci Utama adalah salah satu kunci calon yang dipilih Jika Anda mengetahui nilai kunci utama, Anda akan dapat secara unik mengidentifikasi satu baris
© 2009 by Prentice Hall
15
Table Relationships • A table may be related to other tables • For example – An Employee works in a Department – A Manager controls a Project
© 2009 by Prentice Hall
16
Kunci Asing Untuk melestarikan hubungan, Anda mungkin perlu menciptakan kunci asing Kunci Asing adalah kunci utama dari satu tabel yang ditempatkan ke tabel lain Kunci disebut kunci asing dalam tabel yang menerima kunci
© 2009 by Prentice Hall
17
Contoh Kunci Asing Project ProjID
Manager Kunci Utama MgrID
ProjName MgrID
MgrName Kunci Asing
© 2009 by Prentice Hall
18
Contoh Kunci Asing Department DeptID
DeptName
Employee Kunci Utama
EmpID
Kunci Asin DeptID
EmpName
Location
© 2009 by Prentice Hall
19
Mengacu Ke Integrasi Mengacu ke Integritas menyatakan bahwa setiap nilai kunci asing harus cocok dengan nilai kunci utama Misalnya • Jika EmpID = 4 mempunyai DeptID = 7 (a foreign key). Sebuah Departemen dengan DeptID = 7 harus ada dan tidak ada Departemen lain mungkin DeptID = 7
© 2009 by Prentice Hall
20
Mengacu Ke Integrasi Perspektif lain ...
(Nilai Kunci EmployeeID Luar Negeri) di EQUIPMENT harus ada dalam – (sebagai nilai Key Primer EmployeeID) di
KARYAWAN
© 2009 by Prentice Hall
21
Kunci Pengganti Kunci Pengganti adalah kunci baru yang mengambil tempat Kunci Utama Kunci pengganti biasanya digunakan sebagai pengganti komposit kunci utama Hal ini lebih jelas dan lebih mudah untuk berurusan dengan satu kolom, bukan satu set kolom
© 2009 by Prentice Hall
22
Contoh Kunci Pengganti Anggota keluarga Kunci Utama FamilyID, FirstName, Sufiks. Hal ini lebih mudah untuk menciptakan sebuah kunci pengganti FamMemberID. Ini akan menjadi kunci unik Mengacu ke Integrasi... (FamilyID, FirstName, Sufiks) di Sekolah harus ada dalam (FamilyID, FirstName, Sufiks) di FamilyMember Atau ... (FamMemberID) di Sekolah harus ada dalam (FamMemberID) di FamilyMember © 2009 by Prentice Hall
23
Ketergantungan Fungsi Nilai dari satu kolom dapat menentukan nilai dari kolom lain di meja yang sama Ilustrasi ... • Harga satu kue dapat menentukan harga sebuah kotak dari 12 cookies
(CookiePrice, Qty)
BillAmount
© 2009 by Prentice Hall
24
KandidatKunci Utama dan Ketergantungan Fungsi Menurut definisi ... Sebuah candidate key dari suatu relasi fungsional akan menentukan semua kolom dalam baris Demikian juga, dengan definisi ... A primary key dari relasi fungsional akan menentukan semua kolom dalam baris
© 2009 by Prentice Hall
25
Contoh Kunci Utama dan Ketergantungan Fungsi (EmployeeID)
(EmpLastName, EmpAddr, EmpPhone)
(ProjectID)
(ProjectName, StartDate)
© 2009 by Prentice Hall
26
Normalisasi Normalisasi adalah proses menganalisis relasi untuk memastikan baik terbentuk Lebih khusus lagi, jika sebuah relasi menjadi normal, baris dapat ditambahkan, dihapus, atau diperbaharui tanpa membuat pengecualian
© 2009 by Prentice Hall
27
Tahapan Normalisasi Hubungan diuji untuk berbagai kondisi untuk memastikan normalisasi Di akhir set spesifik tes, relasi dikatakan dalam sebuah "Normal Form" Ada beberapa Normal Forms • Bentuk Normal Pertama, Kedua Bentuk Normal, Bentuk Normal Ketiga, Boyce-Codd Normal Form, Bentuk Normal Keempat, Kelima Normal Form, dan Domain / Key Normal Form © 2009 by Prentice Hall
28
Contoh Bukan Normalisasi (StudentID)
(StudentName, DormName, DormCost)
Namun, jika…
(DormName)
(DormCost)
Lalu DormCost harus ditempatkan ke dalam relasi sendiri
Mengakibatkan …
(StudentID) (DormName)
(StudentName, DormName) (DormCost) © 2009 by Prentice Hall
29
Un-Normalized Example (AttorneyID, ClientID)
(ClientName, MeetingDate, Duration)
Namun, jika.../
(ClientID) Resulting in…
(AttorneyID, ClientID)
(ClientID)
(ClientName)
Lalu ClientName harus ditempatkan ke dalam relasi sendiri
(MeetingDate, Duration)
(ClientName) © 2009 by Prentice Hall
30
Nilai Null Sebuah nilai Null berarti bahwa tidak ada data yang dimasukkan Hal ini berbeda dari nol, spasi, atau karakter tab
© 2009 by Prentice Hall
31
Masalah Nilai Null Sebuah Nilai Null sering ambigu. Ini bisa berarti ... Kolom nilai tersebut tidak cocok untuk baris tertentu Nilai kolom tidak memutuskan Nilai kolom tidak diketahui
Masing-masing mungkin memiliki implikasi yang sama sekali berbeda
© 2009 by Prentice Hall
32
Didimus Rumpak, M.Si.
2
Database Concepts 1e Chapter 2
Terima Kasih Pengampu Matakuliah A Didimus Rumpak, M.Si. hp.: 085691055061
[email protected]
© 2009 by Prentice Hall
33