
Ringkasan
-
Sqlite sangat ideal untuk mengelola koleksi musik fisik secara lokal.
-
SQLite memiliki proses instalasi yang mudah, cocok untuk individu tanpa pengalaman database. GUI front-end seperti DB Browser juga menyederhanakan manajemen basis data untuk pengguna pemula.
-
Fitur SQLite seperti pengetikan dinamis memungkinkan manajemen yang efisien dan kustomisasi basis data, memungkinkan organisasi yang optimal.
Jika Anda seorang penggemar musik, Anda mungkin memiliki rak rekaman atau CD. Bagaimana Anda melacaknya? Anda bisa menggunakan database, tetapi bukankah mereka rumit untuk diatur? SQLite adalah alat yang ampuh yang memungkinkan Anda mengatur database SQL tanpa server. Sangat mudah diatur. Begini cara saya melakukannya, meskipun memiliki pengetahuan SQL yang tidak jelas.
Mengapa Sqlite?
Masih ada sesuatu tentang koleksi musik fisik, bahkan di zaman streaming. Itu sebabnya penjualan catatan vinil telah meningkat selama beberapa tahun terakhir, menurut RIAA. Format musik baru terpanas bukan Spotify, MP3, atau FLAC, tetapi LP lama yang bagus.
Menjadi seorang milenial, kebiasaan mendengarkan musik saya terbentuk di ujung belakang “Era Album.” Itu berarti mengumpulkan album. Karena ini adalah tahun 90 -an ketika saya mulai menjadi sangat tertarik pada musik, format dominan adalah CD, kecuali beberapa engkol tua yang lebih suka vinil. (Siapa yang menginginkan catatan lama itu?)
Ketika Anda memiliki koleksi fisik yang substansial dari jenis apa pun, bukan hanya musik, menjadi sulit bagi satu orang untuk melacaknya. Di sinilah database masuk. Database relasional, dengan baris dan kolomnya, mudah dimengerti, tetapi SQL memiliki reputasi sebagai rumit untuk dipelajari. Saya telah terpapar di kelas sistem informasi komputer perguruan tinggi, tetapi saya ingin merasa lebih nyaman dengan database dan SQL.
Saya berpikir untuk menginstal server database di mesin saya seperti MySQL atau PostgreSQL, tetapi itu adalah sistem yang besar dan rumit yang membutuhkan banyak pekerjaan untuk dipertahankan. Saya hanya seorang pria dengan keyboard dan peti album.
Saya juga bisa mengatur database di Discogs. Saya memiliki akun pengguna di sana, tetapi saya ingin database yang akan berjalan secara lokal di bawah kendali saya. Saya bahkan bisa mengaturnya sebagai database file datar menggunakan alat teks Linux, tetapi ini tidak akan skala ke koleksi yang lebih besar.
Sqlite tampak ideal. Itu adalah database relasional yang menggunakan SQL sebagai bahasa kueri. Ringan dan akan berjalan tanpa server. Banyak aplikasi dunia nyata telah menggunakan SQLite, termasuk iTunes. Jika SQLite dapat mengelola perpustakaan musik digital, saya pikir itu bisa dengan mudah menangani yang fisik. Inilah sebabnya mengapa koleksi rekaman adalah contoh populer untuk menyiapkan database relasional. Mereka seperti “Halo, dunia!” database.
Menginstal sqlite
Karena Sqlite gratis dan tersedia dalam begitu banyak distro Linux, yang harus saya lakukan adalah menggunakan APT di Ubuntu (itu di WSL, tetapi itu akan sama dalam versi debian atau Ubuntu apa pun):
sudo apt install sqlite
Itu saja. Saya sudah menginstal SQLite dalam satu. Ini menunjukkan betapa mudahnya menginstal SQLite.
Saya bisa mengunduh versi Windows asli, tetapi saya hanya lebih suka Linux untuk hal-hal terkait pemrograman. Sistem seperti Unix adalah yang terbaik untuk proyek pemrograman besar dan kecil, dan itulah sebabnya WSL ada.
Membuat database
Dengan SQLite diinstal, sudah waktunya untuk mulai membuat database saya. Saya memikirkan apa yang saya butuhkan. Basis data untuk koleksi CD dan LPS saya perlu memiliki bidang untuk artis, judul, tahun rilis asli, dan format.
Saya memulai klien baris perintah dengan nama file database yang ingin saya buat:
sqlite3 music.db
Saya memasukkan kode SQL untuk membuat tabel:
CREATE TABLE albums (artist,title,year,format)
Hentikan setiap pernyataan SQL dengan karakter titik koma (;).
Hal yang menyenangkan tentang SQLite dibandingkan dengan sistem basis data lainnya adalah saya tidak perlu kode-hard-kode tipe data sebelumnya. SQLite menggunakan pengetikan dinamis, di mana ia menebak jenis data apa yang dikandungnya oleh apa yang Anda masukkan ke dalamnya. Jika Anda memasukkan string karakter, itu memutuskan bahwa bidang itu adalah string. Ini menghemat waktu dan upaya saya dalam mendefinisikan tabel.
Sementara pernyataan SQL secara tradisional ditulis dalam huruf besar, itu tidak perlu. Ini adalah konvensi, tetapi Anda dapat memasukkan perintah kecil karena SQLite juga menerima. Pengembang SQLite menggunakan huruf kecil dalam dokumentasi mereka.
Dengan tabel yang dibuat, saya sekarang harus memasukkan catatan ke dalamnya, dan maksud saya catatan database, bukan catatan vinil. Di situlah perintah Insert Into masuk.
INSERT INTO albums VALUES ("Pink Floyd", "The Dark Side of the Moon", 1973,"LP",)
Saya bisa melakukan ini untuk seluruh koleksi saya, tetapi ada cara yang lebih mudah. Mengetik semua pernyataan SQL bisa membosankan, jadi ada beberapa helper front-end yang tersedia. Yang bagus adalah browser DB. Ini mirip dengan phpMyadmin untuk database MySQL. Ini adalah front-end GUI yang memungkinkan Anda membuat dan memanipulasi database SQLite dengan mudah.
Yang harus saya lakukan adalah menginstalnya di Ubuntu juga, meskipun juga tersedia untuk Windows.
Untuk menginstalnya di Ubuntu, gunakan perintah ini:
sudo apt install sqlitebrowser
Untuk mengerjakan database SQLite, saya cukup membuka file musik.db yang saya buat dengan pergi ke file> buka basis data> dan menavigasi ke file database. Dengan database yang dibuat, saya dapat menambahkan bidang dengan tab “Browse Data” dan kemudian tekan tombol “Sisipkan Catatan”. Ini menunjukkan tabel yang mirip dengan spreadsheet. Saya dapat mengisi bidang untuk album yang saya miliki. Di belakang layar, menggunakan transaksi yang disebutkan kemudian untuk menjaga terhadap perubahan yang tidak diinginkan.
Meskipun ini adalah database pribadi, saya ingin membangun beberapa kebiasaan baik. Saat bekerja dengan data, yang terbaik adalah memiliki cadangan. Klien Baris Perintah SQLite memungkinkan saya menyimpan salinan cadangan database saya dengan perintah .backup:
.backup music.db.bak
Saya bisa memanggil file apa pun yang saya inginkan, tetapi saya cenderung menggunakan ekstensi .bak untuk salinan cadangan file.
Saat Anda mengerjakan database, Anda ingin memiliki cara untuk mengembalikan perubahan jika sesuatu yang Anda lakukan menyebabkan sesuatu yang buruk terjadi. SQLite, seperti banyak sistem basis data lainnya, memiliki sistem transaksi. Dengan transaksi basis data, suatu operasi selesai atau tidak.
Lebih penting lagi, jika Anda melakukan kesalahan, Anda dapat kembali ke negara bagian sebelumnya dengan perintah rollback. Ini seperti operasi undo dalam pengolah kata.
Tom Scott belajar dengan cara keras bahaya mengabaikan untuk menggunakan transaksi dan cadangan saat mengerjakan database:
Untuk memulai transaksi, gunakan perintah ini:
BEGIN TRANSACTION;
Apa pun yang Anda lakukan pada database akan ditampilkan, seperti menambahkan, menghapus, atau memodifikasi catatan, tetapi mereka tidak akan disimpan sampai akhir transaksi, dengan perintah komit:
COMMIT;
Berikut contoh menambahkan beberapa album ke database
BEGIN TRANSACTION;
INSERT INTO albums VALUES ("Pearl Jam","Ten",1991,"CD");
INSERT INTO albums VALUES ("Nirvana", "Nevermind",1991,"CD");
INSERT INTO albums VALUES ("Pink Floyd","Wish You Were Here", 1975,"Pink Floyd Records");
COMMIT;
Buat salinan cadangan dan nyalakan transaksi sebelum melakukan perubahan pada database.
Menjelajahi database saya
Dengan database saya perlahan -lahan menjadi populasi, saya bisa mencoba menanyakannya. Secara default, catatan output sqlite dipisahkan oleh “|” karakter. Untuk melihatnya di kolom, saya mengatur mode:
.mode column
Perintah yang merupakan bagian dari Sqlite 3 seperti itu, orang tidak menggunakan titik koma di akhir.
Untuk melihat seluruh koleksi saya, saya dapat menggunakan perintah select *:
SELECT * FROM albums;
* Adalah wildcard, mirip dengan wildcard pada shell Linux, yang memungkinkan saya memilih setiap catatan. Tentu saja, saya hanya ingin melihat beberapa catatan waktu. Saya bisa melakukannya dengan perintah batas:
SELECT * FROM albums LIMIT 5;
Untuk menemukan bidang yang cocok dengan kriteria, seperti seniman, saya bisa menggunakan klausa di mana:
SELECT * FROM albums WHERE artist LIKE '%pink floyd%';
Pernyataan seperti SQLite cocok dengan bidang sebagian, dan mereka tidak peka pada sqlite.
Ups, saya butuh lebih banyak bidang!
Bahkan dengan hati -hati saat Anda merancang bidang dalam database, tampaknya Anda perlu menyesuaikan tabel ketika Anda menyadari bahwa Anda membutuhkan bidang lain. Saya menyadari bahwa akan lebih baik memiliki bidang untuk label rekaman. Untungnya, mudah untuk mengubah meja saya di Sqlite.
Untuk melihat bagaimana data terstruktur, saya menggunakan perintah .schema.
Saya membuka klien baris perintah dan mengetik;
ALTER TABLE albums ADD label;
Saya juga bisa melakukan ini dengan mudah melalui browser DB. Saya cukup mengklik tabel album di tab “Struktur Basis Data” dan klik fungsi “Modify Table”. Saya dapat menambahkan atau menghapus baris, serta memilih jenis sebagai kendala. Ketika saya memasuki tahun rilis di browser DB, saya perhatikan itu tidak akan mengurutkan tahun rilis dengan benar untuk entri yang saya tambahkan. Saya mengatakan kepada SQLite secara eksplisit bahwa tahun rilis adalah angka melalui menu dengan memilih opsi “integer”, dan itu sepertinya memperbaiki masalah.
Dimungkinkan untuk menambahkan label ke album yang sudah dimasukkan dengan perintah pembaruan seperti ini:
UPDATE albums SET label = 'Factory' WHERE artist = 'Joy Division';
Untuk pembaruan sederhana, menggunakan DB Browser mungkin lebih baik karena Anda dapat mengedit entri secara langsung dan secara otomatis menggunakan transaksi untuk keselamatan. Ini juga merupakan kesempatan untuk menciptakan pandangan. Tampilan mirip dengan pencarian yang disimpan. Ini memungkinkan Anda menyimpan pertanyaan rumit yang sering Anda lakukan.
Saya membuat satu untuk album vinil saya:
CREATE VIEW vinyl AS SELECT * FROM albums WHERE format = "LP";
Untuk kembali ke pandangan saya, saya hanya menjalankan kueri ini seolah -olah tampilannya adalah tabel lain:
SELECT * FROM vinyl;
Sekarang saya dapat terus menambah dan memeriksa koleksi musik saya, dan Sqlite memungkinkan.

Terkait
Bagaimana saya menggunakan kode QR dan lembar google untuk mengatur rumah saya
Berhenti tanpa tujuan mencari hal -hal yang Anda tahu Anda miliki.