Page 1
QUIZ 1 – Introduction to
Database
Page 2
BASIS DATA (BS203)
k_doroedi@yahoo.com
fb: NDoro Edi
MODEL ENTITY RELATIONSHIP Bagian I
Page 3
Outline
• Konsep model data & basis data • Konsep Dasar Model ER:
- Entitas & Himpunan Entitas - Atribut
- Tipe-tipe Atribut
- Relasi & Himpunan Relasi - Peran
- Kardinalitas/Derajat Relasi
• Constraints • Keys
Page 4
Konsep Model Data
• Definisi Model Data : Kumpulan perangkat
konseptual untuk menggambarkan :
– Data
– Hubungan data
– Semantik (makna) data – Batasan Data
Page 5
2 Model Data, yaitu
• Entity - Relationship Model (E-R) • Relational Model
Page 6
Konsep Model Basis Data
• Model E-R 6 Semesta Data di dunia nyata Diagram Data
Page 7
Model Entity-Relationship
• Definisi:
Model ER adalah suatu teknik pemodelan data yang
memandang dunia nyata sebagai sesuatu yang terdiri dari obyek-obyek dasar, yang disebut entitas, dan relasi antar obyek tersebut
• Model ini sangat berguna dalam memetakan kebutuhan spesifikasi desai n struktur lojik basis data dari suatu
organisasi
• Model ER terdiri dari 3 komponen dasar: himpunan entitas, himpunan relasi, dan atribut
Page 8
Entitas
Relasi
Atribut
3 komponen dasar
8Page 9
Konsep Dasar Model ER
• Entitas & Himpunan Entitas• Atribut
• Tipe-tipe Atribut
• Relasi & Himpunan Relasi • Peran
Page 10
Entitas
• Definisi Entitas:
Entitas adalah suatu benda atau obyek di dalam dunia nyata
yang dapat dikenali secara berbeda dari obyek yang lain
• Contoh:
Setiap mahasiswa di kampus Maranatha adalah entitas
• Setiap entitas memiliki sekumpulan sifat (properties). Beberapa dari sifat ini ada yang dapat mengidentifikasi suatu entitas secara unik
• Contoh: setiap mahasiswa memiliki mahasiswa_nrp
yang nilainya mampu mengidentifikasi seorang mahasiswa secara unik
Page 11
Himpunan Entitas
• Definisi Himpunan Entitas:
Himpunan Entitas adalah sekumpulan entitas yang memiliki tipe yang sama dan berbagi sifat-sifat
(atribut) yang sama.
• Contoh:
– Sekumpulan orang yang belajar di kampus
Maranatha adalah suatu himpunan Mahasiswa
– Sekumpulan orang yang merupakan customer suatu bank dapat disebut sebagai himpunan nasabah
Page 12
Konsep Dasar Model ER
• Entitas & Himpunan Entitas
• Atribut
• Tipe-tipe Atribut
• Relasi & Himpunan Relasi • Peran
Page 13
Atribut
• Suatu entitas direpresentasikan oleh sekumpulan atribut. Atribut adalah sifat-sifat deskriptif yang dimiliki oleh
setiap anggota dari suatu himpunan entitas.
• Contoh atribut untuk himpunan entitas mahasiswa:
mahasiswa_nrp, mahasiswa_nama, mahasiswa_kota
• Setiap entitas memiliki nilai untuk setiap atributnya. • Misalnya, suatu entitas mahasiswa memiliki nilai-nilai
atribut sbb:
– Mahasiswa_nrp = 1373002 – Mahasiswa_nama = Yohanes – Mahasiswa_kota = Bandung
Page 14
Atribut (2)
• Untuk setiap atribut, terdapat sekumpulan nilai-nilai yang diperbolehkan, yang disebut sebagai domain atau value set.
• Contoh:
1. Domain untuk atribut mahasiswa_nama: String, panjangnya 30 2. Domain untuk atribut customer_id: String, dengan bentuk “C-n”
dimana n merupakan bilangan integer positif
3. Domain untuk atribut kredit_nomor: String ,dengan bentuk “K-n”
Page 15
Jenis-jenis Atribut
• Simple & Composite Attribute• Single-valued & Multivalued Attribute
Page 16
Simple & Composite Attribute
• Atribut simpel / sederhana:
Atribut atomik yang tidak dapat dibagi lagi menjadi subbagian yang lebih kecil. Misal: mahasiswa_nrp
• Atribut komposit:
Atribut yang dapat dibagi lagi menjadi sub-sub atribut yang lebih kecil, yang mempunyai makna.
• Contoh:
– Atribut nama dapat didesain sebagai atribut komposit yang terdiri atas nama_depan, nama_tengah, nama_belakang
– Atribut alamat terdiri atas jalan, kota, provinsi, kode_pos
• Atribut komposit dapat juga memiliki tingkatan.
Contoh: Komponen atribut alamat_jalan dapat dibagi menjadi
Page 17
Contoh Atribut Komposit
1 7 nama nama_depan nama_tengah nama_belakang alamat kota provinsi jalan Kode_pos
nama_jalan Nomor_blok Nomor_rumah
Contoh Atribut Komposit dengan tingkatan
Page 18
Single-valued & Multivalued Attribute
• Atribut single-value hanya memiliki satu nilai
tunggal.
• Contoh: mahasiswa_nrp, kredit_nomor, rekening_saldo, kredit_jumlah
• Atribut Multivalue memiliki sekumpulan nilai. • Contoh: Entitas pegawai memiliki atribut
nomor_telepon.
• Atribut ini dapat diberi suatu batas bawah dan
batas atas, misalnya nomor_telepon seorang
Page 19
Contoh Atribut Multivalue
Misal: Pegawai A, memiliki 2 telepon: telp rumah dan HP
telepon
Page 20
Derived Attribute
• Nilai dari atribut derived dapat diambil dari nilai atribut yang lain.
• Contoh: Seorang mahasiswa mempunyai atribut
mahasiswa_usia. Apabila mahasiswa tersebut memiliki tanggal_lahir, maka mahasiswa_usia
merupakan atribut derived yang nilainya diperoleh dari perhitungan tanggal lahir
• mahasiswa_usia = tanggal sistem –
Page 21
Contoh Atribut derived
usia
mahasiswa tanggal_lahir
Page 22
Atribut NULL
Not Applicable
(Nilai tidak ada
karena atribut tidak dipakai)
◦ Contoh: no_fax, gelar, dll.
Missing
(Nilai ada tetapi hilang)
◦
Contoh: berat_badan
Not Known
(Nilai tidak diketahui
apakah ada atau tidak)
Page 23
E-R Diagram Dengan Atribut Komposit, Atribut Bernilai Banyak, dan Atribut
Turunan
2 3
Page 24
E-R Diagram Dengan Atribut Bernilai Banyak dan Atribut Turunan
Turunan dari Date_Employed
& Tgl hari ini Atribut bernilai banyak: pegawai dapat mempunyai
Page 25
E-R Diagram Dengan Atribut Bernilai Banyak dan Atribut Komposit
2 5
Page 26
Konsep Dasar Model ER
• Entitas & Himpunan Entitas • Atribut
• Tipe-tipe Atribut
• Relasi & Himpunan Relasi • Peran
Page 27
Himpunan Relasi
• Relasi adalah hubungan di antara beberapa entitas
• Himpunan relasi adalah sekumpulan relasi yang memiliki tipe yang sama
• Contoh: Entitas customer dan entitas
Page 28
Contoh kasus: basis data bank dengan
entitas
nasabah
dan
kredit
Page 29
Contoh kasus:
Page 30
Relasi Rekursif
• Entitas yang dihubungkan oleh suatu relasi (relationship) tidak harus
menunjuk pada entitas yang berbeda.
• Entitas yang sama dapat ikut serta lebih dari satu kali di dalam relasi dengan
peran (role) yang berbeda.
3 0
Page 31
Peran pada Entitas (entity’s role)
• Definisi : Fungsi yang diperankan oleh suatu
entitas di dalam suatu relasi (menunjukkan arti
relasi).
• Contoh: relasi bekerja-untuk
• Seorang staf pegawai bekerja untuk
seorang manajer, dan manajer tersebut bekerja juga untuk manajer atasannya, dst
3 1
Page 32
Relasi
bekerja-untuk
3 2 Pegawai bekerja-untuk staf Contoh Kasus:Peran pertama seorang pegawai bernama Maradona: Staf
Peran kedua Maradona: Manajer
manajer
• Label manajer dan staf dinamakan peran; fungsi ini menjelaskan sebagai apa entitas Pegawai berinteraksi lewat relasi bekerja-untuk
Page 33
Constraints
• Suatu skema ER dapat memiliki batasan-batasan (constraints) yang harus dipatuhi. • Ada 2 jenis contraints:
- Mapping cardinalities - Participation constraints
3 3
Page 34
Mapping Cardinalities
DEFINISI
• Cardinal Number = bilangan yang menunjukan jumlah sesuatu, misal 1, 2, atau 3
• Ordinal Number = bilangan yang menunjukan urutan, misal kesatu, kedua, atau ketiga.
• Mapping = Pemetaan
• Mapping Cardinalities Jumlah Pemetaan
• Biasa disebut juga sebagai Cardinality Ratio
• Definisi lengkap:
Mapping Cardinalities adalah bilangan yang
mengekspresikan jumlah entitas yang mana entitas lain dapat berhubungan melalui suatu himpunan relasi.
3 4
Page 35
Mapping Cardinalities (2)
Untuk setiap himpunan relasi R antara
himpunan entitas A dan himpunan entitas B, pasti memiliki salah satu dari mapping cardinalities sbb:
• One to one (Satu ke Satu)
• One to many (Satu ke Banyak)
• Many to one (Banyak ke Satu)
• Many to many (Banyak ke Banyak)
3 5
Page 36
Mapping Cardinality:
One to One
• Setiap entitas di A berhubungan dengan paling banyak dengan satu entitas di B, dan begitu juga sebaliknya, setiap entitas di B berhubungan dengan paling banyak dengan satu entitas di A.
3 6 Contoh kasus di UK Maranatha:
Seorang mahasiswa hanya memiliki satu rekening bank
BCA Maranatha. Suatu rekening bank di BCA Maranatha hanya dapat dimiliki oleh seorang Mahasiswa
Page 37
Page 38
• Setiap entitas di A berhubungan dengan berapapun (nol atau lebih) entitas di B. Namun, setiap entitas di B hanya dapat berhubungan paling banyak dengan satu entitas di A.
3 8
Mapping Cardinality:
One to Many & Many to One
Contoh kasus di perpustakaan Maranatha:
Seorang mahasiswa dapat
meminjam 0,1, atau beberapa buku. Namun, suatu buku
hanya dapat dipinjam oleh seorang mahasiswa
Page 39
Page 40
• Setiap entitas di A berhubungan dengan berapapun (nol atau lebih) entitas di B, dan sebailknya, setiap entitas di B
berhubungan dengan berapapun (nol atau lebih) entitas di A.
4 0
Mapping Cardinality:
Many to Many
Contoh kasus di UK Maranatha: Seorang mahasiswa dapat
mengambil satu atau beberapa mata kuliah, dan setiap mata kuliah dapat diambil oleh saru atau beberapa mahasiswa.
Page 41
Page 42
RELASI REKURSIF & KARDINALITAS
Menikah Orang Istri Suami Diatur Pegawai Manager Pekerja Prasyarat Mata Kuliah
Page 43
Atribut Deskriptif
(
Descriptive Attributes
)
4 3 • Himpunan relasi dapat pula mempunyai
atribut.
Contoh:
Mhsw – buku tgl_pinjam
Mahasiswa Meminjam Buku
Page 44
Kardinalitas dan Desain ER
4 4
Kardinalitas mempengaruhi desain
ER.
Contoh:
o Andaikan 1 anggota boleh meminjam banyak
buku tetapi 1 buku hanya boleh dipinjam oleh 1 anggota saja lalu dibuang
o Andaikan 1 anggota boleh meminjam hanya 1
buku dan buku tsb. hanya boleh dipinjam oleh 1 anggota saja lalu dibuang
Page 45
Atribut Relasi
• Atribut himpunan relasi dapat dipindahkan ke entitas yang berpartisipasi untuk relasi One to One, One to Many, dan Many to One.
Ke entitas yang mana? Banyak atau Satu?
Notes : TIDAK BERLAKU untuk relasi Many to Many.
4 5
Page 46
Participation Constraints
• Participation Constraints seringkali juga disebut sebagai suatu derajat relasi.
Total Participation Partial Participation
apabila setiap/semua entitas di E berpartisipasi dalam
relasi R.
Apabila tidak semua/ hanya beberapa saja entitas di E yang berpartisipasi dalam relasi R.
Page 47
Contoh Kasus:
customer – meminjam - kredit
• Pada suatu Bank, seorang customer dapat
meminjam kredit. Tapi tidak semua customer
harus meminjam kredit.
• Artinya, setiap entitas kredit berhubungan
minimal dengan satu customer. Dengan kata lain, partisipasi kredit pada relasi meminjam
adalah TOTAL.
• Di lain pihak, seorang customer tidak perlu harus meminjam kredit. Dengan kata lain, partisipasi customer pada relasi meminjam
adalah PARTIAL. 4
Page 48
Contoh Kasus:
customer – meminjam - kredit
4 8
PARTISIPASI PARTIAL PARTISIPASI TOTAL
Page 49
PARTISIPASI TOTAL/SEBAGIAN
4 9
Contoh:
Mahasiswa – orang tua
Buku perpustakaan – mahasiswa
Mahasiswa – mata kuliah Ibu – anak
Suami – istri
Mata kuliah – ruang kelas
Pelanggan membuat order
Page 50
Keys (kunci)
• IDE DASAR: Bagaimana kita dapat membedakan secara unik suatu entitas dengan entitas yang lainnya di dalam satu
himpunan entitas?
• Kita harus memiliki suatu cara agar suatu entitas di dalam himpunan entitas dapat dibedakan satu dengan yang lainnya • Secara konseptual, setiap individu entitas adalah tunggal
(distinct). Namun, dari sudut basis data, perbedaan antar entitas ini harus ditunjukkan lewat atribut-atributnya.
• Dengan kata lain, agar kita dapat membedakan suatu entias dari entitas yang lain, maka tidak diperbolehkan ada dua
entitas yang semua nilai atributnya persis sama. Bagaimana caranya?
Page 51
Key (2)
• Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik.
• Key memampukan kita untuk mengidentifikasi himpunan atribut yang dapat membedakan
entitas yang satu dengan yang lainnya. • Key berlaku juga untuk relasi
5 1
Page 52
Jenis-jenis Key
• Super Key • Candidate Key • Primary Key • Alternate Key 5 2Page 53
Super Key (Kunci Super)
• Definisi:himpuan satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
• Mungkin ada lebih dari 1 Superkey pada sebuah tabel
• Contoh: Entitas Customer Super key: customer_id
Super key: {customer_id, customer_name} Bukan Super key: customer_name
Page 54
TABEL MAHASISWA
NRP Nama Alamat Tgl_Lahir
0472001 Ria Jl. Badak 2 11/09/85 0472002 Riny Jl. Sapi 3 12/01/85 0472003 Erica Jl. Macan 1 09/09/84 0472004 John Jl. Riau 3 01/03/85 0472005 Lucas Jl. Duku 4 04/03/85 0472006 Paul Jl. Badak 5 01/03/85 0472007 Philip Jl. Riau 30 01/03/85 0472008 Mary Jl. Riau 3 03/03/83 5 4
Page 55
Super Key
• Contoh Superkey pada tabel Mahasiswa:
–NRP
–Nama, jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini –{NRP, Nama}
–{NRP, Nama, Alamat}
–{NRP, Nama, Alamat, Tgl_Lahir}
5 5
Page 56
Candidate Key (Calon Kunci)
• Definisi:kumpulan atribut minimal yang dapat
membedakan setiap baris data dalam sebuah tabel secara unik.
• Sebuah Candidate Key pastilah Super key, tapi belum tentu sebaliknya.
5 6
Page 57
Candidate Key
• Suatu super key dapat memiliki atribut-atribut yang sebenarnya sudah merupakan super key.
– Misal: {customer_id, customer_name} adalah sebuah super key. – Note: customer_id itu sendiri merupakan super key.
• Pada candidate key, tidak diperbolehkan memiliki key di dalam key
– Misal: {customer_id, customer_name} bukan candidate key, karena customer_id adalah key
• Candidate key seringkali disebut sebagai super key minimal.
• Contoh candidate key: {customer_name, customer_address}
Page 58
Candidate Key
• Pada sebuah tabel dimungkinkan adanya lebih dari satu Candidate-Key.
• Contoh Candidate-Key pada tabel Mahasiswa:
– (nama), jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini
– (NRP)
5 8
Page 59
CONTOH
• Contoh:
Orang (No_KTP, nama, alamat)
Bagaimana jika di alamat yang sama,
tidak ada 2 orang yang bernama sama?
5 9
Page 60
CONTOH
No_KTP Nama Alamat
123 Budi Jl. Duku 2 124 Etica Jl. Badak 3 125 Budi Jl. Sunda 4 126 John Jl. Badak 3 127 Joshua Jl. Macan 6 128 Budi Jl. Badak 3 6 0
Page 61
Primary Key (Kunci utama)
• Definisi: candidate key yang dipilih oleh
perancang basis data sebagai alat utama untuk
mengidentifikasi entitas pada suatu himpunan entitas
• Primary key harus dipilih sedemikian rupa
sehingga atributnya tidak pernah atau jarang berubah
• Contoh: mahasiswa_nrp dapat dipilih sebagai primary key.
6 1
Page 62
Primary Key
Pemilihan Primary key didasari oleh:
Key tersebut lebih sering (lebih natural)
untuk dijadikan sebagai acuan
Key tersebut lebih ringkas
Jaminan keunikan Key tersebut lebih
baik
6 2
Page 63
Key Pada Himpunan Relasi
Setiap relasi individual harus dapat dibedakan dengan relasi individual yang lain dalam sebuah himpunan relasi.
Karena itulah, himpunan relasi juga harus memiliki key!
6 3
Page 64
Key Pada Himpunan Relasi
Pada umumnya, key pada himpunan relasidibentuk dari key dari masing-masing
himpunan entitas yang dihubungkannya.
Contoh: Jika key pada himpunan entitas pertama adalah {x} dan key pada
himpunan entitas kedua adalah {y}, maka key pada himpunan relasi dari keduanya adalah {xy}.
6 4
Page 65
Alternate Key (kunci alternatif)
• Adalah candidate key yang tidak dipilih
menjadi primary key.
• Contoh: {nama, mahasiswa-alamat} adalah candidate key, namun tidak dipilih menjadi primary key.
6 5
Page 66
Rangkuman Kuliah-2
• Konsep Dasar Model ER:
- Entitas & Himpunan Entitas - Atribut
- Tipe-tipe Atribut
- Relasi & Himpunan Relasi - Peran pada Entitas
- Kardinalitas/Derajat Relasi • Constraints
• Keys
6 6
Page 67
Page 68
More on Atribut Vs Entitas
True or false?
o Entitas Orang terdiri dari atribut pegawai dan mahasiswa
o Entitas Mobil dengan atribut Suzuki dan Toyota?
o Entitas Hewan dengan atribut Babi, Anjing, dan Kucing?
o Entitas Buku dengan atribut IDbuku, judul, pengarang?
6 8
Page 69
Tentukan super key
• Contoh:
Pegawai
(NIK, alamat, tgl_lahir, No_KTP)
Orang (No_KTP, nama, tgl_lahir)
6 9