Sistem Manajemen Basis Data (DBMS)
| English | Bahasa Indonesia |
|---|---|
| DBMS/ˌdiː biː em ˈes/ | DBMS |
| view/vjuː/ | tampilan (view) |
| backup/ˈbækʌp/ | backup |
| data management/ˈdeɪtə ˈmænɪdʒmənt/ | manajemen data |
| data dictionary/ˈdeɪtə ˈdɪkʃənəri/ | kamus data |
| data modelling/ˈdeɪtə ˈmɒdəlɪŋ/ | pemodelan data |
| logical schema/ˈlɒdʒɪkl ˈskiːmə/ | skema logis |
| data integrity/ˈdeɪtə ɪnˈteɡrɪti/ | integritas data |
| data security/ˈdeɪtə sɪˈkjʊərɪti/ | keamanan data |
| transaction/trænˈsækʃn/ | transaksi |
| concurrent access/kənˈkʌrənt ˈækses/ | akses konkomitan |
| concurrency control/kənˈkʌrənsi kənˈtrəʊl/ | kontrol konkurensi |
| developer interface/dɪˈveləpə ˈɪntəfeɪs/ | antarmuka pengembang |
| query processor/ˈkwɪərɪ ˈprəʊsesə/ | pemroses kueri |
Dua orang, satu kursi
- Pada tahun 1960 American Airlines mengaktifkan Sabre, sistem reservasi komputer pertama. Agen di puluhan kota dapat menjual kursi untuk penerbangan yang sama pada saat yang sama, dan tugas sistem yang paling penting adalah memastikan tidak ada kursi yang pernah terjual dua kali.
- File bersama tidak dapat melakukan itu: dua program membaca "kursi 14C kosong", keduanya menulis "terjual", dan dua penumpang tiba di gerbang. Sesuatu harus berada di antara setiap program dan data sebagai wasit.
- Wasit itu adalah DBMS. Setiap fitur dalam pelajaran ini adalah hal yang tidak dapat dilakukan oleh file datar: mendeskripsikan diri sendiri, menjaga konsistensi tampilan setiap pengguna, menerapkan aturan, bertahan dari kerusakan, dan memungkinkan satu tim membangun aplikasi sementara tim lain mengajukan pertanyaan.
- Pelajaran ini mencakup fitur-fitur yang disebutkan dalam silabus serta dua alat perangkat lunak yang diminta untuk Anda jelaskan.
Apa itu DBMS
- Sebuah sistem manajemen basis data adalah perangkat lunak yang mengelola basis data secara terpusat. Setiap program dan setiap pengguna mengakses data hanya melalui sistem ini.
- Sistem ini mengatasi setiap keterbatasan berbasis file: satu salinan setiap fakta, sehingga tidak ada redundansi atau inkonsistensi; independensi data, sehingga program tidak terikat pada penyimpanan; integritas, keamanan, cadangan, dan akses terpusat untuk banyak pengguna sekaligus.
- Silabus menyebutkan lima fitur dan dua alat. Pelajari masing-masing sebagai hal yang dilakukan oleh DBMS.
Lab layanan basis data
Lihat bagaimana DBMS mengubah query menjadi akses data bersama yang aman.
Cocokkan setiap layanan DBMS dengan fungsinya.
Sebuah DBMS menggabungkan layanan-layanan ini sehingga program tidak pernah menyentuh file mentah secara langsung.
Manajemen data dan kamus data
- Manajemen data adalah DBMS yang mengendalikan bagaimana data disimpan, diorganisir, diambil, dan diperbarui, sehingga program tidak pernah menyentuh file secara langsung.
- Sistem ini memelihara sebuah kamus data: deskripsi setiap tabel, bidang, tipe data, kunci, relasi, dan batasan, serta siapa yang dapat mengakses apa. Ini adalah data tentang data.
- Program querying kamus alih-alih mengkodekan struktur secara kaku, sehingga perubahan pada tabel tidak merusak program. Ini juga digunakan DBMS saat memvalidasi rekaman baru.
Kamus data dalam sebuah DBMS menyimpan:
Kamus data mendeskripsikan struktur basis data, sehingga program querying alih-alih memodifikasi tata letak secara hard-coded.
Pemodelan data dan skema logis
- Pemodelan data adalah mendefinisikan struktur data: entitas, atributnya, kunci, dan relasi, seperti dalam diagram E-R.
- Hasilnya adalah skema logis: desain logis keseluruhan basis data, tabel, dan relasinya, yang dijelaskan secara independen dari cara byte disimpan di disk.
- Karena skema logis terpisah dari penyimpanan fisik, penyimpanan dapat diatur ulang, diindeks, atau dipindahkan dan program tetap melihat tabel yang sama.

*Program melihat tabel; DBMS melihat disk
Skema logis dari sebuah basis data mendeskripsikan:
Desain logis terpisah dari penyimpanan fisik, yang memungkinkan penyimpanan berubah tanpa program menyadarinya.
Integritas data dan keamanan data
- Integritas data: DBMS menjaga data tetap benar dan konsisten dengan menerapkan aturan secara terpusat: kunci utama unik dan tidak boleh null, integritas referensial pada setiap kunci asing, tipe data, dan batasan validasi seperti rentang atau nilai dari daftar.
- Keamanan data: DBMS mengontrol siapa yang boleh melihat dan mengubah apa. Hak akses diberikan kepada pengguna individu atau grup, tabel per tabel, sebagai baca saja, baca dan tulis, atau tanpa akses; kata sandi mengautentikasi setiap pengguna; data yang tersimpan dapat dienkripsi.
- Keamanan juga berarti prosedur cadangan: salinan reguler basis data, dengan log perubahan sejak salinan terakhir, sehingga data dapat dipulihkan setelah kegagalan.
Manakah fitur keamanan data dari sebuah DBMS? Pilih semua yang berlaku.
Siapa yang dapat mengakses, dan pemulihan setelah kehilangan, adalah aspek keamanan. Normalisasi adalah langkah desain untuk menghindari redundansi.
Contoh kerja: bagaimana DBMS menjaga keamanan data
- Jelaskan bagaimana DBMS menyediakan keamanan data. [4]
- Setiap pengguna memiliki akun dan kata sandi, sehingga hanya orang berwenang yang masuk. Administrator memberikan setiap pengguna atau grup hak akses ke setiap tabel: seorang clerk mungkin membaca harga tetapi tidak mengubahnya; pelanggan tidak dapat melihat tabel staf sama sekali. Sebuah tampilan dapat menyajikan pengguna hanya dengan bidang yang mereka butuhkan.
- DBMS menjalankan prosedur cadangan: salinan reguler basis data ke media terpisah, dengan log transaksi sejak salinan, sehingga kegagalan atau serangan tidak kehilangan data.
- Keamanan berkaitan dengan siapa yang dapat mengakses; integritas berkaitan dengan data yang benar. Pisahkan keduanya jika soal menyebutkan salah satunya.
Banyak pengguna sekaligus
- Akses konstan: banyak pengguna bekerja pada basis data pada waktu yang sama. Pengendalian konkurensi menggunakan kunci agar dua pengguna tidak dapat memperbarui rekaman yang sama sekaligus dan merusaknya: yang kedua menunggu hingga yang pertama selesai.
- Sebuah transaksi adalah kelompok operasi yang semuanya berhasil atau semua gagal, sehingga kerusakan di tengah transfer tidak meninggalkan uang hilang dari kedua rekening.
- Sebuah tampilan adalah tabel virtual, dibangun dari query, yang menunjukkan setiap pengguna hanya bagian data mereka.
Transaksi basis data adalah:
Transaksi bersifat seluruhnya atau tidak sama sekali, sehingga basis data tidak pernah ditinggalkan dalam kondisi setengah diperbarui.
Kontrol konkurensi (penguncian) diperlukan agar:
Gembok mencegah dua pembaruan bersamaan bentrok dan merusak data bersama.
Sebuah transaksi bersifat seluruhnya atau tidak sama sekali: ia sepenuhnya selesai (commit) atau sepenuhnya dibatalkan (rollback), sehingga basis data tidak pernah ditinggalkan dalam kondisi setengah diperbarui.
Atomisitas inilah sebabnya transfer bank tidak mungkin mengdebit satu akun tanpa kredit ke akun lainnya.
Tabel virtual (sering kali kueri yang disimpan) yang menampilkan kepada pengguna hanya potongan data yang relevan darinya disebut ______.
Sebuah tampilan menyajikan potongan data yang disesuaikan, seringkali dibatasi, tanpa menyalinnya.
Urutkan peristiwa dari dua pengguna yang memperbarui rekam jejak yang sama di bawah kontrol konkurensi.
Gembok menserialisasikan dua pembaruan tersebut sehingga satu tidak menimpa perubahan yang lain.
Alat perangkat lunak
- Antarmuka pengembang adalah kumpulan alat dan antarmuka pemrograman untuk membangun aplikasi pada basis data: pembuat formulir untuk entri data, generator laporan, pembuat kueri, editor SQL, editor kamus data, dan API yang memungkinkan program dalam Python atau Java mengirim SQL dan menerima hasil.
- Pemroses kueri mengambil kueri yang ditulis dalam SQL, memeriksanya terhadap kamus data, menentukan cara paling efisien untuk menjalankannya, mengeksekusinya, dan mengembalikan himpunan hasilnya.
- Pengguna yang mengetik kueri dan programmer yang membuat formulir pemesanan keduanya menggunakan DBMS; satu melalui pemroses kueri, yang lain melalui antarmuka pengembang.
Cocokkan setiap komponen DBMS dengan tugasnya.
Menjalankan kueri, membangun aplikasi, mendeskripsikan struktur, dan desain itu sendiri: empat hal berbeda yang diujikan secara terpisah.
Contoh terpecahkan: dua alat yang digunakan
- Database toko digunakan oleh manajer yang membutuhkan total penjualan, dan oleh seorang programmer yang menulis aplikasi pengendalian stok. Jelaskan bagaimana pemroses kueri dan antarmuka pengembang digunakan.
- Manajer menulis atau membangun kueri untuk total penjualan; pemroses kueri memparse-nya, menggunakan kamus data untuk memeriksa apakah tabel dan bidang ada, memilih cara tercepat untuk menjalankannya, mengeksekusinya, dan mengembalikan hasilnya.
- Programmer menggunakan antarmuka pengembang: pembuat formulir dan laporan untuk membuat layar stok, dan API agar kode aplikasi dapat mengirim SQL ke DBMS dan menerima catatan kembali.
- Dua poin untuk setiap alat: apa alat itu, dan apa yang dilakukan orang tersebut dengannya.
⟦⟧ Nilai yang sering terlewat
- DBMS adalah perangkat lunak, bukan datanya. "DBMS menyimpan catatan pelanggan" adalah salah; ia mengelolanya.
- Kamus data menyimpan data tentang data: struktur, tipe, kunci, hak. Bukan record-nya sendiri.
- Skema logis adalah desain independen dari penyimpanan fisik. Ucapkan frasa ini.
- Keamanan adalah siapa yang boleh mengakses; integritas adalah data yang benar. Backup termasuk dalam keamanan.
Anda telah memahaminya
- DBMS adalah perangkat lunak yang dilalui setiap program: satu salinan fakta, independensi data, aturan terpusat
- manajemen data dengan kamus data (data tentang data) · pemodelan data menghasilkan skema logis (desain independen dari penyimpanan) · integritas data (aturan ditegakkan) · keamanan data (hak akses ke pengguna dan grup, kata sandi, enkripsi, backup)
- kontrol konvergensi dengan kunci, transaksi yang semuanya atau tidak sama sekali, tampilan yang menunjukkan bagian kepada pengguna
- alat: antarmuka pengembang untuk membangun aplikasi, pemroses kueri untuk menjalankan SQL