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

  1. 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).

  2. Model logik (Object-based)

    • Berbentuk struktur data yang dapat diimplementasikan ke basis data.

  3. 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:

    1. Data (struktur data) (skema)

    2. Data relationships (hubungan suatu data dengan data lainnya)

    3. Data semantics (arti dari sebuah data)

    4. 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

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

  • A1,A2,A3,,AnA_1,A_2,A_3,…,A_n adalah atribut

  • R=(A1,A2,,An)R=(A_1,A_2,…,A_n) 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