Perbandingan antara MySQL dengan SQLite

Perbedaan antara My Sql dengan SQLite
1. SQLite
A.    Sejarah SQLite
D. Richard Hipp dirancang SQLite pada musim semi tahun 2000 saat bekerja untuk General Dynamics pada kontrak dengan Angkatan Laut Amerika Serikat . Hipp adalah merancang perangkat lunak yang digunakan di kapal rudal perusak dipandu kapal, yang awalnya didasarkan pada HP-UX dengan IBM Informix database back-end. Tujuan desain dari SQLite adalah untuk memungkinkan program untuk dioperasikan tanpa menginstal sistem database manajemen atau administrasi . Pada bulan Agustus 2000, versi 1.0 dirilis SQLite, berdasarkan gdbm (GNU Database Manager). SQLite 2,0 gdbm diganti dengan kustom B-pohon implementasi, menambahkan dukungan untuk transaksi. SQLite 3.0, sebagian didanai oleh America Online, menambahkan internasionalisasi , mengetik nyata , dan perbaikan besar lainnya. 
B.     Mengenal SQLite
SQLite merupakan sebuah library proses yang menerapkan serverless (mandiri tanpa server), zero configuration, database SQL transaksional. SQLIte saat ini banyak digunakan dalam aplikasi yang banyak kita jumpai, termasuk dalam beberapa high- profule project. SQLIte juga merupakan mesin database SQL embedded yang berbeda dengan kebanyakan database SQL lainnya. SQLIte tidak memiliki proses server yang terpisah. SQLITE membaca dan menulis secara langsung ke disk.
C.     Fitur-fitur SQLite
1.      Serverless , SQLite tidak memerlukan proses pada server atau sistem untuk menjalankannya, melainkan hanya sebuah file yang diakses oleh library SQLite 
2.      Zero Configuration, Tidak ada server berarti tidak perlu setup, membuat sebuah database instan adalah semudah anda membuat file biasa.
3.      Cross Platform, semua instan database berada dalam sebuah file yang cross-platform, tidak memerlukan administrasi 
4.      Self-Contained, sebuah library mengandung keseluruhan dari sistem database, yang langsung terintegrasi pada sebuah aplikasi program
5.      Small  Runtime Footprint, untuk membangun database SQLite hanya membutuhkan kurang dari satu megabyte library (kode program) dan hanya membutuhkan beberapa megabyte memory, bahkan dengan beberapa adjustment baik ukuran library maupun memory dapat diperkecil 
6.      Transactional, SQLite transaction memperbolehkan aksi penyimpanan melalui beberapa proses thread 
7.      Full Featured, SQLite mensupport hampir sebagai besar standar  SQL92 ( SQL2 ) 
8.      Highly Reliable, Tim pengembang SQLite mengembangkan melalui kode program yang sangat serius serta telah melewati proses testing 




E.     Keunggulan SQLite
1.      Performance : performanya lebih efisien dan cepat dibanding database lain seperti MySQL dan PostgreSQL
2.      Size : sedikit penggunaan memory, hanya membutuhkan single library untuk mengkases database (cocok untuk embedded db app)
3.      Portability : dapat berjalan di banyak platform yang berbeda, dan dapat dipindah dengan mudah tanpa setting administrasi yang rumit
4.      Stability : memenuhi standar ACID (Atomicity, Consistency, Isolation, dan, Durability)
5.      SQL Support : mendukung ANSI 92 SQL Standar
6.      Interfaces : mempunyai API untuk bahasa C++, PHP, Perl, Phyton, dan Tcl
7.      Cost : license public domain, free untuk redistributed
F.      Kekurangan SQLite
Meskipun merupakan database server yang cukup sederhana dengan beberapa fasilitas, bukan berarti SQLite tidak memiliki kekurangan. Beberapa fasilitas yang tidak didukung oleh SQLite sengaja ditiadakan untuk mempertahankan SQLite sebagai embeddable database server. Berikut beberapa fasilitas yang umum ada pada database server dan tidak dimiliki atau tidak didukung oleh SQLite.
·                  CHECK constraint
Fasilitas ini umumnya digunakan sebagai pemeriksa, namun ditiadakan karena masih dapat digantikan oleh NOT NULL serta UNIQUE.
·                  Variabel subquery
Meskipun memiliki arti yang penting, penggunaan subquery atau perintah query di dalam query ini tidak didukung.
·                  Foreign Key Constraint
Sama halnya dengan CHECK constraint, fasilitas ini sengaja dihilangkan oleh SQLite.
·                  Alter Table
Oleh karena tidak memiliki fasilitas ini, maka untuk mengubah struktur tabel harus dilakukan dengan menghapus tabel kemudian membuat ulang.
·                  Grant dan Revoke
Fasilitas ini cukup penting untuk keamanan, namun karena SQLite melakukan pembacaan serta penulisan pada file disk, maka hak izin akses bergantung pada sistem operasi yang digunakan.
·                  Right dan Full Outer Join
Meskipun penggunaan right serta full outer join tidak diperkenankan, akan tetapi SQLite masih menyediakan left outer join.
·                  Penulisan pada View
SQLite hanya memperbolehkan penggunaan view untuk dapat dibaca saja, dengan demikian anda tidak dapat melakukan modifikasi pada view. Sebagai gantinya, SQLite menyediakan trigger yang dapat digunakan untuk memodifikasi view.

Harus diakui memang, dengan kekurangan-kekurangan yang ada, SQLite kurang begitu cocok untuk dijadikan database server pada aplikasi client/server berbasis dekstop. Mengapa? Kebanyakan aplikasi dekstop yang digunakan untuk mengelola aplikasi bisnis memerlukan fitur-fitur yang kompleks. Meski demikian, untuk keperluan aplikasi web, bisa dikatakan SQLite 

1.      Mozilla Firefox, Mozilla Thunderbird (bookmarks, cookies, contacts dsb.) .
2.      Skype.
3.      Adobe Photoshop Lightroom, Adobe AIR, Adobe Reader.
4.      Ruby on Rails'.
5.      Opera.
6.      Service Management Facility pada Solaris dan OpenSolaris.
7.      HTML5 menerapkan SQLite sebagai WebSimpleDB API.
8.      Apple's iOS (SMS/MMS, Calendar, Call history, Contacts storage).
9.      Symbian.
10.  Nokia's Maemo.
11.  Google's Android.
12.  Google's Chrome browser.
13.  RIM's BlackBerry.
14.  Linux Foundation's MeeGo.
15.  Palm's webOS.
Cara menggunakan QSL Lite



2.      My SQL
A.    Sejarah MySQL
MySQL adalah sebuah perangkat lunak system manajemen basis data SQL (DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari system manajemen basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan telah dipercaya mengelola system dengan 40 buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris.
MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan yang memiliki MySQL. Pendiri MySQL AB adalah dua orang Swedia yang bernama David Axmark, Allan Larsson dan satu orang Finlandia bernama Michael “Monty”. Setiap pengguna MySQL dapat menggunakannya secara bebas yang didistribusikan gratis dibawah lisensi GPL(General Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial.
Pada saat ini MySQL merupakan database server yang sangat terkenal di dunia, semua itu tak lain karena bahasa dasar yang digunakan untuk mengakses database yaitu SQL. SQL (Structured Query Language) pertama kali diterapkan pada sebuah proyek riset pada laboratorium riset San Jose, IBM yang bernama system R. Kemudian SQL juga dikembangan oleh Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses pengaksesan database lebih user-friendly dibandingan dengan yang lain, misalnya dBase atau Clipper karena mereka masih menggunakan perintah-perintah pemrograman murni.
B.     Mengenal MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (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.
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkink

C.       Fitur-fitur MySQL
1.      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, da n dapat juga di komputer lain yang berkomunikasi dengan server melalui jaringan bahkan internet.
2.      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.
3.      Mendukung Sub Select. Mulai versi 4.1 MySQL telah mendukung select dalam select (sub select).
4.      Mendukung Views. MySQL mendukung views sejak versi 5.0
5.      Mendukung Stored Prosedured (SP). MySQL mendukung SP sejak versi 5.0
6.      Mendukung Triggers. MySQL mendukung trigger pada versi 5.0 namun masih terbatas. Pengembang MySQL berjanji akan meningkatkan kemampuan trigger pada versi 5.1.
7.      Mendukung replication .
8.      Mendukung transaksi.
9.      Mendukung foreign key.
10.  Tersedia fungsi GIS.
11.  Free (bebas didownload)
12.  Stabil dan tangguh
13.  Fleksibel dengan be rbagai pemrograman
14.  Security yang baik
15.  Dukungan dari banyak komunitas
16.  Perkembangan software yang cukup cepat.

D.    Arsitektur DBMS Mysql

E.     Keunggulan MySQL
1.      Program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki mulit-CPU
2.      Didukung bahasa pemrograman umum seperti C, C++, Java, Perl, PHP, Python, TCL, APls dls.
3.      Bekerja pada berbagai platform
4.      Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
5.      Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi system database
6.      Memiliki system sekuriti yang cukup baik dengan verifikasi host
7.      Mendukung ODBC untuk OS Microsoft Windows
8.      Mendukung record yang memiliki kolom dengan panjang tetap
9.      Software yang free
10.  Saling terintegrasi dengan PHP
F.      Kekurangan MySQL
1.      Tidak cocok untuk menangani data dengan jumlah yang besar, baik untuk menyimpan data maupun untuk memproses data.
2.      Memiliki keterbatasan kemampuan kinerja pada server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.

G.    Cara menggunakan My SQL
SQL dapat digunakan secara berdiri sendiri maupun di lekatkan pada bahasa pemograman seperti C, dan Delphi.
A.    Elemen SQL
o   Elemen dari SQL yang paling dasar antara lain pernyataan, nama, tipe data, ekspresi, konstanta dan fungsi bawaan.
o   Pernyataan
o   Perintah dari SQL yang digunakan untuk meminta sebuah tindakan kepada DBMS.
Pernyataan dasar SQL antara lain :
ALTER      : Merubah struktur tabel
COMMIT  : Mengakhiri eksekusi transaksi
CREATE   : Membuat tabel, indeks
DELETE   : Menghapus baris pada sebuah tabel
DROP        : Menghapus tabel, indeks
GRANT     : Menugaskan hak terhadap basis data kepada user
INSERT    : Menambah baris pada tabel
REVOKE  : Membatalkan hak kepada basis data
ROLLBACK  : Mengembalikan pada keadaan semula apabila transaksi gagal dilaksanakan
SELECT    : Memilih baris dan kolom pada sebuah tabel
UPDATE   : Mengubah value pada baris sebuah tabel
1.      Nama
Nama digunakan sebagai identitas, yaitu identitas bagi objek pada DBMS. Misal : tabel, kolom dan pengguna.
2.      Tipe data
Tipe data yang ada dalam MYSQL :
1.      Tipe data numerik antara lain :
TINYINT         : Nilai integer yang sangat kecil
SMALLINT     : Nilai integer yang kecil
MEDIUMINT  : Nilai integer yang sedang
INT                   : Nilai integer dengan nilai standar
BEGINT           : Nilai integer dengan nilai besar
FLOAT             :Bilangan decimal dengan single-precission
DOUBLE         :Bilangan decimal dengan double-precission
DECIMAL(M,D)   : Bilangan float yang dinyatakan sebagai string. M : jumlah digit yang disimpan, D : jumlah angka dibelakang koma
2.      Tipe data String antara lain :
CHAR               : Karakter yang memiliki panjang tetap yaitu sebanyak n
VARCHAR      : Karakter yang memiliki panjang tidak tetap yaitu maksimum n
TINYBLOB     : BLOB dengan ukuran sangat kecil
BLOB               : BLOB yang memiliki ukuran kecil
MEDIUMBLOB    : BLOB yang memiliki ukuran sedang
LONGBLOB    : BLOB yang memiliki ukuran besar
TINYTEXT      : teks dengan ukuran sangat kecil
TEXT                : teks yang memiliki ukuran kecil
MEDIUMTEXT     : teks yang memiliki ukuran sedang
LONGTEXT     : teks yang memiliki ukuran besar
ENUM              : kolom diisi dengan satu member enumerasi
SET                   : Kolom dapat diisi dengan beberapa nilai anggota himpunan
3.      Tipe data tunggal dan jam :
DATE        : date memiliki format tahun-bulan-tanggal
TIME         : time memiliki format jam-menit-detik
DATETIME           : gabungan dari format date dan time
3.      Ekspresi
Ekspresi digunakan untuk menghasilkan/menghitung nilai.
Misalnya : jumlah=harga-diskon
Ekspresi aritmatika antara lain :
+  : tambah
–  : kurang
/  : bagi
*  : kali
4.      Konstanta
Nilai yang tetap
Fungsi bawaan
Fungsi adalah subprogram yang dapat menghasilkan suatu nilai apabila fungsi tersebut dipanggil. Fungsi Agregat adalah fungsi yang digunakan untuk melakukan summary, statistik yang dilakukan pada suatu tabel/query.
AVG(ekspresi)  : digunakan untuk mencari nilai rata-rata dalam kolom dari tabel.
COUNT(x)       : digunakan untuk menghitung jumlah baris dari sebuah kolom dari tabel
MAX(ekspresi) : digunakan untuk mencari nilai yang paling besar dari suatu kolom dari tabel
MIN(ekspresi)   : digunakan untuk mencari nilai yang paling kecil dari suatu kolom dari tabel
SUM(ekspresi)  : digunakan untuk mengitung jumlah keseluruhan dari suatu kolom dari tabel
B.     Kelompok Penyataan SQL
Pernyataan SQL dapat dikelompokan menjadi 3 kelompok, yaitu : DDL, DML dan DCL.
1)      Pernyataan SQL kelompok DDL (Data Defination Language)
DDL berfungsi untuk mendefinisikan atribut basis data, table, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Perintah yang digunakan biasanya : CREATE, ALTER, dan DROP
Membuat Database
Syntax yang digunakan : CREATE DATABASE namadatabase;
Menghapus Database
Syntax yang digunakan : DROP DATABASE namadatabase;
Membuat Tabel
Syntax yang digunakan : CREATE TABLE namatabel;
Menghapus Database
Syntax yang digunakan : DROP DATABASE namadatabase;
Menghapus Tabel
Syntax yang digunakan : DROP TABEL namatabel;
Mendefinisikan null/not null
Syntax yang digunakan : CREATE TABLE namatabel
( Field1 TipeData1 NOT NULL,
Field2 TipeData2
);
Mendefinisikan Nilai Default
Syntax yang digunakan : CREATE TABLE namatabel
( Field1 TipeData1,
Field2 TipeData2 DEFAULT nilai
);
Mendefinisikan Primary Key pada Tabel
Dapat dilakukan dengan 3 Syntax :
o   CREATE TABLE namatabel
( Field1 TipeData1 NOT NULL PRIMARY KEY,
Field2 TipeData2
);
o   CREATE TABLE namatabel
( Field1 TipeData1,
Field2 TipeData2,
PRIMARY KEY(Field1)
);
o   ALTER TABEL namatabel ADD CONSTRAINT nama constraint PRIMARY KEY (NAMAKOLOM)
Menghapus Primary Key pada Tabel
Syntax yang digunakan ada 2 :
1)      ALTER TABLE namatabel DROP CONSTRAINT NAMACONSTRAINT;
2)      ALTER TABLE NAMATABEL DROP PRIMARY KEY;
Menambah Kolom Baru pada Tabel
Syntax yang digunakan : ALTER TABEL NAMATABEL ADD newfield tipe;
Mengubah Tipe Data atau Lebar Kolom pada Tabel
Syntax yang digunakan : ALTER TABEL namatabel MODIFY COLUMN field tipe;
Mengubah Nama Kolom
Syntax yang digunakan : ALTER TABEL namatabel CHANGE COLUMN namakolomlama namakolombaru tipe;
Menghapus Kolom pada Tabel
Syntax yang digunakan : ALTER TABEL nama tabel DROP COLUMN nama kolom;
Mendefinisikan Foreign Key pada Tabel
Dapat dilakukan dengan 2 Syntax :
o   CREATE TABLE namatabel
( Field1 TipeData1,
Field2 TipeData2,
FOREIGN KEY (Field2) REFERENCES namatabelinduk
(namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION)
o   ALTER TABEL namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (namakolom) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO ACTION;
Menghapus Foreign Key
Syntak yang digunakan : ALTER TABEL namatabel DROP FOREIGN KEY namaconstraint;
2)      DML (Data Manipulation Language)
DML berfungsi untuk memanipuladi data yang ada di dalam basis data, contohnya untuk pengambilan data, penyisipan data, pengubahan data dan penghapusan data.Perintah yang digunakan biasanya adalah : INSERT, DELETE, UPDATE, dan SELECT.
INSERT
menambah baris pada tabel. Syntax yang paling sering digunakan : INSERT INTO namatabel VALUES (nilai1, nilai2, nilai-n);
DELETE
Menghapus baris pada tabel. Syntax : DELETE FROM namatabel [where kondisi];
UPDATE
Mengubah isi beberapa kolom pada tabel. Syntax : UPDATE namatabel SET kolom1=nilai1, kolom2=nilai2 [where kondisi];
SELECT
Menampilkan isi dari suatu tabel yang bisa dihubungkan dengan tabel yang lainnya;


Dari tulisan di atas maka dapat kita simpulkan bahwa SQLite biasanya digunakan untuk database yang kecil sedangkan untuk database yang besar maka kebanyakan orang menggunakan MySQL. Selain itu SQLite jarang digunakan karena banyaknya kekurangannya yang mana kita telah bahas di atas.

Daftar Pustaka
http://lpbdsi.blogspot.com/2013/database-sqlite.com
http://ilmubiner.blogspot/2011/10/sqlite-lite-ukurannya-lite-perintahnya.html
http://id.wikipedia.org/wiki/MySQL

Komentar

Posting Komentar

Postingan populer dari blog ini

Kumpulan Soal Data Flow Diagram (DFD)

Sinopsis Canola ( 2016 )

Soal UAS PTSI (Pengantar Teknologi Sistem Informasi ) Gunadarma