Dasar Dasar RDBMS dan Dasar Dasar Database SQL

Mari kita bicara tentang dasar dasar RDBMS dan dasar dasar database SQL. Jika Anda pernah mencelupkan jari-jari kaki Anda ke dalam air pemrograman yang hangat tetapi dalam, maka Anda mungkin ingin menyimpan data di beberapa titik atau lainnya. Baik itu data pengguna, hasil ilmiah, atau hal lain yang membuat program Anda dinamis. SQL adalah salah satu alat paling populer untuk melakukan hal itu. Sudah ada selama beberapa dekade, namun masih digunakan sampai sekarang untuk mengelola database dengan ukuran berbeda dengan sukses besar.

Ini mungkin tampak menakutkan, tetapi mudah-mudahan, kami akan dapat menjawab beberapa pertanyaan terbesar Anda di sini. Mari selami!

RDBMS-dasar-SQL

Apa itu SQL?

SQL adalah singkatan dari Structured Query Language dan umumnya diucapkan sebagai “sekuel”. Ini adalah bahasa yang digunakan untuk mengelola database dan menawarkan fitur untuk membuat, membaca, memperbarui, dan menghapus data dengan cara yang memudahkan untuk membuat koneksi atau hubungan antara bit data yang berbeda.

Ada beberapa versi bahasa SQL, masing-masing dengan sedikit perbedaan dalam fitur dan sintaks. Namun, semuanya mendukung sebagian besar fitur dan perintah utama. Bahkan jika Anda mempelajari satu versi, pengetahuan Anda harus ditransfer dengan cukup mudah ke versi lainnya. Yang paling populer saat ini adalah Oracle, MySQL, Microsoft SQL Server, dan PostgreSQL.

Fitur lain dari SQL adalah bahwa sintaks dasarnya relatif mudah dipahami, karena agak mengikuti struktur kalimat. Ini menggunakan kata kunci seperti PILIH, MEMASUKKAN, DI MANAdll. Misalnya, untuk mengambil semua nama dan email dari Orang tabel, di mana nama orang tersebut adalah “Nick”, Anda dapat menulis yang berikut:

PILIH Nama, Email FROM Orang WHERE Name = ‘Nick’

Apa itu RDBMS? Bagaimana hubungannya dengan SQL?

Sistem manajemen basis data relasional (RDBMS) adalah aplikasi di komputer yang dapat mengelola data dalam jumlah besar dengan cepat dan efisien.

Properti utama yang membedakan database relasional dari database lain adalah bahwa data dalam tabel terpisah dapat ditautkan, artinya Anda dapat menentukan hubungan antara bit data yang berbeda. Misalnya, satu tabel bisa menentukan daftar orang, sementara yang lain bisa mencantumkan alamat setiap orang. Tabel-tabel tersebut kemudian dapat dihubungkan secara erat dengan membuat setiap baris dari tabel Alamat merujuk ke baris tertentu dalam tabel Orang.

Salah satu alternatif utama untuk basis data relasional adalah basis data berbasis objek, yang menyimpan data seperti pohon: induk tunggal dengan banyak cabang, yang masing-masing dapat memiliki sub cabang, seperti ini:

{
  1: {
    name: Nick,
    email: nick@thatemailofyours.com,
    address: {
      street: Sesame Street,
      number: 42
  }
}

Selanjutnya, kita akan membahas seperti apa database SQL itu.

Baca Juga:  Mengapa Python Begitu Populer di tahun 2021?

Apa itu meja?

Data umumnya disimpan sebagai tabel dengan kolom dan baris, sangat mirip dengan spreadsheet Excel. Atribut seperti Nama dan Alamat Email disimpan dalam kolom, dengan masing-masing catatan terpisah menjadi baris dalam tabel. Berbeda dengan contoh di atas, data akan terlihat seperti ini:

Orang

PENGENAL Nama Surel
1 Nick nick@thatemailofyours.com

Alamat

PENGENAL ID orang Jalan Nomor
1 1 jalan Sesama 42

Perhatikan bahwa ID orang dalam Alamat tabel berhubungan dengan PENGENAL kolom di Orang meja.

Meskipun mungkin tampak seperti lebih banyak pekerjaan untuk mengatur data Anda seperti ini daripada model objek sederhana di atas, kekuatan sebenarnya akan berperan ketika Anda memiliki banyak data dengan banyak hubungan. Dalam model objek sederhana, Anda mungkin akan mendapatkan beberapa versi dari data yang sama, terstruktur dengan cara yang berbeda.

Misalnya, dengan menggunakan contoh di atas, jika Anda ingin mencari semua orang yang tinggal di alamat yang sama:

    • Dalam model objek, Anda harus melalui setiap catatan untuk mengakses alamat mereka dan kemudian membandingkannya. Anda dapat membayangkan bahwa Anda dapat memiliki lebih banyak data yang disimpan di bawah setiap node Person (seperti riwayat pembelian, poin loyalitas, nomor telepon, apa saja), sehingga Anda akan mengakses banyak data yang tidak Anda perlukan.
    • Dalam model relasional, Anda cukup menelusuri tabel Alamat saja dan mencari tahu orang yang tinggal di alamat yang sama dengan melihat ID orang yang Anda miliki sekarang!

Apa itu Tuple, Record, atau Baris? Bagaimana dengan atribut?

Seperti yang telah disebutkan di atas, tabel terdiri dari kolom dan baris. Setiap baris mewakili satu item dalam database, di mana setiap kolom adalah atribut dari item tersebut. Baris juga disebut tupel atau record.

Dalam contoh di atas, satu item dalam Orang tabel adalah baris (atau Tuple/catatan), sedangkan Nama dan Surel adalah atribut.

RDBMS-dasar-tabel

Bagaimana Anda mengatur database?

Seperti yang mungkin Anda perhatikan pada contoh di atas, tabel memiliki struktur yang sangat jelas, dengan kolom yang telah ditentukan sebelumnya. Setiap baris harus mematuhi kolom tersebut dan memiliki nilai untuk masing-masing (bahkan jika itu a BATAL nilai, artinya tidak ada data). Untuk melacak apa yang terjadi di mana kami menggunakan skema database.

Skema mencantumkan nama setiap tabel, kolom apa yang dimilikinya, dan jenis setiap kolomnya. Misalnya, Nama kolom di Orang tabel kemungkinan akan bertipe varchar, yang berarti serangkaian karakter. Namun, untuk bidang tanggal lahir, Anda mungkin akan menggunakan tanggal atau tanggal Waktu Tipe.

Ada banyak sekali tipe data berbeda yang dapat Anda gunakan dalam SQL, dan, seperti kebanyakan bahasa pemrograman, beberapa lebih berguna daripada yang lain. Untuk informasi lebih lanjut, lihat Tipe Data bagian lebih jauh ke bawah.

Baca Juga:  19 Template Resume HTML Gratis untuk Membantu Anda Mendapatkan Pekerjaan

Ada apa dengan kunci ini?

Kunci utama

Sekarang kita tahu bahwa kita dapat mengasosiasikan bit data bersama-sama (misalnya alamat seseorang dengan mengacu pada ID orang dari Alamat tabel), mari kita bicara tentang kunci. Mereka adalah fitur SQL yang memungkinkan Anda menentukan apa yang membuat baris dalam tabel menjadi unik. Misalnya, dalam tabel pengguna dengan berbagai bidang (nama pengguna, email, nama depan, nama belakang, tanggal lahir), Anda dapat menjadikan nama pengguna atau alamat email sebagai kunci utama, artinya Anda hanya dapat memiliki satu baris di tabel Anda dengan satu nilai tertentu di kolom itu. Ini masuk akal karena Anda biasanya tidak dapat memiliki banyak akun dengan alamat email atau nama pengguna yang sama.

Kunci kandidat

Anda juga dapat menggunakan kombinasi kolom sebagai kunci utama, yang disebut kunci kandidat. Misalnya, dalam tabel yang berisi daftar kartu remi dengan kolom untuk setelan dan kolom untuk nomor, Anda dapat menjadikan kombinasi setelan dan nomor sebagai pengidentifikasi unik, karena Anda dapat memiliki empat Jack tetapi hanya satu dari masing-masing jas, misalnya.

Kunci asing

Ketika Anda memiliki atribut dari suatu hal tertentu dalam database Anda (mis Orang dengan sebuah Alamat dan Riwayat Pesanan, semua sebagai tabel terpisah) Anda dapat menautkan tabel ini bersama-sama menggunakan kunci asing. Dalam Alamat contoh tabel di atas, kami memiliki kolom yang merujuk ke Orang alamat milik dengan mengacu pada ID orang itu di Orang meja. Tanpa membuat batasan apa pun, kami dapat memasukkan nomor lama apa pun di sana, bahkan jika tidak ada baris di Orang tabel dengan ID itu.

Namun, dengan menambahkan kunci asing ke tabel ini, kita dapat menautkan ID orang kolom di Alamat meja ke PENGENAL kolom di Orang meja. Jika Anda kemudian mencoba menambahkan baris ke Alamat meja dengan ID orang itu tidak ada, itu tidak akan membiarkan Anda.

Anda mungkin berpikir itu tidak perlu ketat, tetapi ini adalah cara yang bagus untuk memastikan Anda memiliki data yang konsisten sehingga Anda dapat melakukan kueri database dengan percaya diri, terutama setelah database Anda mulai tumbuh sangat besar!

Tipe data

Daftar di bawah ini menjelaskan beberapa tipe data paling umum dan berguna yang dapat Anda gunakan dalam SQL. Tentu saja ada lebih banyak lagi, jadi jika Anda ingin menyelam lebih dalam, lihat dokumentasi dari Microsoft ini.

Baca Juga:  Untuk Apa Python Digunakan?

Catatan: tipe data berikut berasal dari Transact-SQL, versi yang digunakan di SQL Server. Versi SQL lainnya mungkin menyediakan tipe data yang berbeda, tetapi sebagian besar akan sangat mirip.

Jenis Keterangan Contoh
int / bigint / smallint Bilangan bulat (bilangan bulat) dengan berbagai nilai maksimum, bisa negatif. Kunci utama umumnya bertipe int. 0, 1, -512, 764.994
kecil Seperti int tetapi hanya bisa antara 0 dan 255. 0, 1, 2, …, 255
mengambang Angka dengan dukungan desimal. Nilai adalah perkiraan. 3,14, 24,75579, 1,0
uang / uang kecil Seperti mengambang tapi lebih akurat. Seperti namanya, mereka berguna untuk menyimpan nilai moneter. 45.0123, 35.99, -680.550.78
tanggal / tanggal / waktu Menjelaskan nilai tanggal dan/atau waktu. 2018-07-24, 2002-08-29 08:29:55, 16:19:59
char / varchar / nvarchar Berbagai jenis untuk menyimpan teks atau string karakter. char menyimpan panjang karakter yang tetap, varchar menyimpan panjang karakter yang bervariasi dan nvarchar juga mengizinkan karakter Unicode. Saat menggunakan ini, Anda perlu menentukan jumlah karakter maksimum per entri yang ingin Anda dukung. ‘Halo Dunia!’
pengenal unik Pengidentifikasi unik global (GUID). Ini unik di seluruh database Anda. 0E984725-C51C-4BF4-9960-E1C80E27ABA0
xml Data yang disimpan dalam format XML. Versi SQL tertentu akan memungkinkan Anda untuk menanyakan nilai-nilai ini, misalnya untuk menemukan atribut tertentu di dalam XML.
json Mirip dengan XML tetapi sedikit lebih modern. Ini kurang ketat dan menggunakan lebih sedikit karakter. { riwayat pesanan: [{ username: “nick”, total: 39.99 }] }

Batasan SQL

Kita dapat memaksakan batasan pada data kita dalam beberapa cara. Kami telah melihat dua, kunci utama dan kunci asing, tetapi ada beberapa lagi:

Paksaan Keterangan
BUKAN NULL Memastikan kolom tidak boleh NULL (pada dasarnya berarti “tidak ada data”)
UNIK Setiap nilai dalam kolom itu harus unik. Kunci utama adalah kombinasi dari batasan NOT NULL dan UNIQUE.
MEMERIKSA Setiap nilai dalam kolom itu harus memenuhi ekspresi yang diberikan (misalnya nilai harus antara 200 dan 500)
BAWAAN Jika tidak ada nilai yang ditetapkan, itu akan menetapkan nilai default.
INDEKS Ini digunakan untuk menyimpan tabel sedemikian rupa sehingga cepat untuk mengambil data ketika kolom ini digunakan sebagai nilai input (misalnya indeks pada kolom tanggal lahir akan mempercepat pencarian berdasarkan tanggal lahir tertentu). Penting ketika berhadapan dengan meja besar.

Terima kasih sudah membaca!

Kami harap kami dapat menjawab beberapa pertanyaan Anda yang paling membara tentang SQL dan sistem manajemen basis data relasional, meskipun ini baru permulaan. Jika Anda memiliki pertanyaan atau ingin memberikan umpan balik, silakan kirim komentar di bawah!

Tinggalkan komentar