Basis Data_03_ModelRelational

Download Report

Transcript Basis Data_03_ModelRelational

Basis Data
Modul 03
Relational Model
Relational Model Terminology
• Relasi direpresentasikan sebagai table yang terdiri dari
baris dan kolom. Diaplikasikan hanya pada struktur
logical bukan fisikal.
• Atribut adalah nama kolom pada table.
• Tuple adalah baris pada table (record).
• Domain adalah himpunan nilai dari satu atau lebih
atribut.
• Degree adalah banyaknya atribut/kolom pada tabel.
• Cardinality adalah banyaknya tuple/baris pada tabel.
• Relational Database adalah kumpulan relasi
ternormalisasi dengan nama relasi yang jelas dan dapat
dibedakan.
Instances of Branch and Staff
(part) Relations
Contoh Domain Atribut
Terminologi Alternatif untuk Model
Relasional
Definisi matematis untuk relasi
• Misalkan terdapat himpunan D1 & D2,
dimana D1 = {2, 4} dan D2 = {1, 3, 5}.
• Cartesian product, D1 X D2, adalah
himpunan pasangan dimana elemen
pertama merupakan anggota dari D1 dan
elemen ke dua, anggota dari D2.
D1 X D2 = {(2, 1), (2, 3), (2, 5), (4, 1),
(4, 3), (4, 5)}
Definisi matematis untuk relasi
• Himpunan bagian dari Cartesian product
merupakan relasi,
contoh : R = {(2, 1), (4, 1)}
• Dapat pula dituliskan dalam pasangan
dengan kondisi, contoh:
– elemen kedua = 1 :
• R = {(x, y) | x X D1, y X D2, and y = 1}
– elemen pertama = 2 kali elemen kedua
• S = {(x, y) | x X D1, y X D2, and x = 2y}
:
Definisi matematis untuk relasi
• Jika terdapat 3 buah himpunan, D1, D2, D3 dengan
Cartesian Product D1 X D2 X D3.
Contoh
: D1 = {1, 3} D2 = {2, 4} D3 = {5, 6}
D1 X D2 X D3 = {(1,2,5), (1,2,6), (1,4,5), (1,4,6),
(3,2,5), (3,2,6), (3,4,5), (3,4,6)}
• Cartesian product dari himpunan n (D1, D2, . . ., Dn)
adalah :
D1 X D2 X. . .XDn = {(d1, d2, . . . , dn) | d1 Є D1, d2 Є
D2, . . . , dn Є Dn}
atau dapat ditulis :
n
XDi
i=1
Relasi Database
• Skema Relasi
Nama relasi yang didefinisikan oleh
himpunan pasangan atribut dan nama
domain.
Misal : A1, A2, …, An adalah atribut
dengan domain D1, D2, …, Dn, maka
pasangan { a1:D1, A2:D2, …, An:Dn}
adalah skema relasi.
Relasi Database
• Skema Database Realtional
Himpunan skema relasi, dengan nama
yang berbeda.
Misal : Jika R1, R2, ..., Rn adalah
himpunan skema relasi, maka dapat
dituliskan skema database relasional
dalam R, sehingga R = {R1, R2, ..., Rn}
Sifat-sifat Relasi
• Nama Relasi berbeda satu sama lain dalam
skema relasional.
• Setiap sel (baris, kolom) dari relasi berisi satu
nilai atomik.
• Setiap atribut memiliki nama yang berbeda.
• Nilai suatu atribut berasal dari domain yang
sama.
• Setiap tuple berbeda, dan tidak ada duplikasi
tuple.
Kunci-kunci Relasional
(Relational Keys)
• Superkey
Sebuah atribut atau himpunan atribut yang
mengidentifikasi secara unik tuple-tuple yang
ada dalam relasi.
• Candidate Key
– Superkey (K) dalam relasi
– Untuk setiap relasi R, nilai K akan mengidentifikasi
secara unik tuplenya.
– Jika Candidate key terdiri dari beberapa atribut,
disebut composite key.
Kunci-kunci Relasional
(Relational Keys)
• Primary Key
Candidate key yang dipilih untuk identifikasi
tuple secara unik dalam suatu relasi.
• Alternate Keys
Candidate key yang tidak terpilih sebagai
primary key.
• Foreign Key
Atribut atau himpunan atribut dalam relasi yang
disesuaikan (matching) dengan candidate key
pada beberapa relasi.
Relational Integrity
• Null
– Merepresentasikan nilai untuk atribut yang tidak
diketahui/tidak digunakan/tidak tersedia untuk suatu
tuple.
– Berkaitan dengan ketidaklengkapan/pengecualian
data
– Representasi tidak adanya suatu nilai dan tidak sama
nilainya dengan Nol atau Spasi
• Entity Integrity
Pada relasi dasar, tidak ada atribut ataupun primary
key yang bernilai NULL.
Relational Integrity
• Referential Integrity
Jika terdapat foreign key dalam suatu relasi,
maka nilai foreign key tersebut harus sesuai
(match) dengan nilai candidate key dari
beberapa tuple pada database atau nilai foreign
key harus NULL seluruhnya.
• Enterprise Constraints
Aturan tambahan yang dispesifikasikan oleh
user atau DBA.
Views
• Relasi Dasar (Base Relation)
Nama relasi mengacu kepada entitas dalam skema
konseptual, dimana tuple-tuple disimpan dalam
database secara fisik.
• View
– Hasil dinamik dari satu atau lebih operasi relasional yang
dilakukan pada relasi dasar untuk menghasilkan relasi yang lain.
– Merupakan relasi virtual yang tidak harus ada dalam database,
tetapi dihasilkan pada saat dilakukan permintaan (request).
– Isi dari view didefinisikan sebagai query dari satu atau lebih
relasi dasar.
– View bersifat dinamis, artinya perubahan yang dilakukan pada
relasi dasar yang mempengaruhi atribut pada view langsung
terlihat.
Kegunaan View
• Menyediakan mekanisme keamanan yang
fleksible dan baik dengan menyembunyikan
bagian database dari user tertentu.
• Mengijinkan user untuk meng-akses data
dengan berbagai cara, sehingga data yang
sama dapat dilihat oleh user yang berbeda
dengan cara yang berbeda pada saat yang
sama.
• Menyederhanakan operasi yang rumit pada
relasi dasar.
Merubah view (Updating View)
• Seluruh update yang dilakukan pada relasi dasar harus
secepatnya terlihat dalam seluruh view yang terkait
dengan relasi dasar tersebut.
• Jika view di-update, perubahan harus terlihat pada
relasi dasar yang digunakan.
• Terdapat beberapa batasan pada tipe modifikasi yang
dilakukan terhadap view, diantaranya:
– Update diperbolehkan jika query melibatkan relasi dasar tunggal
dan berisikan candidate key dari relasi dasar.
– Update dilarang jika melibatkan banyak relasi dasar.
– Update tidak diperkenankan melibatkan penggabungan atau
pengelompokan operasi.