Rabu, 16 Maret 2016

Materi Belajar MySQL

Assalamualaikum Wr. Wb.

Hari ini saya belajar tentang MySQL yang di bimbing oleh mas lucky.

Apa MySQL itu ?

MySQL merupakan software database open source yang paling populer di
dunia, dimana saat ini digunakan lebih dari 100 juta pengguna di seluruh dunia.
Dengan kehandalan, kecepatan dan kemudahan penggunaannya, MySQL menjadi pilihan utama bagi banyak pengembang software dan aplikasi baik di platform web maupun desktop.
Pengguna MySQL tidak hanya sebatas  pengguna perseorangan maupun perusahaan kecil, namun perusahaan seperti Yahoo!, Alcatel‐Lucent, Google, Nokia, Youtube, Wordpress dan Facebook juga merupakan pengguna MySQL.

MySQL pertama kali dibuat dan dikembangkan di Swedia, yaitu oleh DavidAxmark, Allan Larsson dan Michael "Monty" Widenius. Mereka mengembangkan MySQL sejak tahun 1980‐an. Saat ini versi MySQL yang sudah
stabil mencapai versi 5x, dan sedang dikembangkan versi 6x. Untuk lebih lengkapnya dapat dilihat di situs resmi MySQL.

Tipe Tipe table MySQl :

1. 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.

2.  InnoDB Tipe tabel InnoDB merupakan tipe tabel MySQL yang mendukung prosestransaksi. 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.

3. 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.

Selain 3 (tiga) tipe tabel diatas, yaitu MyISAM, InnoDB dan HEAP, MySQL
juga mendukung tipe tabel yang lain, yaitu:

a. BDB. Tipe tabel ini mirip tipe tabel InnoDB, namun penggunaannya belum
maksimal.

b. Archieve. Tipe ini tersedia sejak MySQL versi 4.1. Tipe ini digunakan untuk
menyimpan tabel yang terkompresi, dimana biasanya digunakan dalam
proses backup.

c. CSV. Tipe ini digunakan untuk menyimpan data dalam bentuk file text yang
dibatasi dengan koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1.

d. NDB Table (MySQL Cluster). Tersedia sejak MySQL versi 4.1.

e. Federated (External Tables). Tipe ini tersedia sejak MySQL versi 5.0.

Tipe Tipe kolom (field) MySQL  :

Tipe field di MySQL setidaknya terbagi menjadi beberapa kelompok, yaitu numerik, string, date-and-time, dan kelompok himpunan (set dan enum). Masing masing tipe field memiliki batasan lebar dan ukurannya.

1. Tipe Numeric
 Tipe data numerik digunakan untuk menyimpan data numeric (angka).
contohnya :

a.  TINYINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit).

b. SMALLINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).

c. 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).

d. 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).

e. BIGINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : ± 9,22 x 10 18
Ukuran : 8 byte (64 bit).

f. 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).

g. 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).

h. 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 and 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 (2 16 - 1) karakter

5. MEDIUMTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 2 24 - 1 karakter

6. LONGTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 2 32 - 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
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 : 2 16 - 1 byte

4. MEDIUMBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 2 24 - 1 byte

5. LONGBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 2 32 - 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.

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 case-
sensitive. 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.

 Sumber : http://achmatim.net

Sekian dulu dari saya  semoga bermanfaat bagi anda semua nya.

Wassalamualaikum Wr. Wb.


0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More