Model Relasi
Pengampu Matakuliah A Didimus Rumpak, M.Si.
hp.: 085691055061 dimurumpak@yahoo.com
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 dimurumpak@yahoo.com