QUIZ 1 – Introduction to Database
Page 1
BASIS DATA (BS203) MODEL ENTITY RELATIONSHIP Bagian I
[email protected] fb: NDoro Edi
Page 2
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 3
3
Konsep Model Data • Definisi Model Data : Kumpulan perangkat konseptual untuk menggambarkan : – – – –
Data Hubungan data Semantik (makna) data Batasan Data
Page 4
4
2 Model Data, yaitu • Entity - Relationship Model (E-R) • Relational Model
Page 5
5
Konsep Model Basis Data • Model E-R Semesta Data di dunia nyata
Diagram Data
Page 6
6
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 7
3 komponen dasar Entitas
Relasi
Atribut Page 8 8
Konsep Dasar Model ER • • • • • •
Entitas & Himpunan Entitas Atribut Tipe-tipe Atribut Relasi & Himpunan Relasi Peran Kardinalitas/ Derajat Relasi
Page 9
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 10
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 11
Konsep Dasar Model ER • • • • • •
Entitas & Himpunan Entitas Atribut Tipe-tipe Atribut Relasi & Himpunan Relasi Peran Kardinalitas/ Derajat Relasi
Page 12
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 13
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” dimana n merupakan bilangan integer positif
Page 14
Jenis-jenis Atribut • Simple & Composite Attribute • Single-valued & Multivalued Attribute • Derived Attribute
Page 15
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 16 nama_jalan, nomor_blok, nomor_rumah
Contoh Atribut Komposit nama
nama_belakang
nama_depan nama_tengah
Contoh Atribut Komposit dengan tingkatan alamat
jalan
nama_jalan
Nomor_blok
kota
provinsi
Kode_pos
Nomor_rumah
Page 17 1
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 pegawai memiliki batas bawah=0, batas atas =2. Page 18
Contoh Atribut Multivalue Misal: Pegawai A, memiliki 2 telepon: telp rumah dan HP
telepon
Pegawai
Page 19
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 – tanggal_lahir Page 20
Contoh Atribut derived
tanggal_lahir
usia
mahasiswa
Page 21
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) ◦ Contoh: no_telepon
Page 22
E-R Diagram Dengan Atribut Komposit, Atribut Bernilai Banyak, dan Atribut Turunan
Page 23 2
E-R Diagram Dengan Atribut Bernilai Banyak dan Atribut Turunan
Turunan dari Date_Employed & Tgl hari ini
Atribut bernilai banyak: pegawai dapat mempunyai beberapa skill Page 24
E-R Diagram Dengan Atribut Bernilai Banyak dan Atribut Komposit
Page 25 2
Konsep Dasar Model ER • • • • • •
Entitas & Himpunan Entitas Atribut Tipe-tipe Atribut Relasi & Himpunan Relasi Peran Kardinalitas/ Derajat Relasi
Page 26
Himpunan Relasi • Relasi adalah hubungan di antara beberapa entitas • Himpunan relasi adalah sekumpulan relasi yang memiliki tipe yang sama • Contoh: Entitas customer dan entitas kredit memiliki relasi meminjam
Page 27
Contoh kasus: basis data bank dengan entitas nasabah dan kredit
Page 28
Contoh kasus: Himpunan Relasi “Meminjam”
Page 29
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.
Page 30 3
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 Page 31 3
Relasi bekerja-untuk staf
manajer Pegawai
bekerja-untuk
Contoh Kasus: Peran pertama seorang pegawai bernama Maradona: Staf Peran kedua Maradona: Manajer
• Label manajer dan staf dinamakan peran; fungsi ini menjelaskan sebagai apa entitas Pegawai berinteraksi lewat relasi bekerja-untuk Page 32 3
Constraints • Suatu skema ER dapat memiliki batasanbatasan (constraints) yang harus dipatuhi. • Ada 2 jenis contraints: - Mapping cardinalities - Participation constraints
Page 33 3
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.
Page 34 3
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)
Page 35 3
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. 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 36 3
Contoh kasus : One to One
Page 37
Mapping Cardinality: One to Many & Many to One • 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. Contoh kasus di perpustakaan Maranatha: Seorang mahasiswa dapat meminjam 0,1, atau beberapa buku. Namun, suatu buku hanya dapat dipinjam oleh seorang mahasiswa Page 38 3
Contoh Kasus: Many to One
Page 39
Mapping Cardinality: Many to Many • 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. 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 40 4
Contoh Kasus: Many to Many
Page 41
RELASI REKURSIF & KARDINALITAS Pekerja
Suami
Pegawai Orang
Diatur
Menikah Manager
Istri
Mata Kuliah
Prasyarat
Page 42
Atribut Deskriptif (Descriptive Attributes) • Himpunan relasi dapat pula mempunyai atribut. Contoh: Mhsw – buku tgl_pinjam
Mahasiswa
Meminjam
Tgl pinjam
Buku
Page 43 4
Kardinalitas dan Desain ER 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 44 4
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.
Page 45 4
Participation Constraints • Participation Constraints seringkali juga disebut sebagai suatu derajat relasi. Total Participation
apabila setiap/semua entitas di E berpartisipasi dalam relasi R.
Partial Participation
Apabila tidak semua/ hanya beberapa saja entitas di E yang berpartisipasi dalam relasi R.
Page 46
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.
Page 47 4
Contoh Kasus: customer – meminjam - kredit
PARTISIPASI PARTIAL PARTISIPASI TOTAL Page 48 4
PARTISIPASI TOTAL/SEBAGIAN Contoh: Mahasiswa – orang tua Buku perpustakaan – mahasiswa Mahasiswa – mata kuliah Ibu – anak Suami – istri Mata kuliah – ruang kelas Pelanggan membuat order Supplier men-supply barang
Page 49 4
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? • Jawabannya adalah dengan menggunakan KEY. Page 50
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
Page 51 5
Jenis-jenis Key • • • •
Super Key Candidate Key Primary Key Alternate Key
Page 52 5
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 53
TABEL MAHASISWA NRP 0472001 0472002 0472003 0472004 0472005 0472006 0472007 0472008
Nama Ria Riny Erica John Lucas Paul Philip Mary
Alamat Jl. Badak 2 Jl. Sapi 3 Jl. Macan 1 Jl. Riau 3 Jl. Duku 4 Jl. Badak 5 Jl. Riau 30 Jl. Riau 3
Tgl_Lahir 11/09/85 12/01/85 09/09/84 01/03/85 04/03/85 01/03/85 01/03/85 03/03/83 Page 54 5
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}
Page 55 5
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.
Page 56 5
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 57
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)
Page 58 5
CONTOH • Contoh: Orang (No_KTP, nama, alamat) Bagaimana jika di alamat yang sama, tidak ada 2 orang yang bernama sama?
Page 59 5
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 Page 60 6
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. Page 61 6
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
Page 62 6
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!
Page 63
6
Key Pada Himpunan Relasi Pada umumnya, key pada himpunan relasi dibentuk 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}. Page 64 6
Alternate Key (kunci alternatif) • Adalah candidate key yang tidak dipilih menjadi primary key. • Contoh: {mahasiswa-nama, mahasiswaalamat} adalah candidate key, namun tidak dipilih menjadi primary key.
Page 65 6
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 Page 66 6
Latihan
Page 67
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? Page 68 6
Tentukan super key • Contoh: Pegawai (NIK, alamat, tgl_lahir, No_KTP) Orang (No_KTP, nama, tgl_lahir)
Page 69 6