perancangan basisdata

32
Perancangan Basisdata

Upload: juliet-sanford

Post on 03-Jan-2016

81 views

Category:

Documents


0 download

DESCRIPTION

Perancangan Basisdata. Tahap Perancangan Basis Data. Pembuatan ERD (Entity Relasionship Diagram) Pembuatan Struktur Tabel. Menentukan tipe data Menentukan Domain dan Constraint. Pembuatan ERD (tahap Logika). Tahap pembuatan ERD awal ( preliminary design ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Perancangan Basisdata

Perancangan Basisdata

Page 2: Perancangan Basisdata

Tahap Perancangan Basis Data

1. Pembuatan ERD (Entity Relasionship Diagram)

2. Pembuatan Struktur Tabel.– Menentukan tipe data– Menentukan Domain dan Constraint

Page 3: Perancangan Basisdata

Pembuatan ERD(tahap Logika)

1. Tahap pembuatan ERD awal (preliminary design)

2. Tahap optimasi ERD (final design).

Page 4: Perancangan Basisdata

Tahap awal (preliminary design)

1. Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database tersebut.

2. Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci (key)-nya

3. Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-himpunan entity yang ada.

4. Menentukan derajat relasi untuk setiap himpunan relasi, yang akan menjadi dasar penentuan kunci tamu (foreign key)- nya

5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).

Page 5: Perancangan Basisdata

Tahap optimasi Diagram ER (final design).

• Transformasi Relasi M-M• Pemetaan Hubungan Supertype/Subtype• Normalisasi Tabel

Page 6: Perancangan Basisdata

Relasi/ Tabel• Setiap relasi memiliki kunci primer

(primary key)• Kunci primer adalah atribut atau

sejumlah atribut yang menjadi pembeda setiap baris dalam relasi

• Kunci primer biasa dinyatakan dengan garis bawah

PEGAWAI(Nomor_Peg, Nama)

Kunci primer

Page 7: Perancangan Basisdata

Kunci • Kunci dapat dibedakan menjadi:

1. Kunci sederhana : Terdiri atas sebuah atribut

2. Kunci komposit : Tersusun atas dua atribut atau lebih

Kunci sederhana:PEGAWAI(Nomor_Peg, Nama)DEPARTEMEN(Kode_Dep, Nama_Dep)BARANG(Kode_Barang, Nama_Barang)

Kunci komposit:BARANG DIPESAN(No_Pesanan, Kode_Barang, Jumlah)NILAI(No_Mhs, Kode_Matakuliah,Skor)

Page 8: Perancangan Basisdata

Kunci Tamu• Kunci tamu (foreign key) biasa

digunakan sebagai penghubung ke relasi lain

Kd_Kota

Nama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan

Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0502

PELANGGAN

KOTA

Kunci primer

Kunci asing

Page 9: Perancangan Basisdata

Kunci Tamu (Lanjutan…)• Garis bawah terputus-putus biasa

dipakai untuk menyatakan kunci tamu

• Contoh:PELANGGAN(Kd_Pelanggan, Nama, Kd_Kota)

KOTA(Kd_Kota, Nama_Kota)

Page 10: Perancangan Basisdata

Relasi Berstruktur Baik• Suatu relasi dikatakan berstruktur baik

kalau :– Mengandung redundansi sesedikit

mungkin dan– Memungkinkan pemakai memasukkan,

mengubah, atau menghapus baris tanpa menimbulkan kesalahan atau tidak konsisten

• Kesalahan atau akibat tidak konsisten yang ditimbulkan pada ulasan di atas biasa dinamakan anomali

Page 11: Perancangan Basisdata

Tranformasi Diagram ER/EER ke Relasi

• Memetakan Entitas Reguler (kuat)

PELANGGANNo_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

Tipe entitas PELANGGAN

Page 12: Perancangan Basisdata

Tranformasi Diagram ER ke Relasi

• Memetakan Entitas dengan Atribut Komposit

Relasi PELANGGAN

PELANGGANNo_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

Tipe entitas PELANGGAN dengan atribut komposit

JalanKota

Kode_Pos

Page 13: Perancangan Basisdata

Tranformasi Diagram ER ke Relasi

• Memetakan Entitas dengan Atribut Bernilai Ganda

PEGAWAI

No_Pegawai

Nama_Pegawai

Keterampilan

Tipe entitas PEGAWAI dengan atribut bernilai ganda

Alamat_Pegawai

Page 14: Perancangan Basisdata

Pemetaan Entitas Lemah

PEGAWAI Memiliki

No_Pegawai Nama_Pegawai Nama_Tanggungan Tanggal_Lahir

TANGGUNGAN

Page 15: Perancangan Basisdata

Pemetaan Hubungan 1 to M

MengirimPELANGGAN

No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan

PESANAN

Page 16: Perancangan Basisdata

Pemetaan Hubungan M to M

MemintaPESANAN

No_Pesan Tgl_Pesan Kode_Produk Harga_Unit

PRODUK

Jumlah

Page 17: Perancangan Basisdata

Pemetaan Hubungan 1 to 1

MengepalaiDOSEN

No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi

PROGRAM STUDI

Tanggal_Penugasan

atau

Page 18: Perancangan Basisdata

Pemetaan Entitas Asosiatif(Ternary)

PENGIRIMANPELANGGAN

No_Pelanggan Nama Kode_Vendor Nama_Vendor

VENDOR

TanggalNo_KirimJumlah

Barang

Kode_Barang Nama_Barang Alamat

Page 19: Perancangan Basisdata

Pemetaan Unary 1:N

PEGAWAI

No_Pegawai

Nama_PegawaiTgl_Lahir

Mengepalai

Page 20: Perancangan Basisdata

Pemetaan Unary M:M

ITEM

No_Item

Nama_ItemHarga_Unit

Tersusun_atasJumlah

Page 21: Perancangan Basisdata

Pemetaan Hubungan Supertipe/Subtipe

PEGAWAI

d

PEGAWAI HARIANPEGAWAI TETAPPEGAWAI KONTRAK

Gaji_Bulanan

Nomor_Pegawai

Nama_Pegawai Alamat

Tgl_Mulai_Kerja

Upah_Harian Nomor_KontrakLama_KontrakTunjangan

Kompensasi

Tipe_Pegawai:

“H”

“K”“T

Page 22: Perancangan Basisdata

Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…)• Model relasional tidak mendukung

hubungan supertipe/subtipe secara langsung

• Strategi pemecahan untuk kasus di depan:

1. Buat relasi terpisah untuk masing-masing supertipe dan subtipe

2. Berikan atribut-atribut yang umum dalam supertipe

3. Masukkan pembeda subtipe pada supertipe4. Tambahkan kunci primer pada supertipe ke

semua subtipe

Page 23: Perancangan Basisdata

Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…)

Page 24: Perancangan Basisdata

Kekangan Integritas(Integrity Constraint)

• Tujuannya adalah untuk memfasilitasi penjagaan keakurasian dan integritas data dalam database (supaya tetap konsisten)

• Macamnya:– Kekangan domain– Integritas entitas– Integritas referensial– Kekangan operasional

Page 25: Perancangan Basisdata

Kekangan Domain• Memastikan data dalam domain yang

telah ditetapkan• Domain adalah kemungkinan nilai

terhadap suatu atribut• Contoh:

– A,B,C,D,E untuk nilai– TRUE untuk pria dan FALSE untuk wanita– INTEGER untuk menyatakan nilai bulat

• Dalam praktek, domain juga mencakup panjang data

• Contoh:– CHARACTER, SIZE 35– INTEGER, 3 DIGITS

Page 26: Perancangan Basisdata

Integritas Entitas• Memastikan bahwa data yang terkait

dengan kunci primer tidak terlanggar• Secara khusus, data Null pada kunci

primer akan ditolak• Null berarti nilai pada atribut tidak

pernah diberikan

Page 27: Perancangan Basisdata

Integritas Referensial• Memastikan bahwa konsistensi

antara dua buah relasi tetap terjaga

Kd_Kota Nama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0502

Keadaan Awal:

Page 28: Perancangan Basisdata

Efek Tanpa Integritas Referensial

Kd_Kota Nama_Kota

0501 Semarang

0502 Salatiga

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B001 Bakdi

B002 Bramanto

Kd_Kota

0501

0502

0502

Keadaan Setekah data 0502 pada KOTA dihapus:

Menjadi tidak konsisten

Page 29: Perancangan Basisdata

Efek Integritas Referensial

Kd_Kota Nama_Kota

0501 Semarang

0503 Kendal

Kd_Pelanggan Nama

A001 Aditya

B002 Bramanto

Kd_Kota

0501

0503

0502 Salatiga

Keadaan Setekah data 0502 pada KOTA dihapus:

B001 Bakdi 0502Ikut terhapus!

atau penghapusan

ditolak

Page 30: Perancangan Basisdata

Kekangan Operasional• Kekangan yang berhubungan dengan

aturan bisnis• Misalnya “Saldo tabungan tidak boleh

negatif”• Pada Access, kekangan seperti ini bisa

diimplementasikan pada Validation Rule.• Pada PostgreSQL, hal ini bisa

diimplementasikan dalam prosedur tersimpan

Page 31: Perancangan Basisdata

Solusi Pemetaan Hubungan Supertipe/Subtipe

Nomor_PegawaiNama_Pegawai AlamatTgl_Mulai_Kerja PEGAWAI

Nomor_Pegawai Upah_Harian PEGAWAI HARIAN

Nomor_PegawaiGaji_Bulanan PEGAWAI TETAP

Nomor_PegawaiNomor_Kontrak

PEGAWAI KONTRAK

Tunjangan

Lama_KontrakKompensasi

Tipe_Pegawai

Page 32: Perancangan Basisdata

PR• Suatu hasil ujian dinyatakan dengan

atribut seperti berikut:– No_Mhs– Nama_Mhs– Mataujian– No_Dosen_Penguji– Nama_Dosen_Penguji

• Gambarkan diagram E-R-nya• Kemudian ubahlah diagram E-R tersebut

ke relasi