Sabtu, 24 November 2012

DEPENDENCY DAN NORMALISASI

FUNCTION DEPENDENCY..???
NORMALISASI..???
 
       Mungkin dari temen-temen masih ada yang belum tau, apa itu function dependency. Dependency itu berasal dari kata dependece yang artinya ketergantungan. Jadi function dependency itu artinya fungsi ketergantungan. ok setelah kita tau apa itu function dependency secara umum,selanjutnya kita akan membahas mengenai funtion dependency secara lebih lanjut.
       Function dependency itu menggambarkan suatu hubungan antar atributte dalam suatu relasi. attribut itu dikatakan sebagai fungsi ketergantungan jika kita menggunakan attribute tersebut untuk menentukan harga attribut lain. Fungsi ketergantungan(funtion dependency) ini dilambangkan dengan simbol --> .
contoh:
Dalam suatu database terdapat data mahasiswa dengan attribut : NIM, nama_mhs, nama_orangtua. karena nama_mhs tergantung pada NIM, dan nama_orangtua tergantung pada nama_mhs. maka relasinya adalah seperti berikut: NIM--> nama_mhs dan NIM --> nama_orangtua.

Macam-Macam Functional Dependency
1. Full functional dependency
suatu relasi dikatakan full funtional dependency jika dalam relasi tersebut terdapat attribut yang saling bergantungan, misal attribut X dan Y, dimana attribut Y memiliki ketergantungan secara penuh pada attribut X(bukan subset X).
{NIM, nama_mhs} --> nama_orangtua
relasi diatas bukan termasuk full funtion dependency karena attribut nama_mhs merupakan subset. attribut nama_mhs itu sendiri tergantung pada attribut NIM. jadi jika attribut nama_mhs itu dihilangkan menjadi:
NIM--> nama_orangtua
maka relasi tersebut sudah bisa dikatakan full funtion dependency.
2. Partially dependency
ini merupakan kebalikan dari full funtion dependency. pada jenis ini kita bisa menghilangkan slah satu attribut, tanpa menghilangkan ketergantungan antar attribut, dan atribut Y memiliki dependence(ketergantungana) pada subset X.
3. Transitive dependency 
transitive dependency ini merupakan salah satu funtional dependency dimana keterhubungan anatara 3 relasi saling berkaitan.
contoh: dalam suatu database terdapat relasi X,Y,Z. dinotasikan seperti ini
X-->Y dan Y-->Z. jika kita ingin mengaitkan  relasi X-->Z, maka kita harus melibatkan relasi Y.

ya, mungkin cuma itu yang bisa saya sampaikan mengenai dependency. selanjutnya saya akan membahas tentang "NORMALISASI". apakah kalian semua tau, apa itu normalisasi??

Normalisasi yaitu suatu proses untuk mendapatkan struktur tabel yang efisien dan untuk mengahsilkan suatu relasi berdasarkan sifat-sifat yang kita inginkan.

Langkah-Langkah Normalisasi

1. 1NF(First Normal Form)

First Normal Form merupakan suatu relasi dimana setiap irisan antara baris & kolom berisikan satu & hanya akan menghsilkan satu nilai.
Langkah perubahan dari UNF ke1NF:
- 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(Second Normal Form)
langkah normalisasi yang kedua ini merupakan suatu 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(Third Normal Form)
Dan yang terkahir(3NF) ini 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.

Sebenarnya masih ada langkah normalisasi yang lain, kurang lebih 2 atau 3 point lagi. tapi baru 3langkah ini yang saya pahami. insyaallah langkah-langkah lainnya akan menyusul pada posting berikutnya.

                                        
                                                   SEE YOU NEXT TIME.. ^___^



Kamis, 15 November 2012

Query Languages

Nah, pengen posting lagi nih kali ini tentang query languages, semoga bermanfaat ..!!

QUERY LANGUAGES
            Relational Query Languages
ERD --> MODEL DATA RELATIONAL --> QUERY LANGUAGES
Query languages adalah sebuah bahasa special yang meminta pertanyaan atau perintah yang akan melibatkan data dalam database.
 
Ada 2 jenis Query Languages, yaitu :
  1.  Procedural : user menginstruksikan ke sistem agar membentuk serangkaian operasi ke dalam  basis data untuk mengeluarkan hasil yang diinginkan. Contoh : Aljabar Relational yang terdiri dari operasi dasar dan operasi tambahan. 
  2.  Non-Prosedural : hanya menampilkan informasi. Contoh : Kalkulus Relational.
Jenis Operasi dalam Aljabar Relational :
  • Operasi Unary
  • Operasi Binary

Terdapat beberapa operasi dasar dalam aljabar relasional, yaitu: 
1.    Selection ( σ ) 
    Selection / Select (σ ), adalah operasi untuk menyeleksi tupel – tupel yang memenuhi suatu  predikat, kita dapat menggunakan operator perbandingan (<,>,>=,<=,=,#) pada predikat. Beberapa predikat dapat dikombinasikan menjadi predikat manjemuk menggunakan penghubung AND ( ) dan OR ( ).
Sintaks : σnamafield=’kondisi penentu’ (nama relasi)  


      2.    Projection ( π )
Projection / Project ( π ), adalah operasi untuk memperoleh kolom – kolom tertentu. Operasi project adalah operasi unary yang mengirim relasi argumen dengan kolom – kolom tertentu. Karena relasi adalah himpunan, maka baris – baris duplikasi dihilangkan.
Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
π colum1,…,column ( tabel)

3.      Cartesian – product ( X, juga disebut sebagai cross product )
Cartesian-product ( X ), adalah operasi untuk menghasilkan table hasil perkalian kartesian.
Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut :
R X S = {(x,y) | xR dan yS}
Operasi cartesian-product memungkinkan kita mengkombinasikan informasi beberapa relasi, operasi ini adalah operasi biner. Sebagaimana telah dinyatakan bahwa relasi adalah subset hasil cartesian-product dan himpunan domain relasi – relasi tersebut. Kita harus memilih atribut – atribut untuk relasi yang dihasilkan dari cartesian-product.
  

4.      Union ( ) 
Union ( ), adalah operasi untuk menghasilkan gabungan table degan syarat kedua table memiliki atribut yangsama, yaitu domain atribut ke-i masing – masing table harus sama. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
                             R S = {x | xR atau X S} 
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama. 


5.      Set – difference ( - )
Set-difference ( -- ), adalah operasi untuk mendapatkan table pada suatu relasi, tapi tidak ada pada relasi yang lainnya. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
                R – S = { x | xR dan X S}
Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya adalah atribut R yang tidak ada di S akan ditampilkan, sedangkan atribut yang sama tidak ditampilkan.
6.      Rename ( ρ )
Rename ( ρ ), adalah operasi untuk menyalin table lama kedalam table yang baru. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut :
ρ [nama_table] (table_lama)
cukup dulu ya buat materinya, See you..