model relasional

22
18 Juni 2022 BASIS DATA I/2011-GANJIL 1 MODEL RELASIONAL BASIS DATA I/2011-GANJIL Oleh Satrio Agung Wicaksono, S.Kom., M.Kom

Upload: clio-moreno

Post on 04-Jan-2016

77 views

Category:

Documents


3 download

DESCRIPTION

BASIS DATA I/2011-GANJIL. MODEL RELASIONAL. Oleh Satrio Agung Wicaksono, S.Kom., M.Kom. MODEL RELASIONAL. Konsep-Konsep Model Relasional. Model relasional berdasarkan pada konsep relasi dalam matematika Model relasional menjadi kokoh karena dukungan fondasi formal tentang teori relasi - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 1

MODEL RELASIONAL

BASIS DATA I/2011-GANJIL

OlehSatrio Agung Wicaksono, S.Kom., M.Kom

Page 2: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 2

Konsep-Konsep Model RelasionalMODEL RELASIONAL

• Model relasional berdasarkan pada konsep relasi dalam matematika

Model relasional menjadi kokoh karena dukungan fondasi formal tentang teori relasi

• Model relasional pertama diajukan oleh Dr. E.F. Codd, peneliti IBM, pada tahun 1970 pada paper:

“A Relational Model for Large Shared Data

Banks”, Communication of ACM, June 1970

• Paper ini menyebabkan revolusi besar pada bidang manajemen basis data; Dr. Codd memenangkan ACM Turing Award

Page 3: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 3

Representasi Entity TypeMODEL RELASIONAL

Page 4: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 4

TerminologiMODEL RELASIONAL

• Suatu relasi adalah tabel dengan kolom dan baris tempat data disimpan

• Atribut adalah judul kolom dari suatu relasi.

• Domain adalah himpunan nilai yang mungkin untuk suatu atribut

• Tuple adalah baris dari suatu relasi.• Degree adalah jumlah atribut dari suatu

relasi.• Cardinality adalah jumlah tuples dari suatu

relasi.• Basis data relasional adalah sekumpulan

relasi yang mempunyai nama berbeda dan ternormalisasi

Page 5: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 5

Terminologi, Cont’d….MODEL RELASIONAL

Page 6: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 6

Karakteristik RelationMODEL RELASIONAL

• Tiap baris berisi data tentang sebuah entity• Kolom-kolom berisi data tentang attribute dari

suatu entity• Satu sel pada tabel berisi satu data tunggal• Seluruh entry pada satu kolom memiliki domain

yang sama• Tiap kolom memiliki nama yang unik• Urutan kolom tidak penting• Urutan baris tidak penting• Tidak ada 2 baris yang identik

Page 7: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 7

Definisi Formal RelasiMODEL RELASIONAL

• Skema relasi (relation schema) adalah relasi yang memiliki nama, didefinisikan oleh himpunan pasangan attribute dan domainnya.

• Notasi:R(A1, A2, … An)R menyatakan nama relasi,A1, A2, … An menyatakan nama attribute

• Contoh:EMPLOYEE (SSN, FName, LName, Sex, Salary)menyatakan bahwa relasi bernama EMPLOYEE didefinisikanpada 5 attribute: SSN, FName, LName, Sex, Salary)

Domain(SSN) = Number(9), Domain(FName) = Char(10),Domain(LName) = Char(10), Domain(Sex) = Char(1),Domain(Salary) = Currency

Page 8: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 8

Definisi Formal TupleMODEL RELASIONAL

• Tuple adalah barisan (himpunan terurut) dari nilai-nilai yang masing-masing berada dalam domain tertentu

• Dinyatakan dalam ‘< … >’• Contoh tuple dari EMPLOYEE: <0606007800, “Ahmad”, “Zakky”, 10-4-87,

‘M’, “Jakarta”> Disebut sebagai 6-tuple karena punya enam nilai• Relasi adalah himpunan dari tuple

Page 9: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 9

Definisi Formal DomainMODEL RELASIONAL

• Suatu domain memiliki definisi lojikal tertentu. Contoh: “Nomor Telepon di Indonesia” adalah 12 digit nomortelepon yang sah di Indonesia

• Domain juga merupakan tipe data atau format yang didefinisikan untuk suatu attribute.

Nomor telepon di Indonesia memiliki formal xxxx-yyyyyyyy dimana x dan y berupa bilangan bulat, xxxx menyatakan kode area dan yyyyyyyy menyatakan nomor telepon.

Domain tanggal (date) memiliki beberapa format. Misal ddmm-yyyy, mm-dd-yyyy, dd-mm-yy, dan sebagainya

• Nama attribute menyatakan peran yang diperankan oleh domain pada sebuah relasi

Contoh: domain date digunakan untuk mendefinisikan 2 attribute bernama invoice-date dan payment-date dengan makna yang berbeda.

Page 10: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 10

Definisi Formal StateMODEL RELASIONAL

• Relation state adalah subset dari cartesian product dari domain attribute-attributenya.

• Setiap domain berisi himpunan semua nilai yang mungkin yang dapat diambil oleh attribute.

• Misal: attribute nama didefinisikan pada domain string (barisan karakter) sepanjang maksimal 20 karakter

Page 11: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 11

Skema BasisdataMODEL RELASIONAL

• Skema basis data (database schema) adalah kumpulan skema relasi, masing-masing memiliki nama berbeda.

• NotasiS = {R1, R2, … Rn}

• R1, R2, … Rn adalah nama-nama skema relasi dalam basis data S

Page 12: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 12

Skema BasisData COMPANYMODEL RELASIONAL

Page 13: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 13

Relational Integrity ConstraintMODEL RELASIONAL

• Integrity Contraints: kondisi-kondisi yang harus dipenuhi pada semua relation state yang valid

• DNo menyatakan nomor departemen tempat seorang pegawai bekerja. Apa yang terjadi jika user diperbolehkan menghapus sebuah departemen?

Page 14: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 14

Entity Integrity ConstraintsMODEL RELASIONAL

• Setiap relasi harus memiliki primary key• Attribute-attribute yang merupakan primary key

tidak boleh bernilai NULL• Catatan: attribute lain kadang-kadang juga

dibatasi agar tidak bernilai NULL, meskipun bukan primary key (sesuai requirement-nya)

Page 15: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 15

Contoh Referential IntegrityMODEL RELASIONAL

Page 16: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 16

Referential Integrity ConstraintsMODEL RELASIONAL

• Merupakan constraints yang melibatkan foreign key / melibatkan 2 buah relasi:

Referencing relation (yang memiliki foreign key) Referenced relation• Nilai dari foreign key pada referencing relation

R1 berupa salah satu dari 2 nilai berikut: nilai dari primary key yang berkaitan pada

referenced relation R2 atau null.

Page 17: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 17

Operasi-Operasi untuk Memodifikasi RelasiMODEL RELASIONAL

• Ada 3 macam operasi yang dapat mengubah relation state:

INSERT a tuple DELETE a tuple UPDATE a tuple• Proses modifikasi tidak boleh melanggar integrity

constraints.• Suatu update kadang-kadang menyebabkan

update yang lain secara otomatis, untuk menjaga integrity constraints

Page 18: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 18

Pelanggaran IntegrityMODEL RELASIONAL

• Jika terjadi pelanggaran integrity pada saat relasi akan dimodifikasi, dapat dilakukan beberapa hal:

Membatalkan operasi yang menyebabkan pelanggaran integrity (opsi RESTRICT atau REJECT)

Melakukan operasi, namun memberi tahu pengguna tentang pelanggaran yang terjadi

Men-trigger update yang lain sehingga pelanggaran integrity dapat dikoreksi (opsi CASCADE atau opsi SET NULL)

Mengeksekusi error-correction routine yang ditetapkan oleh pengguna

Page 19: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 19

Kemungkinan Pelanggaran Integrity Constraints Pada Operasi Insert

MODEL RELASIONAL

• Domain constraint: jika ada nilai attribute dalam tuple baru yang tidak sesuai domainnya.

• Key constraint: jika nilai salah satu key attribute pada tuple baru telah ada pada tuple lain dalam relasi .

• Referential integrity: jika nilai foreign key pada tuple baru tidak ada pada referenced relation.

• Entity integrity: jika primary key bernilai null.

Page 20: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 20

Kemungkinan Pelanggaran Integrity Constraints Pada Operasi Delete

MODEL RELASIONAL

• Pelanggaran terjadi jika akan menghapus nilai primary key yang direfer relasi lain

• Opsi yang dapat dipilih RESTRICT: menolak penghapusan CASCADE: memberi primary key baru ke foreign

key dari referencing tuple atau menghapus referencing tuple

SET NULL: memberi nilai NULL foreign key dari referencing tuple

• Salah satu dari opsi ini harus ditetapkan pada saat merancang basis data untuk setiap foreign key

Page 21: MODEL RELASIONAL

20 April 2023 BASIS DATA I/2011-GANJIL 21

Kemungkinan Pelanggaran Integrity Constraints Pada Operasi Update

MODEL RELASIONAL

• Operasi update dapat melanggar domain constraint dan NOT NULL constraint pada attribute yang akan dimodifikasi

• Contraints lain dapat dilanggar, sesuai jenis attribute yang akan diupdate:

Meng-update primary key (PK): Mirip dengan operasi DELETE diikuti INSERT Perlu memilih opsi seperti pada operasi DELETE Meng-update foreign key (FK):Dapat melanggar referential constraints Meng-update attribute lain (selain PK / FK):Hanya dapat melanggar domain constraints

Page 22: MODEL RELASIONAL

20 April 2023 22

P E N U T U P

BASIS DATA I/2011-GANJIL