Selasa, 08 Januari 2013

OPTIMASI QUERY

Lagi-lagi kita akan membahas masalah tentang query namun pada kesempatan kali ini kita akan lebih mendalam materi 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 tengah";

        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 mahasiswa
WHERE id BETWEEN 1010 AND 2010

Query ini akan melakukan “scan” terhadap sedikit data block jika tabel karyawan diatas diurutkan berdasarkan kolom id. Untuk mengurutkan berdasarkan kolom yang berbeda-beda maka tabel disimpan dalam flat file, kemudian tabel diekspor dan diurutkan sesuai kebutuhan.

QUERY LANJUTAN

Pada bab ini kita akan lebih membahas masalah query lanjutan dari postingan sebelumnya.


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

Subquery dapat diisikan didalam suatu query dengan statement: • SELECT
• SELECT … INTO
• INSERT …  INTO
• DELETE
• UPDATE
 
 
Ada 2 macam Subquery, yaitu :
a    Single Row Subquery : merupakan subquery yang mengembalikan nilai hanya satu baris saja. 
      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);
 
 
3 (tiga) variasi akan penggunaan Subquery :

Variasi Subquery 1  Sintaknya: Comparison [ANY | SOME | ALL] (SQLStatement)

Contoh :
SELECT Title, Price
FROM BOOKS
WHERE Price > (SELECT Max(Price) FROM BOOKS2);
 

Variasi Subquery 2  Sintaknya: Expression [NOT] IN (SQLStatement) 

Contoh:
SELECT Title
FROM BOOKS
WHERE Title NOT IN (SELECT Title FROM BOOKS2);

Variasi Subquery 3  Sintaknya: [NOT] EXISTS (SQLStatement)


Contoh:
SELECT PubName
FROM PUBLISHERS
WHERE NOT EXISTS
(SELECT * FROM BOOKS WHERE BOOKS.PubID =
PUBLISHERS.PubID);

Struktured Query Language (SQL)

Pada BAB ini kita coba membahas tentang apa yang dinamakan dengan Struktured Query Language(SQL). Apa sebenarnya SQL dan bagaimana cara kerja singkatnya mari kita bahas bersama.

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 : Merubah struktur table
c. RENAME : Mengubah nama sebuah nama tabel, kolom atau index
d. DROP : Menghapus database, table, index dan view.

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 : Untuk menampilkan data
b. INSERT : Menambah data dalam table
c. UPDATE : Memodifikasi data dalam table
d. DELETE : Menghapus baris pada table

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 sbd where name="fendi";

Selasa, 27 November 2012

Functional Dependency


Functional Dependencies atau ketergantungan fungsional merupakan ketergantungan relasi suatu atribut dalam tabel atau set entity terhadap atribut yang lainya.
Misalnya diberikan relasi R, Atribut A dikatakan mempengaruhi secara fungsional atribut lainya B yang juga berada di R, ditulis dengan A --> B (baca: A menentukan B atau B tergantung A), jika untuk setiap elemen/anggota dari atribut A memetakan satu elemen pada Y, dan tidak harus sebaliknya.

Contoh:
Misalkan pada Data Mahasiswa terdapat atribut: NIM, Nama, Alamat. dikarenakan Nama tergantung pada NIM dan Alamat tergantung pada NIM, maka :
NIM --> Nama dan NIM --> Alamat.

Aturan-aturan Ketergantungan Fungsional:
Jika A,B,dan C merupakan himpunan atribut pada relasi R, maka terdapat sifat-sifat yang dikenal dengan axioma amstrong (sifat-sifat ini digunakan untuk normalisasi) adalah sebagai berikut: 

    Relational Query Language


    Dalam Bahasa Query merupakan bahasa termasuk kategori bahasa tingkat tinggi yang digunakkan user untuk mendapatkan informasi atau data dari basis data.Hal tersebut yang bisa kita lakukkan adalah dengan melakukan suatu perintah melalui bahasa tertentu yaitu yangdisbut bahasa query Bahasa Query dikelompokkan menjadi dua, yaitu :

    => Bahasa rosedural
    Pada user meminta sistemuntuk melakukkan serangkaian perasi terhadap basis data dalam rangka mendapatkan data atau informasi yang diinginkan.

    => Bahasa non posedural
    pada user menunjukan 
    data atau informasi yang diinginkan tanpamenyatakkan suatu cara atau prosedur tertentu untuk memperoleh data atau informasi tersebut.

    Selain Bahasa diatas , ada bahasalagi dalam bahasa Query yaitu :

    Selasa, 13 November 2012

    Model Data Relational lanjut

    Model Data Relational lanjut 

    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.


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

    Kamis, 01 November 2012

    UTS PSIKOLOGI PENDIDIKAN

    assalamualaikum wr. wb.
    soal mid ini di share-kan ke teman2 sekelas. pastikan semuanya mendapatkan soal. Instruksi sudah di cantumkan dalam lembar soal. jika ada pertanyaan lebih lanjut, silahkan hubungi saya. 
    terimakasih
    wassalamualaikum. wr. wb

    soal bisa di donwload di sini :
    Soal Mid