Model Relasional
Model Relasional adalah sebuah konsep database dimana sebuah database terdiri dari beberapa tabel yang saling terkait secara logika database. Berikut adalah istilah-istilah yang ada dalam model relational :
Relasi: Tabel dengan baris dan kolom.
Atribute:Nama dari sebuah kolum dalam tabel, merupakan ciri yang mengidentifikasi sebuah tabel.
Domain: Suatu set data yang menggambarkan batas atau jumlah nilai dari satu atau lebih atribut.
Tuple: Baris dalam sebuah tabel.
Degree: Jumlah atribute atau kolom dalam sebuah tabel.
Cardinality: Jumlah tuple atau baris dalam sebuah tabel.
Dalam sebuah relasi, dikenal juga relasional key. relasional key adalah atribut yang diyakini sebagai key atau atribut yang dapat mengidenfitikasi sebuah tabel. Beberapa jenis relasional key yang ada adalah :
Super Key : Sebuah atau set atribute yang mengidentifikasi sebuah baris.
Candidate Key: Atribute pada tabel yang merupakan data unik.
Primary Key: Sebagai ID dalam sebuah tabel.
Dalam SQL database management system, primary key adalah tanda pengenal unik yang membedakan satu record dari yang lain. Oleh karena itu, setiap record dalam SQL database management system harus memiliki primary key. Tetapi ada beberapa aturan yang harus kalian ikuti ketika menentukan primary key untuk tabel:
Primary key harus berisi nilai unik. Jika primary key terdiri dari beberapa kolom, kombinasi value pada kolom ini harus unik.Kolom primary key tidak boleh berisi nilai NULL. Ini berarti bahwa kalian harus mendeklarasikan kolom primary key dengan atribut NOT NULL. Jika tidak, MySQL akan memaksa kolom primary key sebagai NOT NULL secara implisit.Sebuah tabel hanya memiliki satu primary key
Contoh: Tabel Pelanggan (Primary Key: IDPelanggan)
Foreign Key: Sebagai ID pengubung, yang merupakan Primary Key di tabel lain.
Dalam SQL database management system, foreign key adalah pengenal unik atau kombinasi pengenal unik yang menghubungkan dua tabel atau lebih dalam database. Dari empat SQL database management system yang ada, relational database management system adalah yang paling populer.
Saat memutuskan tabel mana dalam database relasional yang harus memiliki foreign key, kalian harus terlebih dahulu mengidentifikasi tabel mana yang merupakan subjek dan objek dalam hubungannya.
Kembali ke database rental mobil, untuk menghubungkan setiap pelanggan ke mobil yang benar, kalian harus memahami bahwa pelanggan (subjek) menyewa mobil (objek). Oleh karena itu, foreign key harus ada di tabel mobil. Kode SQL yang menghasilkan tabel dengan foreign key sedikit berbeda dari norma.
Contoh: Tabel Produk (Primary Key: produkID)
Tabel Sales Order (Primary Key: salesOrderID ; Foreign Key: produkID)
atau seperti ini contohnya :
Perbedaan primary key dan foreign key :
Primary Key:
- Batasan primary key adalah kolom atau grup kolom yang secara unik mengidentifikasi setiap baris dalam tabel relational database management system.
- membantu secara unik mengidentifikasi record dalam tabel.
- Primary key tidak pernah menerima nilai null.
- Primary key adalah clustered index, dan data dalam tabel DBMS secara fisik diatur dalam urutan clustered index.
- Primary key adalah clustered index, dan data dalam tabel DBMS secara fisik diatur dalam urutan clustered index.
- Dapat memiliki satu primary key dalam sebuah tabel.
- Value primary key tidak dapat dihapus dari tabel induk.
- Dapat menentukan primary key secara implisit di tabel sementara.
- Primary key adalah clustered index.
- Tidak ada dua baris yang dapat memiliki value identik untuk primary key.
- Tidak ada batasan dalam memasukkan value ke dalam kolom tabel.
Foreign key:
- Foreign key adalah kolom yang membuat hubungan antara dua tabel.
- Ini adalah bidang dalam tabel yang merupakan primary key dari tabel lain.
- Foreign key dapat menerima beberapa nilai null.
- Foreign key tidak dapat secara otomatis membuat indeks, clustered, atau non-clustered
- Foreign key tidak dapat secara otomatis membuat indeks, clustered, atau non-clustered
- Dapat memiliki beberapa foreign key dalam satu tabel.
- Value foreign key dapat dihapus dari tabel anak.
- Tidak dapat menentukan foreign key di tabel sementara lokal atau global.
- Secara default, ini bukan clustered index.
- Foreign key dapat berisi value duplikat.
- Saat memasukkan value apa pun dalam tabelforeign key, pastikan bahwa value tersebut ada di kolom primary key.
Alternate Key : Atribut unik namun bukan dijadikan sebagai primary key.
Contoh: Tabel Mahasiswa (noKTP, noHp)
Index : Index adalah sebuah objek dalam sistem database yang dapat mempercepat proses pencarian (query) data.
Saat database dibuat tanpa menggunakan index, maka kinerja server database dapat menurun secara drastis. Hal ini dikarenakan resource CPU banyak digunakan untuk pencarian data atau pengaksesan query SQL dengan metode table-scan. Index membuat pencarian data menjadi lebih optimal karena lebih cepat dan tidak banyak menghabiskan resource CPU.
Ada beberapa alasan penggunaan index, yaitu:
- Kolom sering digunakan dalam klausa WHERE atau dalam kondisi join
- Kolom berisi nilai dengan jangkauan yang luas
- Kolom berisi banyak nilai null
- Tabel berukuran besar dan sebagian besar query menampilkan data kurang dari 2-4%
- Table kecil
- Kolom tidak sering digunakan sebagai kondisi dalam query
- Kebanyakan query menampilkan data lebih dari 2-4% dari seluruh data
- Table sering di-update
Post a Comment for "Materi 4: Model Relasional"