• Tidak ada hasil yang ditemukan

BASIS DATA (BS203) MODEL RELASIONAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "BASIS DATA (BS203) MODEL RELASIONAL"

Copied!
57
0
0

Teks penuh

(1)

BASIS DATA (BS203)

k_doroedi@yahoo.com fb: NDoro Edi

(2)

Outline

• Pendahuluan

– Model Data Relational & Syarat

• Transformasi Model ER  Model Relasi

– Himpunan Entitas, yg memiliki • Atribut komposit

• Atibut bernilai banyak – Himpunan Entitas Lemah – Relasi Biner, Unary, N-Ary

– Implementasi Spesialisasi/Generalisasi – Agregasi

(3)

Transformasi

• Model Relasional adalah sebuah

struktur yang paling banyak

digunakan oleh sebagian DBMS.

• Oleh karena itu akan disajikan cara

transformasi E-R Diagram ke dalam

Model Basis Data Relasional

.

(4)

Contoh ER-D

4 Mahasiswa NRP Nama Alamat Tgl_Lahir

(5)

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

(6)

Model Basis Data Relasional

• Model basis data relasional

mempresentasikan basis data sebagai

sekumpulan tabel. Masing-masing tabel mempunyai nama yang unik.

• Baris data (Row/Record) pada tabel

mempresentasikan sekumpulan nilai yang saling berhubungan.

• Setiap nilai dihubungkan kepada sebuah atribut.

(7)

Syarat

1. Setiap relasi mempunyai nama yang unik.

2. Tak ada tupel (baris) yang kembar. 3. Urutan tupel tidaklah penting

(tupel-tupel dapat dipandang dalam sembarang urutan).

4. Setiap atribut (kolom) memiliki nama yang unik.

5. Letak atribut bebas (urutan atribut tidak penting).

6. Setiap atribut memiliki nilai tunggal dan

(8)

Transformasi Himpunan

Entitas

• Himpunan entitas kuat dengan atribut a1, a2, …, an diimplementasikan sebagai

sebuah tabel dengan n kolom yang unik

(satu kolom per atribut). • Setiap baris pada tabel

merepresentasikan satu entitas dari himpunan entitas.

• Kita dapat menambah, menghapus, dan mengubah baris pada tabel.

(9)

Transformasi Himpunan

Entitas dengan Atribut

Komposit

• Atribut Komposit

diratakan dengan

membuat kolom baru untuk setiap

komponen dari atribut komposit

.

(10)

Contoh

Relation schema: Customer-schema = (customer-id,

first-name, middle-initial, last-first-name, street-number, street-first-name, apartment-number,city,state,zip-code)

(11)

Entitas Customer dengan atribut komposit

(12)

Atribut Bernilai Banyak

(

Multi Valued Attribute

)

• Atribut Bernilai Banyak (misal disebut M)

dari himpunan entitas E direpresentasikan

dengan tabel EM yang terpisah.

 Tabel EM mempunyai atribut yang terdiri dari kunci primer E dan atribut M yang bernilai banyak.

 Setiap nilai dari Atribut Bernilai Banyak

(13)

Contoh

 Tabel EM (Customer-PhoneNumber)

◦ Relation Schema: terdiri dari kunci primer E dan atribut M

 Customer-Schema = (customer-id, date-of-birth)

 Customer-PhoneNumber-Schema= (customer-id, phone-number)

M

(14)

Integritas Referensial

Customer

(15)

Relasi Satu ke Banyak antara entitas awal dengan relasi baru (a)

Atribut Bernilai Banyak menjadi relasi terpisah dengan kunci tamu (b)

(16)

Latihan 3

DOSEN NIK Nama Nama_d Nama_b Alamat Gelar

(17)

Himpunan Entitas Lemah

 Himpunan entitas lemah dengan atribut a1, a2, …,

an dan himpunan entitas kuatnya dengan kunci primer b1, b2, …, bm direpresentasikan sebagai tabel dengan n+m kolom, satu untuk setiap {a1, a2, …, an} U {b1, b2, …, bm}. b1, b2, …, bm

adalah kunci tamu dari yang menunjuk pada himpunan entitas kuat.

 Pada penghapusan data, bila data pada himpunan entitas yang kuat dihapus, data dengan kunci

primer tersebut juga harus dihapus dari himpunan entitas lemah.

(18)

Hasil Relasi

Foreign key

Primary key

loan Loan-payment payment Loan-number amount

Payment-number

Payment-date

(19)
(20)

Foreign key

(21)

Latihan 5

Punya Hobbi Nama Mahasiswa NRP Alamat Nama

(22)

Punya OrangTua Pekerjaan Mahasiswa NRP Alamat Nama Nama Nama_d Nama_b Alamat Jalan Kota

(23)

Transformasi Relasi Biner

• Terdiri dari

– Transformasi relasi 1 : 1 (1-1)

– Transformasi relasi 1 : N atau N : 1

(1-N/N-1)

(24)

Transformasi

Himpunan Relasi 1 : 1

• Untuk mentransformasikan relasi dengan Derajat Relasi 1-1 yang menghubungkan 2 buah himpunan entitas (S dan T), pilih salah satu relasi (katakan S) dan tambahkan dengan kunci primer T plus atribut dari himpunan relasi tersebut.

• Dalam hal memilih relasi, pilihlah yang jumlah row-nya lebih sedikit atau yang ukuran

(25)

Transformasi

Himpunan Relasi 1 : 1

nik nama_dos alamat_dos Dosen nama_dos alamat_dos nik Mengepalai Jurusan nama_jur kode_jur kode_jur nama_jur Tabel: Dosen Tabel: Jurusan

nik

(26)

Transformasi

Himpunan Relasi 1 : N atau N : 1

• Untuk mentransformasikan relasi dengan Derajat Relasi 1-N atau N-1 yang menghubungkan 2

buah himpunan entitas (S dan T), pilih relasi yang berderajat N (katakan S) dan tambahkan kunci primer T (yang berderajat 1) plus atribut dari himpunan relasi tersebut. Dengan kata lain, kunci primer dari relasi yang berderajat satu

menjadi kunci tamu di relasi yang berderajat banyak.

(27)

Transformasi

Himpunan Relasi 1 : N atau N : 1

kode_kul nama_kul Dosen

nama_dos alamat_dos

nik Mengajar Kuliah

kode_kul nama_kul waktu Tabel: Kuliah nik waktu Foreign key Atribut relasi nik nama_dos alamat_dos

(28)

Transformasi Himpunan Relasi

M:N

Untuk mentransformasikan relasi dengan Derajat Relasi N-N yang menghubungkan 2 buah himpunan entitas (S dan T), tambahkan tabel khusus dengan kolom: kunci primer dari himpunan entitas S plus kunci primer dari

himpunan entitas T plus atribut dari himpunan relasi tersebut.

(29)

Translasi Relasi M:N

nim kode_kul nilai Mahasiswa nim nama_mhs alamat_mhs tgl_lahir Kuliah kode_kul nama_kul Mempelajari nilai Foreign key ke tabel Mahasiswa Foreign key ke tabel Kuliah Primary key

Tabel khusus yang mewakili Relasi Mempelajari:

Tabel Mempelajari/Tabel Nilai

(30)

KUNCI TAMU

(

FOREIGN KEY)

• Kunci Tamu (kadang disebut kunci asing)

adalah

sembarang atribut yang menunjuk

ke kunci primer pada tabel lain

.

• Kunci tamu dapat menunjuk pada tabel

yang sama (tabel sendiri) – tidak selalu

harus menunjuk pada tabel yang lain.

(31)

Implementasi Relasi Tunggal

(Unary Relation)

Satu ke Banyak: penggunaan field key dua kali tetapi untuk fungsi yang berbeda.

Banyak ke Banyak:

◦ pembentukan tabel baru yang

merepresentasikan relasi tersebut.

◦ Tabel baru ini mendapatkan field dari semua atribut relasi (jika ada) yang ditambah dengan atribut key dari himpunan entitasnya.

Satu ke Satu: merupakan kasus khusus

(32)

Contoh Unary 1:N

employee-id employee-name Tabel : Employee

(33)
(34)

Hasil Unary M : N

• Tabel : Mahasiswa

• Tabel : Praktikum

NRP Nama TglLahir NRP-Peserta NRP-Asisten-Praktikum

(35)

Contoh Unary 1:1

• Tabel : Orang

(36)

Implementasi Relasi Multi

Entitas (N-ary Relation)

Relasi Multi Entitas dengan atribut a1, a2,

…, an yang menghubungkan himpunan

entitas Ei’s (katakan ada m himpunan

entitas): direpresentasikan dengan sebuah

tabel yang mempunyai n+m kolom, satu

untuk setiap {a1, a2, …, an} U

{primer(E1), primer(E2), …,

kunci-primer(Em)}

(37)

Contoh Ternary

jabatan cabang pegawai nik nama kota alamat nm-cabang kota kd-cab id-jab bekerja nm-jab

(38)

Hasil Relasi Ternary

• Skema Relasi (

Relation Schema

)

– Pegawai (NIK, nama, alamat, kota)

– Jabatan (id-jab, nm-jab)

– Bekerja (NIK, id-jab, kd-cab)

(39)

Integritas Referensial

(Ternary)

(40)

Implementasi

Spesialiasi/Generalisasi

• Cara 1:

– Buat tabel untuk entitas superior (higher-level entity/lebih tinggi)

– Buat sebuah tabel untuk entitas yang ada di bawahnya (sub entitas/ lower-level entity), termasuk dari primary key superior entitas + atribut sub entitas.

• Kerugian cara 1:

– Untuk mendapatkan informasi mengenai sub entitas harus mengakses 2 buah tabel

(41)

Implementasi

Spesialiasi/Generalisasi

• Cara 2:

– Buat tabel untuk setiap himpunan entitas dengan semua atribut lokal (di sub entitas) + atribut yg diwariskan.

– Kalau cara ini digunakan untuk generalisasi yg ‘overlapping’, maka beberapa nilai seperti alamat dan kota akan disimpan 2 kali dengan sia-sia.

(42)

Implementasi

Spesialiasi/Generalisasi

• Cara 3:

– Kalau generalisasinya disjoint dan total, tidak perlu membuat tabel untuk himpunan entitas superior.

– Kalau generalisasinya ‘partial’, entitas yang tidak termasuk sub entitas manapun tidak dapat direpresentasikan.

(43)

Guidance

 Total Overlap & Partial Overlap  cara 1

lebih baik (tidak akan ada pengulangan data terlalu banyak pada tabel sub-entitas)

 Partial + disjoint  cara 1 atau cara 2 tetapi tabel superior harus ada agar entitas yang tidak termasuk pada sub entitas manapun dapat tetap direpresentasikan

 Total + disjoint  cara 3

tanpa tabel superior karena setiap entitas pasti menjadi anggota dari salah satu sub entitas

(44)

Contoh Total + Disjoint

(45)

Transformasi Total + Disjoint

• Skema Relasi • Cara 1

– Karyawan (NIK, Nama, Alamat, Tgl-Gajian, Tipe Karyawan) – Karyawan Tetap (NIK, Gaji-Bulanan)

– Karyawan Harian (NIK, Honor-per-jam) • Cara 2

– Karyawan (NIK, Nama, Alamat, Tgl-Gajian, Tipe Karyawan) – Karyawan Tetap (NIK, Nama, Alamat, Tgl-Gajian, Tipe

Karyawan, Gaji-Bulanan)

– Karyawan Harian (NIK, Nama, Alamat, Tgl-Gajian, Tipe Karyawan, Honor-per-jam)

• Cara 3

– Karyawan Tetap (NIK, Nama, Alamat, Tgl-Gajian, Tipe Karyawan, Gaji-Bulanan)

– Karyawan Harian (NIK, Nama, Alamat, Tgl-Gajian, Tipe Karyawan, Honor-per-jam)

(46)

Latihan 1

Employee birthdate NoKTP Address JobType Name

Secretary Technician Engineer

TypingSpeed TGrade EngType

(47)

Latihan 2

Major-Dept Person Name Address NoKTP Birth-date Employee Student Alumnus Salary Degrees Degree Major Year ISA

(48)

Implementasi Agregasi

• Untuk merepresentasikan agregasi,

buat tabel baru yang memiliki:

Kunci primer dari relasi agregasi

Kunci primer dari entitas-entitas yang

dihubungi oleh relasi agregasi

(49)
(50)

Skema Relasi Agregasi

• Mahasiswa (NRP, NamaMhs)

• Kuliah (KodeMK, NamaMK)

• Mempelajari (NRP, KodeMK, Waktu)

• Praktikum (kode_pra, nama_pra, jumlah_jam)

• Mengikuti (NRP, KodeMK, kode_pra, nilai)

(51)
(52)

Integritas Basis Data

• Integritas Keunikan Data (Key

Constraints): setiap baris pada tabel

harus unik. Tidak boleh ada dua baris

yang sama.

• Integritas Domain Data (Domain

Constraints): nilai untuk setiap atribut

harus benar berdasarkan domain dari

atribut tersebut.

o Contoh: umur  integer; 4 boleh dan

4.3 tidak boleh!

(53)

Integritas Basis Data

• Integritas Referensial (Referential

Integrity Constraints): bila salah satu

baris pada tabel menunjuk pada baris di

tabel lain (

kunci tamu

), baris yang ditunjuk

tersebut harus

ada

. Dengan kata lain, nilai

dari kunci tamu harus ada sebagai kunci

primer di tabel yang ditunjuk.

• Integritas Entitas (Entity Integrity

Constraints):

kunci primer tidak boleh

(54)

Integritas Referensial

Ada 4 hal yang dapat dilakukan untuk

menjaga integritas referensial:

1. Tidak memperbolehkan

menghapus/mengubah data di tabel

utama jika ada tabel lain yang menunjuk pada data tersebut melalui kunci tamu. 2. Jika menghapus data di tabel utama,

data di tabel yang menunjuk pada tabel utama tersebut juga turut dihapus.

(55)

Integritas Referensial (2)

3. Jika menghapus data pada tabel utama, kita dapat membuat nilai dari kunci tamu pada tabel yang menunjuk pada tabel

utama NULL. Tetapi hal ini tidak

diperbolehkan untuk himpunan entitas lemah.

4. Jika data ditambahkan pada tabel yang menunjuk pada tabel utama tetapi data tersebut tidak ada di tabel utama,

(56)
(57)

Rangkuman Kuliah Model Relasional

• Pendahuluan

– Model Data Relational & Syarat

• Transformasi Model ER  Model Relasi – Himpunan Entitas, yg memiliki

• Atribut komposit

• Atibut bernilai banyak – Himpunan Entitas Lemah – Relasi Biner, Unary, N-Ary

– Implementasi Spesialisasi/Generalisasi – Agregasi

Gambar

TABEL MAHASISWA
Tabel khusus yang mewakili  Relasi Mempelajari:
tabel lain (kunci tamu), baris yang ditunjuk  tersebut harus ada. Dengan kata lain, nilai  dari kunci tamu harus ada sebagai kunci  primer di tabel yang ditunjuk

Referensi

Dokumen terkait

Metode yang kita terapkan disini yang membedakan dengan tempat lain pengulangan hafalan yang terdahulu, mengulang dua lembaran,m mengulang setiap juz, dalam bahasa

Kegiatan ini bertujuan untuk pengambilan sample dan pengolahan data radioaktivitas gross alpha dan gross beta di Instalasi Radiometalurgi (IRM) untuk mengetahui

Fenomena yang menarik adalah dalam tahun 2011 kemampuan informasi laporan keuangan dalam menjelaskan perubahan harga pasar saham jauh lebih rendah dibanding

a) Peneliti memberikan penjelasan tentang materi keliling dan luas persegi dan persegi panjang secara detail sampai siswa tidak ada yang bertanya lagi. b) Belajar

[r]

Penelitian ini bertujuan untuk menemukan persamaan gerak dari pendulum fisis gabungan menggunakan metode lagrangian dengan pendekatan sudut kecil, yang

Dengan ini saya menyatakan bahwa tesis Keterdedahan Iklan di Televisi dan Perilaku Khalayak (Kasus Iklan Produk Mie Instant di Televisi pada Dua Komunitas Urban dan Semi Urban

Untuk bergerak dengan baik dan dapat memetakan sirkuit, maka robot harus mampu mengukur dengan akurat jarak halangan(dinding) yang terdapat di depan atau disamping