DEPEDENCY DAN NORMALISASI




Ø  Functional Dependency
          Functional Dependency, menjelaskan relationship antar atribut-atribut dalam relasi.
          Misalkan, jika A dan B adalah atribut dari suatu relasi R, B dikatakan Functionally Dependent pada A (dinotasikan A --> B), jika setiap nilai A dihubungkan dengan tepat satu nilai B. ( A dan B masing-masing dapat terdiri atas satu atau lebih atribut)
          Direpresentasikan dalam diagram :
                                                                A à B
                B tergantung secara fungsional terhadap A
          Determinant dari functional dependency mengacu kepada atribut atau himpunan atribut disebelah kiri anak panah.

 Ø  Pengertian normalisasi
          Normalisasi adalah suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat (properties) yang diinginkan, memenuhi kebutuhan data pada enterprise.
          Sebuah relasi dapat dinormalisasi kedalam bentuk tertentu untuk mengatasi kemungkinan terjadinya pengulangan dari update yang tidak baik.
          Empat bentuk normal yang biasa digunakan yaitu, first normal form (1NF), second normal form  (2NF) dan third normal form (3NF), dan Boyce–Codd normal form (BCNF).
Data redundancy
          Kerangkapan data dapat menyebabkan anomali
Ø  Proses Normalisasi
          Suatu teknik formal untuk menganalisa relasi berdasarkan primary key atau candidate key-nya dan functional dependency antar atribut.
          Dilakukan dalam beberapa langkah. Setiap langkah mengacu ke bentuk normal tertentu, sesuai dengan sifat yang dimilikinya.
          Setelah normalisasi diproses, relasi secara bertahap menjadi lebih terbatas/kuat bentuk formatnya dan juga mengurangi tindakan update yang anomali.





Ø  Update Anomalies
          Relasi yang mengandung informasi yang redundan dapat diakibatkan oleh  update anomalies.
          Beberapa tipe dari update anomalies, diantaranya           :
        Insertion
        Deletion
        Modification
Ø  Unnormalized Form (UNF)
          Merupakan suatu table yang berisikan satu atau lebih group/data yang berulang.
          Membuat tabel unnormalized yaitu dengan memindahkan data dari sumber informasi (Contoh : Form) kedalam format tabel dengan baris dan kolom.
Ø  First Normal Form (1NF)
          Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
Ø  UNF ke 1NF
        Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalized.
        Identifikasikan groups yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut.
        Hapus group yang berulang dengan cara               :
          Masukkan data yang semestinya kedalam kolom yang kosong pada baris yang berisikan data yang berulang (flattening the table), atau dengan cara
          Menggantikan data yang ada dengan copy  dari kunci atribut yang sesungguhnya kedalam relasi terpisah.
          Contoh sederhana DreamHome lease. Seorang klien bernama John Kay menyewa properti di Glasgow yang dimiliki oleh Tina Murphy. Dalam kasus ini diasumsikan seorang klien dapat menyewa sebuah properti hanya satu kali dan tidak dapat menyewa lebih dari satu pada saat yang bersamaan.
                          Sample data yang digunakan diambil dari 2 kontrak dari 2 klien yang berbeda yaitu John Kay dan Aline Stewart yang diubah kedalam bentuk tabel sbb, disebut dengan



Ø  Proses:
          Tentukan atribut kunci untuk tabel unnormalized ClientRental , yaitu clientNo.
          Tentukan group/kelompok yang berulang untuk setiap clientNo, yaitu  :
        Group berulang =            (properyNo, pAddress, rentStart, rentFinish, rent,  ownerNo, oName)
          Untuk mengubah tabel unnormalized menjadi 1NF, maka harus ditetapkan terdapat 1 nilai untuk setiap kolom dan baris. Dapat dicapai dengan memindahkan group yang berulang.

Sehingga menghasilkan 1NF sbb       :

          Kemudian tentukan candidate key untuk relasi ClientRental dalam bentuk Composite Key yaitu (clienNo, propertyNo), (clientNo, rentStart), dan (propertyNo, rentFinish).
          Ketiga kombinasi tadi dibandingkan dan dipilih (clientNo, propertyNo) sebagai primary key.
          Sehingga relasi ClientRental didefinisikan :
        ClientRental (clientNo, propertyNo, cName, pAddress, rentStart, rentFinish, rent, ownerNo, oName)
Ø  Second Normal Form (2NF)
          Berdasarkan pada konsep full functional dependency, mengindikasikan bahwa, jika A dan B merupakan atribut dari sebuah relasi,  B dikatakan fully dependent terhadap A jika B functionally dependent pada A tetapi tidak pada proper subset dari A.
          2NF – merupakan sebuah relasi dalam  1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
Ø  1NF ke 2 NF
          Identifikasikan primary key untuk relasi 1NF.
          Identifikasikan functional dependency dalam relasi.
          Jika terdapat partial  dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
Contoh:
          Direpresentasikan functional dependency (fd1 – fd6) untuk relasi:
          ClientRental dengan (clientNo, propertyNo) sebagai primary key.
          Walaupun ClientRental memiliki 3 candidate key, tetapi yang diperhatikan hanya keterkaitan terhadap primary key saja, karena menggunakan definisi dari 2 NF yang berhubungan hanya dengan primary key dari relasi yang bersangkutan.
          Sedangkan candidate key yang lain akan dipergunakan pada saat definisi umum untuk 2NF.


          fd1         clientNo, propertyNo à rentStart, rentFinish                     (Primary Key)
          fd2         clientNo à cName                                                                          (Partial Dependency)
          fd3         propertyNo à pAddress, rent, ownerNo, oName            (Partial Dependency)
          fd4         ownerNo à oName                                                                       (Transitive Dependency)
          fd5         clientNo, rentStart à propertyNo, pAdrress,
          rentFinish, rent, ownerNo, oName                                          (Candidate Key)
fd6 properyNo, rentStart à clientNo, cName, rentFinish      (Candidate Key)




Ø  Proses:
          Pada saat identifikasi functional dependency yang ada, dimulai dengan memeriksa apakah terdapat partial dependency terhadap primary key. Atribut (cName) partially dependent  pada primary key, yaitu hanya atribut clientNo (fd2), atribut (pAddress, rent, ownerNo, oName) partially dependent pada primary key, yaitu hanya atribut propertyNo (fd3), atribut (rentStart dan rentFinish) fully dependent  pada seluruh primary key, yaitu clientNo dan propertyNo (fd1).
          Identifikasi partial dependency pada relasi ClientRental mengindikasikan bahwa relasi tersebut tidak termasuk dalam 2NF. Untuk mengubah relasi ClientRental kedalam 2NF diperlukan pembuatan relasi baru dimana seluruh atribut non-primary-key dihapus/digantikan dengan  atribut yang fully dependen.
Ø  bentuk 2NF menjadi

Ø  Hasil 2NF
          Karena setiap atribut non-primary-key bersifat fully dependent pada primary key dalam relasi, maka relasi-relasi diatas mempunyai bentuk           :
        Client                    (clientNo, cName)
        Rental                   (clientNo, propertyNo, rentStart,                                             rentFinish)
        PropertyOwner                (propertyNo, pAddress, rent, ownerNo, oName)



Ø  Third Normal Form (3NF)
          Berdasarkan pada konsep transitive dependency, yaitu suatu kondisi dimana A, B dan C merupakan atribut dari sebuah relasi, maka jika  A à B dan B à C, maka C transitively dependent pada  A melalui  B.  (menegaskan bahwa A tidak functionally dependent pada  B atau C).
          3NF – Adalah sebuah relasi dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada  primary key.
Ø  2NF ke 3NF :
          Identifikasikan primary key dalam relasi  2NF.
          Identifikasikan functional dependency dalam relasi.
          Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinan-nya.
Contoh:
          Functional dependency yang ada dalam relasi Client, Rental dan PropertyOwner, yang dihasilkan dari contoh sebelumnya, sbb             :

Ø  Deskripsi::
          Seluruh atribut non-primary key yang terdapat pada relasi client dan Rental bersifat functionally dependent pada masing-masing primary key-nya dan tidak memiliki transitive dependency yang dibutuhkan dalam 3NF.
          fd yang diberi label tanda kutip (fd5’ dan fd6’) menandakan bahwa dependency yang terdapat didalamnya telah dibandingkan sebelumnya (bandingkan dgn fd1).
          Seluruh non-primary-key pada relasi PropertyOwner bersifat functionally dependen pada primary key-nya, terkecuali oName yang juga dependent pada ownerNo.
          Transitive dependency adalah jika suatu atribut dependent pada satu atau lebih non-primary-key.
          Untuk merubah relasi PropertyOwner kedalam bentuk 3NF, harus menghilangkan  transitive dependencies dengan membuat 2 relasi baru yaitu PropertyForRent dan Owner.
          Sehingga relasi yang baru tersebut mempunyai bentuk sbb         :
PropertyForRent      (propertyNo, pAddress, rent, ownerNo)
Owner(ownerNo, oName)





Ø  Definisi umum 2NF dan 3NF
Ø  Second normal form (2NF)
          Suatu relasi yang ada dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada candidate key.

Ø  Third normal form (3NF)
          Suatu relasi yang ada dalam 1NF dan 2NF dan dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitively dependent pada candidate key.
Langkah-langkah Normalisasi:







   QUERY LANGUAGE
 
PENGERTIAN QUERY LANGUAGE

-Query adalah merupakan bahasa untuk melakukan manipulasi terhadap database, yang telah distandarkan dan lebih dikenal dengan nama Structured Query Language (SQL)
-Bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE kota=”Yogyakarta” AND umur<40. Query tersebut meminta semua record dari basis data yang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakarta dan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan). Standar bahasa query yang banyak digunakan adalah SQL (structured query language). Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, query dengan parameter yang telah tersedia dan query by example.
 
Bahasa query dapat dikategorikan sebagai bahasa prosedural & bahasa non-prosedural
  • Bahasa procedural merupakan suatu bahasa yang membuat suatu urutan instruksi. Yang termasuk dalam bahasa procedural adalah aljabar relasional
  • Bahasa non-prosedural  merupakan suatu bahsa yang hanya mendeskripsikan informasi tanpa memberikan urutan informasi. Yang termasuk dalam bahasa non-prosedural adalah kalkulus relasional, dan kalkulus relasional tupel.


ALJABAR RELASIONAL

Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Operasi-operasi dasar dalam aljabar relasional adalah : select, project, union, set difference, dan cartesian product.
Disamping operasi-operasi dasar terdapat beberapa operasi tambahan seperti set intersection, natural join, division dan theta join.
Ada dua operasi pada aljabar relasional yaitu operasi dasar dan operasi tambahan 
  • Operasi Dasar             : terdiri atas select, project, cross, union, intersection, subdifference, rename,Cartesian product
  • Operasi Tambahan     : terdiri atas set intersection,tetha join , natural join, division

JENIS-JENIS OPERASI 
  • Unary  : suatu operasi yang hanya digunakan pada suatu relasi
  • Binary  : suatu operasi yang memerlukan sepasang relasi

SELECTION
Selection merupakan suatu operasi untuk menyeleksi tupel-tupel yang memenuhi suatu predikat.
PROJECTION
Projection merupakan sebuah operasi unary yang digunakan untuk memperoleh kolom-kolom tertentu.
Copyright 2009 kuliah yuk yak yuk. All rights reserved.
Bread Machine Reviews | watch free movies online by Blogger Templates