MySQL!!!







MySQL adalah sebuah perangkat lunak Pembuat database yang bersifat terbuka atau open source dan berjalan disemua platform baik Linux maupun Si Windows, MySQL merupakan program pengakses database yang bersifat network sehingga dapat digunakan untuk aplikasi Multi User (Pengguna Banyak).

MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat komersial.

MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan Interbase.



Beberapa alasan yang menjadikan MySQL sangat populer adalah :
  • Bersifat free dan open source (FOSS).
  • Banyak digunakan di web hosting dengan paket yang sangat ekonomis.
  • Mendukung berbagai storage engine yang bisa kita ganti pada level table.
  • Memiliki komunitas pengguna yang luas dan saling membantu.
  • Besar dan luasnya komunitas pengembang / developer MySQL.
  • Waktu yang relatif singkat dalam siklus pengembangan dan perbaikan kesalahan.
  • Arsitektur yang sangat baik dengan pilihan berbagai storage engine.
  • Kaya akan fitur dan utilitas baik dari komunitas maupun korporasi.
  • Memiliki support berbayar untuk pelanggan korporasi (corporate customers) sehingga terjamin.

Sejarah MySQL

       MySQL dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang kala itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi Web untuk klien TcX adalah perusahaan pengembang software dan konsultan database. Kala itu Michael Widenius, atau “Monty”, pengembang satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat sendiri dan sedang mencari antarmuka SQL untuk ditempelkan di atasnya.

       MySQL adalah sebuah
perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.

       Tidak sama dengan proyek-proyek seperti
Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya.


Perkembangan MySQL

       Mula-mula TcX memakai mSQL, atau “mini SQL”. Barangkali mSQL adalah satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres. Namun ternyata, menurut Monty, mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQL bahkan tidak memiliki indeks. Setelah mencoba menghubungi David Hughes pembuat mSQL dan ternyata mengetahui bahwa David tengah sibuk mengembangkan versi dua, maka keputusan yang diambil Monty yaitu membuat sendiri mesin SQL yang antarmukanya mirip dengan mSQL tapi memiliki kemampuan yang lebih sesuai kebutuhan.

       Kemudian ahirlah MySQL. Nama MySQL (baca: mai és kju él) tidak jelas diambil dari mana. Ada yang bilang ini diambil dari huruf pertama dan terakhir nama panggilan Michael Widenius, Monty. Ada lagi yang bilang kata My diambil dari nama putri Monty, yang memang diberi nama My karena Monty memang aslinya seorang Finlandia.

       MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru di bulan Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidak diberikan di bawah lisensi General Public License, melainkan lisensi khusus yang intinya kurang lebih begini: “Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan nonkomersial. Untuk kebutuhan komersial (mis: mengemas dan menjual MySQL, atau menyertakan MySQL dalam program komersial lain) Anda harus bayar lisensi.” Sementara distribusi Windows MySQL sendiri dirilis secara shareware.

       Barulah di versi-versi akhir seri 3.22 sepanjang 1998–1999 MySQL menjadi semakin popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini banyak dipakai di berbagai instalasi,

       Barulah pada Juni 2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19, MySQL adalah software bebas berlisensi GPL. Artinya, “Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa pun. Tapi jika Anda memodifikasi source code, Anda juga harus melepasnya di bawah lisensi yang sama, yaitu GPL.” Kini perusahaan MySQL AB, yang beranggotakan sekitar 10 programer dan 10 karyawan lain itu, memperoleh pemasukan terutama dari jasa konsultasi seputar MySQL. Versi publik pertama, yang hanya berjalan di Linux dan Solaris serta sebagian besar masih belum terdokumentasi itu, dengan berangsur-angsur diperbaiki dan ditambah fitur demi fiturnya tapi tetap dengan fokus utama pengembangan pada kelangsingan dan kecepatan. Artinya, fitur yang menyebabkan MySQL menjadi lambat tidaklah ditambahkan, atau ditunda dulu, atau ditambahkan tapi menjadi fitur yang opsional. Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi Web sederhana, belumlah memadai sama sekali untuk aplikasi bisnis hingga sekarang, sehingga MySQL AB tetap memberikan dukungan technical support untuk seri ini.

       Setelah itu, pada bula Agustus 2002, Muncullah MySQL versi 4.0 beta yang dirilis pada bulan Maret 2003, lalu versi 4.0 beta dikembangkan menjadi versi 4.1 beta yang dirilis pada bulan juni 2004. Kemudian pada bulan maret 2005 muncullah MySQL versi 5.0 telah dirilis. Bahkan MySQL AB memberikan embelembel recommended pada MySQL 5.0 yang akhirnya diperbarui menjadi MySQL versi 5.1 Versi 5.1 saat ini sedang dalam tahap re produksi sejak November 2005. Versi 5.1 saat ini sedang dalam tahap re produksi sejak November 2005 dan terus dilakukan pengembangan hingga sekarang ini


Kelebihan dan Kekurangan dari My SQL

Kelebihan :
  • Dapat bekerja di beberapa platform yang berbeda seperti LINUX, Windows, MacOS, FreeBSD, Solaris, dll.
  • Dapat dikoneksikan pada bahasa C, C++, Java , Perl, PHP, dan Python.
  • Mempunyai lebih banyak tipe data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte. FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, dan tipe ENUM.
  • Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY . Mendukung terhadap fungsi penuh ( COUNT ( ), COUNT(DISTINCT), AVG( ), STD ( ), SUM ( ), MAX ( ), AND MIN ( ) ).
  • Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
  • Mendukung ODBC for windows 95' (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
  • Menggunakan GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
  • Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama. Structure table MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
  • Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
  • Privilege (hak) dan password sangat fleksibel dan aman serta mengijinkan "Host-Based" Verifikasi. Memiliki beberapa lapisan keamanan , seperti subnet mask, nama host, dan izin akses user dengan sistem perijinan yang mendetail serta sandi/password terenkripsi.
  • Program dapat running di semua OS,PHP MySQL berjalan secara web base, itu artinya semua operating system yang memiliki web browser dapat menggunakan aplikasi ini, dan semua OS tentu saja selalu memiliki web browser, Windows dengan internet explorer, Linux dengan Mozilla, Macintosh dengan safari, dan handphone dengan opera mini. Sangat mobile dan flexibel.
  • Sangat cocok dan mudah diterapkan pada komputer berjaringan , program PHP MySQL cukup diinstall di salah satu komputer pada jaringan yang dalam hal ini adalah komputer server, pada komputer client, kita tidak usah menginstalasikan program apapun lagi. Pada komputer client kita cukup mengarahkan web browser ke komputer server dan program dapat langsung running, apabila program error(walau kemungkinan sangat kecil sekali) program cukup di maintenance di pihak komputer server yang terinstalasikan program tanpa harus memaintenance komputer client juga. sangat mudah dan simple.
  • Tidak ada virus yang menginfeksi program PHP, sampai saat ini program PHP belum dapat diinfeksi virus, kebanyakan virus menginfeksi file berekstensi *.exe dan *.dll, sangat awet dan aman.
  • Sangat stabil disemua operating system program PHP walau dipakai dalamwaktu yang sangat lama tidak akan memberatkan sistem dan tidak akan mempengaruhi komputer untuk berjalan sangat lambat, sangat cocok diterapkan pada komputer yang selalu nyala 24 jam
  • Sangat multi user, program PHP tidak akan bentrok dengan pengguna lain yang sama-sama menggunakan program dalam satu jaringan karena MySQL merupakan turunan dari konsep SQLMulti user
  • Merupakan DBMS yang gratis/open source berlisensi GPL (Generic Public License).
  • Cocok untuk perusahaan dengan skala yang kecil.
  • Tidak membutuhkan spesifikasi hardware yang tinggi untuk bisa menjalankan MySQL ini bahkan dengan spesifikasi hardware yang minimal sekalipun.
  • MySQL dapat melakukan koneksidengan komputer client menggunakan protokol TCP/IP, Unix Socket (UNIX), atau Named Pipes(Windows NT).
  • MySQL memiliki antar muka/interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application progamming interface).
  • Command and function MySQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query.
Kekurangan :
  • Untuk koneksi kebahasa pemrograman visual seperti VB(Virus Basic), delphi, dan foxpro, MySQL kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan MySQL jarang dipakai dalam program visual.
  • Data yang ditangani belum begitu besar. Tidak cocok baik menyimpan data maupun untuk memproses data. 
  • Program hanya dapat running di windows. Itupun untuk windows lama,untuk windows terbaru seperti Vista,Visual Basic sangat tidak stabil berjalan di platform tersebut,banyak kantor yang dapat menghubungkan laptop pegawai mereka untuk bergabung dalam sistem jaringan kantor.Bagaimana untuk pengguna Macintosh maupun Linux? Program tidak dapat dijalankan di laptop mereka. Walaupun bisa, program harus diinstall terlebih dahulu menggunakan emulator.
  • Tidak Praktis apabila diterapkan pada jaringan komputer. Itu dikarenakan VB program yang berdiri sendiri yang berarti harus diinstalasikan pada tiap komputer pada jaringan tersebut. Bayangkan apabila ada puluhan komputer? ada berapa lama waktu untuk instalasi dan pemeliharaannya?
  • Aplikasi yang rentan terkena virus, program yang dibuat menggunakan Visual Basic adalah berupa execution program(*.exe) yang dapat terinfeksi virus seperti virus Sality, program menjadi rusak dan tidak bisa dijalankan. apabila program terinfeksi tersebut di scan oleh antivirus, program akan dihapus dari sistem, sangat tidak aman untuk sebuah program yang menjadi tulang punggung perusahaan.
  • Mudah hang dan crash, program dari VB seringkali menjadi not responding lalu mati tiba-tiba.
  • Tidak multi user, apabila dalam satu jaringan komputer menggunakan program dalam satu waktu, salah satu user harus mengalah sampai user yang lain selesai menggunakan program.
  • Memiliki keterbatasan kemampuan kinerja dalam server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.

Keistimewaan MySQL
MySQL memiliki beberapa keistimewaan, antara lain :
  1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
  2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
  3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
  4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
  5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
  6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
  7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
  8. 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.
  9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
  10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
  11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  12. 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.
  13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
Menggunakan MySQL Lewat DOS

Untuk menggunakan DOS Silahkah masuk dulu ke Command Prompt, caranya tekan kombinasi Windows+R (RUN) setelah itu ketik perintah cmd


setelah itu masuk ke folder XAMPP/MYSQL/BIN, misalnya paket xampp terinstall di c:\program files\xampp\

maka masukan perintah :
CD C:\Program Files\Xampp\Mysql\Bin tekan [enter]


Jika sudah berhasil maka langkah berikutnya adalah koneksi atau masuk ke dalam mysql.
Perintah :
Mysql –u nama_user_mysql –h host_database_MYSQL –p [enter]
Contoh :
Mysql –u root –h localhost –p [enter]
Password : [biasanya kosong, kemudian enter]
kemudian command prompt berubah menjadi MYSQL> seperti tanda gambar di atas.
[ bagaimana mudah kan ]

ketika sudah terkoneksi dengan mysql maka perintah-perintah yang dapat dilakukan hanya perintah-perintah cmd mysql saja, bukan lagi perintah cmd windows seperti cd, dir dan lain-lain.

Setiap perintah dalam cmd harus diakhir dengan tandan titik koma (;) kemudian tekan enter, adapun perintah-perintah dalam cmd mysql :
Membuat Database

- create database nama_database; [enter]

Menghapus Database :

- b  - drop database nama_database; [enter]

Melihat database yang ada :

-     - show databases; [enter]

Mengaktifkan Database :

   -  - use nama_database ; [enter]

catatan :
ketika database sudah aktif maka otomatis ketika kita membuat table, menghapus table, mengisi data table, melihat table SECARA DEFAULT (standar) mengacu pada database yang telah di aktifkan tadi
Melihat Tabel dalam database yang telah diaktifkan :

- show tables ; [enter]


Penggunaan MySQL

Ada banyak cara menggunakan mysql, bisa lewat command prompt (DOS), lewat PHPMyAdmin, Navicat, MySQL FRONT.
Jangan bingung dengan nama-nama program di atas, karena itu hanya nama saja inti dari keseluruhan program di atas sama yaitu Software untuk Manajemen Database MySQL.
Sekarang tergantung temen-temen sukanya nanti untuk manajemen database MYSQL pake yang mana? Lewat DOS, PHP-MY-ADMIN, Navicat, MySQL FRONT atau apa…
Dan masih banyak lagi program-program yang dapat digunakan untuk manajemen database bisa  (lihat di http://www.mysql.com)

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.

Membuat Trigger di MySQL
Trigger adalah suatu objek database yang merupakan aksi atau prosedur yang dilakukan jika terjadi perubahan pada row data suatu table. Trigger tidak dapat menjadi bagian dari temporary table atau view.

Beberapa contoh penggunaan trigger yang sangat berguna adalah jika kita ingin melakukan kalkulasi tertentu yang tidak perlu "diketahui" aplikasi luar, mencatat aktivitas operasi table misalkan untuk kepentingan change data capture (CDC), dan lain-lain.
Kita dapat membuat trigger dengan perintah CREATE TRIGGER. Berikut adalah syntax lengkapnya :

CREATE
    [DEFINER = { user | CURRENT_USER }]
    TRIGGER trigger_name trigger_time trigger_event
    ON tbl_name FOR EACH ROW trigger_body

Keterangan :
  • trigger_name : nama trigger.
  • trigger_time : kapan kita mengeksekusi trigger, apakah sebelum atau sesudah perubahan pada row data table. Jadi pilihannya adalah AFTER atau BEFORE.
  • trigger_event : merupakan event atau peristiwa yang menyebabkan trigger dilakukan. Pilihan event tersebut adalah INSERT, UPDATE, DELETE.
  • tbl_name : nama table.
  • trigger_body : statement-statement perintah SQL yang akan dilakukan. Jika perintahnya lebih dari satu maka gunakan dalam blok statement BEGIN ... END.
  • Jika DEFINER dispesifikasikan maka kita memutuskan trigger tersebut dijalankan hanya oleh user tertentu (dalam format penulisan user@host). Jika tidak dispesifikasikan, maka user yang melakukan perubahan (CURRENT_USER) adalah pilihan default.
Referensi "OLD" dan "NEW"
Karena trigger digunakan pada saat terjadi perubahan row data, maka kita perlu referensi ke row sebelum dan sesudah perubahan. Untuk ini ada dua alias yang berfungsi untuk hal tersebut yaitu OLD dan NEW

Sesuai namanya, OLD digunakan untuk referensi sebelum perubahan dan NEW untuk referensi sesudah perubahan.

Membuat View di MySQL
View adalah perintah query yang disimpan pada database dengan suatu nama tertentu, sehingga bisa digunakan setiap saat untuk melihat data tanpa menuliskan ulang query tersebut.

Syntax dasar perintah untuk membuat view adalah sebagai berikut :

CREATE
    [OR REPLACE]
    VIEW view_name [(column_list)]
    AS select_statement

Kita menggunakan opsi OR REPLACE jika kita ingin mengganti view dengan nama yang sama dengan perintah tersebut. Jika tidak maka perintah CREATE VIEW akan menghasilkan error jika nama view yang ingin dibuat sudah ada sebelumnya.

Membuat Index di MySQL

Index adalah objek pada MySQL yang berisi data yang terurut - dari nilai-nilai pada satu atau lebih field dalam suatu table. 
Sama seperti daftar isi pada sebuah buku, index terutama digunakan  untuk mempercepat pencarian terhadap suatu set data dengan kondisi tertentu - yang melibatkan kombinasi field yang sudah didefinisikan dalam suatu index. 
Tanpa index, pencarian data biasanya akan memakan waktu lama, terutama jika data sudah dalam skala jumlah yang sangat besar.

Syntax Pembuatan Index

Syntax pada MySQL untuk membuat suatu index adalah sebagai berikut :

CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name
    [index_type]
    ON tbl_name (index_col_name,...)
    [index_type]
 
index_col_name:
    col_name [(length)] [ASC | DESC]
 
index_type:
    USING {BTREE | HASH}

Category: 0 komentar

0 komentar:

Posting Komentar