Ch. 3: The Relational Model • History of The Relational Model • Terminology
Database Systems: Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation and Management, 4 th Edition, Addison Wesley
– Relational Data Struture – Database Relations
• Relational Integrity • Views
1-1 Chapter 3 Part Two: The Relational Model |
1
Learning Objectives • • • • • •
2
History of The Relational Model • Dikemukakan oleh E. F. Codd (1970) pada papernya yang berjudul “A relational model of data for large shared data banks” (Codd, 1970). • Sasaran model relasional adalah:
Terminology of relational model. How tables are used to represent data. Properties of database relations. How to identify candidate, primary, and foreign keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views.
Chapter 3 Part Two: The Relational Model |
Chapter 3 Part Two: The Relational Model |
1. memberikan dukungan bagi data independence; 2. sebagai dasar untuk mengatasi permasalahan data semantics, consistency, dan redundancy (normalisasi/normalized); dan 3. memungkinkan memperluas set-oriented data manipulation languages. 3
Chapter 3 Part Two: The Relational Model |
4
Terminology – Relational Data Structured
• Atribut, nama atribut diwakilkan oleh sebuah kolom dari suatu relasi.
• Model relasional didasarkan pada konsep relasi matematika, yang secara fisik direpresentasikan sebagai sebuah table. • RDBMS generasi ke-2 berdasarkan model relasional E. F, Codd – 1970. • Data, merupakan struktur logis di dalam relasi. • Relasi, tabel yang terdiri dari kolom dan baris.
Karena relasi direpresentasikan dalam bentuk tabel 2 dimensi, baris dan kolom, maka kolom dalam relasi mewakili atribut sedangkan baris mewakili individual record suatu relasi.
• Domain, himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. • Intension, struktur antara relasi dengan domainnya, pada umumnya tetap selama relasinya tidak berubah atau diubah.
Relasi digunakan untuk menampung informasi mengenai object yang akan direpresentasikan dalam database dan Hanya diterapkan dalam struktur logis dari database, bukan pada struktur fisiknya. Chapter 3 Part Two: The Relational Model |
Terminology – Relational Data Structured
5
Terminology – Relational Data Structured • Tuple, baris dari sebuah relasi yang berisikan satu nilai per atribut, merupakan extention atau state suatu relasi. • Degree, jumlah atribut dalam sebuah relasi dan merupakan bagian dari intension.
Chapter 3 Part Two: The Relational Model |
6
Terminology – Relational Data Structured • Istilah lainnya yang biasa digunakan adalah file (relasi/tabel), records (tuple/baris), dan field (atribut/kolom).
• Cardinality, banyaknya tuple dari sebuah relasi dan nilai cardinality atau kardinalitas berubah sesuai penambahan dan penghapusan tuple. • Relational database, hubungan yang tepat dan terstruktur antar relasi/tabel, hal ini mengacu kepada istilah yang disebut dengan normalisasi.
Chapter 3 Part Two: The Relational Model |
7
Chapter 3 Part Two: The Relational Model |
8
Instances of the Branch and Staff relations.
Terminology – Relational Data Structured
Chapter 3 Part Two: The Relational Model |
Terminology – Relational Data Structured Domains for some attributes of the Branch and Staff relations.
9
Chapter 3 Part Two: The Relational Model |
Terminology – Database Relation Property of Relations.
10
Terminology – Database Relation Relational Keys.
1. Sebuah relasi memiliki nama yang berbeda-beda dalam sebuah skema relasional. 2. Setiap sel suatu relasi memiliki tepat satu atomic (single) nilai. 3. Setiap kolom/atribut/field memiliki nama tersendiri. 4. Semua nilai field berada dalam domain yang sama. 5. Tidak ada tuple/baris/record ganda. 6. Urutan field tidak signifikan. 7. Urutan record tidak signifikan. Chapter 3 Part Two: The Relational Model |
11
1. Superkey • Mengidentifikasikan secara unik record dalam suatu relasi. • Sebuah superkey dimungkinkan berisi atribut tambahan yang tidak digunakan untuk pengidentifikasian unik.
2. Candidate Key • Merupakan bagian (subset) dari superkey yang berupa field tunggal atau kombinasi yang setidaknya bagian yang secara unik mengidentifikasi setiap record dalam tabel. [1] [1] http://rdbms.opengrass.net/2_Database%20Design/2.1_TermsOfReference/2.1.2_Keys.html
Chapter 3 Part Two: The Relational Model |
12
Terminology – Database Relation
Terminology – Database Relation
• Sebuah candidate key (K), dalam suatu relasi (R) memiliki 2 sifat:
candidate key
1. uniqueness - untuk setiap record R, nilai K secara unik mengidentifikasi record tersebut; 2. irreducibility – tidak ada bagian yang sesuai dari K yang memiliki properti yang unik atau tidak dapat diuraikan lagi.
• Kriteria candidat key:[1] 1. 2. 3. 4.
harus berisikan nilai yang unik; tidak diperkenankan memiliki nilai null/kosong; memiliki setidaknya satu fields untuk memastikan keunikannya; harus secara unik mengidentifikasi setiap record dalam tabel.
[1] http://rdbms.opengrass.net/2_Database%20Design/2.1_TermsOfReference/2.1.2_Keys.html
Chapter 3 Part Two: The Relational Model |
13
Chapter 3 Part Two: The Relational Model |
Terminology – Database Relation • Jika dalam sebuah tabel terdapat sebuah key yang mewakili lebih dari 1 atribut, maka key tersebut disebut dengan composite key.
> 1 atribut
14
Terminology – Database Relation 3. Primary Key • Sebuah candidate key yang sangat cocok/sesuai sebagai sebuah rujukan/referensi key utama untuk mengidentifikasikan record secara unik dalam suatu relasi. • Primari key digunakan sebagai key rujukan ke tabel/relasi dan digunakan didalam database untuk membantu merealisasikan ikatan/hubungan antar tabel.[1] • Primary keys are mandatory. • Candidate key yang tidak terpilih menjadi primary key disebut alternate key.
composite key
Chapter 3 Part Two: The Relational Model |
15
[1] http://rdbms.opengrass.net/2_Database%20Design/2.1_TermsOfReference/2.1.2_Keys.html
Chapter 3 Part Two: The Relational Model |
16
Terminology – Database Relation candidate key
Terminology – Database Relation primary key
Chapter 3 Part Two: The Relational Model |
17
candidate key
alternate key
Chapter 3 Part Two: The Relational Model |
Terminology – Database Relation
18
Terminology – Database Relation
4. Foreign Key
foreign key
• Primary key yang berasal dari tabel lain (tabel kedua, ketiga, dst...) yang muncul sebagai sebuah field dimana tabel pertama memiliki hubungan dengan tabel lainnya (tabel kedua, ketiga, dst...).[1] • Dengan kata lain, jika sebuah tabel A memiliki primary key X yang memiliki relasi dengan tabel B dimana X merupakan salah satu field dalam tabel B, maka X adalah foreign key tabel B.
primary key [1] http://rdbms.opengrass.net/2_Database%20Design/2.1_TermsOfReference/2.1.2_Keys.html
Chapter 3 Part Two: The Relational Model |
19
Chapter 3 Part Two: The Relational Model |
20
Terminology – Database Relation • Relasi dapat disajikan dengan 2 cara:
• Integritas relasi (relational integrity) berkenaan dengan a set of integrity constraints part, yang merupakan satu bagian dari dua bagian model data yang memastikan bahwa data disajikan secara tepat/akurat. • Ketidakakuratan, ketidakjelasan, dan ketidakgunaan data pada umumnya direpresentasikan sebagai null
1. menggunakan tabel; dan 2. tanpa menggunakan tabel, dimana setiap primary key-nya ditandai dengan garis bawah yang diawali dengan nama tabel dan diikuti dengan atribut-atributnya yang ditulis dalam tanda kurung (parantheses).
Chapter 3 Part Two: The Relational Model |
Relational Integrity
21
Chapter 3 Part Two: The Relational Model |
Relational Integrity - Null • Representasi nilai dari suatu atribut yang tidak memiliki kejelasan (unknown) dan tidak dapat digunakan (not applicable) untuk digunakan dalam sebagai nilai suatu record. • Ketidakjelasan mengacu kepada: • ketidakbergunaannya data pada sebauh record; • data tidak mengandung nilai; atau • data yang diinginkan belum lengkap (incomplete).
Relational Integrity 1. Entity Integrity • Aturan yang diterapkan bagi primary key. • Dalam suatu relasi, tidak diperkenankan semua atribut primary key bernilai null.
2. Refential Integrity • Aturan yang diterapkan bagi foreign key. • Jika sebuah foreign key muncul dalam suatu relasi, maka nilai foreign key harus memenuhi 2 hal berikut:
• Null ≠ nol/zero Chapter 3 Part Two: The Relational Model |
22
23
Chapter 3 Part Two: The Relational Model |
24
Relational Integrity 1. cocok/sesuai dengan nilai candidate key dari beberapa record pada relasinya sendiri; atau 2. nilai foreign key harus benar-benar null.
Relational Integrity 3. Enterprise Constraints • Aturan tambahan yang dispesifikasikan oleh user atau DBA yang mendefinisikan atau membatasi beberapa aspek dari keseluruhan sistem (enterprise).
• Perhatikan contoh berikut: branchNo in the Staff relation is a foreign key targeting the branchNo attribute in the home relation, Branch. It should not be possible to create a staff record with branch number B025, for example, unless there is already a record for branch number B025 in the Branch relation.
Chapter 3 Part Two: The Relational Model |
25
Views
26
Views • View merupakan sebuah relasi maya (virtual relation) yang sebenarnya tidak ada dalam database tetapi dihasilkan berdasarkan permintaan. • Isi dari view didefinisikan sebagai sebuah query pada satu atau lebih base relation. • View bersifat dinamis, dalam artian, perubahan yang dilakukan pada base relation yang dilakukan pada beberapa atribut secara langsung terlihat pada view.
Terminology. • Base Relation Penamaan relasi yang mengacu kepada entitas yang terdapat dalam skema konseptual (conceptual schema) dimana record secara fisik tersimpan dalam database.
• View Tabel yang terbentuk sebagai hasil dari satu atau lebih operasi relasi yang beroperasi pada base relation untuk menghasilkan relasi lainnya Chapter 3 Part Two: The Relational Model |
Chapter 3 Part Two: The Relational Model |
27
Chapter 3 Part Two: The Relational Model |
28
Views Purpose of View.
Views Updating Views.
• menyediakan mekanisme keamanan yang baik dengan menyembunyikan bagian-bagian database dari beberapa user; • memberikan ijin kepada user untuk mengakses data sesuai kebutuhannya, sehingga data yang sama dapat diakses oleh user lainnya dengan kebutuhan yang berbeda pada waktu yang bersamaan; • dapat menyederhanakan kerumitan operasi pada base relation.
Chapter 3 Part Two: The Relational Model |
29
Views
• Semua perubahan yang diakukan pada base relation akan secara langsung tergambar/terlihat pada semua view yang terkait dengan base relation tersebut. • Jika view terbarui, maka base relation akan memperlihatkan adanya perubahan tersebut. • Terdapat beberapa batasan dari jenis perbaruan (modification) yang dapat diberlakukan pada view: Chapter 3 Part Two: The Relational Model |
30
Latihan
1. perbaruan diperbolehkan jika query melibatkan single base relation dan berisikan candidate key dari base relation; 2. perbaruan tidak diperbolehkan jika melibatkan multiple base relation; 3. perbaruan tidak diperbolehkan jika melibatkan proses aggregation atau grouping operation.
Chapter 3 Part Two: The Relational Model |
31
Chapter 3 Part Two: The Relational Model |
32
Database Systems: Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation and Management, 4 th Edition, Addison Wesley
1-33 Chapter 3 Part Two: The Relational Model |
33