Sabtu, 24 November 2012

Post 7 : Dependency & Normalisasi

     Dependency itu sendiri mempunyai arti "Ketergantungan" dan Normalisasi adalah "Proses Menormalkan"
  • Functional Dependency
Atau disebut juga dengan Ketergantungan Fungsional. Suatu atribut dikatakan Functionally Dependent jika menggunakan harga atribut untuk menentukan harga atribut yang lain.
Semisal notasi : A => B
A dan B adalah atribut dari sebuah tabel.
Dibaca, A secara fungsional menentukan nilai pada B atau B bergantung pada A.

Example :

Ketergantungan fungsionalnya pada tabel Pemasok adalah ...
No_Pemasok => Nama_Pemasok
  • Macam - Macam Dependency
Funnctional Dependency
- Full Functional Dependency
- Partially Dependency
- Transitive Dependency

1. Full Dependency (Ketergantungan Penuh)
    Jika terdapatatribut A dan B suatu relasi, berarti :
- B memiliki ketergantungan fungsional penuh terhadap A
- B bukan memiliki dependensi terhadap A

Example:

Berarti, {NIM, nama} => idRuang bukan Full Dependency , 
tapi jika nama dihilangkan, maka NIM => idRuang bisa Full Dependency

2. Partially Dependency (Ketergantungan Parsial)
    Dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan.


NIM, nama => idRuang , dimana jika nama dihilankan maka ketergantungan tetap ada.

3. Transitive Dependency (Ketergantungan Transitif)
    Dimana kondisi A,B,C adalah atribut sebuah relasi A=>B dan B=>C .Maka C dikatakan sebagai transitive dependency terhadap A melalui B.
    Jika C=>A asal melalui B.


Nip => {Nama, Jabatan, Gaji, KdCabang, AlmCabang}
KdCabang => AlmCabang
  • NORMALISASI
                    Merupakan suatu proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.

# Alasan mengapa dilakukan normalisasi :
- Optimalisasi struktur-struktur tabel
- Meningkatkan kecepatan
- Menghilangkan pemasukan data yang sama
- Lebih efisien dalam penggunaan media penyimpanan
- Mengurangi redundansi
- Menghindari anomali (insertion anomalies, deletion anomalies, update anomalies)
- Integritas data yang ditingkatkan

# Bentuk normalisasi yang digunakan :
- First normal form (INF)
- Second normal form (2NF)
- Third normal form (3NF)
- Boyce-codd normal form (BCNF)
- Four normal form (4NF)
- Five normal form (5NF)

# Langkah-Langkah Normalisasi :


1NF - Bentuk Normal Pertama
Suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai.
Tidak diperbolehkan ada atribut yang bernilai banyak (Multivalued Attribut), dan attribut komposit atau kombinas keduanya.

Example :

UnNormalized Form (UNF)


Memenuhi 1NF


2NF - Bentuk Normal Kedua
Bentuk normal ini terpenuhi jika memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada Primary Key.
Dan sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungan hanya bersifat parsial dari primary key.
Kemudian jika tidak memiliki ketergantungan pada primary key, maka atribut harus dipindah atau dihilangkan.

Example :

{No_peg, No_Klien} => {Nama_peg, Nama_Klien}


Kemudian dibagi lagi menjadi :


Dan antara No_peg dan No_klien digabung menjadi :


3NF - Bentuk Normal Ketiga
Terpenuhi jika :
- telah memenuhi bentuk 2NF
- tidak ada atribut non prmary key yang memiliki ketergantungan pada atribut non primary key yang lainya (ketergantungan transitif)

Example :


Tabel di atas memenuhi syarat 2NF tetapi tidak memenuhi 3NF

NIM => {NamaMhs, Jalan, Kota, Provinsi, KodePos}
KodePos => {Kota, Provinsi}

NIM => {NamaMhs, Jalan, KodePos}          , sebagai Tabel Mahasiswa
KodePos => Provinsi, Kota                           , sebagai Tabel KodePos

TABEL MAHASISWA


TABEL KODE POS


Selasa, 20 November 2012

Post 6 Query Language


Query Language merupakan bahasa khusu yang digunakan untuk melakukan perintah-perintah untuk mengakses data pada sistem basis data.
Query Language atau yang lebih dikenal dengan nama SQL merupakan suatu bahasa yang digunakan untuk membuat sebuah database.
SQL terdapat 2 jenis perintah, yaitu :

1.  Data Devinition Language (DDL) yaitu merupakan suatu perintah SQL untuk mendefinisikan suatu struktur database.
create = merupakan perintah dasar dalam pembuatan tabel
alter  = merupakan perintah untuk mengubah tabel
rename = merupakan perintah untuk mengubah nama tabel
drop = merupakan perintah untuk menghapus table

2. Data Manipulasi Language (DML) yaitu merupakan perintah SQL yang digunakan untuk memanipulasi suatu pengolahan data dalam tabel. 
select = digunakan untuk memanggil data dalam sebuah tabel
insert = digunakan untuk memasukkan data kedalam abel
update = digunakan untuk mengubah nama dalam tabel
delete = digunakan untuk menghapus data dalam tabel


Jenis Bahasa Query :
a. Bahasa Prosedural (Aljabar Relasional) merupakan bahasa yang identik dengan aljabar relasional. Biasanya mempunyai operasi dasar select dan operasi tambahan.
b.  Bahasa non prosedural (Kalkulus Relasional) merupakan bahasa yang identik dengan kalkulus relational yaitu mendeskripsikan informasi tanpa memberi instruksi.

 Operasi Bahasa Query :
a.   Operasi Unary
      Terdiri dari selection dan projection karena keduanya dapat digunakan hanya untuk satu relasi saja.
b.   Operasi Binary
      Di dalam operasi binary ini terdapat union dan cartesian-product.


animasi  bergerak gif