Konsep SQL
QL (Structured Query Language) (baca: sequel) adalah salah satu bahasa generasi level ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory. Berbeda dengan bahasa pemrogramman level ke-3 (3rd GL), SQL adalah bahasa yang bersifat request oriented dan bersifat non-prosedural sehinggan lebih mudah untuk dipelajari karena sintaksis yang digunakan hampir menyerupai bahasa yang digunakan oleh manusia untuk berkomunikasi. Oleh karena itu, SQL lebih fleksibel dalam penggunaannya. Selain itu, SQL juga bersifat non case sensitif. Banyak vendor pembuat DBMS (Database Management System) yang saat ini menggunakan SQL sebagai standarisasi dalam produk mereka, seperti ORACLE, Microsoft SQL Server, PostGreSQL, dan MySQL.DDL, DML & DCL
Data Definition Language
disingkat dengan DDL. Bahasa pemrograman pendefinisian data. Terdiri
dari perintah-perintah untuk membentuk, mengubah atau menghapus tabel
beserta kolom-kolom dan type data penyusunnya, serta perintah-perintah
untuk menetapkan hubungan dan batasan-batasan data.
Data Manipulation Language
disingkat dengan DML. DML adalah Perintah-perintah untuk memanipulasi
data pada basis data, misalnya perintah untuk memilih data (query),
menyisipkan, mengubah dan menghapus data dalam basis data.
Ada 2 jenis :
Ada 2 jenis :
1. Prosedural
mensyaratkann agar pemakai menentukan data apa yang diinginkan serta bagaimana cara mendapatkan data tersebut. Ini dilakukan dengan bahasa pemrograman yang mampu mengakses basis data.
Contoh : C++, Java, Visual
mensyaratkann agar pemakai menentukan data apa yang diinginkan serta bagaimana cara mendapatkan data tersebut. Ini dilakukan dengan bahasa pemrograman yang mampu mengakses basis data.
Contoh : C++, Java, Visual
2. Non prosedural
membuat pemakai yang dapat menentukan data apa yang diinginkan tanpa menyebutkan cara mendapatkannya.
Contoh : SQL
membuat pemakai yang dapat menentukan data apa yang diinginkan tanpa menyebutkan cara mendapatkannya.
Contoh : SQL
Data Control Language
disingkat dengan DCL. Merupakan perintah-perintah yang dapat digunakan
untuk menjaga keamanan basis data, perintah tersebut dapat dipakai untuk
menentukan akses basis data hanya dapat dilakukan oleh orang-orang
tertentu dan dengan macam akses yang dibatasi pula.
SEKILAS MYSQL
Pada dasarnya MySQL adalah Relational Database Managenet Sistem (RDBMS) yang didistribusikan
secara gratis di bawah lisensi GPL (General Public License). MySQL merupakan software database yang dikembangkan oleh
sebuah perusahaan Swedia bernama MySQL AB, yang pada waktu itu bernama TcX Data
Konsult AB. Pada awalnya MySQL AB
memakai mSQL atau “mini SQL “ sebagai antar muka yang digunakan, ternyata
dengan menggunakan mSQL itu mengalami banyak hambatan yaitu sangat lambat dan
tidak fleksibel. Oleh karena itu, Michael Widenius (“Monty”), panggilan
akrabnya, berusaha mengembangkan interface tersebut hingga ditemukanlah MySQL.
MENGAKTIFKAN MYSQL
Untuk mengecek apakah MySQL sudah bisa dijalankan,
yang harus anda lakukan adalah membuka Windows Explorer, kemudian masuk ke
direktori c:\apache\mysql\bin.
Carilah file WinMySQLAdmin kemudian
klik ganda, bila ini pertama kali maka akan mucul jendela seperti gambar 1, dan
untuk selanjutnya tidak akan muncul lagi, paling yang muncul hanya seperti
lampu traffic lihgt di pojok kanan
bawah pada taskbar.
Kemudian isikan username dan password.
Adapun tujuan pengisian tersebut adalah untuk membentuk file my.cnf yaitu
berguna untuk memberikan konfigurasi awal untuk mengakses database. Anda dapat
melihat file my.ini cnf dengan mengaktifkan WinMySQLAdmin seperti
terlihat pada gambar 2.
MENJALANKAN MYSQL
Setelah
MySQL aktif, untuk menjalankan MySQL anda harus masuk ke MS-Dos Prompt terlebih dahulu, kemudian
masukklah kedirektori c:\apache\mysql\bin\. Hingga tampil C:\apache\mysql\bin Kemudian ketikkan
MySQL hingga tampil jendela MySQL seperti tampak pada gambar 3
Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.
Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :- Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
- Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
- Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
- 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
- Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
- Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
- Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
- Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
- Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
- Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
- Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
- Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
- Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
Bahasa pemrograman
Terdapat beberapa API (Application Programming Interface) tersedia yang memungkinkan aplikasi-aplikasi komputer yang ditulis dalam berbagai bahasa pemrograman untuk dapat mengakses basis data MySQL antara lain: bahasa pemrograman C, C++, C#, bahasa pemrograman Eiffel, bahasa pemrograman Smalltalk, bahasa pemrograman Java, bahasa pemrograman Lisp, Perl, PHP, bahasa pemrograman Python, Ruby, REALbasic dan Tcl. Sebuah antarmuka ODBC memanggil MyODBC yang memungkinkan setiap bahasa pemrograman yang mendukung ODBC untuk berkomunikasi dengan basis data MySQL. Kebanyakan kode sumber MySQL dalam ANSI C.Penggunaan
MySQL sangat populer dalam aplikasi web seperti MediaWiki (perangkat lunak yang dipakai Wikipedia dan proyek-proyek sejenis) dan PHP-Nuke dan berfungsi sebagai komponen basis data dalam LAMP. Popularitas sebagai aplikasi web dikarenakan kedekatannya dengan popularitas PHP, sehingga seringkali disebut sebagai Dynamic Duo.Administrasi
Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah:mysql
dan mysqladmin
). Juga dapat diunduh dari situs MySQL yaitu sebuah modul berbasis grafik (GUI): MySQL Administrator dan MySQL Query Browser.
Selain itu terdapat juga sebuah perangkat lunak gratis untuk
administrasi basis data MySQL berbasis web yang sangat populer yaitu phpMyAdmin.
Untuk perangkat lunak untuk administrasi basis data MySQL yang dijual
secara komersial antara lain: MySQL front, Navicat dan EMS SQL Manager
for MySQL.Akusisi Oleh Sun dan Oracle
Pada tanggal 16 Januari 2008 Sun Microsystems, Inc mengumumkan aksi korporasi - akuisisi terhadap MySQL AB sehingga menjadikan Sun sebagai salah satu perusahaan dengan produk platform open source terbesar seperti Java, OpenSolaris dan akhirnya MySQL.
Berselang setahun kemudian, tepatnya pada tanggal 20 April 2009 giliran Oracle melakukan akusisi terhadap Sun Microsystems. Sejak saat itu berkembang isu Oracle - yang memiliki produk database yang berkompetisi dengan MySQL - akan mematikan MySQL. Namun sampai sejauh ini hal tersebut belum terbukti.