Sabtu, 24 November 2012

Dependency dan Normalisasi


Dependency dan Normalisasi
Materi yang telah saya peroleh yaitu tentang Dependency dan Normalisasi. Oke langsung aja ini pembahasannya
Functional Dependency
Functional Dependency (FD) merupakan ketergantungan yang terjadi antara atribut-atibut pada suatu entiti.
Notasi dari FD yaitu: A –> B, maksudnya yaitu atribut B tergantung pada atribut A.
Salah satu contohnya yaitu:
KodeMK –> NamaMK (artinya atribut NamaMK tergantung pada atribut KodeMK)
Macam-macam Dependency:
1. Full Dependency
Merupakan suatu ketergantungan dimana terdapat atribut A dan atribut B dalam satu relasi.
Contoh:
NIM –> Nilai (artinya yaitu Nilai tergantung pada atribut NIM)
dari contoh di atas Dapat disimpulkan bahwa 1 atribut menetukan pada 1 atribut
2. Partially Dependency
Yaitu suatu functional Dependency yang mana beberapa atribut pada A dapat dihilangkan tetapi ketergantunga terhadap atribut B masih dapat dipertahankan.
Contoh: NIM, nama –> idRuang (artinya idRuang tergantung pada NIM dan nama)
sehingga apabila nama dihilangkan, NIM masih terdapat ketergantungan dengan idRuang.
3. Transitive Dependency
Merupakan salah satu functional dependency dimana keterhubungan anatara A,B,C saling berkaitan. Transitive Dependency dapat dinotasikan A –> B dan B –> C, sehingga apabila kita ingin mengaitkan A –> C maka membutuhkan relasi dari B.
Contoh:
Id_Pelanggan –> {Nama, Salesman, Area}
Salesman –> Area
Normalisasi
Merupakan suatu teknik untuk menghasilkan sekumpulan relasi dengan sifat-sifat yang diinginkan.
Hal-hal yang menjadi dasar acuan dalam proses normalisasi adalah tujuan pembentukan basis data, diantanya harus menghilangkan hal-hal berikut:
a. pengulangan informasi
b. potensi inkosistensi data pada operasi update
c. hindari atribut yang tidak perlu disimpan
d. tersembunyinya informasi tertentu.
Ada beberapa langkah normalisasi diantaranya yaitu: Bentuk 1NF, 2NF, 3NF,BCNF, 4NF dan 5NF.
Namun pada postingan kali ini saya hanya akan mencoba menjelaskan sampai langkah 3NF saja.
1. 1NF
Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
Cara unttuk UNF ke 1NF:
- Tunjuk satu atau sekumpulan atribut sebagai kunci untuk tabel unnormalizied.
- Identifikasi grup yang berulang dalam tabel unnormalized yang berulang untuk kunci atribut
- Hapus grup yang berulang dengan cara memasukkan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang atau dengan cara menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya  ke dalam relasi terpisah.
2. 2NF
Merupakan sebuah relasi dalam 1NF dan setiap atribut non-primary-key bersifat fully functionally dependent pada primary key.
Langkah perubahan dari 1NF ke 2NF yaitu:
- Mengidentifikasi primary key untuk relasi 1NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat partial dependency terhadap primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.
3. 3NF
Merupakan sebuah relasi dalam 1NF dan 2NF dimana tidak terdapat atribut non-primary-key attribute yang bersifat transitive dependent pada primary key.
Langkah-langkah perubahan dari 2NF ke 3NF:
- Mengidentifikasi primary key dalam relasi 2NF.
- Mengidentifikasi functional dependency dalam relasi.
- Jika terdapat transitive dependency terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.

Selasa, 13 November 2012

Query Language


Query language atau Bahasa Query adalah bahasa khusus yang digunakan untuk melakukan query (perintah-perintah untuk mengakses data) pada sistem basisdata.
Bahasa Query dapat dikategorikan menjadi 2, yaitu :
1.      Bahasa prosedural : identik dengan aljabar relational. Bahasa prosedural merupakan suatu bahasa yang membuat suatu urutan instruksi.
2.      Bahasa non prosedural : identik dengan kalkulus relational dan kalkulus relasional tupel. Bahasa non prosedural mendeskripsikan informasi tanpa memberikan urutan instruksi.

Bahasa 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.
   
Query Operators
v  Relational Aljabar
~          tuple (unary) Seleksi, Proyeksi 
~            set (biner) Union, Intersection, Perbedaan 
~            tuple (biner) Join, Divisi
v  Additional  Operator 
~          Outer Join, Uni Outer

Aljabar Relational
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.