bdl-pertemuan4

Download Report

Transcript bdl-pertemuan4

S1 TEKNIK PERANGKAT LUNAK - UNIROW
BASIS DATA LANJUT
Pertemuan 4
Perancangan Basis Data dengan
Metode Entity Relationship
Adityo Nugroho, S.T.
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Pokok Bahasan Pertemuan 3
• Konsep Entity Relationship
• Field / Atribut Kunci
• Langkah-Langkah Perancangan
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Konsep Entity Relationship
Database adalah kumpulan tabel yang saling
berkaitan. Pada model data relational, hubungan
antar tabel direlasikan dengan kunci relasi (relation
key), yang merupakan kunci utama dari masingmasing tabel.
Ingat..!! Perancangan yang tepat akan menyebabkan
basis data bekerja secara optimal.
S1 TEKNIK PERANGKAT LUNAK - UNIROW
ONE to ONE rel. (2 TABEL)
Contoh : Pelajaran privat, dimana satu pengajar
hanya mengajar satu siswa dan satu siswa hanya
diajar oleh satu pengajar.
Pengajar
1
Mengajar
1
Siswa
S1 TEKNIK PERANGKAT LUNAK - UNIROW
ONE to MANY rel. (2 TABEL)
Contoh : Pelajaran kelas SD, dimana satu pengajar
mengajar banyak siswa dan satu siswa hanya diajar
oleh satu pengajar.
Pengajar
1
Mengajar

Siswa
S1 TEKNIK PERANGKAT LUNAK - UNIROW
MANY to MANY rel. (2 TABEL)
Contoh : Pelajaran kelas Universitas, dimana satu
pengajar mengajar banyak siswa dan satu siswa
diajar oleh banyak pengajar.
Pengajar
Pengajar


Mengajar
1
1

Absen

Siswa
Siswa
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Mengerti tentang TABEL
TABEL database adalah representasi dari tempat
untuk menyimpan data.
Tabel UTAMA adalah tabel yang isinya diperlukan
oleh tabel yang lain.
Tabel NON UTAMA adalah tabel yang isinya
mengambil / mengacu pada tabel UTAMA.
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
Setiap tabel UTAMA mempunyai KUNCI yang terdiri
dari 1 field atau beberapa field.
PK
no
angk
nama
alamat
status
43
08
Robby Rahmad
Jl. Payung No.24 tuban
M
123
09
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
1
10
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
Setiap tabel UTAMA mempunyai KUNCI PRIMER
yang terdiri dari 1 field atau beberapa field.
npm
nama
alamat
status
hp
1412080043
Robby Rahmad
Jl. Payung No.24 tuban
M
+628111234656
1412090123
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
+62356787876
1412109001
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
+62857776543
Untuk menemukan KUNCI PRIMER, berikut
tahapannya
no
angk
nama
alamat
status
hp
43
08
Robby Rahmad
Jl. Payung No.24 tuban
M
+628111234656
123
09
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
+62356787876
1
10
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
+62857776543
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
1. Menemukan CANDIDATE KEY
Candidat Key merupakan field yang isi datanya
mempunyai sifat UNIQUE. Unique adalah sifat
dari suatu field yang isi datanya tidak ada yang
sama.
npm
nama
alamat
status
hp
1412080043
Robby Rahmad
Jl. Payung No.24 tuban
M
+628111234656
1412090123
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
+62356787876
1412109001
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
+62857776543
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
2. Menentukan PRIMARY KEY dari CANDIDATE KEY
Dari candidate key, akan ditentukan mana field
yang benar-benar sesuai sebagai PRIMARY KEY
dengan mempertimbangkan berbagai faktor.
npm
nama
alamat
status
hp
1412080043
Robby Rahmad
Jl. Payung No.24 tuban
M
+628111234656
1412090123
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
+62356787876
1412109001
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
+62857776543
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
Field yang termasuk CANDIDATE KEY tetapi tidak
digunakan sebagai PRIMARY KEY dinamakan
ALTERNATE KEY. Alternate Key dapat digunakan
sebagai kunci pengurutan atau pencarian.
PK
ALTERNATE KEY
npm
nama
alamat
status
hp
1412080043
Robby Rahmad
Jl. Payung No.24 tuban
M
+628111234656
1412090123
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
+62356787876
1412109001
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
+62857776543
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
Pada tabel NON UTAMA (Tabel Anak) dilengkapi
dengan field FOREIGN KEY.
Foreign Key adalah field yang menunjukkan
hubungan ke TABEL INDUK/UTAMA.
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
PK
npm
nama
alamat
status
hp
1412080043
Robby Rahmad
Jl. Payung No.24 tuban
M
+628111234656
1412090123
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
+62356787876
1412109001
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
+62857776543
PK
npm
kdmatkul
absen
kdmatkul
Matkul
1412080043
TPL1234
M
TPL1234
Matematika 1
1412080043
TPL3332
M
TPL3332
Ekonomi Teknik
1412109001
TPL3332
A
TPL1032
Rangkaian Logika
FK
FK
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
Optimasi tabel untuk meningkatkan kinerja basis
data sangat perlu dilakukan.
Dengan optimasi field-field pada tabel, akan
didapatkan basis data yang hemat ruang, cepat
pencariannya dan dapat digunakan dalam jangka
waktu yang sangat lama
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Field / Atribut Kunci
Kasus : SI Akademik TPL
PK
no
angk
nama
alamat
status
hp
43
08
Robby Rahmad
Jl. Payung No.24 tuban
M
+628111234656
123
09
Agus Harianto
Dsn. Panggung Ds. Wonogiri
M
+62356787876
1
09
Dicky Lucky
Jl. Wates Gg. VII No. 7 Kediri
T
+62857776543
PK
no
angk
kdmatkul
absen
kdmatkul
Matkul
43
08
TPL1234
M
TPL1234
Matematika 1
43
08
TPL3332
M
TPL3332
Ekonomi Teknik
1
09
TPL3332
A
TPL1032
Rangkaian Logika
FK
FK
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Langkah-Langkah Perancangan
List Entitas :
Dosen (nid, nama, alamat)
Mahasiswa (npm, nama, alamat)
Mata Kuliah (kdmatkul, matkul, sks)
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Langkah-Langkah Perancangan
Tentukan PRIMARY KEY :
Dosen (nid, nama, alamat)
Mahasiswa (npm, nama, alamat)
Mata Kuliah (kdmatkul, matkul, sks)
PK setiap entitas : Nama field yang berwarna merah
dan digaris bawah.
S1 TEKNIK PERANGKAT LUNAK - UNIROW
Langkah-Langkah Perancangan
Tentukan HUBUNGAN AWAL antar ENTITAS
# nid
nama
alamat
# npm
nama
alamat
Dosen 
Mengajar
# kdmatkul
matkul
sks
Mata Kuliah 
 Mahasiswa

S1 TEKNIK PERANGKAT LUNAK - UNIROW
Langkah-Langkah Perancangan
Detailkan HUBUNGAN antar entitas (downgrade
hubungan many to many menjadi one to many
# npm
dengan membentuk entitas lemah)
nama
alamat
Dosen
# nid
nama
alamat
1
1 Mahasiswa
 
Absensi

*nid
*npm
*kdmatkul
1
Mata Kuliah
# kdmatkul
matkul
sks