Rabu, 28 November 2012

Functional Dependency-Normalisasi


Functional Dependency (Ketergantungan Fungsional) à FD menggambarkan relationship/hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi. Suatu atribut dikatakan functionally dependent pada yang lain jika menggunakan harga atribut untuk menentukan harga atribut yang lain.
Notasi Functional Dependency : A à B adalah atribut dari sebuah table. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama. Contoh :
Ketergantungan fungsional dari table PEMASOK BARANG adalah :
            • No_Pemasok à Nama_Pemasok
Macam-macam Dependency :
1.      Full functional Dependency à menunjukkan jika terdapat atribut A dan B dalam siatu relasi, dimana :
• B memiliki ketergantungan functional secara penuh pada A
• B bukan memiliki dependensi terhadap subset A.
Contoh 1 :
• {NIM, nama} à idRuang bukan Full Dependency jika nama dihilangkan, maka NIM à idRuang bisa Full dependency.
Contoh 2 :
• {No_Dosen, Pendidikan} à Th_Lulus
• B tidak memiliki dependensi terhadap subset A.
2.      Partially Dependency à merupakan ketergantungan fungsional, di mana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan. B memiliki dependensi terhadap subset A. Contoh :
• NIM, nama à idRuang dimana jika nama dihilangkan maka ketergantungan tetap ada.
3.      Transitive Dependency à merupakan tipe functional 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. Contoh :
• Id_Pelanggan à {Nama, Salesman, Area}
   Salesman à Area.
Normalisasi à merupakan suatu proses untuk mendapatkan struktur table atau relasi yang efisen dan bebas dari anomaly, dan mengacu pada cara data item dikelompokkan ke dalam struktur record. Normalisasi adalah pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
Bentuk normalisasi yang biasa digunakan :
1.      First normal form (1 NF) à suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Tidak diperbolehkan adanya :
a.       Atribut yang bernilai banyak(multivalued atribut)
b.      Atribut komposit atau kombinasi keduanya
Contoh :

2.      Second normal form (2 NF) àbentuk normal @NF terpenuhi dalam sebuah table jika telah memenuhi bentuk 1 NF, dan semua atribut selain primary key, secara utuh memiliki functional Dependency pada primary key. Sebuah table tidak memenugi 2 NF, jika ada atribut yang ketergantungannya(Functional Dependency) 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. Contoh :


3.      Third normal form(3 NF) à bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF dan tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya(ketergantungan transitif. Contoh :

4.      Boyce-codd normal form(BCNF)
5.      Four normal form(4NF)
6.      Five normal form(5NF)
Langkah-langkah normalisasi :

Kamis, 22 November 2012

Query Languages


Query language merupakan suatu bahasa special yang yang dapat mengakses informasi atau perintah  yang melibatkan data pada database.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. 

Languages of  DBMS

  • Data Definition Language DDL -> Mendefinisikan skema dan penyimpanan disimpan dalam Data Dictionary. 
  •  Data Manipulasi Bahasa DML -> Manipulatif mengisi skema, update database, retrieval query isi database.    
  • Data Control Language DCL -> Perizinan, akses kontrol dll.
       Data Manipulation Language 
  •  Teori di balik operasi secara formal didefinisikan setara dengan logika orde pertama (FOL).
  • Relasional Kalkulus ("$º Aljabar Relasional.
  •   Aljabar relasional adalah permintaan pengambilan bahasa berdasarkan set operator dan operator relasional.
  •  Operator relasional mengubah hubungan baik tunggal atau sepasang hubungan menjadi hasil yang saling berhubungan dan dapat digunakan sebagai operan pada operasi selanjutnya.
  •  Untuk setiap operator dan operan hasil, hubungan bebas dari penduplikasan 
  •   Operator yang berorientasi tupel atau set berorientasi
  • Structured Query Language (SQL)
  •           Standar ANSI untuk database relasional, berdasarkan pada aljabar relasional / kalkulus
       ·         QL2 1.992  
  • QL3 1.998
           Operations in the Relational Model
  • Teori di balik operasi secara formal didefinisikan dan setara dengan logika urutan pertama (FOL)
  • Operator relasional mengubah baik hubungan sederhana atau sepasang hubungan menjadi hasil yang relasi 
 
  • Hasilnya dapat digunakan sebagai operan pada kegiatan selanjutnya 
  • Untuk setiap operan dan hasilnya, hubungan bebas dari duplikat
  • Operator yang berorientasi tupel atau set berorientasi

Query Operators

  • Relational Aljabar
       -tuple (unary) Seleksi, Proyeksi       -set (biner) Union, Intersection, Perbedaan       -tuple (biner) Join, Divisi

  •  Additional  Operator
       -Outer Join, Uni Outer
ALJABAR  RELASIONAL
Aljabar relasional merupakan suatu bahasa query procedural  yang memiliki satu atu dua masukkan dan menghasilkan sebuah keluaran dari  operasi tersebut. 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.