Sisterm Basis Data Informatika 1
Materi
Entity Sets
Relationship Sets
Design Issues
Mapping Constraints
Keys
E-R Diagram
Extended E-R Features
Design of an E-R Database Schema
Database dapat dimodelkan sebagai :
– Kumpulan 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 ?
Entitas dapat berupa objek nyata atau
Contoh entitas
Poli Anak RS :
Anak (pasien)
Dokter
Perawat
Penyakit
Contoh entitas
Perpustakaan Brawijaya
Buku
Petugas
Mahasiswa
Dosen
Peminjaman
Contoh entitas
Supermarket
Barang
Petugas/Kasir
Contoh entitas
BTN
Nasabah
Tabungan
Pegawai
Peminjaman
Deposito
Representasi Entitas
Entitas digambarkan dalam bentuk
persegi panjang dengan label yang
menunjukkan nama entitas, umumnya berupa kata benda tunggal. Huruf
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
Contoh himpunan entitas
Semua orang yang memiliki rekening di
Bank (nasabah),
ATRIBUT
Setiap Entitas memiliki atribut yang
mendeskripsikan karakteristik (properti) dari entitas tersebut atau relasi
Contoh :
Customer = (Id,
Customer-Name, Customer-Street, Customer-City)
Setiap Atribut akan memiliki nilai (values)
Domain (Value Set)– Batas-batas nilai yang
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,
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
Tipe-tipe Atribut
1. Simple dan Composite attributes
2. Single-valued dan multi-valued
attributes
1. Simple dan Composite 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,
2. Single-valued dan multi-valued attributes
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.
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
3. Derived attributes/ Atribut Turunan
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
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
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
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
Primary Key
Pemilihan primary key dari sejumlah
candidate key umumnya didasari oleh :
1. Key tersebut lebih sering (lebih natural)
untuk dijadikan sebagai acuan
2. Key tersebut lebih ringkas
3. Jaminan keunikan key tersebut lebih
Kunci Komposit (
Composite
Key):
Kunci kandidat yang memuat dua
atau lebih atribut.
Ada beberapa kasus yang
membutuhkan kunci berupa
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:
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
discriminator dari entitas lemah dengan garis putus2 payment-number – discriminator of the payment entity
set
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.
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
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;
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.
b. relasi Mengambil dengan dua entitas yang
berpartisipasi, yaitu Mahasiswa dan Matakuliah.
Secara umum himpunan relasi dalam sistem
basis data adalah binary
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 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
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)
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
Relasi Satu ke Banyak
Dalam relasi satu ke Banyak, Paling
banyak Satu Customer dapat berhubungan dengan beberapa
Relasi Banyak ke Satu
Dalam relasi banyak ke satu, Satu Loan
berhubungan dengan beberapa (termasuk 0) customer melalui
Relasi Banyak ke Banyak
customer berhubungan dengan
beberapa (mungkin 0) Loan melalui borrower
Loan berhubungan dengan beberapa
Dampak Pemetaan Kardinalitas
pada Desain ER
Dalam mendesain Entity Relasionship
pemetaan kardinalitas akan
Diagram ER
Diagram ER merupakan model
konseptual untuk menggambarkan struktur logis dari basisdata berbasis grafs
Diagram E-R 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
Peran (Roles)
Label “manager” dan “worker” disebut
Roles (peran), yang menspesifkasi bagaimana entitas employee
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
Mengapa ER Model ?
Populer untuk model relasional
Sering dipergunakan untuk desain
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
Foreign Key
Key (PK) yang berasal dari entitas lain
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
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
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
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.
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!
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
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