Kamis, 29 November 2012

Resume Sistem Basis Data Tgl 23 November 2012


DEPEDENCY DAN NORMALISASI

DEPENDENCY

Functional Dependency
Functional Dependency (FD) merupakan ketergantungan yang terjadi antara atribut-atibut pada suatu entitas.


Symbol yang digunakan untuk mewakili FD adalah -> (dibaca secara fungsional menentukan)

Contoh :  A -> B
Maksudnya : A secara fungsional B (nilai A akan menentukan nilai dari B)
Contoh dalam kasus : 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, B bergantung penuh terhadap A.

Contoh:
NIM -> Nama MHS 
attribute NIM  menentukan attribute Nama MHS, dimana setiap NIM yang sama juga akan menentukan nama yang sama pula, satu NIM satu Nama MHS.
2.      Partially Dependency
Merupakan 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:
NIP
Nama
Jabatan
Gaji/Jt
KdCbng
Alamat
123
Bambang
DIRUT
5
1
Surabaya
234
Samsul
CS
3
2
Ngawi
567
Indra
sekretaris
3.5
3
Pasuruan

NIP ->  {Nama, Jabatan, Gaji, KdCab, AlmtCab}
kdCab ->   AlmtCab
artinya : alamat cabang ditentukan oleh NIP melalui kdCab

NORMALISASI
     Normalisasi merupakan suatu proses pembentukan struktur basis data sehingga sebagian besar ambiguity dapat dihilangkan.

Alasan-alasan dilakukan NORMALISASI :
1.      Optimalisasi struktur-struktur table
2.      Meningkatkan kecepatan
3.      Mengurangi redudansi
4.      Lebih efisien dalam media penyimpanan
5.      Menghindari anomaly
6.      Menghilangkan pemasukan data yang sama, dll

Langkah-langkah Normalisasi
1.      Bentuk tidak normal
2.      1NF : Menghilangkan attribute bernilai ganda
3.      2 NF : Menghilangkan depedensi parsial
4.      3NF : Menghilangkan depedensi transitif
5.      BCNF : Menghilangkan ketergantungan yang penentunya bukan kunci kandidat
6.      4NF : Mengilangkan lebih dari 1 depedensi yang bernilai ganda
7.      5NF : Mengatasi depedensi ganda

Penjelasan mengenai hal-hal diatas,
(tapi saya bahas sampe 3 aja yah,soalnya baru tau 3 doang ^_^, heeeee , langsung aja liat dibawah) :

1.      1NF
Merupakan sebuah relasi dimana setiap irisan antara baris dan kolom berisikan satu dan hanya satu nilai.
Cara untuk 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

Bahasa Query

Bahasa Query(Query Language)

Merupakan : 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