BLOGGER TEMPLATES AND TWITTER BACKGROUNDS »

Rabu, 28 November 2012

Dependency & Normalisasi

-->
A.     Functional Dependency

  • Merupakan hubungan/relationalship antara atribut-atribut dalam relasi. Suatu atribut dikatakan functionally dependent jika harga atribut tersebut menentukan harga atribut lain. Disimbolkan dengan tanda panah dan dibaca “secara fungsional menentukan”.
  • Notasi dari functional dependency adalah A -> B. Dibaca atribut A menentukan atribut B.
Contoh:
Tabel pemasok barang

No_pemasok
Nama_pemasok
5
Dina
15
Zian
20
Esa

Ketergantungan pada tabel pemasok barang diatas adalah :
No_pemasok -> Nama_pemasok atau No_pemasok menentukan Nama_pemasok

Tabel Siswa

Matkul
Nim
Nama
Nilai
Psikopen
5302411033
Dina
A
Bahasa Inggris
5302411013
Yanuar
B
Teknik Digital
5302411008
Sigit
AB

Ketergantungan pada tabel siswa diatas adalah :
Nim -> Nama atau Nim menentukan Nama , karena untuk setiap nilai dengan Nim yang sama maka nilai dengan nama juga akan sama.
{Matkul,Nim} -> Nilai
Matkul dan Nim dapat menentukan Nilai jika Matkul dan Nilai merupakan gabungan.

Macam-Macam Functional Dependency
1.         Full Functional Dependency
Menunjukkan suatu relasi jika terdapat atribut A dan B dalam satu relasi, dimana atribut B memiliki ketergantungan fungsional secara penuh pada atribut A dan atribut A ketergantungan pada atribut B. Full functional dependency hanya terdiri dari satu atribut saja.
2.      Partially Dependency
Merupakan ketergantungan fungsional dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan. Dan B memiliki dependensi terhadap subset A. Pada partially dependency ini salah satu dari atributnya harus primary key.
3.         Transitive Dependency
Merupakan suatu ketergantungan fungsional dimana A, B,C adalah atribut sebuah relasi dimana A -> B dan B -> C. Maka, C dikatakan sebagai transitive dependency terhadap A melalui B

B. Normalisasi
  • 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 :
1.         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.
2.         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.
3.         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).
4.         Boyce-Codd Normal Form (BCNF)
Merupakan Semua anomali yang tersisa dari hasil penyempurnaan kebergantungan fungsional di atas telah dihilangkan.
5.         Four Normal Form (4NF)
Semua kebergantungan bernilai banyak (multivalued dependencies) telah dihilangkan.
6.         Five Normal Form (5NF)
Semua anomali yang tertinggal telah dihilangkan.
Langkah Normalisasi
Dimulai dari bentuk yang tidak normal -> bentuk 1NF (menghilangkan atribut-atribut ganda) -> 2NF (menghilangkan dependensial partial) -> 3NF (menghilangkan dependency transitive) -> BCNF (menghilangkan ketergantungan penentunya bukan kunci candidate) -> 4NF (menghilangkan lebih dari satu dependency yang bernilai ganda) -> 5NF (mengatasi dependency ganda).

Rabu, 14 November 2012

Query Language


Query Language 
(Bahasa yang meminta perintah dengan melibatkan data)

Relational Queries Language (RQL) :
ERD --> Model data Relational --> Query language

Relational Queries Language  diawali dengan pembuatan ERD yang kemudian diubah menjadi model data relational berupa table informasi terbatas kemudian diterjemahkan ke Query Language.

Bahasa Query Language
  • Bahasa Prosedural
Bahasa yang identik dengan aljabar  relational, berupa operasi dasar seperti select* dan beberapa operasi tambahan.
  • Bahasa non Prosedural
Bahasa yang identik dengan kalkulus relational, yaitu mendeskripsikan informasi tanpa memberi instruksi.


Query Unary
Yaitu query selection yang digunakan pada relasi binary,

Contoh1 :

Ada beberapa data pada suatu table bernama dosen yang kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :

Tempat_lahir=’jakarta’   v   tempat_lahir=’bogor’ dari table dosen
Artinya : menampilkan dosen dengan tempat lahir Jakarta atau bogor.

Syntaq pada SQL : select * from dosen where tanggal_lahir=’jakarta’

Contoh2 :

Ada beberapa data pada suatu table bernama dosen yang kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :

Tempat_lahir=’jakarta’  ^  jenis_kelamin=’pria’ dari table dosen
Artinya : menampilkan dosen dengan tempat lahir Jakarta dan berjenis kelamin pria.

Syntaq pada SQL : select * from dosen where tanggal_lahir=’jakarta’ and jenis_kelamin=’pria’
Dalam contoh diatas terdapat tanda “v”, dan ada juga tanda “^” , perbedaan kedua tanda tersebut adalah :

^ = berarti mengharuskan
v = bisa dipilih salah satu