Pemodelan Data 2

17
Pemodelan Data (2) Pemodelan Data (2)

description

Materi ini saya dapatkan saat matakuliah BasisData di Semester 2

Transcript of Pemodelan Data 2

Page 1: Pemodelan Data 2

Pemodelan Data (2)Pemodelan Data (2)

Page 2: Pemodelan Data 2

Konsep Foreign KeyKonsep Foreign Key Foreign key adalah kolom yang diambil dari primary Foreign key adalah kolom yang diambil dari primary

key entitas lain yang menggunakan hubungan antar 2 key entitas lain yang menggunakan hubungan antar 2 tabel tsb.tabel tsb.

FaktaFakta

Adi, Budi dan Cici bekerja pada Adi, Budi dan Cici bekerja pada bagian Persinalia. Sedangkan bagian Persinalia. Sedangkan Rudi dan Santo bekerja pada Rudi dan Santo bekerja pada bagian Gudangbagian Gudang

Dari fakta diatas dan panah relasi Dari fakta diatas dan panah relasi sebelah kiri, bagaimana cara sebelah kiri, bagaimana cara menuliskan data yang menuliskan data yang menunjukkan hubungan/relasi menunjukkan hubungan/relasi antar tabel pegawai dan antar tabel pegawai dan departemen?departemen?

Page 3: Pemodelan Data 2

Konsep Foreign KeyKonsep Foreign Key

Ada 3 alternatif untuk menyimpan data relasiAda 3 alternatif untuk menyimpan data relasi1.1. Membuat tabel baru yang field-fieldnya berisi primari key Membuat tabel baru yang field-fieldnya berisi primari key

kedua tabelkedua tabel2.2. Primary key di tabel pegawai ditempatkan pula pada tabel Primary key di tabel pegawai ditempatkan pula pada tabel

departemendepartemen3.3. Primary key dari tabel departemen ditempatkan pula pada Primary key dari tabel departemen ditempatkan pula pada

tabel pegawaitabel pegawai

Alternatif 1 dan 2 Alternatif 1 dan 2 tidak dipakaitidak dipakai karena mengakibatkan pengulangan karena mengakibatkan pengulangan yang tidak perlu (boros). Alternatif ke-3 dipilih, sehingga struktur yang tidak perlu (boros). Alternatif ke-3 dipilih, sehingga struktur tabelnya menjadi:tabelnya menjadi:

Kolom DEP_Nomor dan Kolom DEP_Nomor dan DEP_Nama pada tabel Pegawai DEP_Nama pada tabel Pegawai disebut dengan disebut dengan foreign keyforeign key, karena , karena diambil dari primary key entitas laindiambil dari primary key entitas lain

Page 4: Pemodelan Data 2

Derajat kardinalitas relasi Derajat kardinalitas relasi (Cardinality Ratio)(Cardinality Ratio)

Kardinalitas relasi menunjukkan jumlah Kardinalitas relasi menunjukkan jumlah maksimum data entitas yang dapat berelasi maksimum data entitas yang dapat berelasi dengan entitas lain dengan entitas lain

Page 5: Pemodelan Data 2

8lokasi

Pegaw ai Departem en

Proyek

Tanggungan

m em im pin

(0,N)

(0,1)

m enanggung

bekerj apada

(0,N) m engatur

(1,1)

(0,N)

m engepalai(0,1)

bekerj auntuk

Nam a

Nm Depan Inis ial Nm Blk

JenisKel

Alam at Gaj i

NoKTP

Nam aJenisKel TglLahir

Hubungan

Nom or Nam a Lokasi

nam a nom or

TglM ulai

Lam aJam

Jm lPegaw ai

(1,N)(1,1)

(1,1)

(1,N)

(1,N)

(1,1)

ERD PerusahaanERD Perusahaan

Page 6: Pemodelan Data 2

Satu ke satu (one to one)Satu ke satu (one to one)

Setiap data pada entitas A berhubungan Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, dengan maksimal satu data pada entitas B, begitu pula sebaliknya begitu pula sebaliknya

Contoh:Contoh:data 1

data 2

data 3

data 4

data 1

data 2

data 3

data 4

Entitas A Entitas B

relasi “mengepalai” antara relasi “mengepalai” antara entitas Pegawai dengan entitas Pegawai dengan entitas Departemenentitas Departemen

Page 7: Pemodelan Data 2

Satu ke Banyak (one to many)Satu ke Banyak (one to many)

Setiap data pada entitas A bisa berhubungan Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya pada entitas B berhubungan maksimal hanya dengan sebuah data di A dengan sebuah data di A

Contoh:Contoh:

relasi “menanggung” antara relasi “menanggung” antara entitas pegawai terhadap entitas pegawai terhadap entitas tanggunganentitas tanggungan

Page 8: Pemodelan Data 2

Banyak ke Satu (many to one)Banyak ke Satu (many to one)

Merupakan kebalikan dari relasi Merupakan kebalikan dari relasi satu-ke-satu-ke-banyakbanyak

Contoh:Contoh:

relasi “bekerja untuk” pada relasi “bekerja untuk” pada entitas pegawai terhadap entitas entitas pegawai terhadap entitas departemen departemen

data 1

data 2

data 3

data 4

data 1

data 2

data 3

Entitas A Entitas B

Page 9: Pemodelan Data 2

Banyak ke banyak Banyak ke banyak (many to many)(many to many)

Setiap data pada entitas A bisa berhubungan Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian dengan banyak data pada entitas B, demikian pula sebaliknyapula sebaliknya

Contoh:Contoh:

relasi “bekerja pada” pada entitas relasi “bekerja pada” pada entitas Pegawai terhadap entitas proyekPegawai terhadap entitas proyek

data 1

data 2

data 3

data 4

data 1

data 2

data 3

data 4

Entitas A Entitas B

Page 10: Pemodelan Data 2

Batasan Partisipasi Batasan Partisipasi (Participation Constraint)(Participation Constraint)

Menentukan apakah keberadaan sebuah entitas Menentukan apakah keberadaan sebuah entitas tergantung pada hubungannya ke entitas lain tergantung pada hubungannya ke entitas lain melalui jenis relasinyamelalui jenis relasinya Ada 2 jenis:Ada 2 jenis:

1. 1. Partisipasi TotalPartisipasi Total partisipasi pegawai dalam relasi “bekerja partisipasi pegawai dalam relasi “bekerja untuk”, memberikan arti bahwa setiap data pada pegawai, harus untuk”, memberikan arti bahwa setiap data pada pegawai, harus direlasikan pada sebuah departemen. Atau tidak ada data pegawai direlasikan pada sebuah departemen. Atau tidak ada data pegawai yang tidak berelasi dengan data departemen yang tidak berelasi dengan data departemen

2. 2. Partisipasi sebagianPartisipasi sebagian partisipasi pegawai dalam relasi “mengepalai” partisipasi pegawai dalam relasi “mengepalai” terhadap departemen, tidak setiap data pada pegawai dihubungkan terhadap departemen, tidak setiap data pada pegawai dihubungkan dengan departemen dengan relasi ini. Atau tidak semua pegawai dengan departemen dengan relasi ini. Atau tidak semua pegawai mengepalai departemenmengepalai departemen

Page 11: Pemodelan Data 2

Derajat Relasi MinimumDerajat Relasi Minimum

Menunjukkan hubungan (korespondensi) minimum Menunjukkan hubungan (korespondensi) minimum yang boleh terjadi dalam sebuah relasi antar yang boleh terjadi dalam sebuah relasi antar entitas. entitas.

Notasi (x,y) pada relasi menunjukkan derajat Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada minimum (x) dan derajat maksimum (y) pada sebuah relasi sebuah relasi

Partisipasi total bisa dinotasikan dengan Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1 memberikan derajat relasi minimum (x) = 1

Contoh:Contoh:

pada relasi “bekerja untuk” pada entitas pegawai terhadap pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satudepartemen Derajat relasi minimumnya adalah satu

Page 12: Pemodelan Data 2

Notasi lain untuk relasiNotasi lain untuk relasi

Page 13: Pemodelan Data 2

Macam relasiMacam relasi

relasi Biner (binary relation)relasi Biner (binary relation) relasi tunggal (unary relation)relasi tunggal (unary relation) relasi Multi entitas (n-ary relation)relasi Multi entitas (n-ary relation) relasi ganda (redundant relation)relasi ganda (redundant relation)

Page 14: Pemodelan Data 2

Relasi Biner (Binary Relation)Relasi Biner (Binary Relation)

Merupakan relasi yang terbentuk antar 2 Merupakan relasi yang terbentuk antar 2 buah entitasbuah entitas

Contoh:Contoh:

relasi “bekerja pada” pada entitas pegawai terhadap relasi “bekerja pada” pada entitas pegawai terhadap

entitas proyekentitas proyek

Page 15: Pemodelan Data 2

Relasi Tunggal (Unary Relation)Relasi Tunggal (Unary Relation)

Merupakan relasi yang terjadi dari sebuah Merupakan relasi yang terjadi dari sebuah entitas ke entitas yang sama entitas ke entitas yang sama

Contoh:Contoh:

relasi memimpin pada entitas pegawairelasi memimpin pada entitas pegawai

Pegaw ai

m em im pin

(0,N)

(0,1)

Page 16: Pemodelan Data 2

Relasi Multi Entitas Relasi Multi Entitas (N-ary Relation)(N-ary Relation)

Merupakan relasi dari 3 buah entitas atau Merupakan relasi dari 3 buah entitas atau lebih. Seharusnya dihindari, karena akan lebih. Seharusnya dihindari, karena akan mengaburkan derajat relasi yang ada dalam mengaburkan derajat relasi yang ada dalam relasi. relasi.

Contoh:Contoh:Instruktur Sem esterM enaw arkan

Kursus

Nam a

NoKursus

Tahun IDSem ester

Page 17: Pemodelan Data 2

Relasi Ganda Relasi Ganda (Redundant Relation)(Redundant Relation)

Relasi yang jumlahnya lebih dari satu untuk Relasi yang jumlahnya lebih dari satu untuk dua buah entitas dua buah entitas

Contoh:Contoh:

Pegaw ai Departem en

m engepalai(0,1)

bekerj auntuk (1,N)(1,1)

(1,1)