Perancangan Basis Data
Pertemuan 2
Tujuan Pertemuan
•
Mahasiswa akan mampu menjelaskan konsep
dasar, istilah-istilah dan komponen ER (Entity
Relationship) pada perancangan basis data.
•
Mahasiswa akan mampu membuat Diagram
ER sederhana.
•
Mahasiswa akan mampu melakukan
Pemodelan Database
(Database Modelling)
•
Disain logical database
disain database
pemodelan database
;
“mempelajari sifat dasar dan hubungan antara item data, dengan tujuan untuk mendapatkan representasi setiap item dalam database”.
•
Dalam membuat model database, DBA melakukan
interview/diskusi
(bekerja sama) dengan orang yang menguasai detil dari perusahaan
tersebut, selain itu jika ada
diagram proses bisnis
dapat digunakan untuk
mempermudah proses pemodelan database.
Dari hasil interview atau diskusi tersebut DBA akan mendapatkan
daftar
item data
dan
object data
yang disertai dengan
rules
(aturan),
constraints
Pemodelan Database
(Database Modelling)
•
Berikut contoh rules (aturan-aturan) terkait registrasi siswa;
– Setiap siiswa yang sudah terdaftar memiliki satu nomer ID Siswa (sid) yang unik. – Seorang siswa bisa terdaftar untuk (maksimal) satu kursus pada satu periode
kelas.
– Ruang kelas dapat ditempati (maksimal) satu kursus pada satu periode kelas.
•
Berdasarkan item-item data, constraints dan rules ini, DBA kemudian
melakukan logical design database.
•
Berikut ini adalah dua teknik yang umum dilakukan dalam melakukan
logical design database;
Intro ER Concept
-
Entity
Entity (Entitas)
“Sekumpulan object dunia nyata atau kejadian yang dapat
dibedakan, tapi object-object tersebut memiliki atribut sama”
Contoh;
Pada registrasi kampus, dapat dikatakan memiliki object seperti berikut;
•
Students , Instructors , Class rooms , Courses , Course sections , Class
periods, dst…
Penulisan nama entity-nya adalah sebagai berikut;
•
Student
,
Instructor
,
Class_room
,
Course
,
Course_section
,
Class_period
,
dst…
(catatan; nama entity diawali dengan huruf besar/kapital dan tidak ada spasi)
Intro ER Concept
-
Attribute
Attribute (atribut)
“Item data yang mendeskripsikan property/atribut suatu entity atau
relationship”
Setiap entity memiliki identifier, yaitu; atribut atau satu set atribut yang akan membuat nilai dari setiap isi baris entity menjadi unik. Atribut identifier ini dapat dikatakan sebagai primary identifier.
Contoh;
Atribut untuk entity Student adalah;
• sid, student_name. hobbies
(catatan; nama atribut ditulis dengan huruf kecil dan tidak ada spasi, atribut primary identifier ditandai dengan garis bawah)
nama_atribut
Student sid
Intro ER Concept
-
Attribute
• Atribut Multivalue (multivalued attribute) adalah:
“Atribut yang dapat memiliki beberapa nilai dalam satu baris”
Contoh:
Atribut hobbies merupakan atribut yang dapat memiliki beberapa nilai dalam satu baris, karena seorang student mungkin memiliki lebih dari satu hobby. Untuk itu garis penghubung atibut hobbies digambarkan dengan dua garis (double line).
• Atribut komposit (composite attribute) adalah:
“Atribut yang terdiri dari beberapa subset atribut yang membentuknya”.
Contoh:
Atribut student_name sebenarnya terdiri dari lname (last name), midinitial (middle atau initial name) dan fname (first name). Dengan demikian berarti student_name adalah atribut komposit.
Student sid
student_name
lname fname midinitial hobbies
uid nama hobby
Intro ER Concept
-
Relationship
Relationship (Relasi)
“Merupakan hubungan atau interaksi antara satu entitas
dengan yang lainnya”.
Contoh:
entitas Cusomer berhubungan dengan entitas Product yang dibelinya,
entitas instructor berhubungan dengan Course_section yang diajarnya,
Employee berhubungan dengan Project yang dikerjakannya, dsb…
nama_relasi
buy
Customer Product
teaches
Instructor Course_sections
morks_on
Intro ER Concept
-
Relationship
Relationship (Relasi)
Jika Terdapat sekumpulan
m
entity sbb; E
1, E
2, …, E
m(berurutan dan entity
yang sama mungkin muncul lebih dari sekali), dan suatu relationship
R
merupakan definisi rule hubungan
antar entity tersebut melalui
atributnya.
Maka;
R
adalah representasi dari hubungan antar entity tersebut, dan
R
berisi kolom/atribut yang menghubungkan antar entity tersebut.
Secara matematika; R = E1 x E2 x Em (R represent set of m-tuples, a subset of the Cartesian product of entity instances).
Intro ER Concept
-
Relationship
Contoh Relasi sebagai Definisi Rule
Project
Employee works_on
percent
prjid eid
eid e_name prjid prj_name
Project
Employee works_on
percent
Intro ER Concept
-
Relationship
Contoh Relasi sebagai Definisi Rule
Intro ER Concept
-
Transformasi ER Menjadi Tabel
Transformasi entity atau relasi menjadi tabel relasi.
Terdapat dua aturan (
rule
) dalam melakukan transformasi ini:
•
Transformation Rule 1
:
– Setiap entity/relasi dalam ER dipetakan ke/menjadi tabel. Satu entity/relasi adalah
satu tabel relasi, dan beri nama tabel tersebut sesuai dengan nama entity/relasi-nya.
– Kolom pada tabel merupakan representasi dari atribut yang bukan multivalue,
atribut subset dari atribut komposit (catatan: atribut komposit-nya sendiri tidak dibuatkan kolom).
– Identifier suatu Entity dipetakan menjadi candidate key pada tabel, dan primary
identifier dipetakan menjadi primary key.
Catatan: primary identifier bisa saja berupa atribut komposit, jika hal tersebut terjadi, maka; semua atribut subset dari atribut komposit tersebut dipetakan menjadi primary key.
– Data kejadian dari entity kemudian dipetakan ke dalam tabel berupa baris (row) pada
Intro ER Concept
-
Transformasi ER Menjadi Tabel
•
Contoh transformation Rule 1 (
entity to table
)
Student sid
student_name
lname fname midinitial hobbies
sid lname fname midinitial
Intro ER Concept
-
Transformasi ER Menjadi Tabel
•
Contoh transformation Rule 1 (
relationship with attribute to table
)
eid e_name
employee
eid prjid percent
works_on
prjid prj_name
project
Project
Employee works_on
percent prjid
eid
Intro ER Concept
-
Transformasi ER Menjadi Tabel
•
Transformation Rule 2
: (
atribut multivalue menjadi entity
)
–
Jika pada entity terdapat atribut multivalue, buatkan entity baru untuk
menampung
atribut multivalue
(
a
), juga sertakan atribut
primary
identifier dari entity asal
(
p
) pada entity baru tersebut.
–
Entity baru tersebut diberi
nama yang sama dengan nama atribut
multivalue
.
–
Petakan entity baru tersebut menjadi tabel dengan nama yang sama
dengan nama entity-nya.
–
Kolom
pada tabel merupakan representasi dari
p
yang diikuti dengan a
secara berurutan.
–
Primary key dari tabel
ini adalah kolom
p
dan kolom
a
.
–
Data kejadian dari entity kemudian dipetakan ke dalam tabel berupa
Intro ER Concept
-
Transformasi ER Menjadi Tabel
•
Contoh transformation Rule 2
(
atribut multivalue menjadi entity
)
Student
sid student_name
lname fname
midinitial
hobbies
sid hobbies
hobbies
Hobbies sid
hobbies
Student student_name
lname fname midinitial
punya
sid lname fname midinitial
student
Intro ER Concept
-Table Key
• Suatu atribut pada entity dapat dianalogikan sebagai kolom pada tabel relasi. Setiap
tabel memiliki key yang akan membuat tiap-tiap baris (row) pada tabel tersebut berbeda (unik).
• Berikut ini adalah tipe key dan penjelasannya: Candidate key adalah:
Kolom atau satu set kolom pada suatu tabel yang nilai-nya unik (tidak terjadi duplikat atau nilai kolom tersebut pada tiap baris dalam tabel tidak boleh sama), dan kolom tersebut tidak memiliki subset.
Primarykey adalah:
Candidate key yang ditentukan untuk menjadi referensi eksternal oleh tabel lain.
Unique key adalah:
Candidate key yang bukan primary key.
sid hobbies sid lname fname midinitial
Primary key Candidate
key
Primary key
Tugas
Tugas
2. Buat ER Diagram untuk proses bisnis sesuai narasi yang diberikan
berikut:
Bisnis Proses di Perpustakaan
UNIVERSITAS XYZ
Pendaftaran:
• Bertanya kepada petugas perpustakaan mengenai pendaftaran sebagai anggota perpustakaan.
• Mendaftar sebagai anggota perpustakaan.
• Melampirkan Foto ukuran 2 x 2 sebanyak 2 (dua) lembar.
• Melampirkan fotokopi KTM (Kartu Tanda Mahasiswa) sebanyak 1 (satu) lembar. • Menyerahkan syarat-syarat pendaftaran kepada petugas perpustakaan.
• Membayar uang pendaftaran kepada petugas perpustakaan.
Bisnis Proses di Perpustakaan
UNIVERSITAS
XYZ
Peminjaman:
• Menuju perpustakaan universitas. • Mengisi buku catatan kunjungan.
• Bertanya kepada penjaga perpustakaan letak buku yang akan di pinjam. • Memilah-milah buku dan mengambil buku yang di cari.
• Membawa buku kepada petugas perpustakaan.
• Peminjam mengisi kartu buku (yang ada disampul buku bagian belakang) menulis
nama dan nomor mahasiswa.
• Menyerahkan semua yang telah di isi tersebut dan menunjukkan KTM/ Kartu
Anggota Perpustakaan ke Petugas perpustakaan.
• Buku dicatat dan di cap tanggal kembali oleh petugas perpustakaan.
• Petugas memberikan buku yang di pinjam, beserta kartu anggota perpustakaan. • Mengucapkan terima kasih kepada petugas perpustakaan.
Bisnis Proses di Perpustakaan
UNIVERSITAS
XYZ
Pengembalian:
• Mempersiapkan buku yang akan di kembalikan serta membawa kartu anggota
perpustakaan dan Kartu Tanda Mahasiswa (KTM).
• Mendatangi perpustakaan universitas. • Menuju ke petugas perpustakaan.
• Menyerahkan buku perpustakaan yang telah di pinjam kepada petugas serta kartu
anggota perpustakaan dan Kartu Tanda Mahasiswa (KTM).
• Petugas perpustakaan mengecek kelengkapan buku dan jumlah buku yang pinjam. • Petugas mencocokkan tanggal pengembalian dengan tanggal peminjaman.
• Setelah selesai melengkapi syarat pengembalian buku, petugas
mengembalikankartu anggota perpustakaan dan Kartu Tanda Mahasiswa (KTM).
• Mengucapkan terima kasih kepada petugas perpustakaan. • Keluar dari perpustakaan.