0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan9 halaman

Keunggulan dan Sejarah SQLite

Dokumen ini membahas tentang SQLite, sebuah pustaka kecil sekitar 500kb yang diprogram dalam C yang berfungsi sebagai sistem manajemen basis data relasional. SQLite bersifat mandiri dan pustaka-pustakanya diintegrasikan langsung ke dalam aplikasi untuk mengurangi latensi dalam akses data. Beberapa keuntungan dari SQLite adalah ukurannya yang kecil, portabilitas, kinerja, dan tidak memerlukan konfigurasi.

Diterjemahkan oleh

ScribdTranslations
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
4 tayangan9 halaman

Keunggulan dan Sejarah SQLite

Dokumen ini membahas tentang SQLite, sebuah pustaka kecil sekitar 500kb yang diprogram dalam C yang berfungsi sebagai sistem manajemen basis data relasional. SQLite bersifat mandiri dan pustaka-pustakanya diintegrasikan langsung ke dalam aplikasi untuk mengurangi latensi dalam akses data. Beberapa keuntungan dari SQLite adalah ukurannya yang kecil, portabilitas, kinerja, dan tidak memerlukan konfigurasi.

Diterjemahkan oleh

ScribdTranslations
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

pemrograman

SQLite

Sqlite: Cepat, lincah,


ringan dan kokoh
Gerardo Antonio Cabero, Daniel Maldonado

Setiap kali para pengembang menghadapi tantangan baru, sangat penting


tahu memilih alat terbaik untuk pengolahan data.
Sejak komputer mulai bekerja dengan data, kekhawatiran terbesar
pertanyaannya adalah bagaimana memanipulasi data tersebut. Hingga beberapa dekade yang lalu
itu adalah sebuah siksaan nyata bagi pengembang, karena pemeliharaannya
melakukan melalui pengelola berkas bahasa yang digunakan untuk melakukan
implementasi. Itu memicu munculnya alternatif pertama untuk
memisahkan program pemeliharaan dan manipulasi data. Begitulah
munculnya mesin-mesin pertama yang menjalankan fungsi itu; hari ini kita bisa menemukan
titan-titan besar, seperti Oracle, Informix, PostgreSQL, MySQL, dan Firebird.

A
meskipun demikian banyak pengembang telah memilih Dalam versi 3, SQLite memungkinkan basis data hingga 2
karena sebuah opsi yang muncul dari kebutuhan terabyte ukuran dan penyertaan bidang tipe blob (ex-
mencari kelincahan, kesederhanaan dan yang terpenting, diambil dari Wikipedia).
konfigurasi nol. Nama Anda adalah SQLite dan
telah hadir untuk tinggal... Sejarah Singkat SQLite
Ketika D. Richard Hipp bekerja mengembangkan perangkat lunak-
Apa itu SQLite? perahu untuk angkatan laut Amerika Serikat, mulai-
SQLite adalah proyek domain publik yang dibuat oleh D. Rizó untuk mengembangkan SQLite, menurutnya memiliki keunggulannya sendiri.
chard Hipp yang mengimplementasikan perpustakaan kecil untuk aproxi- kata: SQLite lahir dari kebutuhan pribadi.
Sekitar 500Kb diprogram dalam bahasa C, yang berfungsi untuk penggunaan saya sendiri.
sebagai sistem manajemen basis data relasional. Pada bulan Januari 2000 saya sedang bekerja dengan sebuah tim-
Berbeda dengan mesin basis data konvensional dari General Dynamics di Angkatan Laut
nales dengan arsitektur klien-server, SQLite adalah independen- Amerika Serikat, dalam proyek perangkat lunak, yang ...
gigi, karena tidak terhubung dengan mesin basis data, terhubung ke basis data Informix, mesin fun-
sino que perpustakaan SQLite mulai mengintegrasikan aplikasi. berfungsi dengan baik, tetapi kami mengalami masalah untuk
Ini menggunakan fungsionalitas SQLite melalui melakukan rekonfigurasi ketika sistem di-reboot
panggilan sederhana ke subrutin dan fungsi. Ini mengurangi ba. Kemudian kami beralih ke PostgreSQL, tetapi mengelola
latensi dalam akses ke basis data, karena basis data merupakan masalah. Meskipun masih ada
madas a funciones lebih efisien daripada komunikasi berjuang untuk menghadapi masalah ini, muncul
antara proses. Kumpulan basis data (definisi, ide untuk menulis mesin basis data SQL sederhana
tabel, indeks, dan data itu sendiri), disimpan sebagai sebuah yang memungkinkan membaca file dari hard disk, dan kemudian
file standar tunggal, di mesin lokal. disebut dalam berbagai permintaan. Lima bulan lagi

2 Linux+ 9/2007
pemrograman
SQLite

sore, saya tanpa kontrak selama beberapaAlasan untuk memilih SQLite mengakses basis data, yang membuatnya
Beberapa bulan dan karena itulah saya mulai menulis Di bawah ini disajikan beberapa keuntungan dari ideal untuk aplikasi basis data
SQLite, dengan pemikiran bahwa SQLite akan berguna yang dapat membantu: terintegrasi
dalam masalah serupa, nanti. • Kinerja basis data: SQLite
(Ekstrak dari Prabuka SQLite yang ditulis oleh •Ukuran: SQLite memiliki memori kecil melakukan operasi dengan efisien dan
Richard Hipp). ria dan satu-satunya perpustakaan diperlukan untuk lebih cepat daripada MySQL dan PostgreSQL
• Portabilitas: SQLite berjalan di banyak
Listado [Link] basis data baru platform dan basis datanya dapat
ser fácilmente portadas sin ninguna confi-
$sqlite3 [Link] pengaturan atau administrasi
Versi SQLite 3.3.10 • Stabilitas: SQLite mendukung
Masukkan ".help" untuk petunjuk ACID, pertemuan dari empat kriteria
sqlite>BUAT TABEL personal( Atomisitas, Konsistensi, Isolasi dan
...>id smallint kunci utama, Daya tahan
...>nama varchar(25), • SQL: SQLite mengimplementasikan sub- besar
...>nama belakang varchar(25), kumpulan standar SQL ANSI - 92
...>alamat varchar(25) termasuk sub-kueri, pembangkitan dari
...> ); pengguna, tampilan dan pemicu
sqlite> • Antarmuka: SQLite memiliki berbagai
antarmuka API, yang memungkinkan
Struktur SQL bekerja dengan C++, PHP, Perl, Python, Tcl,
BUAT TABEL nama(kolom1 tipe,kolom2 tipe,kolom3 tipe,..,kolomN groovy, dll.
tipe); • Biaya: SQLite adalah domain publik, dan
oleh karena itu, bebas digunakan untuk keperluan apapun
[Link] tujuan tanpa biaya dan dapat didistribusikan kembali
bebas.
sqlite>.bantuan
.databases Daftar nama dan file dari basis data yang terpasang Karakteristik SQLite
.dump?TABLE? ...Dump basis data dalam format teks SQL SQLite memiliki beberapa fitur yang
.echo ON|OFF Menghidupkan atau mematikan echo perintah membuatnya unik, beberapa di antaranya dijelaskan pada
.keluar Keluar dari program ini lanjutan.
.jelaskan ON|OFF Aktifkan mode keluaran yang cocok untuk EXPLAIN atau matikan.
ON|OFF Menghidupkan tampilan header atau mematikannya Cero Konfigurasi
.bantuan Tampilkanpesanini Dari cara itu dipikirkan dan dirancang
.impor FILE TABEL Impor data dari FILE ke TABEL SQLite, TIDAK perlu diinstal. Tidak perlu dinyalakan,
.indices TABEL Tampilkan nama semua indeks di TABEL mengulang atau mematikan server, dan bahkan dengan
.mode MODE?TABLE?Atur mode keluaran di mana MODE adalah salah satu dari: gurarlo. Kualitas ini memungkinkan tidak ada
csv Nilai yang dipisahkan koma administrator basis data untuk membuat
kolom Kolom yang diratakan ke kiri. (Lihat. lebar) tabel, tampilan, menetapkan izin. Atau adopsi
kode HTML<table> pengambilan tindakan pemulihan server
masukkan pernyataan insert SQL untuk TABEL untuk setiap jatuhnya sistem.
satu nilai per baris
daftar Nilai dipisahkan oleh string pemisah Portabilitas
tab Nilai yang dipisahkan tab SQLite dapat dijalankan di berbagai
elemen daftar TCL sistem operasi, seperti Windows, Li-
STRING Cetak STRING sebagai pengganti nilai NULL nux, BSD, Mac OS X, Solaris, HPUX, AIX o
.output NAMA_FILE Kirim output ke NAMA_FILE tertanam dalam banyak lainnya seperti QNX,
Kirim output ke layar VxWorks, Symbian, Palm OS, Windows CE.
Ganti prompt standar Dapat diperhatikan bahwa banyak dari mereka bekerja di
.quit Keluar dari program ini 16, 32 dan 64 Bit. Portabilitas tidak diberikan
.baca NAMA_BERKAS Eksekusi SQL dalam NAMA_BERKAS bukan oleh perangkat lunak, tetapi oleh basis data
.skema?TABEL?Tampilkan pernyataan CREATE terkonsolidasi dalam satu file, yang dapat berada
Pengganti STRING Ubah pemisah yang digunakan oleh mode keluaran dan impor terletak di direktori manapun, membawa sebagai
.show Tampilkan nilai saat ini untuk berbagai pengaturan keuntungan bahwa basis data bisa jadi mudah
.tables?Pola?Daftar nama tabel yang cocok dengan pola LIKE minda disalin ke perangkat USB atau menjadi
.timeout MS Cobalah membuka tabel yang terkunci selama MS milidetik dikirim melalui email.
LEBAR NUM NUM...Atur lebar kolom untuk mode "kolom" Sebaliknya, mesin basis data
biasanya cenderung menyimpan koleksi
de arsip, yang hanya dapat diakses oleh mesin basis data

[Link] 3
pemrograman
SQLite

Anda dapat memiliki akses. Ini membuat disk yang diperlukan untuk menyimpan informasi digunakan. Tapi mesin ini terus bekerja.
data menjadi lebih aman dan lebih sulit diakses oleh hukum hak cipta. SQLite adalah
Beberapa menyediakan opsi untuk menulis ingin menyimpan satu karakter dalam cam- berbeda karena dalam hak cipta hukum
langsung di disk dan melewati sistem yang didefinisikan sebagai VARCHAR(100), maka tidak diterapkan, semua orang dapat berkontribusi
de ficheros semua bersama. Ini memberikan ruang disk yang lebih besar, satu byte ruang disk terpakai. Menghapus, memodifikasi, mempelajari, dan membagikan secara bebas.
kinerja, tetapi dengan biaya yang cukup signifikan. Sungguh suatu fitur khusus untuk aho- SQLite.
kompleksitas instalasi dan pemeliharaan. mengosongkan ruang di memori.
Penggunaan catatan dengan panjang variabelPembatasan
Registrasi panjang variabel por SQLite, memiliki serangkaian keunggulan, antara lain Saya pernah mendengar bahwa tidak ada perangkat lunak -
Umumnya, mesin menetapkan sejumlah hasil dari sebuah file kecil yang tidak akan memiliki batasan.
Penyisihan ruang disk untuk setiap baris dalam basis data dan optimasi kecepatan SQLite tidak terlepas dari ini, beberapa dari yang
sebagian besar bidang tertentu sama, karena ada lebih sedikit informasi, keterbatasan berikut adalah:
tabel. Misalnya, mari kita ambil sebuah bidang yang terbuang untuk dibaca dan dilalui.
tipoVARCHAR(100), ini berarti bahwa •
Pembatasan di Where: pembatasan ini
motor akan mengalokasikan 100 byte ruang tetap diPedagogis diberikan oleh dukungan untuk penutupan
disko, terlepas dari jumlah Beberapa kali ketika berada di bidang edu- anidadas.
informasi yang disimpan di lapangan itu. cativo, biasanya diajarkan SQL untuk mengelola • Kekurangan Kunci Asing: diabaikan
Sebaliknya, SQLite akan melakukan hal yang sebaliknya, yaitu basis data. Sering kali memindahkan jadi tentang kunci asing; ini berarti,
Menggunakan jumlah ruang di suatu basis rumah bukanlah tugas yang mudah, itulah sebabnya SQLite ketika pembuatan tabel dilakukan
sedang diadopsi secara pedagogis. dari mode konsol, sedang memungkinkan
[Link] Misalnya, mahasiswa dapat mengirim melalui penggunaan penutupan, meskipun tidak melaksanakan
kirim basis data ke para pengajar untuk pemeriksaan yang sama.
sqlite>.mode daftar presentasi dan para pengajar akan melakukan pengamatan- • Kekurangan dokumen dalam bahasa Spanyol: pada
sqlite>SELECT*FROM personal; libur yang diperlukan. Untuk para pelajar yang lebih momen untuk menulis artikel ini sangat
1 yang maju yang tertarik dalam studi escasa la documentación disponible en
2|Ramon|Gomez|ZZZXXXYYY bagaimana RDBMS bekerja, kode SQLite pue- spanyol tentang SQLite.
sqlite> untuk berfungsi sebagai dasar yang baik. Ini tidak ingin
mengatakanbahwaituadalahmodelyangtepatdaricarayangPengantar penggunaan SQLite
[Link] mesin basis data diterapkan, bukan SQLite, seperti banyak mesin lainnya
sebuah cara di mana seorang siswa yang memahami basis data, memiliki manajemennya
.separator", " bagaimana SQLite bekerja dapat dipahami melalui penggunaan konsol atau terminal,
sqlite>SELECT*FROM personal; prinsip operasional dari sistem lain. orang-orang yang dapat mengelola an-
Juan Perez ujicoba mesin lain, seperti dalam kasus ini
2 Arsitektur SQLite de MySQL, mereka tahu bahwa itu bukan satu-satunya admi-

Setiap mesin basis data mengompilasi setiap pengelola yang dikenal tetapi sebenarnya tidak ada.
pernyataan SQL dalam jenis struktur yang luas untuk pemilihan, misalnya
[Link] data internal yang kemudian akan digunakan untuk membawa phpMyAdmin. Dengan SQLite terjadi hal yang sama:
Selesai melaksanakan perjudian. Di SQLite, dimungkinkan untuk mengelolanya dari berbagai sistem,
.mode garis mengompilasi bentuk pernyataan adalah seperti halnya phpSQLiteAdmin, Visual
sqlite>SELECT*FROM personal; program singkat dalam bahasa mesin co- SQLite, realSqlserver.
1 tanpa perwakilan. Kami sebagai pengguna dapat melihat
Juan mesin virtual sebelumnya menempatkan EXPLAIN
Perez sebagai kata kunci untuk sebuah kueri. Penggunaan
YYYXXXZZZ de la VM dalam SQLite telah menjadi besar
manfaat untuk pengembangan perpustakaan, sudah
id=2 yang menyediakan persimpangan antara antarmuka dari
Ramon pengguna yang menganalisis pernyataan SQL dan par-
Gomez di mana mesin virtual menjalankan kode
ZZZXXXYYY untuk menghitung hasil, juga gunakan
sqlite> kemampuan pelacakan eksekusi VM
di setiap pernyataan dan mencetaknya.
[Link]
Lisensi Domain Publik
sqlite>.mode kolom SQLite berada di bawah lisensi ini, oleh karena itu
sqlite>SELECT*FROM personal; tidak ada klaim terhadap hak-hak tersebut
1Juan Perez YYYXXXZZZ de autor di mana saja di inti dari ko-
2Ramon Gomez ZZZXXXYYY digo sumber. Ada mesin basis data lainnya
data berbasis SQL yang dibebaskan dari lisensi
yang memungkinkan kode menjadi luas dan bebas Gambar [Link] SQLite

4 Linux+ 9/2007
pemrograman
SQLite

Cara menginstal SQLite capsula dalam satu file yang akan kita buat
Instalasinya dapat dilakukan melalui (Daftar 1). Seperti yang mungkin telah kalian amati diStruktur dalam SQL:
repositori atau melalui sumbernya, sebagai contoh, setelah berkas [Link] PILIH Campo1, Campo2,..,
Kita akan mengamati selanjutnya. (mulai sekarang basis data kami) dan Campo4 DARI Tabla ;
dengan bantuan bahasa SQL, kami telah membuat
Melalui repositori sebuah tabel bernama personal dengan empat kolom. Kueri yang dilakukan sebelumnya mencantumkan semua
Seperti biasanya, jika kita memiliki (id, nama, apellido, alamat). Kita bisa menghapus kolom dan semua catatan dari tabel
distribusi favorit dan kami memiliki akses untuk mengetahui bahwa cara penulisan lebih nyaman, pribadi, tetapi mungkin hanya dapat mencantumkan
Kami memiliki DVD repositori di internet karena kami dapat menulis dengan rapi kolom yang kami inginkan agar muncul di dalamnya.
dan kami memiliki izin super pengguna untuk penyusunan tabel, dengan pemisah di sulta. Untuk itu kami memisahkannya dengan menggunakan “,”
root, kita ketik yang berikut: putusan," dan akhir dari yang sama melalui dan juga kita dapat menambahkannya dengan klausulDIMANA
limitador";".Sekarang kita akan melakukan penyisipan untuk dapat memfilter catatan yang memenuhi syarat.
aptitude install sqlite3 beberapa data untuk contoh yang telah kita buat dengan ketentuan tertentu, misalnya:
dengan cara berikut:
Jika kita memiliki kode sumber yang diunduh sqlite> PILIH id, nama,
gados dari situs resmi SQLitehttp:sqlite> MASUKKAN KE dalam pribadi nama belakang DARI personal
//[Link]/[Link], sederhana VALUES(1, 'Juan', 'Perez', DIMANA id <= 2;
kita harus melakukan langkah-langkah berikut: 'YYYXXXZZZ'); Juan
sqlite> MASUKKAN KE dalam pribadi Ramon Gomez
• Kami mengekstrak sumber dari SQLi- VALUES(2, 'Ramon', 'Gomez', sqlite>
te di dalam suatu folder dengantar xzf ZZZXXXYYY
[Link] Setelah melihat operasi dasar ini seperti
• Kami menjalankanskrip ./konfigurasi Struktur dalam SQL: son adalah penciptaan basis data, penciptaan
• Kami melaksanakanbuat pasanguntuk melakukan dari sebuah tabel, agregasi data ke tabel dan
instalasi di sistem MASUKKAN KE DALAM TABEL realización de consultas, es posible que quera-
NILAI(val1,val2,val3,.., valn); jangan keluar dari editor atau pengelola SQLite
Jika kita ingin menginstal SQLite di sistem ope- untuk itu kita mengetik hal berikut:
rativo Windows, instalasinya akan dilakukan dari Masukkan kembali data yang diperhatikan.
bentuk berikut: kita mengunduh file eksekusi tos dengan pernyataanSISIPKANdari SQL, [Link]
SQLite, kita menggunakan konsol baris perintah untuk merujuk ke tabel dan kemudian nilai-nilainya.
dos Windowsperintah, kami memposisikan diri di tempat untuk pendaftaran baru. Sekarang, mari kita pelajari beberapa perintah
folder dan menjalankan [Link], Pasti di suatu saat kita akan ada acara khusus untuk bergerak di atas SQLite di
yang akan menembakkan konsol desqlite3. memiliki kebutuhan untuk melakukan konsultasi dalam mode teks, karena dengan cara ini kita akan
tentang tabel yang dibuat. Untuk tujuan ini, kita bisa bergerak dengan lebih mudah dan aman
Langkah-langkah awal dengan SQLite lakukan dengan cara berikut: dan kecepatan. Sebagian besar waktu SQLite membaca
Setelah kita menginstal SQLite di kami mengubah garis input menjadi garis
sistem, kami akan memposisikan diri di suatu direktorisqlite> PILIH * perpustakaan SQLite untuk kemudian menjalankannya. Jika
kosong dan kami akan melakukan penciptaan yang baru DARI pribadi; sebuah baris masukan dimulai dengan titik
basis data. Ingatlah bahwa dia, berbedaJuan Perez ("."), diterjemahkan segera oleh
dari mesin basis data lainnya, diRamon Gomez interpreter SQLite. Titik-titik ini digunakan
biasanya untuk mengubah format dari
keluaran dari konsultasi, yang akan kita lihat lebih lanjut

lanjut. Untuk mendapatkan daftar perintah-


dua tersedia, kita bisa mengetik di mana saja
momenPerintah tidak dikenali. Silakan masukkan perintah yang [Link] akan memberikan daftar
Apa yang bisa kita lihat di daftar 2. Mari kita lakukan
sebuah pengantar untuk dapat memanipulasi
salidas atau mengkonfigurasinya. Perlu dicatat bahwa
SQLite3 mampu menampilkan hasil
dari sebuah konsultasi dalam delapan format yang berbeda
di antaranya kami memiliki: csv, kolom, html,
masukkan, garis, tab, ytcl. Anda dapat [Link]
Gambar [Link] Basis Data di konsol cara, untuk mencapai keluaran yang berbeda ini. The
modus default adalah di mana SQLite
menunjukkan data setelah sebuah konsultasi
lizada sebelumnya. Konsultasi standar ini adalah
dipisahkan oleh simbol ini:"|". Untuk mengakses ke
basis data yang dibuat sebelumnya, tipea-
Figura3. Penyisipan dalam tabel dari konsol mos lo siguiente:$ sqlite3 [Link]

[Link] 5
pemrograman
SQLite

Setelah berada di dalamnya, kita dapat menentukan nama tabel di mana kasus pengecualian ini akan dimasukkan ke dalam strukturnya.
apa yang disajikan dalam daftar 3. Sekarang jikaAnda menggunakan INSERT. Kita melihatnya lebih jelas dalam contoh Meskipun dianggap sebagai sebuah pustaka, SQLite
.pemisahakan mengubah cara pemisahan yang ditampilkan di Daftar 8. telah membuka SUASANA DAN PENDEKATAN BARU
dari konsultasi, misalnya kita akan melakukannya Untuk menyelesaikannya, kita memiliki modehtml. Dalam pengolahan basis data, itu berubah dari menjadi sebuah
ganti dengan koma dan spasi", "(Daftar cara ini SQLite3 menulis hasil dari perpustakaan sederhana ke skema yang jauh lebih luas.
4). Dalam modegariso garis, setiap kolom dari sebuah kueri dalam tabel XHTML, menggunakan fa- Dari SQLite Latinoamérica, kami telah menghubungi
Registrasi basis data ditampilkan dalam tag HTML yang jelas dan dikenal (Daftar 9). Skema yang sama seperti PseudoMotor, sesuatu yang
nea untuk dirinya sendiri. Setiap baris terdiri dari yang Secara default SQLite3 mengirimkan hasil dari sebuah tampak seperti mesin tetapi sebenarnya tidak.
nama kolom, tanda sama dengan "=" dan da- kueri tertentu ke keluaran standar yang harus karena mengandung di dalam dirinya sendiri banyak
untuk yang bersangkutan. Sekarang memisahkan catatan tentunya terminal atau Konsol yangAnda gunakan memiliki fitur dari mesin basis data besar
dilakukan dengan satu baris kosong (Daftar 5). untuk melakukan pengujian ini. Dimungkinkan untuk mengubah data, seperti: pembuatan pengguna, tampilan,
Dalam modekolomo kolom, setiap regis- keluaran ini menggunakan [Link]. Sim-triger, dll. Satu kualitas menarik yang telah kami
tro ditampilkan dengan garis terpisah dengan plemente harus meletakkan file keluaran co- diekspos dari komunitas adalah kemampuan untuk
data yang selaras dalam kolom, mari kita lihat argumen [Link] semua hasil dapat mendefinisikan integritas referensial melalui
contoh yang disajikan dalam daftar 6. Kita melihat bahwa dari kueri itu akan ditulis dalam file pemicu tersebut, menjadikannya hampir mirip dengan mesin
secara default setiap kolom memiliki lebar 10 output. Jika kita ingin agar kembali ke output dasar data, tetapi tetap menjaga kesederhanaan dan
karakter, di mana data yang mungkin adalah- berikan:.keluarkan stdoutLihat Daftar 10. kesederhanaan sebuah perpustakaan.
Terlalu besar bisa dipotong atau dipangkas. Program SQLite3 datang dengan beberapa co-
Untungnya kita dapat menyesuaikan pengendali yang berguna untuk menganalisis skemaSQLite dan bahasa pro-
lebar kolom [Link] di database. Tidak ada yang mereka lakukanpemrograman
contoh berikut: perintah ini yang tidak dapat dilakukan oleh yang lain Di paragraf berikutnya kami akan menunjukkan melalui
media. Perintah-perintah ini hanya memberikan beberapa contoh tentang cara mengimplementasikan SQLite
.lebar 12 6 sebuah jalan pintas. Misalnya, untuk melihat tabel untuk beberapa bahasa yang ada dan beberapa
basis data [Link]: nas kualitas yang sama.
di mana nilai-nilai yang ditempatkan di sana adalah
sepenuhnya sesuai dengan kolom [Link] Sqlite dan Java
konsultasi yang akan dilakukan. Angka 12 berartipribadi Java mengimplementasikan koneksi ke sumber
bahwa ruang akan terdiri dari 12 karakter, 6 adalah untuksqlite> data melalui pustaka JDBC. Dari
kolom nama belakang dan begitu kita bisa melanjutkan beberapa waktu yang lalu tersedia
dengan yang lain. Label atau nama setiap Di SQLite kita dapat melakukan salinan keamanan- SQLiteJDBC, di Zentus ([Link]/
kolom yang muncul sebagai referensi dari tabel-tabel di basis data kami, untuk sqlitejdbc/). Dari sana kita dapat mengunduh
dapat diaktifkan dan dinonaktifkan [Link]-Halo, kita akan melihat sebuah contoh. Sederhana saja ada JDBC dari SQLite untuk platform Linux,
derdengan nilai ON dan OFF. Jika kita mengambil cara menempatkan nama file dengan argumen - Mac OS, dan Windows. Untuk bisa bekerja dengan
contoh sebelumnya kita bisa melihatnya lebih baik di momen ituoutput, kemudian mode, dalam hal ini SQLite dan Java kita harus melakukan sebuah ko-
Daftar 7. Cara keluar, yang mungkin [Link] pribadiuntuk melihat kalimat-kalimat. Kita akan melakukannya melalui sebuah kelas
sangat berguna, ini adalah caramasukkanatau menyisipkan. Dalam hal ini penyisipan..skema pribadiadalah yang akan kita sebut koneksi. Harus memiliki
modo keluaran diformat agar terlihat seperti skema tabel. Dengan demikian pada akhir kita memiliki struktur yang ditunjukkan di Daftar 12.
sebuah INSERT SQL. Dengan menentukan ini baru salinan cadangan tabel basis data
modo, Anda harus memberikan argumen tambahan yang berupa data (Daftar 11). Detail metode
Nama konektor yang akan digunakan adalah...
[Link] SQLite: menjadi atau tidak menjadi sebuah mesin [Link]("[Link]");,
Ini adalah pertanyaan yang harus diajukan semua orang dalam kasus kita:[Link].
.header hidup titik ini. Banyak pengguna perangkat lunak Di sini ditunjukkan driver yang akan saya gunakan-
sqlite> PILIH * DARI personal; bebas dan pengembang, saat melihat fungsi mosjdbc: sqlitedan nama basis dari
id SQLite, mengklaim bahwa itu adalah mesin basis [Link]:
------------ ------ ---------- --- data, meskipun sebenarnya bukan, karena tidak
------- memiliki integritas referensial. Dalam kata-kata yang lebihvarConeccion = DriverManager.
1Juan Perez YYYXXXZZZ integritas referensial adalah kontrol dari getConnection("jdbc:sqlite:" +
2Ramon Gomez ZZZXXXYYY kunci asing. Meskipun di SQLite, ketika se nombreDB);
buat tabel, bisa memanggil kata re-
kunci servadaforean. Tapi pengompil akan melakukan Al alur untuk menjalankan pernyataan membuka jika-
perintah berikut:

varSentencia = [Link].
buatPernyataan();

Hingga titik ini kami hanya telah melakukan ko-


koneksi basis data melalui kelas
Gambar 4. Pengiriman sebuah konsultasi koneksi. Selanjutnya kita akan mengenal

6 Linux+ 9/2007
pemrograman
SQLite

metode paling penting dari kelas Statement Dalam Daftar 13 disajikan kode te dalam PHP mulai dengansqlite_dan mereka serupa
apa itueksekusiPerbaruiyang memungkinkan mengirim pemulihan data dengan Java dan SQLite. untuk mereka yang memungkinkan akses ke basis data lain
konsultasi ke mesin. Strukturannya adalah sebagai berikut: Se seluruh hasilnya dan setiap elemen - dapat digunakan dari PHP (MySQL, PostgreSQL,
produk dari konsultasi, disimpan di dll). Manual PHP mencakup bab yang didedikasikan untuk
[Link] instansi orang yang merupakan objek dari kelas cado ke SQLite, itulah sebabnya ia akan memungkinkan kita
(Pernyataan SQL) vektor. Kemudian kita bisa mencantumkan seluruh konten - memprogram lebih cepat dan membiasakan diri dengan
sarang vektor hanya dengan melintasinya dan sintaksisnya secara hampir langsung.
Jika ingin membuat tabel, seharusnya disebutkan dengan menunjukkan isinya.
metode itu dengan konsultasi berikutnya Pembuatan/Akses ke basis data
cara SQLite dan PHP Di SQLite, sebuah basis data biasanya adalah
Dalam versi 4 PHP, SQLite dapat menggunakan sebuah berkas, meskipun juga dapat dibuka
[Link](“CREATE sebagai basis data menginstal modul PE- sesi data dalam memori. Konsep ini sudah
TABEL personal (id kecil CL. Mulai dari versi 5 PHP, SQLite telah terlihat sejak awal. Karena alasan ini, kami perlu
kunci utama termasuk dalam PHP, sehingga tersedia tanpa mekanisme untuk membuka basis data,
varchar(25)); kebutuhan untuk melakukan pemasangan tambahan fungsi adalahsqlite_buka(). Argumen dari
nal, benar-benar merupakan keuntungan saat memprogram-sqlite_open()ini adalah jalur file di server-
Sekarang jika ingin mengambil data dari tabel re-mar dan dapat mengamati penerimaan besar dari vidor (atau:memory:dalam hal membuat basis dari
ser diperlukan untuk menulis metode yang mesin pseudo ini. Nama fungsi data dalam memori). Jika basis data
ambil objek dan objek dari kelas pribadi. dari PHP yang memungkinkan penggunaan dan manipulasi SQLi- data tidak ada, fungsi tersebut bertanggung jawab untuk membuat
basis data baru. Fungsi mengembalikan
[Link] sebuah pengendalai (handle), yang digunakan di sisa
fungsi yang mengakses basis data.
sqlite>.mode insert nueva_tabla Pada contoh berikut, variabel$rutadb
sqlite>SELECT*FROM personal; menyimpan jalur atau path di mana ia berada
INSERT INTO nueva_tabla VALUES(1,'Juan','Perez','YYYXXXZZZ'); database dan variabel$dbpengelola
MASUKKAN KE tabela_baru VALUES(2,'Ramon','Gomez','ZZZXXXYYY'); dari basis data:
sqlite>
<?php
[Link] [Link]
$db = sqlite_open($rutadb) atau
<TABEL></TABEL>,<BARIS>,<KEPALA>y<TD> die("Tidak mungkin membuka la ")
basis data
sqlite>.mode html ?>
sqlite>SELECT*FROM personal;
id Konsultasi ke basis data
<TR><TD>1</TD> Setelah basis data dibuka, dapatlah
<TD>Juan</TD> melakukan kueri bahasa SQL menggunakan
<TD>Perez</TD> berbagai fungsi. Setiap fungsi mengembalikan re-
<TD>YYYXXXZZZ</TD> hasil konsultasi dengan cara yang berbeda:
</TR>
<TR><TD>2</TD> • sqlite_array_query(handle, konsultasi,
<TD>Ramon</TD> tipo): mengembalikan kueri dalam bentuk
<TD>Gomez</TD> matriks
<TD>ZZZXXXYYY</TD> • sqlite_exec(konsultasi): kembalikan sederhana-
</TR> pikiran benar atau salah, tetapi bukan data
sqlite> • kueri_sqlitehandle
lihat pengelola hasil
[Link] • kueri_single_sqlitepegangan
mengembalikan hanya satu
.mode daftar columna atau baris pertama dari hasil
sqlite>.separator| • sqlite_unbuffered_query(pegangan, con-
sqlite>.output archivo_salida_1.txt sulta): kembalikan kueri tanpa prefecht
sqlite>SELECT*FROM personal;
.exi Fungsisqlite_array_query()kembalikan
$cat archivo_salida_1.txt jawaban dari konsultasi dalam bentuk matriks.
Danyx Tidak disarankan untuk menggunakan fungsi ini jika
2|LaRepa|Web|ZZZXXXYYY hasil dari konsultasi mengandung banyak re-
$ gistros, karena bisa memakan banyak memori
di server.

[Link] 7
pemrograman
SQLite

Berbagai konsultasi apellido = 'López' WHERE id =


Dalam contoh-contoh ini, variabel $dbadalahsqlite_query($db, "DROP" '4'" );
pengelola dibuat dengansqlite_open()seperti TABEL pribadi" ); ?>
kita lihat sebelumnya. Untuk membuat yang baru?>
tabel, menggunakan kueriBUAT TABEL. Untuk menghapus sebuah catatan dari sebuah tabel, digunakanlah
Untuk membuat sebuah kolom indeks, harus didefinisikan. Untuk menambahkan sebuah catatan ke tabel tertentu, dilakukan [Link] DARISekali
lagi kita harus
INTEGER PRIMARY KEY, dan gunakan kueri untuk kolom lainnyaMASUKKAN KE DALAM: menentukan registrasi apa yang kita inginkan
se crea dengan menempatkan nama yang akan digunakan <?php menghapus
bidang tersebut dan, jika kita mau, jenis apa yang
data akan berisi. Untuk contoh kitasqlite_query($db, "INSERT <?php
membuat tabel pribadi dengan kolom id, KE NILAI PRIBADI sqlite_query($db, "HAPUS
nombre_y_apellido (NULL , 'Marcelo' , 'Perez') DARI personas DI MANA
?> id = '1'";
<?php ?>
sqlite_query($db, "CREATE Untuk memodifikasi sebuah catatan dari tabel tertentu
TABEL pribadi (id INTEGER fica, digunakan konsultasiPEMBAHARUAN. Penting Mungkin, ya, Anda mungkin telah memperhatikan, kueri SQL
KUNCI UTAMA mengidentifikasi dengan klausulDI MANAapa yang sama yang selalu kita terapkan di
apellido) registro yang akan kita ubah: aplikasi kami dan sepenuhnya kompatibel
?> bles dan sah, satu-satunya yang bervariasi adalah fungsi-
<?php nes yang kami sebut, khas untuk setiap perpustakaan.
Sekarang jika yang kita inginkan adalah menghapus sebuahsqlite_query($db, "UPDATE

tabel, kami menggunakan kueriHAPUS TABEL: personal SET nama = 'Juan', Mengintegrasikan SQLite di Python
Pertama-tama untuk dapat mengintegrasikan SQLite dengan
Python kita perlu memiliki Python
diinstal beberapa pustaka yang akan berguna bagi kita
sebagai antarmuka untuk menghubungkan basis data
SQLite. Untuk itu kita lakukan hal berikut:$ sudo
apt-get install python-pysqlite2

Koneksi dengan basis data


Sekarang kita sudah siap untuk mulai
Figura [Link] .header di konsol bekerja dengan pysqlite, pertama-tama kita harus
impor pustaka ini agar bisa digunakan untuk
[Link] sama:>>> dari pysqlite2 import dbapi2
sebagai sqlite
.output [Link]
sqlite>.mode insert personal Dengan ini kita sudah bisa menggunakan kebebasan-
.skema pribadi rías. Sekarang yang akan kita lakukan adalah membuat sebuah

sqlite>SELECT*FROM personal; basis data baru untuk bisa bekerja di atas


.keluar yang sama. Koneksi dengan basis data
dilakukan dengan menginstansikan sebuah objek dan mengirimkan-

[Link] gunakan file sebagai parameter, jika


file atau database tidak ada di sana
paket pruebaBD; yang bertanggung jawab untuk membuatnya dan jika itu ada
import [Link].*; dibuat hanya untuk membukanya:sqlite

impor [Link]; .connect('[Link]')


impor [Link];
Setelah kita memiliki koneksi, lakukanlah
publik kelas Koneksi{ ya, kita harus membuat objek kursor, ini
privateConnection varConeccion; lakukan dengan memanggil metode kursor dari kami
privateStatement varSentencia; objek:>>> kursor = [Link]()

publicConeccion(){ Menulis data dengan Python


[Link]("[Link]"); Setelah koneksi dilakukan, kita sudah siap.
[Link]("jdbc:sqlite:"+"[Link]"); siap untuk membuat dan menyimpan data di kami
varSentencia=[Link](); basis data. Untuk melakukan ini kita harus menjalankan
} metode dari kursor kami yang disebut execute
} menyerahkan sebagai parameter kueri kami. Di
pada contoh pertama ini kita akan membuat sebuah Tabel:

8 Linux+ 9/2007
pemrograman
SQLite

>>> [Link]('CREATE VARCHAR(50), nama Sekarang kita sudah memiliki tabel yang dibuat,
TABEL pribadi (id INTEGER VARCHAR(50), email kita bisa mulai memuat informasi ke dalamnya,
KUNCI UTAMA VARCHAR(100))') sekali lagi memanggil metode eksekusi
objek kursor kami:

>>> [Link]('INSERT
KE NILAI PRIBADI
(null, "Ramos", "Juan",
"juan_85@[Link]")'
>>> [Link]('INSERT
KE NILAI PRIBADI
(null, "Juarez", "Martin",
martin58j@[Link]")

Figura [Link] format Html dari konsol Contoh-contoh ini adalah sebagai cara untuk memvisualisasikan

cara di mana data dapat disimpan


[Link] di basis data kami. Perpustakaan pysqlite
memungkinkan kita untuk menyimpan data dengan cara lain

publik pribadi mengundang semua menggunakan variabel yang misalnya telah kita
{ dipulihkan dari Form atau Widget:
Vector persona=newVector();
Hasilset rs; Gomes
rs=[Link]("SELECT * FROM personal"); Carlos
sementara([Link]()){ gcarlos@[Link]
[Link](personal([Link]("id"),[Link]("Nombre"))); >>> [Link]('INSERT
} KE DALAM NILAI PRIBADI
[Link](); (null, ?, ?, ?)', (nama_belakang,
kembalikan pribadi; nama, email))
}
} Setelah kita selesai melakukan perubahan,
kita harus menyimpan data ini secara per-
[Link] tetap mengundang metode komit dari nues-
tro objek koneksi:>>> [Link]()
>>>[Link]('SELECT*FROM personal') Jika Anda mencoba menutup sambungan yang telah
>>>untuk fila dalam kursor: sido dimodifikasi tanpa memanggil metode commit,
cetak 'ID:', fila[0] pysqlite mengeluarkan kesalahan. Perilaku ini
cetak 'Nama Keluarga:', fila[1] itu bisa menyebabkan masalah, namun jika
cetak 'Nama:', fila[2] anda tidak ingin menyimpan perubahan yang
cetak 'Email:', fila[3] telah dilaksanakan dapat memanggil metode
print'-'*10 rollback dari objek koneksi kami:>>>
[Link]()
1
Ramos Mengambil data dengan Python
Juan Sekarang kita memiliki data yang disimpan di
juan_85@[Link] basis data kami, kami dapat mengembalikannya
---------- kembali memanggil metode execute
dari objek kami kursor dan menggunakan
2 perintahPILIHKita akan mendapatkan semua
Juarez nilai dari tabel:
Martin
martin58j@[Link] >>> [Link]('SELECT
---------- * DARI personal')

3 Kursor sekarang memiliki semua data dari ta-


Gomes bla pribadi. Ada beberapa cara untuk mendaki-
Carlos mengambil data tersebut. Yang pertama adalah menggunakan
gcarlos@[Link] metodeambil semua(), yang mencetak kami sebuah
---------- daftar dengan semua elemen berikut
cara

[Link] 9
pemrograman
SQLite

>>> [Link] >>> [Link]() mentación. Dalam artikel ini kita telah melihat beberapa
SELECT * FROM (1, "Ramos", "Juan", "juan_ opsi SQLite yang memiliki kekuatan
pribadi 85@[Link] dari mesin, terkondensasi di sebuah perpustakaan atau
>>> cetak [Link]() Kami juga memiliki metode PseudoMotor.
[(1, "Ramos", "Juan", selanjutnya(), mirip denganfetchone()dalam arti Beberapa jelas dapat diamati
juan_85@[Link] dalam mengembalikan satu baris tunggal. Namun, keuntungan, seperti adanya
(2, "Juarez", "Martin", Dengan metode ini, kita harus berhati-hati terhadap ekstensi, untuk hampir semua bahasa.
martin58j@[Link] karena kita harus memiliki kontrol atas pengumpulan yang ada. Ketika Daniel dan saya menempatkan pada
(3, "Gomes", "Carlos", rrido dari data. Jika kita melewati uji SQLite, kita melakukannya di depan co-
gcarlos@[Link] batas mungkin mengembalikan kita ke perangkat lunak sumber terbuka MySQL dan PostgreS-
kesalahan (Daftar 15). Sekali lagi kita bisa QL. Kami mencatat bahwa SQLite sangat cepat dalam
Saya pikir ini adalah metode yang sangat sederhana untuk melihat integrasi SQLite yang sangat baik dengan respons ketika melakukan kueri dan
konten melalui tuple, tetapi mungkin Python, sebuah bahasa yang diinterpretasikan dan berorientasi pada pengelolaan data. Ini disebabkan karena tidak
data tidak memiliki format yang sesuai. sepenuhnya ke objek. ada proses perantara untuk komunikasi-
Untuk itu ada juga cara yang sangat Pysqlite, pustaka integrasi yang berkomunikasi dengan mesin. Hal yang memang mereka lakukan.
sederhana melalui penggunaan iterator memungkinkan untuk membangun antarmuka yang sangat sederhana untuk mesin yang telah disebutkan.
(Daftar 14). memanfaatkan yang sama. Menggunakan jenis ini Beberapa poin kuatnya adalah fairing-
Kita juga bisa menggunakan metode mesin basis data, seperti SQLite, serta konfigurasi dan memiliki basis
fetchone(), yang hanya mendapatkan satu baris dari kita dapat mencapai aplikasi mobile dari data dalam satu file. Namun demikian,
kursor, tetapi bukan dalam bentuk daftar melainkan sebagai yang sangat aman dan dapat diandalkan. perlu dijelaskan bahwa SQLite memiliki beberapa
sebuah tuple. Ini berguna ketika kita hanya poin lemah seperti tidaklah pantas
Kesimpulan
kami ingin melihat satu baris tunggal atau mungkin satu baris untuk membuat aplikasi klien/server atau
pada saat yang sama Hari demi hari kemajuan dicapai dengan langkah besar untuk implementasi skala besar, seperti
dalam pengembangan, tetapi selalu ada kemungkinan itu bisa menjadi daftar pemilih.
>>> [Link] tantangan yang membuat pengembang mendefinisikan Karena SQLite akan jenuh dengan
(PILIH * DARI alat yang harus digunakan untuk melakukan permintaan dari pengguna. Oleh karena itu
pribadi pengelolaan data di dalam implementasinya - disarankan untuk digunakan dalam aplikasi
kompleksitas sedang. Poin lain yang mendukung
yang sedang terjadi, dan oleh karena itu banyak yang telah

optado por migrar a SQLite, está dado en


perusahaan seperti Google, telah mengumumkan
secara publik penggunaan SQLite di dalam
produk AdSense.
Contoh jelas lainnya adalah Philips yang
gunakan SQLite dalam perangkat lunak salah satu s.u.v.
peralatan listrik dan perusahaan Symbian
yang telah didefinisikan sebagai standar dasar dari
data untuk sistem operasi Anda.
Terkait dengan komunitas SQLite
Latinoamericana kami mengundang semua orang yang
yang ingin bergabung dengan proyek ini: para
pintu-pintu terbuka.
Gambar 7. Menampilkan hasil penerapan bentuk cadangan ini

[Link]
Tentang Penulis
>>>[Link]('PILIH*DARI personal')
>>>[Link]()
Gerardo Antonio Cabero dan Daniel Mal-
donado adalah orang Argentina yang berasal dari
(1,"Ramos","Juan","juan_85@[Link]")
provinsi Salta dan Jujuy. Mereka adalah admi-
>>>[Link]()
penyelia dan anggota pendiri dari
(2,"Juarez","Martin","martin58j@[Link]")
komunitas SQLite Amerika Latin.
>>>[Link]()
Keduanya berperan sebagai konsultan
(3,"Gomes","Carlos","gcarlos@[Link]")
informatika di provinsi masing-masing.
>>>[Link]()
Lebih banyak informasi di:
Jejak balik (panggilan terbaru terakhir):

File "<pyshell#201>", baris 1, dalam -toplevel-


cabero@[Link]
daniregede@[Link]
[Link]()
[Link]
StopIteration
[Link]

10 Linux+ 9/2007

Anda mungkin juga menyukai