Model Relasi
Pengampu Matakuliah A Didimus Rumpak, M.Si.
hp.: 085691055061 [email protected]
Didimus Rumpak,
M.
Si.
Database Concepts 1e
Chapter 2
2Bab 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
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
Suatu Relasi
 Sebuah relasi merupakan tabel dua
dimensi yang memiliki karakteristik khusus  Tabel dimensi, seperti matriks, terdiri dari
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
Contoh Relasi
No_Pegawai Nama_Depan Nama_Belakang
100 Mary Abermany
700 Jerry Caldera
300 Alea Copley
A Nonrelation Example
No_Pegawai Telp Nama_Belakang 100 335-6421, 454-9744 Abermany 700 215-7789 Caldera 300 610-9850 Copley 40 299-9090 Jacksoni
No_Pegawai Telp Nama_Belakang 100 335-6421 Abermany 700 215-7789 Caldera 300 610-9850 Copley 100 335-6421 Abermany 40 299-9090 Jacksoni
Tidak ada dua baris mungkin identik
Terminologi
Table Row Column
File or Datafile Record Field
Relation Tuple Attribute
Kunci
 Kunci adalah salah satu atau lebih kolom dari sebuah relasi yang digunakan untuk mengidentifikasi suatu baris
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.
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
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
Kunci Kandidat
 Sebuah Kunci Kandidat disebut "calon"
karena merupakan kandidat untuk menjadi kunci utama
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
Table Relationships
•
A table may be related to other tables
•
For example
– An Employee works in a Department – A Manager controls a Project
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
Contoh Kunci Asing
Project ProjID ProjName MgrID Manager MgrID MgrName Kunci Asing Kunci UtamaContoh Kunci Asing
Department DeptID DeptName Location Employee EmpID DeptID EmpName Kunci Asin Kunci UtamaMengacu 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
Mengacu Ke Integrasi
Perspektif lain ...
(Nilai Kunci EmployeeID Luar Negeri) di
EQUIPMENT
harus ada dalam
–
(sebagai nilai Key Primer EmployeeID) di
KARYAWAN
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
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
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
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
Contoh Kunci Utama dan
Ketergantungan Fungsi
(EmployeeID) (EmpLastName, EmpAddr,EmpPhone) (ProjectID) (ProjectName, StartDate)
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
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
Contoh Bukan Normalisasi
(StudentID) (StudentName, DormName, DormCost)
(DormName) (DormCost)
Lalu DormCost harus ditempatkan ke dalam relasi sendiri
Namun, jika…
(StudentID) (StudentName, DormName)
Mengakibatkan …
Un-Normalized Example
(AttorneyID, ClientID) (ClientName, MeetingDate, Duration) (ClientID) (ClientName)Lalu ClientName harus
ditempatkan ke dalam relasi sendiri
Namun, jika.../
Resulting in…
(ClientID) (ClientName)
(AttorneyID,
Nilai Null
 Sebuah nilai Null berarti bahwa tidak ada data yang dimasukkan
 Hal ini berbeda dari nol, spasi, atau karakter tab
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
Terima Kasih
Pengampu Matakuliah A Didimus Rumpak, M.Si.
hp.: 085691055061 [email protected]