MySQL AB membuat MySQL
tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General
Public License (GPL), tetapi mereka juga menjual dibawah lisensi
komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan
GPL.
Tidak seperti PHP atau
Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak
cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki
dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB.
MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang
Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark,
Allan Larsson, dan Michael “Monty” Widenius.
MySQL dapat didownload di situs resminya, http://www.mysql.com.
Fitur-fitur MySQL antara
lain :
·
Relational Database
System. Seperti halnya software database lain yang ada di pasaran,
MySQL termasuk RDBMS.
·
Arsitektur Client-Server. MySQL
memiliki arsitektur client-server dimana server database MySQL terinstal di
server. Client MySQL dapat berada di komputer yang sama dengan server, dan
dapat juga di komputer lain yang berkomunikasi dengan server melalui jaringan
bahkan internet.
·
Mengenal perintah SQL
standar. SQL (Structured Query Language) merupakan suatu bahasa standar
yang berlaku di hampir semua software database. MySQL mendukung SQL versi
SQL:2003.
·
Mendukung Sub
Select. Mulai versi 4.1 MySQL telah mendukung select dalam select (sub
select).
·
Mendukung Views.
MySQL mendukung views sejak versi 5.0
·
Mendukung Stored
Prosedured (SP). MySQL mendukung SP sejak versi 5.0
·
Mendukung Triggers.
MySQL mendukung trigger pada versi 5.0 namun masih terbatas. Pengembang MySQL
berjanji akan meningkatkan kemampuan trigger pada versi 5.1.
·
Mendukung replication.
·
Mendukung transaksi.
·
Mendukung foreign
key.
·
Tersedia fungsi GIS.
·
Free (bebas didownload)
·
Stabil
dan tangguh
·
Fleksibel
dengan berbagai pemrograman
·
Security
yang baik
·
Dukungan
dari banyak komunitas
·
Perkembangan software
yang cukup cepat.
Table
Sebuah tabel merupakan
kumpulan data (nilai) yang diorganisasikan ke dalam baris (record) dan kolom
(field). Masing-masing kolom memiliki nama yang spesifik dan unik.
Field
Field merupakan
kolom dari sebuah table. Field memiliki ukuran type data
tertentu yang menentukan bagaimana data nantinya tersimpan.
Record
Field merupakan sebuah
kumpulan nilai yang saling terkait.
Key
Key merupakan suatu field
yang dapat dijadikan kunci dalam operasi tabel. Dalam konsep database, key
memiliki banyak jenis diantaranya Primary Key, Foreign Key, Composite Key, dll.
SQL
SQL
atau Structured Query Language merupakan suatu bahasa (language) yang digunakan
untuk mengakses database. SQL sering disebut juga sebagai query
Tipe-tipe Tabel MySQL #2
Salah satu kelebihan dari MySQL
adalah Anda dapat mendefinisikan tipe untuk tiap tabel. MySQL mendukung beberapa tipe tabel, tergantung
konfigurasi saat proses instalasi MySQL. MySQL memiliki 3 (tiga) tipe data
utama, yaitu MyISAM, InnoDB dan HEAP.
Jika
kita tidak menyebutkan tipe tabel saat membuat tabel, maka tipe tabel otomatis
akan dibuat sesuai konfigurasi default server MySQL. Hal ini
ditentukan oleh variabel default-table-type di file konfigurasi MySQL.
MyISAM
Tipe
tabel MyISAM merupakan tipe tabel yang sederhana, stabil dan mudah digunakan. Jika
kita akan menyimpan data sederhana yang tidak terlalu rumit, maka gunakanlah
tipe tabel ini. Kelebihan utama MyISAM adalah kecepatan dan kestabilannya. Jika
kita memilih tipe tabel MyISAM, maka MySQL secara otomatis akan menentukan
salah satu dari tiga jenis tabel MyISAM, yaitu :
a.
MyISAM static. Jenis
ini digunakan ketika semua kolom dalam tabel didefinisikan dengan ukuran yang
pasti (fixed). Dengan kata lain, tidak ada kolom yang memiliki tipe seperti
VARCHAR, TEXT dan BLOB. Karena sifatnya yang fixed, maka jenis ini akan lebih
cepat, aman dan stabil.
b.
MyISAM dymanic. Jenis
ini digunakan ketika terdapat kolom dengan tipe yang dinamis, seperti tipe
kolom VARCHAR. Keuntungan utama dari jenis ini adalah ukuran yang dinamis. Jadi
sifatnya lebih efektif karena ukuran data (file) menyesuaikan isi dari
masing-masing kolom (field).
c. MyISAM
Compressed. Kedua jenis MyISAM, static dan dynamic dapat dikompresi
menjadi satu jenis yaitu MyISAM Compressed dengan perintah myisamchk. Tentunya hasilnya lebih kecil dari segi ukuran. Tabel
yang terkompresi tidak dapat dikenakan operasi seperti INSERT, UPDATE dan DELETE.
InnoDB
Tipe tabel InnoDB
merupakan tipe tabel MySQL yang mendukung proses transaksi. Tipe ini memiliki beberapa keunggulan, antara lain:
a.
Mendukung
transaksi antar tabel.
b. Mendukung
row-level-locking.
c. Mendukung
Foreign-Key Constraints.
d. Crash
recovery.
HEAP
Tabel dengan tipe HEAP
tidak menyimpan datanya di hardisk, tetapi menyimpan di RAM (memori). Tipe
tabel ini biasanya digunakan sebagai tabel sementara (temporary). Tabel secara
otomatis akan dihapus (hilang) dari MySQL saat koneksi ke server diputus atau server
MySQL dimatikan.
Tipe
Tabel yang Lain
Selain 3 (tiga) tipe
tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL
juga mendukung tipe tabel
yang lain, yaitu:
·
BDB. Tipe
tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum maksimal.
·
Archieve. Tipe ini
tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk menyimpan tabel yang
terkompresi, dimana biasanya digunakan dalam proses backup.
·
CSV. Tipe
ini digunakan untuk menyimpan data dalam bentuk file text yangdibatasi dengan
koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.
·
NDB Table (MySQL
Cluster). Tersedia sejak MySQL versi 4.1.
·
Federated (External Tables). Tipe ini tersedia sejak MySQL versi
5.0.
Tipe-tipe Field MySQL #3
MySQL memiliki cukup banyak tipe data untuk field (kolom) tabel.
Tipe field (kolom) ini menentukan besar kecilnya ukuran suatu tabel. Tipe field
di MySQL setidaknya terbagi menjadi beberapa kelompok, yaitu numerik, string,
date-andtime,dan kelompok himpunan (set dan enum). Masing-masing tipe field
memiliki batasan lebar dan ukurannya.
Tipe
Numeric Tipe data numerik digunakan untuk menyimpan data numeric
(angka). Ciri utama data numeric adalah suatu data yang memungkinkan untuk
dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian.
Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe
numerik:
1.
TINYINT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -128
s/d 127
Ukuran : 1
byte (8 bit).
2.
SMALLINT
Penggunaan : digunakan
untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan :
-32.768 s/d 32.767
Ukuran : 2
byte (16 bit).
3.
MEDIUMINT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan :
-8.388.608 s/d 8.388.607
Ukuran : 3
byte (24 bit).
4.
INT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan :
-2.147.483.648 s/d 2.147.483.647
Ukuran : 4
byte (32 bit).
5.
BIGINT
Penggunaan :
digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : ±
9,22 x 1018
Ukuran : 8
byte (64 bit).
6.
FLOAT
Penggunaan :
digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi tunggal.
Jangkauan :
-3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4
byte (32 bit).
7. DOUBLE
Penggunaan :
digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi ganda.
Jangkauan :
-1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308.
Ukuran : 8
byte (64 bit).
8. REAL
Merupakan
sinonim dari DOUBLE.
9. DECIMAL
Penggunaan :
digunakan untuk menyimpan data bilangan pecahan positif dan negatif.
Jangkauan :
-1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308.
Ukuran : 8
byte (64 bit).
10. NUMERIC
Merupakan sinonim dari DECIMAL.
Tipe
Date dan Time
Tipe data date dan time digunakan
untuk menyimpan data tanggal dan waktu. Berikut ini tipe field (kolom) di MySQL
yang termasuk ke dalam kelompok tipe date dan time:
1.
DATE
Penggunaan :
digunakan untuk menyimpan data tanggal.
Jangkauan :
1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)
Ukuran : 3
byte.
2.
TIME
Penggunaan :
digunakan untuk menyimpan data waktu.
Jangkauan :
-838:59:59 s/d +838:59:59 (HH:MM:SS)
Ukuran : 3
byte.
3.
DATETIME
Penggunaan :
digunakan untuk menyimpan data tanggal dan waktu.
Jangkauan :
’1000-01-01 00:00:00′ s/d ’9999-12-31 23:59:59′
Ukuran : 8
byte.
4.
YEAR
Penggunaan :
digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan : 1900
s/d 2155
Ukuran : 1
byte.
Tipe String (Text)
Tipe data string
digunakan untuk menyimpan data string (text). Ciri utama data string adalah
suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti
pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field
(kolom) di MySQL yang termasuk ke dalam kelompok tipe string:
1.
CHAR
Penggunaan :
digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d
255 karakter
2.
VARCHAR
Penggunaan :
digunakan untuk menyimpan data string ukuran dinamis.
Jangkauan : 0 s/d
255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
3.
TINYTEXT
Penggunaan :
digunakan untuk menyimpan data text.
Jangkauan : 0 s/d
255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
4.
TEXT
Penggunaan :
digunakan untuk menyimpan data text.
Jangkauan : 0 s/d
65.535 (216 – 1) karakter
5.
MEDIUMTEXT
Penggunaan :
digunakan untuk menyimpan data text.
Jangkauan : 0 s/d
224 – 1 karakter
6.
LONGTEXT
Penggunaan :
digunakan untuk menyimpan data text.
Jangkauan : 0 s/d
232 – 1 karakter
Tipe BLOB (Biner)
Tipe data blob digunakan
untuk menyimpan data biner. Tipe ini biasanya digunakan untuk menyimpan
kode-kode biner dari suatu file atau object. BLOB MySQL 5 : Dari Pemula Hingga
Mahir versi 1.0 (Januari 2010) merupakan singkatan dari Binary Large Object. Berikut
ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe blob:
1. BIT
(sejak versi 5.0.3)
Penggunaan :
digunakan untuk menyimpan data biner.
Jangkauan : 64
digit biner
2. TINYBLOB
Penggunaan :
digunakan untuk menyimpan data biner.
Jangkauan : 255
byte
3. BLOB
Penggunaan :
digunakan untuk menyimpan data biner.
Jangkauan : 216 –
1 byte
4. MEDIUMBLOB
Penggunaan :
digunakan untuk menyimpan data biner.
Jangkauan : 224 –
1 byte
5. LONGBLOB
Penggunaan :
digunakan untuk menyimpan data biner.
Jangkauan : 232 –
1 byte
Tipe Data yang Lain
Selain tipe data di atas,
MySQL juga menyediakan tipe data yang lain. Tipe data di MySQL mungkin akan
terus bertambah seiring dengan perkembangan versi MySQL. Berikut ini beberapa
tipe data tambahan MySQL:
1. ENUM
Penggunaan :
enumerasi (kumpulan data).
Jangkauan :
sampai dengan 65535 string.
2. SET
Penggunaan :
combination (himpunan data).
Jangkauan :
sampai dengan 255 string anggotas.
3 Jenis Perintah SQL #4
Merancang Database yang Baik
Seperti telah disebutkan
sebelumnya, bahwa rancangan database menentukan suatu aplikasi efektif atau
tidak, efisien atau tidak, baik atau tidak. Pembahasan mengenai bagaimana merancang database yang
baik tentunya sangat panjang. Kita dapat mencari referensi terkait dengan
perancangan database.
Beberapa
Aturan Merancang Database yang Baik.
a. Tabel dalam database tidak boleh mengandung record (data)
ganda, atau dengan kata lain tidak boleh ada redudancy data. Jika
terdapat data yang sama, maka perlu dilihat kembali rancangan tabelnya.
b. Setiap
tabel dalam database, harus memiliki field (kolom) yang unik. Field ini disebut
sebagai Primary Key.
c. Tabel
harus sudah normal.
d. Besar atau ukuran database hendaknya dibuat seminimal
mungkin. Hal ini ditentukan oleh pemilihan tipe data yang tepat.
e. Merancang
database hendaknya memperhatikan apakah rancangan dapat menampung data (record)
sesuai yang dibutuhkan oleh aplikasi.
Tips Penamaan Identifier.
a. Penamaan
identifier (database, tabel, kolom) di MySQL bersifat casesensitive. Penamaan
identifier hendaknya konsisten untuk semua tabel dalam suatu database. Kita
dapat menggunakan model lower-case, UPPER-CASE, camelCase dll.
b.
Nama
database, tabel dan kolom maksimal 64 karakter.
c.
Hindari
penggunaan karakter khusus, seperti üàû, karena bisa bermasalah dalam sistem
operasi yang lain.
d. Pilih
nama untuk field (kolom) yang mencerminkan isi dari data yang disimpan.
SQL merupakan
singkatan dari Structured Query Language. SQL atau juga sering
disebut sebagai query merupakan suatu bahasa (language) yang digunakan
untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970
dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak
tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua
software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir
sama. Terdapat 3 (tiga) jenis perintah SQL, yaitu :
1. DDL
atau Data Definition Language
DDL merupakan perintah SQL yang berhubungan
dengan pendefinisian suatu struktur database, dalam hal ini database dan table.
Beberapa perintah dasar yang termasuk DDL ini antara lain :
·
CREATE
·
ALTER
·
RENAME
·
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 :
·
SELECT
·
INSERT
·
UPDATE
·
DELETE
3. DCL atau Data
Control Language
DCL merupakan perintah SQL yang berhubungan dengan manipulasi
user dan hak akses (priviledges). Perintah SQL yang termasuk dalam DCL antara
lain :
·
GRANT
·
REVOKE
Membuat, Menampilkan, Membuka dan
Menghapus Database #5
Membuat
Database
Sintaks
umum SQL untuk membuat suatu database adalah sebagai berikut :
CREATE
DATABASE [IF NOT EXISTS] nama_database;
Bentuk
perintah di atas akan membuat sebuah database baru dengan nama nama_database. Aturan penamaan sebuah database sama seperti aturan penamaan
sebuah variabel, dimana secara umum nama database boleh terdiri dari huruf,
angka dan under-score (_). Jika database yang akan dibuat sudah
ada, maka akan muncul pesan error. Namun jika ingin otomatis menghapus
database yang lama jika sudah ada, aktifkan option IF NOT EXISTS.
ada, maka akan muncul pesan error. Namun jika ingin otomatis menghapus
database yang lama jika sudah ada, aktifkan option IF NOT EXISTS.
Berikut ini contoh perintah untuk membuat database baru dengan nama
“penjualan” :
CREATE
DATABASE penjualan;
Jika
query di atas berhasil dieksekusi dan database berhasil dibuat, maka akan
ditampilkan pesan kurang lebih sebagai berikut :
ditampilkan pesan kurang lebih sebagai berikut :
Query
OK, 1 row affected (0.02 sec)
Menampilkan Database
Untuk
melihat database yang baru saja dibuat atau yang sudah ada, dapat menggunakan
perintah sebagai berikut :
SHOW DATABASES;
Hasil dari perintah di atas akan menampilkan semua
database yang sudah ada di
MySQL. Berikut ini contoh hasil dari query di atas :
MySQL. Berikut ini contoh hasil dari query di atas :
+————–+
| Database |
+————–+
| penjualan |
| penjualan |
| mysql
|
| test
|
+————–+
3 rows in set (0.02 sec)
3 rows in set (0.02 sec)
Membuka Database
Sebelum
melakukan manipulasi tabel dan record yang berada di dalamnya, kita harus
membuka atau mengaktifkan databasenya terlebih dahulu. Untuk membuka database
“penjualan”, berikut ini querynya :
USE
penjualan;
Jika
perintah atau query di atas berhasil, maka akan ditampilkan pesan sebagai
berikut :
berikut :
Database
changed
Menghapus Database
Untuk menghapus suatu
database, sintaks umumnya adalah sbb :
DROP DATABASE [IF EXISTS]
nama_database;
Bentuk
perintah di atas akan menghapus database dengan nama
nama_database. Jika databasenya ada maka database dan juga seluruh tabel
di dalamnya akan dihapus. Jadi berhati-hatilah dengan perintah ini! Jika nama
database yang akan dihapus tidak ditemukan, maka akan ditampilkan pesan
error. Aktifkan option IF EXISTS untuk memastikan bahwa suatu database
benar-benar ada.
nama_database. Jika databasenya ada maka database dan juga seluruh tabel
di dalamnya akan dihapus. Jadi berhati-hatilah dengan perintah ini! Jika nama
database yang akan dihapus tidak ditemukan, maka akan ditampilkan pesan
error. Aktifkan option IF EXISTS untuk memastikan bahwa suatu database
benar-benar ada.
Berikut ini contoh
perintah untuk menghapus database dengan nama “penjualan” :
DROP DATABASE penjualan;
No comments:
Post a Comment