Halaman

Jumat, 23 November 2012

DEPENDENCY DAN NORMALISASI

Functional Dependency
  • menggambarkan relationship/hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi 
  • menggunakan atribut untuk menentukan harga atribut yang lain
Macam-macam Dependency:
  1. Full Functional Dependency : menunjukkan jika terdapat atribut A dan B dalam suatu relasi dimana B memiliki ketergantungan fungsional secara penuh pada A dan B tidak memiliki dependensi terhadap subseet A
  2. Partially Dependency : ketergantungan fungsional dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan dan B memiliki dependensi terhadap subset A
  3. Transitive Dependency : merupakan tipe fungsional dependency yaitu kondisi dimana A, B, C adalah atribut sebuah relasi dimana A->B dan B->C maka C dikatakan sebagai transitive dependency terhadap A melalui B
Normalisasi
  • proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali dan mengacu pada cara data item dikelompokkan ke dalam struktur record
  • proses pembentukan struktur basis datasehingga sebagian besar ambiguity bisa dihilangkan
Alasan dilakukan normalisasi:
  1. optimalisasi struktur-struktur tabel
  2. meningkatkan kecepatan
  3. menghilangkan pemasukan data yang sama
  4. lebih efisien dalam penggunaan media penyimpanan
  5. mengurangi redudansi
  6. menghindari anomali
  7. integritas data yang ditingkatkan
Bentuk normalisasi yang biasa digunakan:
  1. 1 NF (First Normal Form)
  2. 2 NF (Second Normal Form)
  3. 3 NF (Third Normal Form)
  4. BCNF (Boyce-codd Normal Form)
  5. 4 NF (Four Normal Form)
  6. 5 NF (Five Normal Form)
Langkah-Langkah Normalisasi:
 
1 NF - Bentuk Normal Pertama
  • suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai
  • tidak diperbolehkan adanya atribut yang bernilai banyak (multivalued attribut) dan attribut komposit atau kombinasi keduanya
2 NF - Bentuk Normal Kedua
  • terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF dan semua atribut selain primary key secara utuh memiliki Functional Dependency pada primary key
  • tidak terpenuhi dalam sebuah tabel jika ada atribut yang ketergantungannya hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)
  • jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key maka atribut tersebut harus dipindah atau dihilangkan
3 NF - bentuk Normal Ketiga
  • terpenuhi jika telah memenuhi bentuk 2 NF
  • tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif)

Sabtu, 10 November 2012

Query Languages

Query Languages merupakan bahasa yang digunakan untuk meminta informasi dari basis data.
Bahasa Query Relasional berbeda dengan bahasa pemrograman konvensional. Contohnya yaitu SQL.
Bahasa  Query Relasional formal merupakan bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa relasional formal sehingga dapat diterapkan sekumpulan informasi untuk memperoleh query paling efisien.

Jenis bahasa query:
  1. Bahasa prosedural
User menginstruksikan ke sisitem agar membentuk serangkaian operasi dalam basis data untuk mengeluarakan hasil yang diinginkan. Yang termasuk dalam bahasa ini adalah Aljabar Relational, yaitu kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan relasi yang baru, termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
  1. Bahasa nonprosedural
User mendiskripsikan informasi yang diininkan tanpa memberikan prosedur detail untuk menghasilkan informasi tersebut. Yang termasuk dalam bahasa ini adalah Kalkulus Relational Tuple.

Jenis Operasi:
  1. Operasi Unary
  2. Operasi Binary
Operasi Dasar Aljabar Relasional: 
  1. Selection/Select adalah operasi untuk menyeleksi tupel-tupel yang memebuhi suatu predikat, dapat menggunakan operator perbandingan (<, >, <=, >=, =, #) pada predikat. Beberpa predikat dapat dikombinasikan menjadi predikat majemuk menggunakan penghubung AND dan OR.
  2. Projection / Project adalah operasi untuk memperoleh kolom-kolom tertentu, operasi ini merupakan operasi unary yang mengirim relasi argumen dengan kolom-kolom tertentu.
  3. Cartesius-product atau cross product (X) adalah operasi untuk menghasilkan tabel hasil perkalian kartesian. Operasi ini merupakan operasi biner yang memungkinkan kombinasi informasi beberapa.
  4. Union adalah operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama, yaitu domain atribut ke-i masing-masing tabel harus samas. Operasi ini dapat dilaksanakan jika R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama. 
  5. Set-difference (-) adalah operasi untuk mendapatkan tabel pada suatu relasi tetapi tidak ada pada relasi yang lainnya. Operasi dapat dilakukan jika R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya atribut R yang tidak ada di S akan ditampilkan sedangkan atribut yang sama tidak ditampilkan.
  6. Rename adalah operasi untuk menyalin tabel lama kedalam tabel baru.