Perancangan database bagian i
Sponsored Links
This presentation is the property of its rightful owner.
1 / 34

Perancangan Database Bagian I* PowerPoint PPT Presentation


  • 154 Views
  • Uploaded on
  • Presentation posted in: General

Perancangan Database Bagian I*. *diadopsi dari Abdul Kadir, 2005. Nomor_Peg. Nama. 05001. Karmen. 05002. Tigor. 05003. Sita Devi. Model Data Relasional. Data direprentasikan dalam tabel berdimensi dua Tiga komponen yang mendasari model data relasional: Struktur data

Download Presentation

Perancangan Database Bagian I*

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Perancangan DatabaseBagian I*

*diadopsi dari Abdul Kadir, 2005


Nomor_Peg

Nama

05001

Karmen

05002

Tigor

05003

Sita Devi

Model Data Relasional

  • Data direprentasikan dalam tabel berdimensi dua

  • Tiga komponen yang mendasari model data relasional:

    • Struktur data

    • Pemanipulasi data

    • Integritas data


Nomor_Peg

Nama

05001

Karmen

05002

Tigor

05003

Sita Devi

Model Data Relasional

  • Istilah relasi (relation) menyatakan nama tabel

    • Contoh:

      PEGAWAI(Nomor_Peg, Nama)

Struktur data


Relasi

  • 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

Kunci primer

PEGAWAI(Nomor_Peg, Nama)


Kunci

  • Kunci dapat dibedakan menjadi:

    • Kunci sederhana : Terdiri atas sebuah atribut

    • 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.(( tidak ada ketentuan nilainya beda) foreign key) biasa digunakan sebagai penghubung ke relasi lain

Kunci asing

PELANGGAN

Kd_Pelanggan

Nama

Kd_Kota

A001

Aditya

0501

KOTA

B001

Bakdi

0502

Kd_Kota

Nama_Kota

B002

Bramanto

0502

0501

Semarang

0502

Salatiga

Kunci primer

0503

Kendal


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)


Sifat Relasi

  • Setiap relasi memiliki nama yang unik

  • Setiap isian pada perpotongan baris dan kolom harus bersifat atomik (bernilai tunggal)

  • Setiap baris bersifat unik

  • Setiap atribut memiliki nama yang unik

  • Urutan kolom tidak penting

  • Urutan baris juga tidak penting


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(kemungkinan nilai)

  • 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

Keadaan Awal:

Kd_Pelanggan

Nama

Kd_Kota

Kd_Kota

Nama_Kota

A001

Aditya

0501

0501

Semarang

B001

Bakdi

0502

0502

Salatiga

B002

Bramanto

0502

0503

Kendal


Efek Tanpa Integritas Referensial

Keadaan Setekah data 0502 pada KOTA dihapus:

0502

Salatiga

Kd_Pelanggan

Nama

Kd_Kota

Kd_Kota

Nama_Kota

A001

Aditya

0501

0501

Semarang

B001

Bakdi

0502

0503

Kendal

B002

Bramanto

0502

Menjadi

tidak konsisten


Efek Integritas Referensial

Keadaan Setekah data 0502 pada KOTA dihapus:

0502

Salatiga

Kd_Pelanggan

Nama

Kd_Kota

Kd_Kota

Nama_Kota

A001

Aditya

0501

0501

Semarang

B002

Bramanto

0502

0503

Kendal

Ikut terhapus! atau penghapusan ditolak

B001

Bakdi

0502


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


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


Anomali

  • Anomali penyisipan

  • Anomali penghapusan

  • Anomali peremajaan


Anomali Peremajaan

  • Terjadi bila terdapat pengubahan pada sejumlah data yang redundan, tetapi tanpa sengaja tidak semua ikut diubah

Pemasok Citra pindah ke Bogor dan

Pengubahan dilakukan hanya pada

data pertama


Anomali Penyisipan

  • Terjadi bila ada penambahan data

  • Perhatikan contoh disamping

  • Masalah: “Bagaimana caranya menyimpan fakta bahwa ruang baru bernama Arjuna ada pada gedung selatan?”


Anomali Penghapusan

  • Terjadi kiranya sesuatu baris yang tak terpakai dihapus dan sebagai akibatnya terdapat data lain yang hilang

  • Perhatikan contoh di samping

  • Apa yang terjadi seandainya data bahwa siswa dengan identitas 12 dihapus? Data yang menyatakan bahwa biaya kursus bahasa Jepang juga akan terhapus


Tranformasi Diagram ER/EER ke Relasi

  • Memetakan Entitas Reguler (kuat)

Nama_Pelanggan

Tipe entitas PELANGGAN

No_Pelanggan

PELANGGAN

Alamat_Pelanggan

Relasi PELANGGAN

No_Pelanggan

Nama_Pelanggan

Alamat_Pelanggan


Tranformasi Diagram ER ke Relasi

  • Memetakan Entitas dengan Atribut Komposit

Jalan

Nama_Pelanggan

Kota

Kode_Pos

Tipe entitas PELANGGAN dengan atribut komposit

No_Pelanggan

PELANGGAN

Alamat_Pelanggan

Relasi PELANGGAN

No_Pelanggan

Nama_Pelanggan

Jalan

Kota

Kode_Pos


Tranformasi Diagram ER ke Relasi

  • Memetakan Entitas dengan Atribut Bernilai Ganda

Nama_Pegawai

No_Pegawai

Alamat_Pegawai

Tipe entitas PEGAWAI dengan atribut bernilai ganda

PEGAWAI

Keterampilan

No_Pegawai

Nama_Pegawai

Alamat_Pegawai

Relasi PEGAWAI

No_Pegawai

Keterampilan

Relasi KETERAMPILAN PEGAWAI


Pemetaan Entitas Lemah

No_Pegawai

Nama_Pegawai

Nama_Tanggungan

Tanggal_Lahir

Memiliki

PEGAWAI

TANGGUNGAN

No_Pegawai

Nama_Pegawai

Relasi PEGAWAI

No_Pegawai

Nama_Tanggungan

Tanggal_Lahir

Relasi TANGGUNGAN


Pemetaan Hubungan 1 to M

No_Pelanggan

Nama_Pelanggan

Nomor_Pesan

Tanggal_Pesan

Mengirim

PELANGGAN

PESANAN

No_Pelanggan

Nama_Pelanggan

Relasi PELANGGAN

No_Pesan

Tanggal_Pesan

No_Pelanggan

Relasi PESANAN


Pemetaan Hubungan M to M

No_Pesan

Tgl_Pesan

Kode_Produk

Harga_Unit

Jumlah

Meminta

PESANAN

PRODUK

No_Pesan

Tgl_pesan

Relasi PESANAN

No_Pesan

Kode_Produk

Jumlah

Relasi BARIS PESANAN

Kode_Produk

Harga_Unit

Relasi PRODUK


Pemetaan Hubungan 1 to 1

No_Dosen

Nama_Dosen

Kode_Prodi

Nama_Prodi

Tanggal_Penugasan

Mengepalai

DOSEN

PROGRAM STUDI

No_Dosen

Nama_Dosen

Relasi DOSEN

Kode_Prodi

Nama_Prodi

No_Dosen

Tanggal_penugasan

Relasi PROGRAM STUDI


Pemetaan Entitas Asosiatif(Ternary)

No_Pelanggan

Nama

Vendor

Alamat

Tanggal

No_Kirim

Jumlah

PENGIRIMAN

PELANGGAN

VENDOR

No_Pelanggan

Nama

Relasi PELANGGAN

Relasi PENGIRIMAN

No_Kirim

Tanggal

Jumlah

No_Pelanggan

Kode_Vendor

Kode_Vendor

Alamat

Relasi VENDOR


Pemetaan Unary 1:N

Nama_Pegawai

No_Pegawai

Tgl_Lahir

PEGAWAI

Mengepalai

No_Pegawai

Nama_Pegawai

Tgl_lahir

ID_Manajer

Relasi PEGAWAI


Pemetaan Unary M:M

Nama_Item

Harga_Unit

No_Item

ITEM

Tersusun_atas

Jumlah

No_Item

Nama_Item

Harga_Unit

Relasi ITEM

No_Item

No_Komponen

Jumlah

Relasi KOMPONEN


Pemetaan Hubungan Supertipe/Subtipe

Nama_Pegawai

Alamat

PEGAWAI

Nomor_Pegawai

Tgl_Mulai_Kerja

Tipe_Pegawai:

d

“K”

“H”

“T”

PEGAWAI HARIAN

PEGAWAI TETAP

PEGAWAI KONTRAK

Kompensasi

Upah_Harian

Gaji_Bulanan

Tunjangan

Nomor_Kontrak

Lama_Kontrak


Pemetaan Hubungan Supertipe/Subtipe (Lanjutan…)

  • Model relasional tidak mendukung hubungan supertipe/subtipe secara langsung

  • Strategi pemecahan untuk kasus di depan:

    • Buat relasi terpisah untuk masing-masing supertipe dan subtipe

    • Berikan atribut-atribut yang umum (termasuk kunci primer) ke supertipe

    • Masukkan pembeda subtipe pada supertipe

    • Tambahkan kunci primer pada supertipe ke semua subtipe


Solusi Pemetaan Hubungan Supertipe/Subtipe

Nomor_Pegawai

Nama_Pegawai

Alamat

Tgl_Mulai_Kerja

Tipe_Pegawai

PEGAWAI

Nomor_Pegawai

Upah_Harian

PEGAWAI HARIAN

Nomor_Pegawai

Gaji_Bulanan

Tunjangan

PEGAWAI TETAP

Nomor_Pegawai

Nomor_Kontrak

Lama_Kontrak

Kompensasi

PEGAWAI KONTRAK


Tugas

  • 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


  • Login