Tak Berkategori

SQL Tuning

Sql digunakan untuk mengambil data dari database. Kita bisa mendapatkan hasil yang sama dengan menulis query sql yang berbeda. Tapi penggunaan query terbaik adalah penting ketika kinerja dianggap. Jadi, Anda perlu untuk tuning query sql berdasarkan kebutuhan. Tujuan dari tuning sistem adalah untuk mengurangi waktu respon sistem terhadap end user, atau untuk mengurangi resource yang digunakan untuk memproses pekerjaan yang sama.

Sebagai contoh nya sebagai berikut.

  • Permintaan sql menjadi lebih cepat jika Anda menggunakan kolom nama sebenarnya dalam pernyataan SELECT bukan dari ‘*’.

Untuk Contoh:

Menulis query sebagai

SELECT id, first_name, last_name, usia, subjek FROM student_details;

  • Klausa HAVING digunakan untuk menyaring baris setelah semua baris yang dipilih. Hal ini seperti filter. Jangan gunakan klausa HAVING untuk tujuan lain.

Contohnya :

SELECT subjek, count (subjek) FROM student_details

WHERE subjek = ‘Ilmu’ AND subjek = ‘Matematika’

GROUP BY subjek ;

#Tugas_DataBase

#Dosen_Titik Lusiani

Tak Berkategori

SQL

DML (Data Manipulation Language) :

  1. Select = Select berfungsi untuk menampilkan data-data pada tabel-tabel yang terdapat dalam database.

Contoh : Select * From departments ;

Penjelasan : Menampilkan semua kolom department seperti department_id, department_name, manager_id, dan location_id.

  1. Insert = Perintah untuk mengisi data baru dalam tabel

Contoh : Insert  into  mhs(Nim, Nama, Prodi)

Values (‘16410100090’,’Faris’,’Sistem Informasi’) ;

Penjelasan : Membuat tabel mahasiswa yang kolomnya terdiri dari Nim, Nama, Prodi

  1. Update = Memodifikasi untuk nilai atrribut dari beberapa isi tabel

Contoh : UPDATE employees

SET    department_id = 70

WHERE  employee_id = 113;

Penjelasan : Memodifikasi dari tabel karyawan dengan menetukan kolom yang akan dirubah (department_id = 70) dan merubah dari baris tabel karyawan menjadi  (employee_id = 113).

  1. Delete = Anda dapat menghapus baris yang ada dari tabel dengan menggunakan pernyataan DELETE

Contoh : DELETE FROM departments

WHERE  department_name = ‘Finance’ ;

Penjelasan : Menghapus kolom department_name yang berisi baris “Finance”

DDL (Data Definiton Language)

  1. Create = Menciptakan atau membuat database baru

Contoh : create table regions (region_id number primary key, region_name varchar2(25));

Penjelasan : Membuat tabel daerah yang menampilkan kolom dari region_id dan region_name

  1. Alter = Digunakan untuk menambahkan atau mengubah data kolom yang baru atau sudah ada

Contoh : Alter table table_name

Add column_name

Penjelasan : Perintah tersebut untuk menambahkan kolom “kelas” dengan type data “varchar” yang panjang datanya “10″ dan tidak boleh kosong [ not null ] pada tabel “kelas”.

ALTER TABLE table_name

ALTER COLUMN column_name ;

Penjelasan : Perintah tersebut untuk mengubah type data kolom “kelas” menjadi “char” yang panjang datanya “15″ dan tidak boleh kosong [ not null ] pada tabel “kelas”.

  1. Drop = Digunakan untuk menghapus sebuah database

Contoh : drop database universitas;

Penjelasan : Jadi database yang kita buat akan terhapus seperti record, table, dan objeknya

  1. Rename = Digunakan untuk mengubah nama dari sebuah nama tabel, kolom atau index

Contoh :  Rename Column buku TO kitab;

Penjelasan : Jadi merubah nama dari kolom buku menjadi nama kolom kitab

  1. Truncate = Menghapus semua baris dari sebuah table, membiarkan table kosong dan struktur tabel tetap utuh

Contoh : Truncate Table name_table;

DCL (Data Control Language)

  • Grant = perintah untuk memberikan hak izin akses bagi user di MySQL agar dapat mengakses database, tabel dan kolom. Dan dapat juga menambahkan user baru pada grant

Contoh = mysql> use mysql;

mysql> grant all privileges on * to nm_user@localhost identified by ‘nm_passwd’ with grand option;

Penjelasan : Perintah diatas akan memeberikan izin akses penuh setara dengan root. Sebaiknya hal ini tidak boleh dilakukan. Option Identified By nama password akan menerapkan user tersebut agar tetap memasukkan password saat mengakses database.

  • Revoke = kebalikan dari perintah grant yaitu menghapus atau mencabut kembali izin akses user MySQL yang sebelumnya telah diberikan.

Contoh = mysql> revoke all on nm_db.nm_tbl from nm_user@localhost identified by ‘nm_passwd’;

Penjelasan : Perintah digunakan untuk menghapus DataBase

Transaction Control

  • Save point = perintah yang di gunakan untuk menyimpan sebuah titik chek point dari suatu database, sehingga jika terjadi kesalahan kita dapat memanggil kembali chek point tersebut agar data yang sudah kita inputkan dapat kembali seperti saat sebelum save point tersebut dieksekusi. save point ini sama seperti membackup data.

Contoh = DELETE FORM nama_lucu WHERE kode =”007”;

Penjelasan : Perintah ini digunakan untuk menghapus data didalam tabel.

  • Rollback = perintah yang digunakan untuk kembali ke posisi dimana kita telah menentukan save point, atau bisa dibilang fungsi rollback sama seperti restore data.

Contoh = SET autocommit=0;

START TRANSACTION;

  • Commit = Digunakan untuk membuat data tidak dapat diubah kembali meskipun menggunakan perintah rollback.

Contoh = DELETE FROM nama_lucu

WHERE kode =”007” ;

COMMIT;

Penjelasan : Untuk menghapus yang berada pada tabel, maka gunakan COMMIT pada akhir kalimat.

#Tugas_DataBse

#Dosen_Titik Lusiani

Tak Berkategori

DESAIN DATABASE

DataBase (Basis Data) adalah kumpulan dari file / data yang saling berhubungan yang tersimpan di simpanan luar komputer atau dalam media penyimpanan.

Desain Data Base adalah proses menghasilkan detail (rinci) model data dari basis data (database).

  1. Proses Desain DataBase

Dalam perancangan atau desain yang dibuat didalam database agar menjadi database yang baik, ada beberapa langkah yang diperlukan. Langkah langkah tersebut diantara nya sebagai berikut .

  • Analisis Persyaratan (Conditional Analysis)

Langkah pertama yaitu memahami yang diinginkan oleh user(pengguna) database, seperti data yang tersimpan dalam database, aplikasi yang akan dibuat dan jenis operasi apa yang digunakan dan subjek yang sesuai persyaratan.

  • Database Konseptual

Langkah kedua informasi-informasi yang kita melakukan analisis persyaratan digunakan untuk mengembangkan deskripsi data tinggi yang wajib disimpan. Proyeksi menggunakan model ER, yaitu salah satu dari model data tingkat tinggi yang digunakan dalam desain database agar menghasilkan desain database yang kita inginkan.

  • Desain DataBase Logika

Pada langkah ketiga kita harus mengubah konsep desain database atau model ER menjadi sebuah skema database relasional dari DBMS yang dipilih. Kita diwajibkan untuk memilih sebuah DBMS untuk membuat desain database yang kita inginkan.

  • Desain Aplikasi dan Keamanan

Pada langkah ini semua aplikasi atau perangkat lunak yang menyangkut sebuah DBMS harus memperhitungkan aspek aplikasi di luar database tersebut. Desain perangkat lunak serta pola pengembangan yang lengkap telah ditetapkan oleh Metodologi desain UML. Secara singkat, kita wajib mengetahui entitas dan proses-proses yang ada pada aplikasi. Kita jaga wajib mengetahui fungsi entitas-entitas dalam setiap tahap atau proses pada tugas-tugas aplikasi. Kita juga wajib mengetahui bagian database yang dapat diakses dan yang tidak dapat diakses. Kita wajib memastikan prosedur akses tersebut dilakukan. Database Management System juga  menyuguhkan mekanisme-mekanisme agar proses langkah ini menjadi lebih mudah.

Diagram Hubungan Entitas (ER) adalah satu metode untuk skema penggambaran database. Disebut diagram ER  karena menampilkan macam-macam entitas model dan berhubungan sangat penting diantaranya.

#Tugas_DataBase

#Dosen_Titik Lusiani

Dosen Titik Lusiani · Sistem Informasi · Stikom Surabaya

Optimalisasi Database

OPTIMALISASI DATABASE atau mengoptimalkan kinerja database yang merupakan topik inti dari postingan materi ini. Berikan gambaran Optimalisasi Database, terkait dengan hal sebagai berikut:

a. Storage efficiency and speed of access (Efisiensi penyimpanan dan kecepatan akses),
b. Database performance (Kinerja database),
c. Query performance (Kinerja Query).

 

Storage efficiency and speed of access (Efisiensi penyimpanan dan kecepatan akses)

Memahami Normalisasi Database

Normalisasi Database menghindari kesalahan laporan data dan double entri data. Misalnya..ada 2 nama petugas yang sama namun dengan alamat yang berbeda, jika itu dibuat dalam satu tabel tanpa dibantu kode petugas, tentu program akan kesulitan mengidentifikasi petugas tersebut.

Optimalisasi Index

Gunannya untuk meningkatkan proses pencarian, kita harus mengetahui field yang akan diindex karena tidak semua field memerlukan. Sistem pencarian dapat menggunakan index scan dan tabel scan. suatu proses pencarian yang dilakukan dengan membaca pada file index tidak langsung pada tabel sedangkan pada tabel index proses pencarian dilakukan langsung pada tabel database record per record.

Menentukan Tipe Data

Menentukan tipe data itu harus dengan ketelitian. misalnya untuk kode pos butuh 6 digit angka saja karena jumlah kode pos setahu saya sih 6 digit, nah maka kita dapat menggunakan tipe data text dengan memberikan maximal field 6 digit atau number dengan pilihan Byte sesuai dengan banyaknya data.

Kurangi Penggunaan Allow Row

Dengan memberikan nilai default pada field tersebut misal 0 nilai default untuk angka awal yang tidak diisi. Nilai null itu terkadang tidak teratur dalam bahasa pemograman.

Menyimpan Gambar dalam database

Jika ingin menyimpan gambar dalam database untuk keamanan data, tidak menjadi masalah, tetapi yang perlu di ingat bahwa ukuran gambar relatif besar dari pada data dalam bentuk teks atau angka, jadi akan membuat ukuran besar, beban database akan semakin besar.

 

Database Perfomance (Kinerja Database)

Pengukuran Kinerja

Ada baiknya jika dilakukan pengukuran kinerja Query , seberapa cepat waktu eksekusi dan operasi apa saja yang dilakukan. Jika menemukan Query yang tidak OPTIMAL ditulis ulang Query dengan teknik dan metode yang lebih baik. Semakin banyak Query yang di OPTIMALKAN semakin baik kerja programnya. terutama Query dengan pemakaian yang relatif tinggi.

Validasi

Teknik validasi merupakan teknik dimana-mana memberikan batasan-batasan akses dalam sebuah program.

 

Query Perfomance(Kinerja Query)

Query yang mudah dibaca

SQL memang merupakan bahas declarative, tidak mengherankan memang kita menulis Query dalam bentuk kalimat yang panjang, walaupun hanya untuk menambahkan 1 field. Sebaiknya dihindari Query kalimat yang panjang dalam satu kalimat, agar tidak kesusahan memahaminya dan melakukan modifikasi cara untuk membaca perintah dari skrip.

Hindari Select*

Select merupakan keyword yang paling sering digunakan, tapi ingat jangan banyak menggunakan SELECT *  yang berarti perintah mengakses field secara keseluruhan dalam suatu tabel, jika hanya ingin mengakses field tertentu saja gunakan Query SELECT Nama Field, hal ini akan mengurangi bebar jaringan dan Lock pada tabel, terutama dalam tabel tersebut memiliki field berukuran besar.

Batasi ORDER BY

Perintah ORDER BY berfungsi untuk mengurutkan data. ternyata memiliki konsekuensi menambah beban Query, karena menambah satu proses lagi yaitu sortir. Gunakan ORDER BY jika memang benar2 diperlukan dalam program.

Sumber :

http://mozalora.blogspot.co.id/2013/04/optimalisasi-database.html

 

Dosen Titik Lusiani · Sistem Informasi · Stikom Surabaya

Desain Basis Data (DDL : Data Definition Language)

DDL (Data definition Language)

Pengertian dari DDL (Data Definition language) merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah, dan menghapus struktur dan definisi data dari objek-objek databaseSeperti definisi yang telah dijelaskan di atas, DDL adalah kumpulan perintah SQL yang digunakan untuk membuat (create), memodifikasi/mengubah (Alter), Menghapus struktur tabel dan isinya (Drop), menghapus isi didalam tabel (Truncate).
  • Keterangan :
Nim varchar2(11)

Nama varchar2(50)

Jurusan varchar2(50)

  • Perintah SQL :
Create table mhs(

Nim varchar2 Not null (11) constraint mhs_nim_pk primary key

Nama varchar2(30)

Jurusan varchar2(5)

);

  • Create
    Biasa digunakan untuk membuat suatu tabel. sintaksnya adalah :
[ CREATE TABLE nama_tabel (nama_field ke-1 tipe_data ( lebar_field ), ……, nama_field ken tipe_data ( lebar_field ) ) ;]

Contoh 1 :
buatlah sebuah tabel barang dengan field kode_barang char(6), nama barang varchar2(25), satuan_barang varchar(20), dan stok barang number(4), primary key-nya adalah kode barang.

Sintaksnya :
CREATE TABLE barang (
Kode_Barang       char(6)
Nama_Barang     varchar2(25),
Satuan_Barang   varchar(20),
Stok_Barang       number(4),
Constraint pk_barang primary key (Kode_Barang)
);

  • Alter
    Digunakan untuk mengubah/memodifikasi tabel yang telah ada. Dalam pengeditan tabel ini ada beberapa kemungkinan, diantaranya adalah mengubah dalam artian memodifikasi salah satu atau beberapa field pada tabel tersebut atau dalam artian menambah satu atau beberapa field pada tabel tersebut.
Sintaks umumnya sebagai berikut :
  • sintaks umumnya :
[ ALTER TABLE nama_tabel
ADD | MODIFY nama_field ke-1 tipe_data ( lebar_field ) ;
]

contoh 2 :
mengacu pada contoh 1, merubah tipe data Satuan_Barang menjadi char(5)
sintaksnya :
ALTER TABLE barang
modify Satuan_Barang char(5);

  • Drop
    Terkadang anda diharuskan menghapus sebuah tabel yang telah anda buat, hal ini mungkin disebabkan karena tabel yang anda buat salah, atau tidak diperlukan. Untuk itu digunakan perintah Drop.
Sintaks umumnya Sebagai berikut :
[ DROP TABLE nama_tabel ;]

contoh 3 :
hapus tabel “barang” yang telah dibuat pada contoh 1
Sintaksnya :
DROP TABLE barang ;

Assalammualaikum.wr.wb
{Nim: 16410100090, Nama : Faris Aditya}
[Email : 1641010100090@stikom.edu/farisaditya9@gmail.com]
Prodi : S1 Sistem Informasi
Http ://si.stikom.edu
DOSEN : Titik Lusiani, M.Kom, OCP
http://blog.stikom.edu/lusiani
http://titiklusiani.wordpress.com
http://www.stikom.surabaya