LAMPIRAN E FORMAT TABEL MYSQL

dokumen-dokumen yang mirip
MySQL AL AZHAR COMPUTER CLUB

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

TUGAS PRAKTIKUM SISTEM BASIS DATA

MODUL I PENGENALAN MYSQL

PERINTAH DASAR MySQL

Pengenalan Structured Query Language

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Tutorial Singkat MySQL

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

Pertemuan 12 Pengenalan Structured Query Language

( Dari Ms-DOS windows, diasumsikan mysql client berada pada direktori tersebut.) mysql ( dari Linux). mysql --help

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

PRAKTIKUM SISTEM BASISDATA

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Perintah - Perintah Dasar Pada MySQL

Database. Danu Wira Pangestu 1. Mengenal Database. Lisensi Dokumen:

Seri 01 : Belajar Database MySQL

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

MODUL 8 Mengoperasikan Perangkat Lunak Basis Data

LAPORAN PRAKTIKUM SISTEM BASIS DATA

CARA MENGGUNAKAN SELECT QUERY PADA MYSQL

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

TUGAS PRAKTIKUM SISTEM BASIS DATA

RANGKUMAN PHP dan MYSQL

PRAKTIKUM SISTEM BASIS DATA

TUGAS PRAKTIKUM SISTEM BASIS DATA

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

DATABASE - MySQL. Muhammad Zen S. Hadi, ST. MSc.

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

1 Praktikum #1 - SQL Langkah-Langkah Kerja Solusi Masalah Penutup... 6

Apa itu DDL & DML? Semua perintah SQL dibagi dalam 2 kategori besar sesuai fungsinya, yaitu :

LAPORAN PRAKTIKUM SISTEM BASIS DATA

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

_basis_data. 10 rows in set (0.24 sec)

Praktek Pemrograman Web

MySQL J A M K E T I G A

Sistem Basis Data. Prepared by LittleRadita STMIK- AUB Surakarta

Praktikum Sistem Basis Data MYSQL. Gentisya Tri Mardiani, S.Kom

MODUL 10 TRANSACTION

1. Memulai pengelolaan database Menampilkan daftar database Sintaks : show databases;

Pemrograman Web Lanjut 2017

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Contoh SQL Constraint

Tutorial Singkat MySQL Menggunakan AppServ versi for Windows

DATA DEFINITION LANGUAGE

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

7 VARIASI INSERT YANG TERLUPAKAN

PRAKTIKUM SISTEM BASIS DATA. Tugas I. Disusun oleh: Yoga Asmara (TI/ )

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

LAPORAN TUGAS BASIS DATA I

Bagian 1 Dasar Menguasai Database MySQL

Pertemuan 9 Struktur Query Language(SQL)

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

BAB I Penginstallan dan setting PHPTriad

Tahap Instalasi PostgreSQL di Windows

PENGENALAN SINTAKS DASAR DALAM MySQL

INTERNET PROGRAMMING DATABASE

Modul 3. Oleh : Mohammad Sholikin. 1

Untung Subagyo

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Praktikum Sistem Basis Data MYSQL. Gentisya Tri Mardiani, S.Kom., M.Kom

Praktikum Basis Data 14 Structure Query Language 2

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

MySQL Full-Text Searching

MODUL VII DATABASE DAN MICROSOFT SQL SERVER 2000

Mengenal Operasi Dasar SQL

KURSUS ONLINE JASA WEBMASTERS

P - 7 Pembahasan UTS PSIK V

MySQL. Pemrograman Web/MI/D3 sks 1


LAMPIRAN C INSTALASI PERANGKAT LUNAK

MySQL. Setelah Anda melakukan tahapan-tahapan di atas Anda akan dapatkan screen seperti ini

Mengenal Pemrograman PHP7 Database untuk Pemula

MUKADDIMAH TEORI ASUMSI TABEL. CREATE TABLE contoh ( kode CHAR(5), nama VARCHAR(50) )

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB IV IMPLEMENTASI DAN PENGUJIAN

Modul 3 : Query Penggabungan Tabel

Contoh SQL Constraint

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

MODUL 5 INTERNET PROGRAMMING : MySQL

MODUL 1 Pengenalan MySQL, DDL, DML

Daftar Isi. 1 Praktikum #1 - Instalasi XAMPP dan PHP Maker Tujuan Program yang dibutuhkan Langkah-Langkah Pekerjaan...

Cara Menggunakan MySQL

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

MODUL 9 WEB PROGRAMMING : MySQL

Transkripsi:

LAMPIRAN E FORMAT TABEL MYSQL Bab ini akan membahas: Jenis-jenis Format tabel pada MySQL Format Tabel ISAM Format Tabel MyISAM Format Tabel HEAP Format Tabel MERGE Format Tabel Innodb Format Tabel BerkeleyDB

Jenis Format Tabel Pada MySQL MySQL menyediakan beberapa jenis format tabel yang penggunaannya tergantung dari tujuan pembuatan tabel tersebut. Jenis format tabel tersebut adalah sebagai berikut: Format Tabel ISAM Format Tabel MyISAM Format Tabel HEAP Format Tabel MERGE Format Tabel Innodb Format Tabel BerkeleyDB Bila ditinjau dari kemampuan tabel, maka keenam tabel tersebut dapat dikategorikan sebagai tabel dengan kemampuan bertransaksi (transaction-safe tables /TST) dan tabel tanpa kemampuan bertransaksi (not transaction-safe tables /NTST), sehingga daftar tabel di atas dapat kita bagi lagi menjadi: Transaction-Safe Tables (TST) Format Tabel Innodb Format Tabel BerkeleyDB Not Transaction-Safe Tables (NTST ) Format Tabel ISAM Format Tabel MyISAM Format Tabel HEAP Format Tabel MERGE Apa yang dimaksud dengan Transaksi? Transaksi adalah kemampuan software untuk membatalkan suatu proses, kemudian mengembalikan nilai awal sebelum proses tersebut terjadi. Kita dapat membayangkannya sebagai sebuah transaksi keuangan di bank. Anggaplah Anda sedang berdiri di depan sebuah mesin ATM untuk melakukan penarikan tunai. Sebelumnya Anda memiliki saldo awal 10 juta rupiah, dan berniat mengambil uang tunai sebanyak 2 juta rupiah saja. Bila transaksi tunai berhasil, maka Anda akan mendapatkan uang tunai dari ATM sebesar 2 juta rupiah, dan secara langsung nilai saldo di rekening Anda akan berkurang sebanyak 2 juta rupiah, sehingga menjadi 8 juta rupiah. Itu skenario normalnya, bila semuanya berjalan secara lancar-lancar saja. 114

Skenario tidak normalnya adalah bagaimana bila mesin ATM belum berhasil mengeluarkan uang tunai yang Anda minta, tetapi tiba-tiba terjadi aliran listrik padam. Apakah saldo Anda akan tetap berkurang sebanyak 2 juta rupiah walaupun Anda belum menerima uang tunai tersebut dari mesin ATM? Lebih parah lagi, kartu ATM Anda ikut tertelan di mesin ATM tersebut, atau saldo Anda akan tetap berjumlah 10 juta rupiah karena transaksi akan dibatalkan secara otomatis oleh sistem perbankan? Atau, yang paling menguntungkan, saldo Anda tetap 10 juta rupiah tetapi ATM sempat mengeluarkan uang juga. Bila database perbankan tersebut memiliki fasilitas transaction-safe tables (TST) maka yang terjadi adalah saldo Anda di rekening tetap 10 juta rupiah, Anda sama sekali tidak menerima uang tunai 2 juta rupiah dari ATM, serta kartu ATM Anda selamat tidak tertelan di mesin tersebut. Adil kan? Kurang lebih seperti itulah gambaran sederhana dari cara kerja transaction -safe tables (TST). Sebaliknya, bila tidak di dukung oleh transaction-safe tables (TST), maka Anda mungkin akan mengalami kerugian. Keunggulan transaction-safe tables (TST) dibandingkan dengan not transaction-safe tables (NTST) adalah: Lebih aman. Seperti pada contoh kasus di atas. Cukup menggunakan satu perintah COMMIT saja untuk mengupdate beberapa perintah di atasnya. Dapat menjalankan perintah ROLLBACK yang mengabaikan perubahan -perubahan yang terjadi pada transaksi yang dibatalkan. Sedangkan keunggulan dari not transaction-safe tables (NTST) dibandingkan dengan transaction-safe tables (TST) adalah: Proses lebih cepat karena tidak adanya beban transaksi (no transaction overhead). Penggunaan ruang dalam hard disk yang lebih hem at karena tidak adanya beban transaksi. Penggunaan memori yang lebih hemat, juga karena tidak adanya beban transaksi. Dari gambaran di atas, Anda bisa menentukan format tabel apa saja yang akan Anda pilih sesuai dengan kebutuhan. Tentu harus ada pertimbangan yang matang dalam hal pemilihan format tabel ini. Pada MySQL sendiri, format tabel MyISAM merupakan format default yang digunakan. Selanjutnya, mari kita bahas satu per satu mengenai bentuk format tabel tersebut. 115

Format Tabel ISAM Form at tabel ISAM merupakan format tabel yang paling awal digunakan sebelum MySQL versi 3.23. Format ini direncanakan menghilang pada MySQL versi 4.1 mendatang karena telah disempurnakan menjadi format MyISAM yang menjadi defaultnya MySQL. ISAM menggunakan struktur index B-Tree yang disimpan dalam sebuah file dengan nama akhiran.ism. Sedangkan file datanya disimpan dalam file dengan nama akhiran.isd. Untuk memeriksa kondisi struktur tabel ISAM dan memperbaikinya bila terjadi kerusakan, Anda dapat menggunakan program bantu isamchk yang telah dibahas pada Bab 11. Silakan baca kembali untuk menyegarkan ingatan Anda. Format tabel ISAM memiliki beberapa fitur sebagai berikut: Indeks yang terkompresi dan tetap (Compressed and fixed-length keys) Panjang record yang dinamik dan tetap (Fixed and dynamic record length) Dapat mendukung 16 indeks dengan 16 bagian per indeksnya. Panjang maksimum file indeks adalah 256 karakter. Data disimpan dalam format bahasa mesin yang mengakibatkan kecepatan proses tinggi, tetapi sangat tergantung pada kompatibilitas mesinnya. Dibandingkan dengan format tabel MyISAM, perbedaannya adalah: Tabel ISAM tidak kompatibel untuk perpindahan antarplatform. Tidak mendukung besaran file data di atas 4 Gigabyte (4 GB). Kemampuan Indeks lebih terbatas. Tabel dinamis cenderung untuk terpecah-pecah (defragmented). Kompresi tabel dilakukan dengan program bantu pack_isam, bukan myisampack. Karena format tabel default pada MySQL adalah format MyISAM, maka bila Anda kebetulan memiliki format tabel ISAM dan berniat untuk mengubahnya menjadi format MyISAM, dapat dilakukan dengan cara: mysql> ALTER TABLE nama_tabel TYPE=MyISAM ; Sebaliknya, bila Anda menginginkan mengubah format tabel ke ISAM, dapat dilakukan dengan cara: mysql> ALTER TABLE nama_tabel TYPE=ISAM ; 116

Format Tabel MyISAM Format tabel MyISAM merupakan pengembangan dan penyempurnaan dari format tabel ISAM, dan merupakan format tabel default pada MySQL. Pada MyISAM file indeks disimpan dengan nama akhiran.myi dan file data disimpan dengan nama akhiran.myd. Adapun penyempurnaan yang dilakukan pada MyISAM antara lain: Adanya suatu kode pembeda yang akan memberi tanda bila suatu tabel tidak ditutup dengan semestinya setelah dibuka. Bila Anda menjalankan program MySQL Server, mysqld, dengan pilihan --myisam-recover, maka secara otomatis tabel yang telah ditandai tersebut akan dipulihkan (bila rusak) atau ditutup dengan semestinya (bila belum ditutup). Hal ini sangat membantu untuk menjaga keutuhan dan validitas tabel. Kemampuan kolom AUTO_INCREMENT lebih handal dibandingkan dengan format tabel ISAM. Mendukung file ukuran besar (63-bit) pada sistem operasi tertentu yang juga mendukung pembuatan dan pembacaan file-file data ukuran besar. Pada kolom BLOB dan TEXT bisa dilakukan pengindeksan. NULL diperkenankan pada kolom yang diindeks (tetapi sebaiknya dihindari saja). Jumlah maksimum file indeks adalah 32 buah per tabelnya, dan masih dapat dikembangkan hingga mencapai 64 buah per tabel dengan kondisi tertentu tanpa harus mengkompilasi ulang program myisamchk. Program bantu myisampack dapat memadatkan kolom BLOB dan VARCHAR. Walaupun format tabel MyISAM dapat dikategorikan sangat handal, tetapi pada suatu saat bisa saja terjadi kerusakan yang diakibatkan oleh: Server mati secara mendadak akibat aliran listrik padam. Kerusakan pada perangkat keras. Penghentian proses oleh perintah KILL pada saat proses sedang dalam kondisi menulis. Kesalahan pada program MySQL atau ISAM. Melakukan suatu proses dengan program bantu lain (seperti MyISAM) pada saat tabel sedang sibuk diakses. Ciri-ciri tabel MyISAM yang mengalami kerusakan antara lain: Munculnya pesan kesalahan ' Incorrect key file for table: '...' Query tidak menghasilkan data yang lengkap. Bila hal tersebut terjadi, yang dapat Anda lakukan adalah segera memperbaiki kerusakan tabel tersebut dengan menggunakan perintah CHECK TABLE atau REPAIR TABLE. 117

mysql> CHECK TABLE nama_tabel pilihan_pemeriksaan ; mysql> REPAIR TABLE nama_tabel pilihan_perbaikan ; Catatan? Informasi tentang perintah CHECK TABLE dan REPAIR TABLE dapat Anda baca di Bab 11. Bila Anda ingin mengubah format tabel ke MyISAM, lakukan dengan cara: mysql> ALTER TABLE nama_tabel TYPE=MYISAM ; Pada saat pertama kali kita membuat tabel ini dengan perintah CREA TE TABLE, bisa dinyatakan dengan perintah sebagai berikut: mysql> CREATE TABLE ujian -> (NoSiswa INT NOT NULL AUTO_INCREMENT, -> Nilai INT NOT NULL, -> PRIMARY KEY (NoSiswa)) -> TYPE=MyISAM ; Atau bisa juga dengan perintah di bawah ini, dengan menghilangkan perintah TYPE=MYISAM, karena format tabel MyISAM adalah format tabel default yang digunakan oleh MySQL. mysql> CREATE TABLE ujian -> (NoSiswa INT NOT NULL AUTO_INCREMENT, -> Nilai INT NOT NULL, -> PRIMARY KEY (NoSiswa)) -> ; 118

Format Tabel HEAP Format Tabel HEAP merupakan suatu tabel yang bersifat temporer dan disimpan di dalam memori komputer. Oleh sebab itu, kemampuan akses Tabel HEAP sangat cepat. Tetapi, bila komputer mati atau listrik tiba-tiba padam, Tabel HEAP pun akan ikut hilang. Karena itu, berhatihatilah dalam menggunakan Tabel HEAP karena sifatnya yang sangat sementara ini. Ada beberapa hal yang harus dipertimbangkan dalam menggunakan Tabel HEAP, antara lain: Selalu tentukan MAX_ROWS dalam pembuatan Tabel HEAP, sehingga tidak menghabiskan sumber daya memori komputer yang tersedia. Indeks hanya bisa menggunakan = dan <=>, tetapi aksesnya sangat cepat. Tabel HEAP hanya menggunakan format data yang tetap (fixed record length format). HEAP tidak dapat mendukung jenis kolom BLOB dan TEXT. HEAP tidak mendukung jenis kolom AUTO_INCREMENT. HEAP tidak mendukung indeks pada kolom yang memiliki nilai NULL. Membutuhkan kapasitas memori yang sangat besar bila membuka seluruh Tabel HEAP yang dibutuhkan untuk suatu proses. Untuk menghemat pemakaian memori, sebaiknya selalu gunakan perintah DELETE FROM heap_table, TRUNCATE heap_table atau DROP TABLE heap_table. Tentukan besar maksimum tabel HEAP dengan perintah max_heap_table_size untuk menghindari terjadinya kelebihan beban pada memori komputer Anda. Pada saat pertama kali kita membuat tabel ini dengan perintah CREATE TABLE, bisa dinyatakan dengan perintah sebagai berikut: mysql> CREATE TABLE sementara -> (NoSiswa CHAR(6) NOT, -> Nama VARCHAR(25), -> PRIMARY KEY (NoSiswa)) -> TYPE=HEAP ; Bila Anda ingin mengubah format tabel ke HEAP, lakukan dengan cara: mysql> ALTER TABLE nama_tabel TYPE=HEAP ; 119

Format Tabel MERGE Format Tabel MERGE baru muncul sejak MySQL versi 3.23.25 dan dapat dikatakan masih dalam tahap pengembangan (walaupun sudah dapat dikatakan stabil). Konsep dasar dari MERGE adalah sekumpulan tabel MyISAM yang tepat indentik digabung menjadi satu dan digunakan secara bersamaan. Identik di sini berarti secara struktural benar-benar sama dan sebangun, baik kolomnya maupun informasinya. Perintah query yang dapat dilakukan pada tabel MERGE hanya perintah SELECT, DELETE dan UPDATE saja, perintah-perintah query lainnya belum bisa diterapkan. Kemudian, bila Anda menghapus Tabel MERGE dengan perintah DROP, maka hanya spesifikasinya saja yang dihapus (bukan fisik tabelnya). Pada saat pembuatan MERGE, akan dihasilkan sebuah file dengan nama akhiran.mrg yang sebenarnya isinya merupakan daftar file.myi yang dijadikan satu. Semua file.myi itu harus berada di dalam satu database yang sama. Manfaat penggunaan Tabel MERGE ini antara lain: Memudahkan mengelola sekelompok file log pada tabel. Memberi kecepatan proses yang lebih baik. Dibandingkan dengan membaca sebuah tabel yang sangat besar, sudah tentu kecepatan akses akan semakin meningkat bila tabelnya menjadi semakin kecil dan ringkas. Dengan Tabel MERGE, kita bisa mengambil record-record tertentu (dengan kriteria tertentu) saja dari beberapa tabel yang terpisah dan berukuran besar, kemudian menyatukan record-record tertentu tersebut ke dalam sebuah tabel MERGE yang lebih kecil. Proses pencarian data akan semakin efisien. Proses pemulihan tabel akan semakin efisien. Pemetaan beberapa tab el ke dalam satu tabel saja. Selain manfaat, ada juga kelemahannya, antara lain: Hanya dapat diterapkan pada struktur tabel MyISAM yang benar-benar identik. Perintah REPLACE tidak dapat dijalankan pada format Tabel MERGE ini. Tidak dapat menjalankan perintah DROP TABLE, ALTER TABLE atau DELETE FROM tabel WHERE kriteria. Bila hal ini dipaksakan, dapat mengakibatkan hasil yang tidak diharapkan. Agar lebih jelas, mari kita perhatikan contoh di bawah ini: 120

Aktifkan MySQL dan bukalah Database temandb: [SYSTEM PROMPT] mysql u root p temandb Enter password: xxxxxxx Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 to server version: 4.0.14 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Kita akan membuat sebuah tabel baru dengan struktur yang identik dengan Tabel teman. Untuk itu, kita lihat dulu apa saja struktur Tabel teman tersebut: mysql> DESCRIBE teman ; +---------------+---------------+------+-----+------------+----------------+ Field Type Null Key Default Extra +---------------+---------------+------+-----+------------+----------------+ teman_id int(4) PRI NULL auto_increment nama varchar(50) kelamin enum('l','p') L tempat_lahir varchar(50) YES NULL tanggal_lahir date 0000-00-00 alamat varchar(50) YES NULL kota varchar(30) YES NULL kodepos varchar(5) YES NULL +---------------+---------------+------+-----+------------+----------------+ 8 rows in set (0.06 sec) Kita buat tabel baru yang kita namakan temanlainnya: mysql> CREATE TABLE temanlainnya -> (teman_id INT(4) AUTO_INCREMENT NOT NULL PRIMARY KEY, -> nama VARCHAR(50) NOT NULL, -> kelamin ENUM('L','P') NOT NULL, -> tempat_lahir VARCHAR(50), -> tanggal_lahir DATE NOT NULL DEFAULT '0000-00-00', -> alamat VARCHAR(50), -> kota VARCHAR(30), -> kodepos VARCHAR(5) -> ); Query OK, 0 rows affected (0.02 sec) Kemudian, kita isi Tabel temanlainnya ini dengan isi dari Tabel teman: mysql> INSERT INTO temanlainnya -> SELECT * FROM teman ; Query OK, 40 rows affected (0.17 sec) Records: 40 Duplicates: 0 Warnings: 0 Anda bisa memeriksa isi Tabel temanlainnya dengan perintah: mysql> SELECT * FROM temanlainnya ; 121

Kemudian, kita buat satu tabel baru lainnya yang kita namakan temanmerge sekaligus dengan mengisinya dengan data dari Tabel teman dan Tabel temanlainnya. Untuk menggabung kedua data tersebut kita membutuhkan perintah UNION: mysql> CREATE TABLE temanmerge -> (teman_id INT(4) AUTO_INCREMENT NOT NULL, -> nama VARCHAR(50) NOT NULL, -> kelamin ENUM('L','P') NOT NULL, -> tempat_lahir VARCHAR(50), -> tanggal_lahir DATE NOT NULL DEFAULT '0000-00-00', -> alamat VARCHAR(50), -> kota VARCHAR(30), -> kodepos VARCHAR(5), -> KEY (teman_id) -> ) -> TYPE=MERGE -> UNION=(teman, temanlainnya) -> ; Query OK, 0 rows affected (0.02 sec) Silakan Anda periksa isi Tabel temanmerge tersebut. Jumlah record tabelmerge merupakan jumlah record gabungan dari tabel teman dan tabel temanlainnya: mysql> SELECT * FROM temanmerge ; Jika Anda perhatikan pada direktori data temandb, maka akan ada sebuah file yang bernama TEMANMERGE.MRG. File ini bukan file data! Tetapi, hanya memuat informasi tentang file-file apa saja yang diisikan ke dalam file hasil merge tersebut. Tidak ada data satupun yang dipindahkan ke dalam file hasil merge tersebut. Setiap data masih tetap berada di tabel masing - masing. Anda bisa saja mengilustrasikannya sebagai proses Mail Merge pada software Microsoft Word. Kurang lebih seperti itulah. Bila file TEMANMERGE.MRG ini kita buka dengan teks editor biasa, maka isinya adalah: teman temanlainnya 122

Format Tabel InnoDB Format Tabel InnoDB mendukung proses transaksi dengan adanya fasilitas rollback dan commit, dan juga kemampuan untuk memulihkan tabel bila terjadi kerusakan pada tabel tersebut. Mampu melakukan penguncian (locking) pada tingkatan record dan juga mampu membaca pada perintah SELECT yang tidak dikunci (mirip dengan kemampuan Oracle). Kemampuan-kemampuan tersebut meningkatkan kecepatan dan kinerja penggunaan multi user. Ada banyak sekali fitur yang disediakan oleh Tabel InnoDb ini. Anda bisa mendapatkan informasi lebih rinci langsung di situs www.innodb.com. Anda bisa juga mendapatkan versi komersial dari InnoDB yang bisa didownload pada situs tersebut. InnoDb telah digunakan untuk database yang membutuhkan kinerja sangat tinggi dan berukuran sangat besar. Misal, Mytrix Inc, sebuah perusahaan yang bergerak di bidang riset statistik di Internet, menggunakan InnoDb untuk mengelola data lebih dari 1 Terabyte (10 12 byte), dengan jumlah tabel lebih dari 100.000. Secara keseluruhan jumlah recordnya mencapai lebih dari 20 milyar record. Sebuah bursa saham Paris di Perancis menggunakan InnoDB sebagai solusi databasenya. Pada saat beban kerja sedang sepi, jumlah query yang dilayani mencapai rata-rata 800 proses insert/update per detiknya. Sedangkan pada saat ramai, jumlah query yang dilayani mencapai rata-rata 2.000 proses insert/update per detiknya. Kelebihan format tabel InnoDB antara lain: Format Tabel InnoDB mendukung transaksi dengan menyediakan fasilitas rollback dan commit. InnoDB merupakan satu-satunya format tabel di dalam MySQL yang mendukung Foreign Key Constraint. Kecepatan InnoDB pada beberapa kasus bahkan melebihi kecepatan format tabel MyISAM. Informasi mengenai kecepatan ini dapat dilihat di halaman benchmark dengan alamat http://www.innodb.com/bench.html. InnoDB memiliki kemampuan melakukan penguncian pada tingkatan record (row level locking). Bandingkan dengan MyISAM yang hanya memiliki kemampuan penguncian pada tingkatan tabel (table level locking). Hal ini sangat berpengaruh dalam meningkatkan kinerja akses multiuser. InnoDB memiliki fasilitas backup secara langsung, yaitu dapat melakukan backup pada database yang sedang berjalan tanpa harus melakukan proses locking dulu dan tidak akan mengganggu operasional database. InnoDB memiliki kemampuan memulihkan tabel secara otomatis pada tabel-tabel yang rusak. 123

Ukuran database InnoDB dapat melebihi 2 Gigabyte, walaupun sistem operasi yang digunakan saat itu tidak mendukung penggunaan database melebihi 2 Gigabyte. Format Tabel BerkeleyDB (BDB) Format tabel BDB (singkatan dari BerkeleyDB) mendukung transaksi seperti halnya format tabel InnoDB. BerkeleyDB merupakan perangkat lunak database yang dapat langsung 'dicangkokkan' ke dalam suatu aplikasi (embedded database system) produksi Sleepycat Software, Massachusetts, USA. Situs Internetnya dapat diakses di alamat www.sleepycat.com. Sleepycat didirikan pada tahun 1996, yang dibidani salah satunya oleh Dr. Margo Seltzer, seorang profesor di bidang Computer Science, juga dekan jurusan Computer Science and Engineering di Harvard University. Beberapa nama terkenal telah menggunakan BerkeleyDB sebagai salah satu solusi databasenya, seperti HP, IBM, Sun, Amazon, Cisco, Motorola, dan sebagainya. Pada MySQL, format tabel BerkeleyDB ini ditambahkan sejak MySQL versi 3.23.6. Beberapa fitur yang disediakan oleh BerkeleyDB antara lain: Kemudahan. BerkeleyDB memang dirancang bagi pen gembang perangkat lunak untuk dapat 'dicangkokkan' dengan mudah dan berkinerja tinggi ke dalam aplikasi yang mereka buat. Konon, tidak perlu menjadi seorang ahli dalam SQL untuk dapat menggunakan BerkeleyDB. Juga, tidak perlu penanganan khusus untuk melakukan perawatan database seperti backup, recovery, performance tunning, dan sebagainya. Hal ini karena perawatan database tersebut telah termasuk dalam bagian sistem standar BerkeleyDB secara keseluruhan. BerkeleyDB merupakan produk open source yang berarti kode-kode programnya bebas didownload, dikembangkan dan digunakan dalam kondisi tertentu. BerkeleyDB merupakan sistem yang terpadu. Biasanya kita memerlukan keahlian seorang Database Administrator (DBA) untuk mengelola dan merawat database yang kita miliki. Tetapi, pada BerkeleyDB, yang memang dirancang untuk kemudahan dan keefektifan, tugas seorang DBA sangat diringankan. BerkeleyDB menggunakan 48 bit pengalamatan. Berarti, secara teori, BerkeleyDB mampu mencapai ukuran database hingga 2 48 byte atau 256 Te rabyte. Adanya fasilitas Hot Backup, yaitu dapat melakukan proses backup pada database walaupun database tersebut sedang berjalan dan aktif digunakan secara multiuser. Masih banyak fitur lainnya dari BerkeleyDB yang dapat Anda peroleh dengan mengunjungi situsnya. 124

Rangkuman Dalam lampiran ini, kita mencoba mengenal format -format tabel yang bisa digunakan di dalam database MySQL. Secara umum, kita dapat membagi format tabel tersebut berdasarkan kemampuan transaksinya. Format tabel yang mendukung transaksi (transaction-safe tables (TST)) antara lain adalah InnoDB dan BerkeleyDB (BDB), dan yang tidak mendukung transaksi (not transaction-safe tables (NTST)) adalah ISAM, MyISAM (defaultnya MySQL), HEAP, dan MERGE. Masing-masing format tabel tersebut memiliki keunggulan dan kelemahan. Pertimbangan yang matang sangat diperlukan dalam menentukan format tabel mana yang akan Anda gunakan sesuai dengan kebutuhan Anda. Informasi lebih rinci tentang InnoDB dapat diperoleh di situsnya www.innodb.com. Sedangkan informasi lebih rinci tentang BerkeleyDB dapat diperoleh di situs www.sleepycat.com. 125