Sabtu, 06 Desember 2014
On 16.41 by Unknown in Jaringan No comments
MySQL adalah sebuah
sistem manajemen database relasi yang bersifat “terbuka” (open source). Terbuka
maksudnya adalah MySQL boleh didownload
oleh siapa saja, baik versi kode program aslinya (source code program) maupun
versi binernya (executable program) dan bisa digunakan secara gratis baik untuk
dimodifikasi sesuai dengan kebutuhan seseorang maupun sebagai suatu program
aplikasi komputer. Sejarah MySQL yang merupakan hasil buah pikiran dari Michael
“Monty” Widenius, David Axmark, dan Allan Larson dimulai tahun 1995. Mereka
bertiga kemudian mendirikan perusahaan bernama MySQL AB di Swedia. MySQL
memiliki kinerja, kecepatan proses, dan ketangguhan yang tidak kalah
dibandingkan dengan database-database besar lainnya yang komersil seperti
ORACLE, Sybase, Unify dan sebagainya. Dengan bersemangatkan Open Source, MySQL
berkembang menjadi salah satu sistem manajemen database relasi terkemuka yang
diakui secara Internasional. MySQL menggunakan bahasa standar SQL (Structure
Query Language) sebagai bahasa interaktif dalam mengelola data. Perintah SQL
sering juga disebut Query.
Tipe-Tipe Data My SQL
Secara umum tipe data pada MySQL dibagi menjadi 4 yaitu:
1. Numeric Values
yaitu angka atau bilangan seperti 10; 123; 100.50; -10; 1.2E+17; 2.7e-11; dan
sebagainya. Tipe data ini dibagi menjadi dua yaitu Bilangan Bulat (Integer) dan
Bilangan Pecahan (Floating-point). Bilangan bulat adalah bilangan tanpa tanda
desimal sedangkan bilangan pecahan adalah bilangan dengan tanda desimal. Kedua
jenis bilangan ini dapat bernilai positif (+) dan juga negatif (-). Jika
bilangan tersebut menggunakan tanda positif (+) atau (-), maka disebut SIGNED.
Sebaliknya bila tanpa tanda apapun disebut UNSIGNED. Karena tanda positif (+)
dapat diabaikan penulisannya maka pada bilangan yang bernilai positif disebut
UNSIGNED.
2. String/Character
Values adalah semua karakter (atau teks) yang penulisannya selalu diapit oleh
tanda kutip baik kutip tunggal (‘) maupun kutip ganda (“). Hal ini tidak hanya
berlaku pada huruf alfabet saja tetapi angka yang ditulis dengan tanda kutip
pun akan menjadi karakter atau string.
3. Date and Time
Values yaitu tanggal dan waktu. Untuk jenis data tanggal dan waktu format
standar (default) penulisan tanggalnya adalah “tahun-bulan-tanggal”, Misalnya
untuk 22 Januari 2001 dituliskan “2002-01-22”. Untuk penulisan waktu, formatnya
adalah “jam-menit-detik”. Contoh, “13:55:07”. Data tanggal dan waktu bisa
digabung penulisannya menjadi “2002-01-22 13:55:07”.
4. NULL. NULL
sebenarnya bukan data, tapi dia mewakili sesuatu yang “tidak pasti”, “tidak
diketahui” atau “belum ada nilainya”. Sebagai contoh dalam kehidupan
sehari-hari Anda melakukan suatu survei berapa jumlah pengguna sistem operasi
LINUX dan Windows di Indonesia. Selama survei belum tuntas maka data pastinya belum
dapat diketahui. Oleh sebab itu, data tersebut bisa diwakili dengan NULL, alias
belum diketahui.
Pada tipe-tipe data MySQL terdapat beberapa atribut yang
memiliki arti sebagai berikut:
• M, menunjukkan lebar karakter maksimum. Nilai M
maksimum adalah 255.
• D, menunjukkan jumlah angka di belakang koma.
Nilai maksimum D adalah 30 tetapi dibatasi oleh nilai M, yaitu tidak boleh
lebih besar daripada M-2.
• Atribut yang
diberi tanda [ dan ] berarti pemakaiannya adalah optional.
• Jika atribut
ZEROFILL disertakan, MySQL akan otomatis menambahkan atribut UNSIGNED.
• UNSIGNED adalah
bilangan tanpa tanda di depannya (misalnya tanda negatif).
Berikut tipe-tipe data yang didukung oleh MySQL, antara
lain:
1. Tipe data untuk
bilangan
No
|
Tipe Data
|
Bentuk Dasar Penulisan
|
Keterangan
|
Ukuran
|
1.
|
TINYINT
|
TINYINT [(M)] [UNSIGNED] [ZEROFILL]
|
Digunakan untuk menyimpan data bilangan bulat
positif dan negatif.
Bilangan bulat terkecil, dengan jangkauan untuk
bilangan bertanda -128 sampai dengan 127 dan untuk yang tidak bertanda 0
sampai dengan 255. Bilangan tak bertanda ditandai dengan kata UNSIGNED
|
1 byte
|
2.
|
SMALLINT
|
SMALLINT [(M)] [UNSIGNED] [ZEROFILL]
|
Digunakan untuk menyimpan data bilangan bulat
positif dan negatif.
Jangkauan untuk bilangan bertanda -32768 sampai
dengan 32767 dan untuk yang tidak bertanda (jangkauan unsigned) 0 sampai
dengan 65535
|
2 byte
|
3.
|
MEDIUMNIT
|
MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL]
|
Digunakan untuk menyimpan data bilangan bulat
positif dan negatif.
Jangkauan untuk bilangan bertanda -8388608
sampai dengan 8388607 dan untuk yang tidak bertanda (jangkauan unsigned) 0
sampai dengan 16777215
|
3 byte
|
4.
|
INT
|
INT [(M)] [UNSIGNED] [ZEROFILL]
|
Digunakan untuk menyimpan data bilangan bulat
positif dan negatif .
Jangkauan untuk bilangan bertanda -2147483648
sampai dengan 2147483647 dan untuk yang tidak bertandan (jangkauan
usigned) 0 sampai dengan 4294967295
|
4 byte
|
5.
|
INTEGER [(M)] [UNSIGNED] [ZEROFILL]
|
Sama dengan INT.
|
||
6.
|
BIGINT
|
BIGINT [(M)] [UNSIGNED] [ZEROFILL]
|
Digunakan untuk menyimpan data bilangan bulat
positif dan negatif .
Jangkauan untuk bilangan bertanda
-9223372036854775808 sampai dengan 9223372036854775807 dan untuk yang tidak
bertanda 0 sampai dengan
184467440737079551615 |
8 byte.
|
7.
|
FLOAT
|
FLOAT [(M,D)] [ZEROFILL]
|
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
|
4 byte
|
8.
|
DOUBLE
|
DOUBLE [(M,D)] [ZEROFILL]
|
Digunakan untuk menyimpan data bilangan pecahan
positif dan negatif presisi ganda.
Tidak dapat bersifat unsigned.
Nilai yang diijinkan adalah
-1.7976931348623157E+308 hingga -2.2250738585072014E-308 untuk nilai negatif,
0, dan 2.2250738585072014E-308 hingga 1.7976931348623157E+308 untuk nilai positif.
|
8 byte
|
9.
|
DOUBLE PRECISION [(M,D)] [ZEROFILL]
|
Bilangan pecahan berpresisi
ganda. |
8 byte.
|
|
10.
|
REAL [(M,D)] [ZEROFILL]
|
Sinonim dari DOUBLE.
|
8 byte.
|
|
11.
|
DECIMAL
|
DECIMAL [(M,D)] [ZEROFILL]
|
Digunakan untuk menyimpan data bilangan pecahan
positif dan negatif.
Misalnya DECIMAL(5,2) dapat digunakan untuk
menyimpan bilangan -99,99 sampai dengan
99,99 |
M byte
|
12.
|
NUMERIC [(M,D)] [ZEROFILL]
|
Sama dengan Decimal.
|
M byte.
|
No
|
Tipe
Data |
Bentuk Dasar Penulisan
|
Keterangan
|
Ukuran
|
1.
|
DATETIME
|
Kombinasi tanggal dan waktu
dengan jangkauan dari ‘1000-01-01 00:00:00’ sampai dengan ‘9999-12-31 23:59:59’ |
8 byte.
|
|
2.
|
DATE
|
Kombinasi tanggal dan waktu
dengan jangkauan dari ‘1000-01-01’ sampai dengan ‘9999-12-31 ’ |
8 byte.
|
|
3.
|
TIMESTAMP
|
TIMESTAMP [(M)]
|
Kombinasi tanggal dan waktu
dengan jangkauan dari ‘1970-01-01’ sampai dengan ‘2037 ’ |
4 byte.
|
4.
|
TIME
|
Digunakan untukmenyimpan waktu dengan jangkauan
dari
-838:59:59 sampai dengan 838:59:59 |
3 byte.
|
|
5.
|
YEAR
|
Digunakan untuk menyimpan data tahun dari tanggal
antara 1901 sampai dengan 2155
|
1 byte
|
3. Tipe data untuk
karakter dan lain-lain
No
|
Tipe
Data |
Bentuk Dasar Penulisan
|
Keterangan
|
Ukuran
|
1.
|
CHAR
|
CHAR(M) [BINARY]
|
Data string dengan panjang yang tetap. CHAR(1) cukup
ditulis dengan CHAR. 1<=M<=255, Jika ada sisa, maka sisa tersebut diisi
dengan spasi (misalnya nilai M adalah 10, tapi data yang disimpan hanya
memiliki 7 karakter, maka 3 karakter sisanya diisi dengan spasi). Spasi ini
akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan
diperbandingkan secara case-insensitive menurut default character set yang
tersedia, kecuali bila atribut BINARY disertakan.
|
M byte.
|
2.
|
VARCHAR
|
VARCHAR (M)
[BINARY]
|
Ukuran L+1 byte dengan L<=M dan
1<=M<=255. Data string dengan panjang bervariasi tergantung datanya. Jika nilai M adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi. |
L+1 byte
|
3.
|
TINYBLOB,
TINYTEXT
|
L+1 byte, dengan L<28 . Tipe
TEXT atau BLOB dengan panjang maksimum 255 karakter. |
L+1 byte
|
|
4.
|
BLOB,
TEXT
|
L+2 byte, dengan L<216 . Tipe
TEXT atau BLOB dengan panjang maksimum 65535 karakter. |
L+2 byte
|
|
5.
|
MEDIUMBLOB, MEDIUMTEXT
|
L+3 byte, dengan L<224. Tipe
TEXT atau BLOB dengan panjang maksimum 1677215 karakter. |
L+3 byte
|
|
6.
|
LONGBLOB, LONGTEXT
|
L+4 byte, dengan L<232. Tipe
TEXT atau BLOB dengan panjang maksimum 4294967295 karakter. |
L+4 byte
|
|
7.
|
ENUM
|
ENUM(’nilai1’,’nilai2’,..)
|
Ukuran 1 atau 2 byte tergantung nilai
enumerasinya maks 65535 nilai |
1 atau 2 byte
|
8.
|
SET
|
SET(’nilai1’,’nilai2’,..)
|
Ukuran 1,2,3,4 atau 8 byte tergantung
jumlah anggota himpunan maks 64 anggota.
|
1,2,3,4 atau 8 byte
|
Tipe-tipe yang didukung MySQL di atas dapat menjadi
pilihan dalam penyusunan database. Sebagai contoh, jika kita hendak menyimpan
data jumlah suatu stok barang yang tidak melebihi angka 200 misalnya, maka
sebaiknya memilih tipe data TINYINT yang diberi atribut UNSIGNED. Alasannya
adalah jumlah stok tidak melebihi 200 dan tidak mungkin lebih kecil dari 0, dan
tipe data TINYINT memiliki jangkauan 0 hingga 255, jadi memenuhi syarat untuk
digunakan.
Contoh yang lain,
misalnya kita hendak membuat database nomor telpon dari teman-teman kita.
Memang nomor telpon seluruhnya terdiri dari angka, namun nampaknya tidak tepat
bila disimpan dalam tipe data INT (atau bahkan BIGINT bila hendak menyimpan
nomor handphone). Lebih baik dimasukkan ke dalam CHAR atau VARCHAR dengan M
adalah 12. Mengapa 12? Karena nomor handphone terpanjang terdiri dari 12 digit.
Sedangkan nomor telpon rumah terpanjang adalah 8 digit ditambah kode area
terpanjang 4 digit, jadi angka 12 sangat pas.
Lalu bagaimana
penerapannya dalam operasi MySQL? Misalnya kita hendak membuat tabel stok barang
dengan masing-masing field adalah kode barang, nama barang, harga barang,
supplier, dan tanggal beli, maka kemungkinan perintah yang harus ditulis adalah
sebagai berikut:
MySQL> create
table stok
-> kode char(5),
-> nama
varchar(20),
-> harga mediumint
unsigned,
-> supplier
char(5),
-> tanggal date);
Perintah tersebut di
atas akan membuat tabel bernama stok dengan field-field sebagai berikut:
Nama field
|
Tipe data
|
Keterangan
|
Kode
|
Char(5)
|
Kode barang biasanya memiliki jumlah karakter
tetap, dalam contoh ini adalah 5.
|
Nama
|
Varchar(20)
|
Nama barang kemungkinan besar memiliki jumlah
karakter yang berbeda-beda, sehingga cocok menggunakan varchar.
|
Harga
|
Mediumint Unsigned
|
Harga tergantung dari jenis barangnya, pada
contoh ini dianggap harga barang tertinggi di bawah 100 jutaan.
|
Demikian penjelasan singkat mengenai MYSQL serta Tipe-Tipe
Data yang Didukung oleh MYSQL. Semoga bermanfaat dan menambah pengetahuan
Anda...
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar