Pages

Subscribe:

Selamat Datang, Semoga Bermanfaat... ^-^

Selasa, 25 Desember 2012

Dependency & Normalisasi

Functional Dependency (Ketergantungan Fungsional) menggambarkan relationship/hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi. Dikatakan functional dependent jika harga suatu atribut untuk menentukan harga atribut lainnya, dengan symboldibaca secara fungsional menentukan.
Notasi : AB
Jika A dan b adalah atribut dari sebuah table, berarti secara fungsional A menentukan B atau B tergantung A jika dan hanya jika ada 2 baris data dengan nilai yang sama, maka nilai B juga sama.

Contoh :
Tabel Data Mahasiswa
NIM
Nama Mahasiswa
5302411161
Sulthonul Amin
5302411162
Nurma Anisa R.
5302411163
Tika Ne’lis S


Ketergantungan fungsional tabel NIM dengan Nama Mahasiswa (NIMNama Mahasiswa)

Macam-Macam Dependency :
Functional Dependency :
  • Full functional dependency (Ketergantungan penuh)
Menunjukkan jika terdapat atribut A dan Bdalam suatu relasi, dimana :
  • B memiliki ketergantungan functional secara penuh dengan A.
  • B bukan memiliki dependency terhadap subset A.
{NIM, nama} idRuang bukan Full Dependency jika nama dihilangkan, maka NIM  idRuang bisa Full dependency.



  • Partially functional dependency (Ketergantungan Parsial)
Merupakan ketergantungan fungsional, dimana :

  • Beberapa atribut dapat dihilangkan dari A dan ketergantungan tetap dipertahankan
  • B memiliki dependency terhadap subset A.
{NIM, nama}  idRuang
dimana jika nama dihilangkan maka ketergantungan tetap ada.
  • Transitive dependency ()
Adalah type functional dependency, yaitu kondisi dimana A, B, C adalah atribut sebuah relasi dimana A  B dan B  C. Maka dikatakan sebagai transitive dependency terhadap A melalui B,

NIP  {nama, jabatan,  gaji, KdCabang, AlmCabang}
KdCabang  AlmCabang

Normalisasi merupakan suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali, dan mengacu pada cara data item dikelompokkan ke dalam struktur record.

Tujuan Normalisasi , adalah:
  1. Mengoptimalkan struktur-struktur tabel.
  2. Meningkatkan kecepatan.
  3. Menghilangkan pemasukan data yang sama.
  4. Lebih efisien dalam penggunaan media penyimpanan.
  5. Mengurangi redudansi yaitu adanya penggandaaan data.
  6. Menghindari anomali yaitu adanya keanehan-keanehan dari data.
  7. Menjaga integritas data.

Bentuk-bentuk Normalisasi :
  • First Normal Form (1NF)
Merupakan suatu keadaan dimana perpotongan baris dan kolom pada relasi hanya berisi satu nilai. Pada bentuk ini tidak diperbolehkan adanya atribut multivalue (atribut bernilai banyak) dan atribut komposit, atau perpaduan di antara keduanya.
  • Second Normal Form (2NF)
Merupakan suatu tabel dikatakan 2NF jika 1NF sudah terpenuhi dan semua atribut selain primary key secara utuh memiliki ketergantungan fungsional pada primary key. Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan.
  • Third Normal Form (3NF)
Merupakan suatu tabel dikatakan 3NF apabila 2NF sudah terpenuhi dan tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif).
Boyce-Codd Normal Form (BCNF)
Merupakan Semua anomali yang tersisa dari hasil penyempurnaan kebergantungan fungsional di atas telah dihilangkan.
  • Four Normal Form (4NF)
Semua kebergantungan bernilai banyak (multivalued dependencies) telah dihilangkan.
  • Five Normal Form (5NF)
Semua anomali yang tertinggal telah dihilangkan.




Kamis, 15 November 2012

Query Languages

Query languages dapat dibagi menjadi 2, yaitu :
  1. Bahasa prosedural => user menginstruksikan sistem dalam serangkaian perintah ke dalam basis data untuk mendapatkan informasi yang diinginkan.
  2. Bahasa non-prosedural => user tidak perlu menginstruksikan perintah apapun untuk mendapatkan informasi. 
Salah satunya adalah aljabar relational. 
Aljabar relasional adalah salah satu jenis bahasa query prosedural, dimana user menginstruksikan sistem untuk melakukan sederetan perintah untuk mendapatkan informasi yang diinginkan. Bahasa aljabar relasional ini diekspresikan dalam bentuk operator-operator relasi yang levelnya tinggi, seperti s, p, È, -.  Operator-operator inilah yang nantinya menjadi instruksi bagi sistem dan juga menghubungkan beberapa tabel/relasi sebagai input dan menghasilkan sebuah tabel/relasi baru sebagai output. Terdapat lima operasi dasar di aljabar relasional yakni :
  1.  Select (s)
  2.   Project (p)
  3. Union (È)
  4. Set-difference (-)
  5. Cartesian-product(X, disebut juga sebagai cross product)
Berdasarkan banyaknya tabel/relasi basis data yang terlibat dalam operasi, maka operasi aljabar relasional dibagi menjadi 2 :
  • Operasi unary => beroperasi pada sebuah tabel untuk mendapatkan informasi yang diinginkan. Contoh operasinya : select, project, rename
  • Operasi binary => beroperasi pada beberapa tabel untuk mendapatkan informasi yang diinginkan. Contoh operasinya : Cartesian-product, union, set-difference
  1.  Operasi Select (s)
Merupakan operasi query yang paling umum, dimana operasi ini digunakan untuk mengambil data dari satu atau lebih tabel, selain itu juga digunakan untuk mengelompokkan sejumlah record dan menghitung total, banyak data, serta rata-ratanya. Beberapa operasi dapat dikombinasikan menggunakan operator Ú (OR) dan Ù (AND).
Untuk melihat hasil operasi dari selection ini, saya menggunakan relasi-relasi berikut :
 
Query : Tampilkan dosen yang lahir di Banyumas
Ekspresi aljabar relasional : s tLahir=”Banyumas” (Dosen)

2. Projection (p)

Adalah operasi untuk menampilkan attribute atau kolom tertentu. Operasi ini adalah salah satu jenis operasi unary dimana hanya mengirim satu relasi argument dengan kolom tertentu pula. Karena relasi merupakan suatu himpunan, maka duplikasi data dihilangkan.
Query : Tampilkan NIP, nama, tLahir, tglLahir,alamat dari relasi Dosen
Ekspresi aljabar relasional : p NIP,nam, tLahir, tglLahir, alamat (Dosen)

3. Operasi Cartesian-product(X)

Adalah operasi yang melakukan perkalian kartesian, dengan output adalah tabel baru hasil perkalian tersebut. Kegunaan operasi ini adalah untuk mengkombinasikan informasi dari beberapa tabel sehingga operasi ini juga termasuk operasi binary.
Query : Cartesian-product (X) relasi Jurusan dan TugasJurusan
Ekspresi Aljabar Relasional : Jurusan X TugasJurusan
 
4.  Operasi Union (È)

Adalah operasi untuk menggabungkan tabel dengan ketentuan bahwa masing-masing tabel yang akan digabungkan harus memiliki atribut yang sama. 
Query : Tampilkan NIP (dari relasi Dosen) union dari NIP (dari relasi TugasJurusan).
Ekspresi aljabar relasional : p NIP (Dosen) È NIP (TugasJurusan)
 
5. Operasi Set-Difference (-)

Operasi untuk memperoleh informasi dari suatu relasi, tapi informasi tersebut tidak ada pada relasi lainnya. Operasi hanya bisa dilakukan untuk tabel-tabel tertentu dengan atribut yang dimiliki masing-masing table ada yang tidak sama.
Query : Tampilkan NIP (dari relasi Dosen) set-difference dari NIP (dari relasi TugasJurusan).
Ekspresi aljabar relasional : p NIP (Dosen) - NIP (TugasJurusan)

Salam hangat dari penulis Nurma Anisa Rahmaning Tiyas ^-^

Aktivitas Blog

Powered By Blogger

Cari Blog Ini