Data Model and Relational Model
Data modelling adalah sebuah teknik untuk mengoptimasi cara menyimpan informasi yang akan dimanfaatkan sebuah organisasi.
Menyimpan secara optimal penting karena nantinya akan ada kesulitan untuk menggunakan data tersebut.
Prosesnya dimulai dari:
Mengidentifikasi grup data penting yang akan digunakan (entitas/objek).
Dianggap sebagai mini-world.
Lalu, identifikasikan konten detailnya, mungkin ada subgroup lagi dan properti yang dimilkiki grup (atau subgrup) tersebut.
Hasilnya adalah definisi terstruktur dari informasi yang disimpan dan digunakan dalam suatu sistem.
Jika datanya bebas, tidak perlu dimodelkan. Namun, biasanya data yang ingin digunakan memiliki aspek terstruktur di level tertentu.
Modelling penting sebagai awal dari analisis, desain, maintenance, dan dokumentasi, dan memperbaiki performance sistem yang sudah ada.
Tiga tipe model
Model konseptual (Entity-Relationship Model)
Ini adalah data model yang independen dari teknologi. Ini adalah requirements awal yang ditentukan bersama dengan pemilik bisnis (pengguna basis data).
Model logik (Object-based)
Berbentuk struktur data yang dapat diimplementasikan ke basis data.
Model fisik (Model relasional + beberapa keputusan implementasi lain)
Berurusan dengan bagaimana data tersimpan dalam storage fisik. Low-level.
Data Model
Koleksi alat untuk mendeskripsikan data
Ada empat:
Data (struktur data) (skema)
Data relationships (hubungan suatu data dengan data lainnya)
Data semantics (arti dari sebuah data)
Data constraints (validasi data)
Tipe data model
E-R model
Entity dapat berbentuk events, sedangkan objek harus item nyata.
Relational model
Object-based
Beda object dan relational adalah object memiliki methods.
Semi-structured (XML)
Model tua:
Network
Hierarchical
E-R model
Sering digunakan dalam desain basis data.
E-R model adalah hasil dari analisis requirements
Bukan hasil dari desain.
Memodelkan suatu enterprise sebagai sebuah koleksi dari entity dan relationships.
User tidak digunakan dalam pemodelan basis data.
Relational Model
Di model relational, semua data berbentuk tabel.
Berbasis set theory.
Object-Oriented Data Model
Adaptasi dari OOP.
Mencoba mempersistenkan data di OOP.
Biasanya spesifik ke suatu bahasa tertentu.
Berdasarkan enkapsulasi
What is enkapsulasi
Object Structure
Variabel
Data
Message
Respons dari objek
Method
Digunakan untuk akses/mengubah data dalam objek
Object-Relational Data Model
Mencoba menstandardisasikan OO data model dengan menggabungkannya dengan relational model.
Type system-nya lebih kaya
Bisa berisi objek atau koleksi.
Object Query Language (SQL with Object-orientation).
Semi-Structured Data Model
Karakteristik:
Terorganisasi dalam entitas semantik. -> Self-describing (no a priori structure)
Hierarchical Model
Berdasarkan pointers, bukan value seperti foreign key.
Setiap children hanya memiliki satu parent.
A = database tree
B = dummy root
C = instances
Memiliki berbagai kemungkinan model untuk memodelkan hal yang sama.
Network Model
Berbentuk seperti graph.
Child dapat memiliki banyak parent.
Tidak memiliki hierarki.
Berbeda dengan E-R
How
INFO KULIAH
Jumat akan diawali dengan latihan.
Siapkan Edunex sebelum kuliah.
Relational Model Concept
Relasi adalah konsep matematika yang berdasarkan dari set theory.
Model ini pertama kali diperkenalkan oleh Codd (1970).
APA BEDANYA POINTER DAN FOREIGN KEY
Kenapa dipelajari? Karena paling banyak digunakan
RDBMS adalah DBMS paling digunakan
Relasi
Relasi adalah tabel data dua dimensi yang memiliki nama
Tabel memiliki:
Rows (records or tuple)
Columns (attribute or field)
Syarat yang harus dipenuhi:
Mempunyai nama yang unik.
Semua nilai atribut harus atomik.
Setiap row harus unik.
Setiap atribut harus punya nama unik.
Urutan columns harus tidak relevan.
Urutan rows harus tidak relevan.
Semua relasi harus dalam bentuk normal pertama (1st Normal Form).
Atribut
Domain dari atribut: kumpulan nilai yang diizinkan untuk atribut tersebut.
Nilai harus atomik (tidak boleh multivalued atau composite).
Ada nilai spesial: null.
Ini adalah member dari setiap domain.
Menambah kerumitan dari definisi operasi.
Memiliki banyak arti:
Nilai tidak diketahui
Nilainya ada tetapi tidak tersedia
Tidak terdefinisi -> Atribut ini tidak berlaku pada tuple ini.
(Harus diketahui semantiknya).
Karena null memiliki banyak arti, satu null tidak sama dengan null lainnya.
Relation Schema & Instance
adalah atribut
adalah skema relasi
Contoh
instructor = (ID, name, dept-name, salary)
Database Schema
Database schema -> struktur logik suatu basis data.
Database instance -> snapshot sebuah data pada suatu waktu.
Mengapa informasi harus dibagi ke berbagai relasi?
Menyimpan semua informasi dalam satu relasi berakibat pada:
Pengulangan informasi
Butuhnya nilai null.
Lebih ribet.
Teori normalisasi berurusan dengan bagaimana mendesain skema relasional.
Keys
Ada 4 jenis keys:
Superkey adalah himpunan satu atau lebih atribut yang, jika digabung, akan mengidentitikasi tuple secara unik di sebuah relasi.
Candidate key adalah superkey yang tidak memiliki subset superkey lainnya (minimal).
Primary key adalah candidate key yang dipilih oleh seorang pendesain basis data sebagai cara utama untuk mengidentifikasi tuple di sebuah relasi.
Candidate key yang tidak dipilih sebagai primary key disebut alternate key.
Foreign key adalah sebuah atribut dari sebuah relasi yang berkorespondensi dengan primary key di relasi lain.
Foreign key ini adalah yang merepresentasikan relationship antar data.
Integrity Constraints
Domain constraints
Harus dari domain yang sama.
Entity integrity
Semua relasi memiliki primary key
Semua nilai data primary key harus selalu benar (tidak boleh null).
Referential integrity
Key yang dijadikan foreign key harus ada di relasi yang diacu.
Last updated