Rabu, 28 November 2012

Dependency dan Normalisasi

Untuk kali ini kita akan membahas tentang dependency dan normalisasi. Sebelum normalisasi, terlebih dahulu kita harus bisa menentukan functional dependency.
  • Functional Dependency
    Functional Dependency menggambarkan hubungan, batsan, keterkaitan antara atribut-atribut dalam relasi. Suatu atribut dikatakan functionally dependent terhadap yang lain jika menggunakan harga atribut tersebut untuk menentukan harga atribut yang lain. Simbol yang digunakan untuk Functional Dependency adalah tanda panah.

    Gambar diatas menunjukkan B memiliki ketergantungan terhadap A.

    Macam-macam Dependency

    1.Full Functional Dependency
       Jika terdapat atribut A dan B dalam suatu relasi,bilamana B memiliki ketergantungan fungsional secara penuh pada A, B tidak memiliki dependensi terhadap subset A.

    2. Partially Dependency
        Ketergantungan Fungsional dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan. B memiliki dependensi terhadap subset A.

    3. Transitive Dependency
        Tipe functional dependency yaitu dimana A,B,dan C adalah atribut sebuah relasi dimana A->B dan B->C. Maka C dikatakan transitive dependency terhadap A melalui B.

  • Normalisasi 
    adalah proses pembentukan struktur basis data sehingga sebagian besar ambiguity dapat dihilangkan. Perlunya dilakukan normalisasi adalah untuk mengeliminasi adanya duplikasi informasi. Selain itu memudahkan pengubahan struktur pada tabel dan juga memperkecil pengaruh perubahan struktur database.
    Alasan lain dilakukannya normalisasi :
    1. Meningkatkan kecepatan
    2.  Lebih efisien dalam penggunaan media penyimpanan
    3. Menghindari anomali (insertion anomalies, deletion anomalies, update anomalies)
    4.Integritas data yang ditingkatkan

    Bentuk normalisasi yang biasa digunakan yaitu
    1. First normal form (1NF)
    2. Second normal form (2NF)
    3. Third normal form (3NF)
    4. Boyce-codd normal form (BCNF)
    5.Four normal form (4NF)
    6.Five normal form (5NF)

    Langkah-langkah normalisasi :


    *Normalisasi 1NF
       Suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Mendefinisikan atribut kunci ,tidak adanya group berulang dan semua atribut bukan kunci tergantung pada atribut kunci.

    *Normalisasi 2NF
      Sudah memenuhi dalam bentuk normal ke satu. Sudah tidak ada ketergentungan parsial dimana seluruh field hanya tergantung pada sebagian field kunci.

    *Normalisasi 3NF
      Sudah berada dalam normal bentuk kedua. Tidak ada ketergantungan transitif ,dimana field bukan kunci tergantung pada field bukan kunci lainnya.


Rabu, 14 November 2012

Query Language

Bahasa query merupakan bahasa yang digunakan user untuk meminta/mendapatkan informasi atau data dari basis data bisa juga diartikan bahasa untuk mengakses data pada sistem basis data.

Bahasa query dikelompokkan menjadi dua bagian,yaitu :

  1. Bahasa Prosedural
    Bahasa prosedural merupakan bahasa yang membuat suatu urut-urutan instruksi.
    Aljabar relational termasuk dalam bahasa prosedural.
  2. Bahasa Non Prosedural
     Bahasa Non Prosedural merupakan bahasa yang hanya mendiskripsikaniformasi yang diinginkan tanpa mendefinisikan instruksi/prosedur untuk memperoleh informasi.
    Aljabar Relational dan Kalkulus Relational merupakan bahasa non prosedural
Aljabar Relational

Bahasa Query yang didasarkan pada opersi-operasi dalam aljabar relational. Aljabar Relational  merupakan bahasa query yang prosedural. Bahasa queri prosedural terdiri dari beberapa operasi yang apabila masukkannya terdiri dari beberapa atau satu relasi maka keluarannya adalah sebuah relasi baru hasil dari operasi tersebut.

Ada dua jenis operasi, yaitu 
  • Operasi Unary
    adalah opersai yang terdiri dari satu relasi, beroperasi pada sebuah tabel/relasi antara lain
    - Selection
    - Projection
  • Operasi Binary
    adalah operasi yang memerlukan sepasang atau sejumlah relasi,antara lain
    - Cartesian-Product
    - Union
    - Set-Difference
  1. Selection
    merupakan operasi yang digunakan untuk memperoleh tupel-tupel dari suatu relasi yang memperoleh predikat tertentu. Beberapa predikat dipakai dalam predikat majemuk menggunakan predikat AND atau OR. Predikat mengacu pada kondisi yang ingin dipenuhi dalam operasi seleksi.
    Simbol selection adalalah σ (sigma)
  2. Projection
    merupakan operasi untuk memperoleh atribut-atribut tertentu dari suatu relasi.
    Simbol projection adalah π (pi)
  3. Cartesian-Product
    merupakan operasi yang menghasilkan suatu relasi dari dua relasi yang terdiri dari kombinas tupel-tupel.
    Simbol cartesian-product adalah X (cross)
  4. Union
    merupakan operasi yang membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada salah satu relasi atau pada kedua relasi.
    Simbol union adalah  U (gabungan)
  5. Set-Difference
    merupakan operasi yang membentuk suatu relasi yang terdiri dari tupel-tupel yang berada pada relasi pertama dan tidak berada pada relasi kedua atau kedua-duanya.
    Simbol set-difference adalah - (minus)