Minggu, 06 Januari 2013

OPTIMASI QUERY

 pada kesempatan ini saya akan membahas tentang OPTIMASI QUERY.

Optimasi pada perintah SQL
          Index pada database digunakan untuk meningkatkan kecepatan akses data. Pada
saat query dijalankan, index mencari data dan menentukan nilai ROWID yang
membantu menemukan lokasi data secara fisik di disk. Akan tetapi penggunaan index
yang tidak tepat, tidak akan meningkatkan unjuk kerja dalam hal ini kecepatan akses
data.
        Misal digunakan index yang melibatkan tiga buah kolom yang mengurutkan
kolom menurut kota, propinsi dan kode pos dari tabel karyawan, sebagai berikut :
CREATE INDEX Idx_kota_prop_kodepos
ON karyawan(kota, propinsi,kode_pos)
TABLESPACE INDX;
  
         Kemudian user melakukan query sebagai berikut :
SELECT*FROM karyawan WHERE propinsi="jawa barat";

        Pada saat melakukan query ini, index tidak akan digunakan karena kolom pertama
(kota) tidak digunakan dalam klausa WHERE. Jika user sering melakukan query ini,
maka kolom index harus diurutkan menurut propinsi. Selain itu, proses pencarian data
akan lebih cepat jika data terletak pada block tabel yang berdekatan daripada harus
mencari di beberapa datafile yang terletak pada block yang berbeda.
Misal pada perintah SQL berikut ini :

SELECT * FROM karyawan
WHERE id BETWEEN 1010 AND 2010

QUERY LANJUTAN

                                                         SUBQUERY

       SUBQUERY adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL. Istilahnya itu ‘quey dalam query’ atau disebut juga ‘nested query’. Subquery juga biasa dikatakan dengan unknown kondisi, yaitu suatu kondisi dimana kondisi tersebut belum diketahui.

Ada 2 macam Subquery, yaitu :
a.  Single Row Subquery : merupakan subquery yang mengembalikan nilai hanya satu baris saja.
b. Multiple Row Singular : merupakan subquery yang mengembalikan nilai lebih dari 2 baris.
c. Multiple column : merupakan subquery yang mengembalikan nilai pada kolom

       Syntax(cara penulisan) subquery :
SELECT select_list;
FROM table
WHERE expr operator
(SELECT select_list FROM table);



Struktured Query Language (SQL)

     Pada kesempatan ini saya akan membahas tentang Struktured Query Language(SQL).

Struktured Query Language(SQL)
        Merupakan suatu bahasa  (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali oleh IBM pada tahun 1970 dan sebuah standar ISO dan ANSII di tetapkan untuk SQL.
       Terdapat 2 (dua) jenis perintah SQL, yaitu :
1. DDL atau Data Definition Language
    DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu strukur database,    dalam hal ini database dan table. beberapa perintah dasar yang termasuk DDL ini antara lain :
a. CREATE  : Menciptakan atau membuat ataupun database
b.ALTER
c.RENAME
d.DROP

2. DML atau Data Manipulation Language
    DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. perintah SQL yang termasuk dalam DML antara lain :
a. SELECT
b.INSERT
c.UPDATE
d. DELETE

     Membuat, Menampilkan, Membuka dan Menghapus Database

1. Membuat database
    sintaks umum SQL untuk membuat suatu database adalah sebagai berikut :
CREATE DATABASE [IF NOT EXISTS]  nama _database;

2. Melihat database yang telah di buat : SHOW DATABASE;
3. Menghapus isi tabel DELETE from ptik where name="eva";

Senin, 26 November 2012

Dependency dan Normalisasi

      Pada kesempatan ini saya akan menguraikan materi tentang Dependency dan Normalisasi .

A. Functional Dependency (Ketergantungan Fungsional)
     merupakan ketergantungan relasi suatu atribut dalam tabel atau set entity terhadap atribut yang lainnya. 
notasi : A → B
keterangan : A dan B adalah atribut dari sebuah tabel. berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama.
B. Macam-macam Dependency
1.
Full dependency
     Jika terdapat atribut A dan  dalam suatu relasi dimana B memiliki ketergantungan fungsional secara penuh pada A, dan B bukan memiliki dependensi terhadap subset A.
contoh : 
 
{NIM, nama} →idRuang bukan Full Dependency jika nama dihilangkan, maka NIM → id Ruang bisa Full dependency.
2.Partially Dependency
B memiliki ketergantungan terhadap subset A  .
contoh :
 
NIM, nama → idRuang , Dimana jika nama dihilangkan maka ketergantungan tetap ada.

3. Transitive Dependency
yaitu kondisi dimana A,B,C adalah atribut sebuah relasi dimana A→ B dan B→ C, maka C dikatakan sebagai transitive dependency terhadap A melalui B. 
contoh :

Nip → {Nama, Jabatan, Gaji, KdCabang, AlmCabang} KdCabang → AlmCabang

C. Normalisasi
 Normalisasai adalah suatu proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomaly, dan mengacu pada cara data item dielompokan ke dalam struktur record.
 1. Bentuk Normalisasi
  First normal form (1NF)
  Second normal form (2NF)

  Third normal form (3NF)

  Boyce-codd normal form (BCNF)

  Four normal form (4NF)

  Five normal form (5NF)


       selanjutnya saya akan menjelaskan sedikit poin-poin di atas yaitu sebagai berikut :
1 NF (Bentuk Normal Pertama)
            First Normal Form, suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai.
Dalam 1NF tidak diperbolehkan adanya :
·          -Atribut yang bernilai banyak (Multivalued attribute).
-Attribut komposit atau kombinasi keduanya.
 2NF (Bentuk Normal Kedua)
            Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1 NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada primary key.

3 NF (Bentuk Normal Ketiga)
            Bentuk normal ketiga terpenuhi jika :
·        - Telah memenuhi bentuk 2NF
-
Tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif).