Rabu, 28 November 2012

Dependency Dan Normalisasi


Functional Dependency
Disebut juga dengan Ketergantungan Fungsional. Suatu atribut dikatakan Functionally Dependent jika menggunakan harga atribut untuk menentukan harga atribut yang lain.

Misalnya :
notasi : A => B
A dan B adalah atribut dari sebuah tabel. (Dibaca, A secara fungsional menentukan nilai pada B atau B bergantung pada A)

Macam - Macam Dependency
Functional 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
2. Partially Dependency (Ketergantungan Parsial)
    Dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan.
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



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 :

a. 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.

b. 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.

c. 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)

Kamis, 22 November 2012

BAHASA QUERY


Bahasa QUERY adalah bahasa yang meminta suatu perintah yang melibatkan, suatu data dari sebuah database.

JENIS SQL
1. Interactive, langsung dapat dioperasikan
2. Embedded, disisipkan ke dalam sebuah program

PENGELOMPOKAN STATEMEN SQL
1. Data Definition Language (DDL)
CREATE DATABASE
CREATE TABEL
CREATE INDEX
CREATE VIEW
ALTER TABLE
DROP DATABASE
DROP TABEL
DROP INDEX
DROP VIEW

2. Data Manipulation Language
INSERT, SELECT, UPDATE, DELETE

3. Data Access
GRANT , REVOKE

4. Data Integrity
RECOVER TABLE

5. Auxiliary
UNLOAD, LOAD, RENAME COLUMN

PEMBUATAN DATABASE/TABLE,INDEX DAN VIEW
1. Pembuatan Database
Nama Database adalah berasal dari nama organisasi atau perusahaan.
Sintaks :
CREATE DATABASE (nama_db)
Contoh :
Buat database dengan nama organisasi UNNES maka CREATE DATABASE UNNES

2. Pembuatan Tabel
Sintaks :
CREATE TABLE nama_table (nama_kolom1 jenis_kolom1,nama_kolom2,jenis_kolom2,….)
Contoh :
Struktur database sebagai berikut :
MHS (NIM char(8), NAMA char(25), ALAMAT char(30))
CREATE TABLE MHS (NIM char(8) not null, NAMA char(25) notnull,
ALAMAT char(30) notnull)

3. Pembuatan Index
Sintaks :
CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIN Dimana NIM tidak boleh sama CREATE UNIQUE INDEX MHSIN ON MHS(NIM)

4. Pembuatan View
Sintaks :
CREATE VIEW nama_view[(nama_kolom1,….)] AS SELECT statement [WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi CREATE VIEW MHSVIEW AS SELECT * FROM MHS

MENGHAPUS DATABASE, TABLE, INDEX DAN VIEW
Sintaks : DROP DATABASE nama_db ;
DROP TABLE nama_table ;
DROP INDEX nama_index ;
DROP VIEW nama_view ;
Contoh : Hapus table mhs DROP TABLE MHS

MERUBAH STRUKTUR TABEL
Sintaks : ALTER TABLE nama_table ADD (nama_kolom, jenis_kolom [BEFORE nama_kolom])MODIFY (nama_kolom, jenis kolom) DROP (nama_kolom jenis kolom)
Contoh :
1. Tambahkan kolom JKEL dengan panjang 1 char pada table MHS ALTER TABLE MHS ADD (JKEL char(1));
2. Ubah panjang kolom MTKULIAH menjadi 30 char ALTER TABLE MKUL MODIFY (MTKULIAH char(30));
3. Hapus kolom JKEL dari data table MHS ALTER TABEL MHS DROP (JKEL char(1)); DATA MANIPULATION LANGUAGE (DML)

1. INSERT
Sintaks : INSERT INTO
Nama_table [(nama_kolom1,…)]
Contoh :
Masukan data matakuliah berkas akses dengan kode KK121 dan besarnya 2
INSERT INTO MKUL VALUES(“KK121”,”Berkas Akses”, 2);

2. UPDATE
Sintaks : UPDATE nama_table
SET nama_kolom = ekspresi
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “CIlacap” untuk mahasiswa
yang memiliki NIM “5302411119”
UPDATE MHS
SET ALAMAT=”Cilacap”
WHERE NIM=”5302411119”;