Relational Database & SQL
Completion requirements
- Google, Twitter, dan Meta semuanya menggunakan basis data relasional untuk menyimpan informasi mereka dalam skala besar.
- Basis data relasional menyimpan data dalam bentuk baris dan kolom dalam struktur yang disebut tabel.
- SQL (Structured Query Language) memungkinkan tiga kelompok perintah:
- Perintah Data Manipulation Language (DML): Perintah-perintah ini digunakan untuk memanipulasi data yang disimpan dalam basis data. Perintah-perintah DML utama adalah:
SELECT: Digunakan untuk mengambil data dari satu atau lebih tabel.
INSERT: Digunakan untuk memasukkan catatan baru ke dalam sebuah tabel.
UPDATE: Digunakan untuk mengubah catatan yang sudah ada dalam sebuah tabel.
DELETE: Digunakan untuk menghapus catatan dari sebuah tabel.
- Perintah Data Definition Language (DDL): Perintah-perintah ini digunakan untuk mendefinisikan, mengubah, dan mengelola struktur dari objek-objek basis data. Perintah-perintah DDL utama adalah:
CREATE: Digunakan untuk membuat objek-objek basis data baru seperti tabel, indeks, atau tampilan (view).
ALTER: Digunakan untuk mengubah struktur dari objek-objek basis data yang sudah ada.
DROP: Digunakan untuk menghapus objek-objek basis data.
TRUNCATE: Digunakan untuk menghapus semua catatan dari sebuah tabel tetapi tetap menjaga struktur tabel tersebut.
- Perintah Data Control Language (DCL): Perintah-perintah ini digunakan untuk mengendalikan akses dan izin pada objek-objek basis data. Perintah-perintah DCL utama adalah:
GRANT: Digunakan untuk memberikan hak istimewa tertentu kepada pengguna basis data.
REVOKE: Digunakan untuk mencabut hak istimewa tertentu dari pengguna basis data.
- Keempat operasi dalam SQL ini biasanya disebut CRUD (Create, Read, Update, Delete):
- Anda bisa login ke https://cs50.dev/ dengan menggunakan akun github Anda, dan mencoba praktik menggunakan SQL
- Ketik perintah
sqlite3 favorites.db
di terminal. Perintah ini akan membuat sebuah database bernamafavorites.db
- Anda dapat mengamati bahwa prompt di terminal berubah menjadi
sqlite3
- Kita dapat mengubah mode sqlite3 menjadi mode csv dengan perintah
.mode csv
. Lalu, kita dapat mengimpor data dari file csv yang ada di resource dengan perintah.import favorites.csv favorites
. - Kita dapat menggunakan perintah
.schema
untuk melihat struktur dari database-nya - Matikan mode csv dengan perintah
.mode box
di terminal - Anda dapat membaca items dari suatu tabel, dengan menggunakan syntax
SELECT columns FROM table
- Sebagai contoh, Anda dapat mengetikkan perintah
SELECT * FROM favorites;
yang akan melakukan pembacaan setiap baris (row) dari tabelfavorites
- Anda dapat mendapatkan satu kolom (subset) data dengan menggunakan perintah
SELECT language FROM favorites;
. Perintah tersebut akan menampilkan data dari kolomlanguage
- SQL mendukung berbagai perintah untuk mengakses data, termasuk:
- Sebagai contoh, Anda dapat mengetikkan
SELECT COUNT(language) FROM favorites;
untuk menghitung jumlah data di kolomlanguage
. Selanjutnya, Anda dapat mengetikkanSELECT DISTINCT(language) FROM favorites;
untuk mendapatkan data dari kolomlanguage
dengan tidak mengikutsertakan data yang berulang. Anda bahkan bisa mengetikkanSELECT COUNT(DISTINCT(language)) FROM favorites;
untuk mendapatkan hitungan dari jumlah data yang ada di kolomlanguage
. - SQL memiliki beberapa perintah tambahan yang dapat digunakan:
WHERE -- menambahkan filter kondisi pada data LIKE -- menambahkan filter pencarian pada data ORDER BY -- mengurutkan data LIMIT -- membatasi jumlah data yang ditampilkan GROUP BY -- mengelompokkan data
-
Kita dapat menggunakan
--
untuk memberi komentar pada SQL - Sebagai contoh, kita bisa menggunakan perintah berikut untuk menghitung banyak data di kolom language yang memiliki huruf awalan 'C':
- Perintah berikut akan menghitung banyak data dalam kolom language dan mengelompokkannya berdasarkan language:
- Perintah berikut akan mengurutkan hasil hitungan banyak data dari kecil ke besar, dikelompokkan berdasarkan language:
- Kita dapat menambahkan data ke dalam tabel dengan menggunakan syntax
INSERT INTO table (column...) VALUES(value, ...);
- Kita juga dapat menggunakan klausa UPDATE untuk mengubah data. Misal, perintah berikut akan mengubah seluruh data yang memiliki language = C menjadi C++
- Perhatikan bahwa perintah-perintah dalam SQL bersifat permanen!! Maka berhati-hatilah dalam melakukan eksekusi.
- Perintah DELETE memungkinkan Anda untuk menghapus data tertentu. Contoh, perintah berikut akan menghapus seluruh data yang memiliki problem = 'Tideman'
Last modified: Tuesday, 20 August 2024, 2:09 PM