Dependency Dan Normalisasi

Senin, 26 November 2012


• Functional Dependency
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)

• 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)

Bahasa Query

Senin, 19 November 2012


Merupakan 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 LIVERPOOL maka CREATE DATABASE LIVERPOOL

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 “Bogor” untuk mahasiswa
yang memiliki NIM “50096487”
UPDATE MHS
SET ALAMAT=”Bogor”
WHERE NIM=”50096487”;

Model Data Relational Lanjut

Senin, 05 November 2012


A. Varian Entitas :

  1. Entitas kuat adalah sebuah himpunan entitas yang dilibatkan dalam ERD dan tidak memiliki ketergantungan  terhadap himpunan entitas lain.
  2. Entitas lemah adalah suatu entity yang keberadaannya tergantung dari entity yang lain dan itdak memiliki atribute yang berfungsi sebagai key attribute.
Gambar :

B. Agregasi
Suatu gambaran himpunan relasi secara langsung yang menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD.

Gambar :
Tranformasi Model Data ke Basis Data Fisik
dengan beberapa ketentuan:
  • ERD dipepresentasikan menjadi sebuah basis data secara fisik.
  • Komponen ERD ditransformasikan menjadi tabel.
  • Atribute yang melekat pada tiap hipunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai.
Gambar :
  1. Relasi 1-1 : menghubungkan 2 buah himpunan  entitas yang direpresentasikan dalam bentuk penambahan/penyertaan atribut relasi yang mewakili kedua entitas.
gambar :
       2.  Relasi 1-N : menghubungkan 2 buah himpunan entitas yang dereprentasikan dalam bentu pemberian atribut key dari himpunan entitas berderajat 1 ke tabel yangmewakili himpunan entitas berderajat N.
gambar:

       3. Relasi N-N : menghubungkan 2 buah himpunan entitas yang dibentuk dalam tabel khusus dan memiliki foreigh key dari himpunan entitas yang dihubungkan.
Gambar :

Implementasi Himpunan Entitas Lemah dan Sub Entitas
dalam hal ini sebuah himpunan entitas lemah dan sub entitas dalam diagram ER diimplementasikan kedalam sebuah tabel sebagaimana entitas kuat.
gambar :