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.
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.
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.
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.
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.
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.
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.
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
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
siap min, maakish banyak sudah share
BalasHapussolder uap