Anda di halaman 1dari 40

Model Basis Data Relasional

Konsep Basis Data


Bahan Kajian

Konsep relasi
View lojik dari data
Konstruksi lojik baris (tuple) dan kolom
(atribut) sebuah table
Hubungan antar tabel
Operator basis data relasional
Redundansi data
Pengindeksan data

Dunia satu keluarga


Capaian

Mahasiswa/i
mampu

Menjelaskan
Model
basis data
relasional

Dunia satu keluarga


Model data relational memudahkan
designer untuk fokus pada perwujudan
logika dari data dan relationship yang
dimiliki, dan tidak memusingkan detil
penyimpanan secara fisikal

Mobil automatic >< mobil manual

Dunia satu keluarga


KONSEP DASAR RELASI (RELATION)

Dunia satu keluarga


Relasi (Relation )

Relasi adalah tabel 2 dimensi berisi baris dan kolom yang


memiliki karakteristik:

1. Baris berisi data mengenai sebuah entity


2. Kolom berisi data mengenai attribute dari entity
3. Sel dalam tabel berisi sebuah nilai tunggal
4. Semua data dalam sebuah kolom berjenis sama
5. Setiap kolom memiliki sebuah nama yang unik
6. Urutan kolom tidaklah penting
7. Urutan baris tidaklah penting
8. Tidak ada 2 baris yang memiliki kumpulan data yang bernilai
identik
Dunia satu keluarga
Contoh relation EMPLOYEE

Dunia satu keluarga


Contoh tabel nonrelational dengan banyak nilai
dalam satu sel

Dunia satu keluarga


Contoh tabel nonrelational dengan kolom
dengan isi nilai berbeda

Dunia satu keluarga


Format Deskripsi Relation

NAMA_RELATION (KolomKe1, KolomKe2, … , KolomKe n)

bentuk kata tunggal


Contoh:
EMPLOYEE (EmployeeNumber, FirstName, LastName,
Department, Email, Phone)

Disebut juga sebagai relational schema, yaitu perwujudan


tabel database dalam bentuk teks dimana setiap tabel
dituliskan namanya diikuti daftar attribute dalam tanda
kurung
Dunia satu keluarga
Pemakaian Istilah

Dunia satu keluarga


JENIS-JENIS KUNCI (KEY)

Dunia satu keluarga


Kunci (Key )

Sebuah key adalah satu atau lebih


kolom dalam sebuah relation yang
digunakan untuk mengidentifikasi
sebuah baris

Dunia satu keluarga


? Non-unique
key
Query menghasilkan lebih dari 1 baris

Unique key

Query menghasilkan 1 baris yang unik

Dunia satu keluarga


Composite Key

Sebuah key yang terdiri dari dua atau lebih


attribute disebut sebagai composite key

Contoh:
(LastName, Department)
(LastName, FirstName, Department)

Dunia satu keluarga


Candidate Key

• Candidate key adalah key yang secara unik


mengidentifikasi setiap baris dalam sebuah
relation
• Candidate key dapat berupa key kolom-
tunggal atau bisa berupa composite key

Dunia satu keluarga


Primary Key

Primary key adalah candidate key yang telah


dipilih sebagai key utama yang akan
digunakan oleh DBMS, secara unik
mengidentifikasi setiap baris di dalam sebuah
relation

Dunia satu keluarga


Perhatikan deskripsi relation berikut:

EMPLOYEE (EmployeeNumber, FirstName,


LastName, Department, Email, Phone)

Yang bisa menjadi candidate key:


– EmployeeNumber adalah unique key
– Email adalah unique key
– composite key (FirstName, LastName,
DepartmentName) adalah unique key

Dunia satu keluarga


Yang layak menjadi primary key adalah
EmployeeNumber sehingga deskripsi
dituliskan sebagai berikut:
PK diberi garis bawah

EMPLOYEE (EmployeeNumber, FirstName,


LastName, Department, Email, Phone)

Dunia satu keluarga


Surrogate Key

• Surrogate key adalah sebuah kolom dengan


identifier unik yang ditambahkan oleh DBMS
pada sebuah tabel untuk menjadi primary key
• Nilai unik pada surrogate key diberikan oleh
DBMS setiap kali sebuah baris dibuat, dan
nilainya tidak pernah berubah

Dunia satu keluarga


Misal ada relation dengan deskripsi sebagai berikut:

PROPERTY (Street, City, State, ZIP, OwnerID)

Untuk memudahkan maka ditambah surrogate key


sebagai primary key sehingga deskripsi relation
menjadi:
surrogate key menjadi primary key

PROPERTY (PropertyID, Street, City, State, ZIP, OwnerID)

Dunia satu keluarga


Foreign Key

Attribute yang menjadi primary key pada


relation pertama bila digunakan pada
relation kedua maka attribute yang terdapat
di relation kedua disebut sebagai foreign key
(kunci tamu).

Dunia satu keluarga


Misal terdapat dua relation dideskripsikan sebagai
berikut:

EMPLOYEE (EmployeeNumber, FirstName, LastName,


Department, Email, Phone) dan
DEPARTMENT (DepartmentName, BudgetCode,
OfficeNumber, DepartmentPhone)

Bila attribute Department pada EMPLOYEE berelasi


dengan attribute DepartmentName (PK) pada
DEPARTMENT maka Department pada EMPLOYEE
menjadi foreign key milik DEPARTMENT
Dunia satu keluarga
Deskripsinya menjadi:
EMPLOYEE (EmployeeNumber, FirstName,
LastName, Department, Email, Phone)

FK dicetak miring

DEPARTMENT (DepartmentName, BudgetCode,


OfficeNumber, DepartmentPhone) dan
Department pada EMPLOYEE harus ada dalam
DepartmentName pada DEPARTMENT

referential integrity constraint

Dunia satu keluarga


Referential Integrity Constraint

Dalam kebanyakan kasus, integrity rules


diperlukan karena sangat penting
memastikan bahwa setiap nilai pada sebuah
foreign key cocok/sesuai dengan nilai pada
primary key

Untuk menjaga integrity ini maka null value


tidak diperbolehkan pada primary key dan
sedapat mungkin harus dihindari
Dunia satu keluarga
Null Value

Keberadaan null value dalam sebuah tabel


biasanya adalah indikasi akan buruknya
rancangan database
Null value, bila digunakan sembarangan, dapat
menyebabkan masalah karena memiliki beberapa
makna. Misalnya sebuah null value dapat berarti:
1. Nilai yang tidak diketahui dari attribute
2. Nilai yang diketahui dari attribute, namun hilang
3. Sebuah kondisi yang “not applicable”

Dunia satu keluarga


Catatan !

• Nol : Tidak ada nilai sama sekali (tidak berarti nol / spasi).
• Nol dibuat ketika menekan tombol Enter / Tab untuk
pindah ke entri berikutnya tanpa membuat entri apapun
sebelumnya.
• Null : Tidak berisi nilai

Dunia satu keluarga


Misal ada tiga relation dideskripsikan sebagai berikut:

CUSTOMER (CustomerNumber, CustomerLastName,


CustomerFirstName, Phone)
COURSE (CourseNumber, Course, CourseDate, Fee)
ENROLLMENT (CustomerNumber, CourseNumber, AmountPaid)

Dengan dua referential integrity constraint:

CustomerNumber pada ENROLLMENT harus ada dalam


CustomerNumber pada CUSTOMER dan
CourseNumber pada ENROLLMENT harus ada dalam
CourseNumber pada COURSE

Dunia satu keluarga


KETERGANTUNGAN FUNGSIONAL
FUNCTIONAL DEPENDENCIES

Dunia satu keluarga


Misal kita membeli permen yang satuannya berharga Rp100,
sehingga bisa dihitung dengan rumus:

HargaPermen = JumlahPermen x Rp100

Secara fungsi maka HargaPermen tergantung pada JumlahPermen


yang dibeli. Hal ini dinyatakan sebagai functional dependency
yang dituliskan:

JumlahPermen  HargaPermen

Dengan kata lain JumlahPermen menentukan HargaPermen,


dimana variabel di sisi kiri (JumlahPermen) disebut sebagai
determinant untuk HargaPermen
Dunia satu keluarga
Bila dimodifikasi menjadi:

HargaTotal = JumlahUnit x HargaUnit

Dimana HargaTotal bergantung pada JumlahUnit dan


HargaUnit:

(JumlahUnit, HargaUnit)  HargaTotal

Composite (JumlahUnit, HargaUnit) adalah


determinant untuk HargaTotal
Dunia satu keluarga
Istilah functional dependence dapat
dinyatakan secara sederhana seperti berikut:

Attribute A  Attribute B

Attribute B secara fungsional bergantung


pada attribute A bila setiap nilai di kolom A
menentukan satu dan hanya satu nilai di
kolom B

Dunia satu keluarga


Functional dependencies ini nantinya
dapat digunakan untuk menentukan
attribute mana pada sebuah relation
yang menjadi candidate key untuk
primary key

Dunia satu keluarga


• EmployeeNumber  FirstName, LastName,
Department, Email, Phone
• (LastName, Department) 
EmployeeNumber, FirstName, Email, Phone
• (FirstName, LastName, Department) 
EmployeeNumber, Email, Phone
Dunia satu keluarga
RELATIONSHIP DATA RELATIONAL

Dunia satu keluarga


1. 1:M dan M:1 relationship adalah pemodelan
relational yang ideal. Jenis relationship ini
yang seharusnya menjadi norma dalam
rancangan database relational
2. 1:1 relationship biasanya jarang terjadi
dalam rancangan database relational
3. M:N relationship tidak dapat
diimplementasikan dalam model relational.
Selanjutnya M:N relationship dapat diubah
menjadi dua 1:M / M:1relationship
Dunia satu keluarga
INDEKS

Indeks merupakan sebuah pengaturan


yang terurut yang digunakan secara
logika mengakses baris dalam sebuah
tabel

Dunia satu keluarga


Komponen Indeks

Dunia satu keluarga


Quiz

Persiapan Quiz pertemuan berikutnya


tanggal 01-03-2018
Materi mengenai model basis data
relasional

Dunia satu keluarga


Diskusi & tanya jawab

Dunia satu keluarga

Anda mungkin juga menyukai