BAB II - 2. Model Data Relasional

  Materi 

  Entity Sets 

  Relationship Sets 

  Design Issues 

  Mapping Constraints 

  Keys 

  E-R Diagram 

  Extended E-R Features 

  Design of an E-R Database Schema 

  Reduction of an E-R Schema to Tables

  

  Database dapat dimodelkan sebagai :

  

  • – Kumpulan entitas

  

  • – Relasi antar entitas
Entitas ? 

  “sesuatu” atau “objek” di dunia nyata yang dapat dibedakan dari objek lain 

  Kelompok objek independen yang dapat diidentifkasi dan memiliki kesamaan properti.

  Entitas digambarkan (dalam basis data) dengan menggunakan himpunan atribut. Entitas ? 

  Entitas dapat berupa objek nyata atau objek konseptual, contoh: Contoh entitas

  Poli Anak RS :

  

  Anak (pasien)

  

  Dokter

  

  Perawat

  

  Penyakit

  

  Obat Contoh entitas 

  Perpustakaan Brawijaya

   Buku

   Petugas

   Mahasiswa

   Dosen

   Peminjaman

   Pengembalian Contoh entitas Supermarket Barang Petugas/Kasir Transaksi Penjualan dan Pembelian

   Suplier BengkelMontir Sparepart PelangganServis Supplier Alat/inventarisTransaksi Contoh entitas

  BTN

  

  Nasabah

  

  Tabungan

  

  Pegawai

  

  Peminjaman

  

  Deposito

  

  Asuransi Representasi Entitas 

  Entitas digambarkan dalam bentuk persegi panjang dengan label yang menunjukkan nama entitas, umumnya berupa kata benda tunggal. Huruf pertama setiap kata label entitas ditulis dengan huruf kapital; contoh: Himpunan entitas Kumpulan entitas yang sejenis.

  Misal : himpunan data pegawai Semua entity dalam himpunan entity memiliki himpunan atribut yang sama Tiap himpunan entity memiliki kunci (key) Tiap atribut memiliki domain.

  

Entitas menunjuk kepada individu suatu objek sedangkan himpunan entitas menunjuk pada rumpun (family) dari individu tersebut Contoh himpunan entitas 

  Semua orang yang memiliki rekening di Bank (nasabah),

  

  Semua Pelanggan, Mahasiswa, Dokter

  ATRIBUT 

  Setiap Entitas memiliki atribut yang mendeskripsikan karakteristik (properti) dari entitas tersebut atau relasi

   Contoh :

   Customer = (Customer-Id, Customer- Name, Customer-Street, Customer-City)

   Setiap Atribut akan memiliki nilai (values)

  

Domain (Value Set)– Batas-batas nilai yang diperbolehkan bagi suatu atribut Atribut pada sistem Poli Anak RS : Anak (pasien) :  nama, tanggal lahir, riwayat penyakit, alamat, nama ortu, jenis kelamin

   Dokter : NIP, Nama, Alamat, Spesialisasi

   Perawat : NIP, Nama, ALamat

   Penyakit : Nama penyakit, gejala

   Obat : nama, dosis, harga, jenis(tablet/sirup) Atribut pada SIAKAD

  SIAKAD

  

  Mahasiswa : NIM, Nama, Alamat, Jurusan, Prodi, TTL,Agama, Nama ORTU, jenis Kelamin

  

  Mata Kuliah: Kode, Nama, SKS,Prasyarat, Status(W/P), semester

  

  Dosen : NIP, Nama, Alamat, Jenis Kelamin, Pangkat/Gol, Tipe-tipe Atribut 

  1. Simple dan Composite attributes

  

  2. Single-valued dan multi-valued attributes

  

  3. Derived attributes Atribut Simple/sederhana : Atribut yang terdiri atas komponen tunggal yang tidak dapat dibagi menjadi komponen yang lebih kecil; contoh: atribut jabatan dan gaji pada entitas Staf. Atribut sederhana juga disebut dengan atribut atomik.

  Atribut Komposit : Atribut yang dapat dibagi lagi dalam beberapa bagian; Atribut yang terdiri atas beberapa komponen independen (dapat berdiri sendiri);

contoh: atribut alamat pada entitas KantorCabang dengan nilai

(Jalan Prof. Dr. Soepomo, SH, No. 63, Yogyakarta, 55163). Atribut ini dapat dibagi menjadi jalan (Jalan Prof. Dr. Soepomo, SH,

  Atribut komposit

  Atribut Single-valued /tunggal: Atribut yang memuat nilai tunggal. Umumnya, atribut- atribut bernilai tunggal;

  • contoh: entitas KantorCabang memiliki nilai kode yang

    bersifat tunggal, misal B003.

  Multi-valued attributes : Aribut yang memuat beberapa nilai. Contoh: entitas KantorCabang memiliki atribut telepon, misal

kantor cabang B003 memiliki nomor telepon 0274-123 456 dan 0274-567 890. Contoh ini menunjukkan bahwa atribut telepon memiliki dua nilai (mungkin juga lebih dari dua) multi-valued attributes 

  Atribut multi-value dapat ditentukan

  nilai minimal (batas_bawah) dan nilai maksimal (batas_atas); pada contoh di atas, misalnya, nomor telepon kantor cabang ditentukan antara satu dan tiga nilai. Dengan kata lain, sebuah kantor cabang memiliki minimal satu nomor telepon dan sebanyak-banyaknya tiga nomor Atribut Turunan : Atribut yang menyatakan suatu nilai yang berkaitan dengan atribut-atribut lain; Atribut yang diperoleh dari pengolahan dari atribut lain yang berhubungan. contoh: atribut masaStudi yang diperoleh dari tglLulus dikurangi

tglDaftar. Atribut masaStudi dikatakan sebagai atribut

turunan dari atribut tglDaftar dan tglLulus. atribut totalMhs yang diperoleh dengan cara menghitung jumlah mahasiswa aktif pada suatu semester tertentu.

Contoh entitas dan atributnya

Key 

  Penggunaan key merupakan cara untuk membedakan

suatu entitas didalam himpunan entitas dengan entitas

lain Secara konsep, Masing-masing entitas (nilainya) berbeda,perbedaannya terlihat pada isi dari masing- masing atributnya.

  Oleh karena itu, dibutuhkan suatu atribut yang memiliki nilai yang menjadi pembeda dengan entitas lain Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua row dalam relasi secara unik Candidate Key Candidate Key/ Kunci Kandidat/CK

  Atribut-atribut yang mengidentifkasi entitas secara unik;  contoh: atribut kancabNo merupakan kunci kandidat untuk entitas KantorCabang, dan memiliki nilai unik untuk setiap kantor cabang.

   Kunci kandidat juga menyatakan bahwa nilai atribut ini tidak boleh kosong (Null). Primary Key 

  Kunci kandidat yang dipilih untuk mengidentifkasi entitas secara unik. Entitas dapat memiliki kunci kandidat lebih dari satu, contoh: seorang mahasiswa memiliki noMhs yang bersifat unik bagi Universitas, juga memiliki noKTP yang bersifat unik bagi status kependudukan si mahasiswa.

Salah satu diantara dua kunci kandidat itu dapat dipilih salah satu

sebagai kunci primer. Penentuan kunci kandidat yang dipilih sebagai kunci primer sangat bergantung kepada kebutuhan sistem yang sedang dikembangkan.

  

Kandidat kunci yang tidak dipilih sebagai kunci primer dinamakan kunci alternatif. Primary Key

  Pemilihan primary key dari sejumlah candidate key umumnya didasari oleh :

  untuk dijadikan sebagai acuan 2. Key tersebut lebih ringkas 3. Jaminan keunikan key tersebut lebih baik Kunci Komposit (Composite Key):

   Kunci kandidat yang memuat dua atau lebih atribut.

   Ada beberapa kasus yang membutuhkan kunci berupa kombinasi/gabungan beberapa atribut untuk mengidentifkasi secara unik.

   Atribut ditulis dengan huruf kecil, kecuali jika terdiri atas dua kata atau lebih, huruf pertama kata kedua dan seterusnya ditulis dengan huruf kapital; contoh: kancabNo.

  Atribut yang dipilih sebagai kunci primer diikuti dengan {PK}; contoh: kancabNo {PK}. Atribut komposit dituliskan berindentasi (menjorok ke dalam); contoh: alamat jalan kota kodePos Atribut turunan diawali dengan tanda garis mirin (slash, /); contoh: /jmlStaf.

  Atribut multi-value dituliskan batas bawah dan batas atasnya; contoh: telepon [1..3

  Simbol untuk notasi ER

  Simbol alternatif untuk relasi

  Weak Entity 

  Entitas yang tidak punya PK

  

  Keberadaannya tergantung dari keberadaan entitas lain.. jadi entitas lemah ada jika entita s kuat yang menyebabkan adanya dia itu ada. Tanpa entitas kuat, entitas lemah tidak akan muncul.

  

  PK entitas lemah dibentuk dari PK entitas kuat dan discriminator Weak Entity Sets (Cont.)

Entitas lemah digambarkan dengan double rectangles.

discriminator dari entitas lemah dengan garis putus2

payment-number – discriminator of the payment entity

set Primary key payment – (loan-number, payment-number)

  Relasi 

  Defnisi: Hiimpunan asosiasi (hubungan) antar entitas yang dapat diidentifkasi dan bermakna.

  

  Relasi dinyatakan dengan nama yang menunjukkan fungsinya, contoh Memiliki yang menghubungkan antara KantorCabang dan Staf.

  

  Relasi dimungkinkan memiliki atribut Representasi Relasi 

  Relasi digambarkan dalam bentuk garis yang menghubungkan entitas-entitas yang berelasi, dengan label yang menunjukkan nama relasi.

  

  Nama relasi umumnya berupa kata kerja. Huruf pertama setiap kata label relasi ditulis dengan huruf kapital.

  

  Nama relasi harus unik dalam satu diagram ER. Representasi Relasi Relasi bersifat satu arah, karena umumnya

makna relasi hanya ‘masuk akal’ pada satu arah

tertentu,

misal: Kantor Cabang memiliki Staf lebih ‘masuk

akal’ daripada Staf memiliki Kantor Cabang.

  Untuk itu, nama relasi disertai dengan anak panah yang menunjukkan arah relasi; contoh: Himpunan Relasi

  Derajad Relasi

Derajat relasi menunjukkan jumlah entitas yang

terhubung dalam suatu relasi.

  Entitas-entitas yang terhubung dalam suatu relasi disebut partisipan.

  Relasi berderajat dua dinamakan relasi biner, yakni relasi yang melibatkan dua himpunan entitas contoh:

  a. relasi Memiliki yang menghubungkan entitas Kantor Cabang dengan Staf.

Relasi Berderajat tiga   Relasi berderajat tiga dinamakan relasi terner.  Relasi antara lebih dari dua entitas jarang terjadi

  Terdapat tiga entitas yang berpartisipasi dalam relasi terner, contoh: relasi Mendaftar yang menghubungkan entitas Staf, KantorCabang, dan Klien.

  Relasi ini menyatakan seorang staf mendaftar klien di suatu kantor cabang. Relasi Rekursif Defnisi: Tipe relasi yang menghubungkan

satu entitas tunggal dengan dirinya sendiri.

  Relasi rekursif Mengaudit yang merepresentasikan relasi dosen dengan auditor, seorang auditor merupakan bagian entitas dosen. Dengan kata lain, relasi ini menyatakan seorang dosen melakukan pemeriksaan (mengaudit) dosen lain.

  Relasi ini dapat ditambahkan nama peran untuk menunjukkan posisi partisipasinya, pada contoh

di atas: relasi Mengaudit menghubungkan entitas Dosen yang berperan sebagai Auditor dengan dosen lain yang berperan sebagai Auditee. Pemetaan Kardinalitas Relasi Menggambarkan banyaknya jumlah maksimum entitas dapat berelasi dengan entitas pada himpunan entitas yang lain.

  

Paling banyak digunakan dalam menjelaskan relasi

biner

Untuk relasi biner, pemetaan kardinalitasnya dapat

merupakan salah satu dari tipe2 berikut :

  1. Satu ke Satu (One to one)

  2. Satu ke Banyak (One to many)

  3. Banyak ke Satu (Many to one)

  4. Banyak ke Banyak (Many to many)

Constraint Kardinalitas 

  Dalam menggambarkam kardinalitas pada Diagram ER, digunakan garis panah (→) yang menunjukkan “Satu” atau garis biasa (—) yang menunjukkan “Banyak”, antara relasi dengan entitas Contoh : Relasi Satu ke satu

  • – Satu Customer hanya boleh berhubungan

  dengan satu Loan,melalui relasi borrower

  • – Satu Loan hanya boleh berhubungan paling banyak oleh satu Customer, melalui relasi borrower
Relasi Satu ke Banyak 

  Dalam relasi satu ke Banyak, Paling banyak Satu Customer dapat berhubungan dengan beberapa (termasuk 0) Loan melalui borrower Relasi Banyak ke Satu 

  Dalam relasi banyak ke satu, Satu Loan berhubungan dengan beberapa (termasuk 0) customer melalui borrower,satu customer berhubungan dengan paling banyak satu Loan melalui borrower Relasi Banyak ke Banyak 

  customer berhubungan dengan beberapa (mungkin 0) Loan melalui borrower

  

  Loan berhubungan dengan beberapa (mungkin 0) customer melalui borrower Pemetaan kardinalitas

  Pemetaan Kardinalitas

  

Dampak Pemetaan Kardinalitas

pada Desain ER 

  Dalam mendesain Entity Relasionship pemetaan kardinalitas akan berpengaruh terhadap bagaimana data tersebut akan digambarkan Diagram ER 

  Diagram ER merupakan model konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafs

  Diagram E-R dengan atribut

Composite,Multivalued dan derived

  Himpunan Relasi dengan Atribut

  Peran (Roles) 

  Relasi Himpunan entitas tidak harus dalam bentuk yang berbeda

  

  Peran dalam ER diagram diindikasikan dengan memberikan label (nama) pada garis yang menghubungkan relasi dengan entitas

  

  Label peran bersifat optional dan digunakan untuk mengklarifkasi semantik suatu relasi Peran (Roles) 

  Label “manager” dan “worker” disebut Roles (peran), yang menspesifkasi bagaimana entitas employee berinteraksi melalui relasi Works-for

  total constraint dan partial constraint! Perbedaan antara total constraint dan partial constraint! Total constraint : adalah constraint yang mana data dalam entitas yang memiliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya. Constraint partial :

adalah constraint yang mana hanya sebagian data

( tidak seluruhnya) dalam entitas yang memiliki constraint  tersebut terhubung ke dalam entitas dari relasinya.

  Mengapa ER Model ? 

  Populer untuk model relasional

  

  Sering dipergunakan untuk desain konseptual dari aplikasi database Langkah –langkah membuat diagram ER

  1. Mengidentifkasi dan menetapkan seluruh entitas yang terlibat 2.

  Menentukan atribut dari setiap entitas

  3. Menentukan key dari setiap entitas

  4. Mengidentifkasi dan menetapkan relasi antar entitas yang ada beserta foreign key-nya 5.

  Menentukan kardinalitas/derajad relasi untuk setiap relasi yang ada

  6. Melengkapi entitas dan relasi dengan atribut- atribut deskriptif

  Foreign Key 

  Key (PK) yang berasal dari entitas lain yang berelasi dengannya Contoh

  Bagaimana jika terdapat set entitas yang

sama muncul beberapa kali dalam satu

set ER-Diagram.

  Mengapa hal ini harus dihindari? Jelaskan! Untuk menghindari redundancy Menghemat penyimpanan (storage) data Mengurangi efektiftas dan kecepatan akses Untuk menghindari terjadinya asinkronisasi data pada saat diupdate perbedaan antara weak entity dan strong entity! Strong entity (entitas kuat) :  entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas lain.

  

Entitas kuat selalu memiliki karakteristik yang unik yakni sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik

dapat digunakan untuk membedakannya dari entitas kuat yang lain.-> Primary Key (PK) perbedaan antara weak entity dan strong entity! Weak entity (entitas lemah) :  entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya.

  

Entitas lemah tidak memiliki arti apa-apa

dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas tempatnya bergantung.

  Latihan

  1. Sebuah perpustakaan kampus memiliki aturan-aturan sebagai berikut :

  1. Anggota dapat meminjam Buku pada perpustakaan lebih dari satu buku dalam sekali peminjaman.

  

2. Pada buku, yang harus di catat adalah NoBuku, Judul,

Pengarang, Penerbit, Tahun terbit dan Jenis buku (majalah,Kumpulan atrikel, novel, komik, iptek, sekolah), Status (sedang dipinjam, ada diperpustakkan) 3.

  Pada anggota yang harus dicatat adalah nomor anggota, NIM, Nama, Alamat, Kota, No telepon, tanggal lahir dan Jurusan.

  4. Pada setiap terjadi transaksi peminjaman, maka dicatat tanggal pinjam, tanggal kembali dan jumlah buku yang dipinjam.

  

Identifkasi entitas2 nya, relasi antar entitas dan ER model

Latihan:

  2. Perusahaan penyelenggara pelatihan TIK memiliki 30 orang instruktur untuk menangani sampai dengan 100 peserta per sesi training. Perusahaan ini menawarkan lima materi training. Setiap materi training dikelola oleh tim yang terdiri atas dua atau lebih instruktur. Setiap instruktur maksimal menjadi anggota tim dalam dua materi training. Setiap sesi training seorang peserta hanya terdaftar pada satu materi training saja.

  1. Identifkasi entitas-entitas perusahaan tersebut!

  2. Identifkasi relasi-relasi antar entitasnya!

  3. Gambarkan diagram ER model perusahaan training tersebut!

Model data  Model data :

  adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data, hubungannya satu sama lain, semantiknya, serta batasan konsistensi.

  Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model relasional.

  Keduanya menyediakan cara untuk mendeskripsikan perancangan basis data pada tingkat logika.

  Model ERD atau Conceptual Data Model

(CDM) : model yang dibuat berdasarkan anggapan

bahwa dunia nyata terdiri dari koleksi obyek-obyek

dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu.

  Model Relasional atau Physical Data Model

(PDM) : model yang menggunakan sejumlah tabel

untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap kolom memiliki nama yang unik.