perancangan basisdata

Post on 03-Jan-2016

82 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

Perancangan Basisdata

Tahap Perancangan Basis Data

1. Pembuatan ERD (Entity Relasionship Diagram)

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

Pembuatan ERD(tahap Logika)

1. Tahap pembuatan ERD awal (preliminary design)

2. Tahap optimasi ERD (final design).

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).

Tahap optimasi Diagram ER (final design).

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

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

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)

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

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)

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

Tranformasi Diagram ER/EER ke Relasi

• Memetakan Entitas Reguler (kuat)

PELANGGANNo_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan

Tipe entitas PELANGGAN

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

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

Pemetaan Entitas Lemah

PEGAWAI Memiliki

No_Pegawai Nama_Pegawai Nama_Tanggungan Tanggal_Lahir

TANGGUNGAN

Pemetaan Hubungan 1 to M

MengirimPELANGGAN

No_Pelanggan Nama_Pelanggan Nomor_Pesan Tanggal_Pesan

PESANAN

Pemetaan Hubungan M to M

MemintaPESANAN

No_Pesan Tgl_Pesan Kode_Produk Harga_Unit

PRODUK

Jumlah

Pemetaan Hubungan 1 to 1

MengepalaiDOSEN

No_Dosen Nama_Dosen Kode_Prodi Nama_Prodi

PROGRAM STUDI

Tanggal_Penugasan

atau

Pemetaan Entitas Asosiatif(Ternary)

PENGIRIMANPELANGGAN

No_Pelanggan Nama Kode_Vendor Nama_Vendor

VENDOR

TanggalNo_KirimJumlah

Barang

Kode_Barang Nama_Barang Alamat

Pemetaan Unary 1:N

PEGAWAI

No_Pegawai

Nama_PegawaiTgl_Lahir

Mengepalai

Pemetaan Unary M:M

ITEM

No_Item

Nama_ItemHarga_Unit

Tersusun_atasJumlah

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

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

Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…)

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

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

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

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:

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

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

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

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

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

top related