
Database adalah kumpulan data yang terorganisir, umumnya disimpan dan diakses secara elektronik dari sistem komputer. Dimana database lebih kompleks, mereka sering dikembangkan dengan menggunakan desain formal dan teknik pemodelan.
Sistem manajemen basis data (DBMS) adalah perangkat lunak yang berinteraksi dengan pengguna akhir, aplikasi, dan basis data itu sendiri untuk menangkap dan menganalisis data. Perangkat lunak DBMS juga mencakup fasilitas inti yang disediakan untuk mengelola database. Jumlah total database, DBMS, dan aplikasi terkait dapat disebut sebagai “sistem database”. Seringkali istilah “database” juga digunakan untuk merujuk ke salah satu DBMS, sistem database atau aplikasi yang terkait dengan database.
Ilmuwan komputer dapat mengklasifikasikan sistem manajemen basis data sesuai dengan model basis data yang mereka dukung. Database relasional menjadi dominan pada 1980-an. Data model ini sebagai baris dan kolom dalam serangkaian tabel, dan sebagian besar menggunakan SQL untuk menulis dan membuat kueri data. Pada tahun 2000-an, database non-relasional menjadi populer, disebut sebagai NoSQL karena menggunakan bahasa kueri yang berbeda.
Terminologi dan Gambaran Umum
Secara formal, “database” mengacu pada sekumpulan data terkait dan cara penyusunannya. Akses ke data ini biasanya disediakan oleh “sistem manajemen basis data” (DBMS) yang terdiri dari seperangkat perangkat lunak komputer terintegrasi yang memungkinkan pengguna untuk berinteraksi dengan satu atau lebih basis data dan menyediakan akses ke semua data yang terdapat dalam basis data (meskipun ada batasan mungkin ada yang membatasi akses ke data tertentu). DBMS menyediakan berbagai fungsi yang memungkinkan masuknya, penyimpanan dan pengambilan informasi dalam jumlah besar dan menyediakan cara untuk mengelola bagaimana informasi tersebut diatur.
Karena hubungan yang erat di antara mereka, istilah “database” sering digunakan secara santai untuk merujuk ke database dan DBMS yang digunakan untuk memanipulasinya.
Di luar dunia teknologi informasi profesional, istilah database sering digunakan untuk merujuk pada kumpulan data terkait (seperti spreadsheet atau indeks kartu) karena persyaratan ukuran dan penggunaan biasanya memerlukan penggunaan sistem manajemen database. [1]
DBMS yang ada menyediakan berbagai fungsi yang memungkinkan pengelolaan database dan datanya yang dapat diklasifikasikan menjadi empat kelompok fungsional utama:
- Data definition (Definisi data) – Pembuatan, modifikasi, dan penghapusan definisi yang menentukan organisasi data.
- Update (Perbarui) – Penyisipan, modifikasi, dan penghapusan data aktual. [2]
- Retrieval – Memberikan informasi dalam bentuk yang dapat digunakan secara langsung atau untuk diproses lebih lanjut oleh aplikasi lain. Data yang diambil dapat tersedia dalam bentuk yang pada dasarnya sama seperti yang disimpan dalam database atau dalam bentuk baru yang diperoleh dengan mengubah atau menggabungkan data yang ada dari database. [3]
- Administration (Administrasi) – Mendaftarkan dan memantau pengguna, menegakkan keamanan data, memantau kinerja, memelihara integritas data, menangani kontrol konkurensi, dan memulihkan informasi yang telah rusak oleh beberapa peristiwa seperti kegagalan sistem yang tidak terduga. [4]
Baik database dan DBMS-nya sesuai dengan prinsip model database tertentu. [5]
“Sistem database” mengacu secara kolektif pada model database, sistem manajemen database, dan database. [6]
Secara fisik, server basis data adalah komputer khusus yang menyimpan basis data aktual dan hanya menjalankan DBMS dan perangkat lunak terkait. Server database biasanya komputer multiprosesor, dengan memori yang besar dan array disk RAID yang digunakan untuk penyimpanan yang stabil. Akselerator basis data perangkat keras, terhubung ke satu atau lebih server melalui saluran berkecepatan tinggi, juga digunakan dalam lingkungan pemrosesan transaksi volume besar. DBMS ditemukan di jantung sebagian besar aplikasi database. DBMS dapat dibangun di sekitar kernel multitasking kustom dengan dukungan jaringan built-in, tetapi DBMS modern biasanya mengandalkan sistem operasi standar untuk menyediakan fungsi ini. [Rujukan?]
Karena DBMS merupakan pasar yang signifikan, vendor komputer dan penyimpanan sering kali mempertimbangkan persyaratan DBMS dalam rencana pengembangan mereka sendiri. [7]
Database dan DBMS dapat dikategorikan menurut model database yang mereka dukung (seperti relasional atau XML), jenis komputer tempat mereka berjalan (dari cluster server ke ponsel), bahasa kueri ( s) digunakan untuk mengakses database (seperti SQL atau XQuery), dan rekayasa internalnya, yang memengaruhi kinerja, skalabilitas, ketahanan, dan keamanan.
Sejarah
Ukuran, kapabilitas, dan kinerja database dan masing-masing DBMSnya telah tumbuh dalam urutan besarnya. Peningkatan kinerja ini dimungkinkan oleh kemajuan teknologi di bidang prosesor, memori komputer, penyimpanan komputer, dan jaringan komputer. Konsep database dimungkinkan dengan munculnya media penyimpanan akses langsung seperti magnetic disks, yang mulai banyak tersedia pada pertengahan 1960-an; sistem sebelumnya mengandalkan penyimpanan data berurutan pada pita magnetik. Perkembangan teknologi basis data selanjutnya dapat dibagi menjadi tiga era berdasarkan model atau struktur data: navigasi, [8] SQL / relasional, dan pasca-relasional.
Dua model data navigasi awal utama adalah model hierarki dan model CODASYL (model jaringan). Ini ditandai dengan penggunaan pointer (seringkali alamat disk fisik) untuk mengikuti hubungan dari satu catatan ke catatan lainnya.
Model relasional, pertama kali diusulkan pada tahun 1970 oleh Edgar F. Codd, berangkat dari tradisi ini dengan menegaskan bahwa aplikasi harus mencari data berdasarkan konten, bukan dengan mengikuti tautan. Model relasional menggunakan sekumpulan tabel bergaya buku besar, masing-masing digunakan untuk jenis entitas yang berbeda. Hanya pada pertengahan 1980-an perangkat keras komputasi menjadi cukup kuat untuk memungkinkan penyebaran sistem relasional secara luas (DBMSs plus aplikasi). Namun, pada awal 1990-an, sistem relasional mendominasi semua aplikasi pemrosesan data berskala besar, dan pada 2018 mereka tetap dominan: IBM DB2, Oracle, MySQL, dan Microsoft SQL Server adalah DBMS yang paling banyak dicari. [9] Bahasa database yang dominan, SQL standar untuk model relasional, telah mempengaruhi bahasa database untuk model data lainnya. [Rujukan?]
Database objek dikembangkan pada 1980-an untuk mengatasi ketidaknyamanan ketidaksesuaian impedansi objek-relasional, yang menyebabkan munculnya istilah “pasca-relasional” dan juga pengembangan database relasional objek-hybrid.
Generasi berikutnya dari database pasca-relasional di akhir tahun 2000-an dikenal sebagai database NoSQL, memperkenalkan penyimpanan nilai kunci yang cepat dan database berorientasi dokumen. Sebuah “generasi berikutnya” bersaing yang dikenal sebagai database NewSQL mencoba implementasi baru yang mempertahankan model relasional / SQL sambil bertujuan untuk mencocokkan kinerja tinggi NoSQL dibandingkan dengan DBMS relasional yang tersedia secara komersial.
1960-an, DBMS navigasi
Struktur dasar model database CODASYL navigasi

Pengenalan istilah database bertepatan dengan ketersediaan penyimpanan akses langsung (disk dan drum) dari pertengahan 1960-an dan seterusnya. Istilah ini menunjukkan kontras dengan sistem berbasis pita di masa lalu, yang memungkinkan penggunaan interaktif bersama daripada pemrosesan batch harian. Oxford English Dictionary mengutip laporan tahun 1962 oleh System Development Corporation of California sebagai yang pertama menggunakan istilah “basis data” dalam pengertian teknis tertentu. [10]
Seiring pertumbuhan komputer dalam kecepatan dan kemampuan, sejumlah sistem database tujuan umum muncul; pada pertengahan 1960-an sejumlah sistem seperti itu mulai digunakan secara komersial. Minat terhadap standar mulai tumbuh, dan Charles Bachman, penulis salah satu produk tersebut, Penyimpanan Data Terpadu (IDS), mendirikan Kelompok Tugas Basis Data dalam CODASYL, kelompok yang bertanggung jawab atas pembuatan dan standarisasi COBOL. Pada tahun 1971, Database Task Group menyampaikan standar mereka, yang umumnya dikenal sebagai pendekatan CODASYL, dan segera sejumlah produk komersial berdasarkan pendekatan ini memasuki pasar.
Pendekatan CODASYL menawarkan aplikasi kemampuan untuk bernavigasi di sekitar kumpulan data tertaut yang dibentuk menjadi jaringan besar. Aplikasi dapat menemukan record dengan salah satu dari tiga metode:
- Penggunaan kunci utama (dikenal sebagai kunci CALC, biasanya diterapkan dengan hashing)
- Menavigasi hubungan (disebut set) dari satu record ke record lainnya
- Memindai semua rekaman secara berurutan
1970-an, DBMS relasional
Edgar F. Codd bekerja di IBM di San Jose, California, di salah satu kantor cabang mereka yang terutama terlibat dalam pengembangan sistem hard disk. Dia tidak senang dengan model navigasi dari pendekatan CODASYL, terutama kurangnya fasilitas “pencarian”. Pada tahun 1970, ia menulis sejumlah makalah yang menguraikan pendekatan baru untuk konstruksi basis data yang akhirnya mencapai puncaknya pada terobosan Model Relasional Data untuk Bank Data Bersama Besar. [12]
Dalam makalah ini, dia menjelaskan sistem baru untuk menyimpan dan bekerja dengan database yang besar. Alih-alih catatan disimpan dalam semacam daftar terkait dari catatan bentuk bebas seperti dalam CODASYL, ide Codd adalah untuk mengatur data sebagai sejumlah “tabel”, setiap tabel digunakan untuk jenis entitas yang berbeda. Setiap tabel akan berisi sejumlah kolom tetap yang berisi atribut entitas. Satu atau lebih kolom dari setiap tabel ditetapkan sebagai kunci utama dimana baris tabel dapat diidentifikasi secara unik; referensi silang antara tabel selalu menggunakan kunci utama ini, bukan alamat disk, dan kueri akan menggabungkan tabel berdasarkan hubungan kunci ini, menggunakan serangkaian operasi berdasarkan sistem matematika kalkulus relasional (dari mana model mengambil namanya). Pemisahan data menjadi satu set tabel (atau relasi) yang dinormalisasi bertujuan untuk memastikan bahwa setiap “fakta” hanya disimpan sekali, sehingga menyederhanakan operasi pembaruan. Tabel virtual yang disebut tampilan dapat menyajikan data dengan cara berbeda untuk pengguna yang berbeda, tetapi tampilan tidak dapat langsung diperbarui.
Codd menggunakan istilah matematika untuk mendefinisikan model: relasi, tupel, dan domain daripada tabel, baris, dan kolom. Terminologi yang sekarang sudah dikenal berasal dari implementasi awal. Codd kemudian akan mengkritik kecenderungan implementasi praktis untuk menyimpang dari dasar matematika yang menjadi dasar model tersebut.

Penggunaan kunci utama (pengidentifikasi berorientasi pengguna) untuk mewakili hubungan lintas tabel, bukan alamat disk, memiliki dua motivasi utama. Dari perspektif teknik, ini memungkinkan tabel untuk direlokasi dan diubah ukurannya tanpa reorganisasi database yang mahal. Tetapi Codd lebih tertarik pada perbedaan dalam semantik: penggunaan pengidentifikasi eksplisit membuatnya lebih mudah untuk mendefinisikan operasi pembaruan dengan definisi matematika yang bersih, dan itu juga memungkinkan operasi kueri untuk didefinisikan dalam hal disiplin yang mapan dari kalkulus predikat orde pertama; karena operasi ini memiliki properti matematis yang bersih, kueri dapat ditulis ulang dengan cara yang terbukti benar, yang merupakan dasar pengoptimalan kueri. Tidak ada kehilangan ekspresi dibandingkan dengan model hierarki atau jaringan, meskipun koneksi antar tabel tidak lagi begitu eksplisit.
Dalam model hierarki dan jaringan, catatan diizinkan untuk memiliki struktur internal yang kompleks. Misalnya, riwayat gaji seorang karyawan mungkin direpresentasikan sebagai “grup berulang” dalam catatan karyawan. Dalam model relasional, proses normalisasi menyebabkan struktur internal tersebut digantikan oleh data yang disimpan dalam beberapa tabel, yang hanya dihubungkan dengan kunci logis.
Misalnya, penggunaan umum sistem database adalah untuk melacak informasi tentang pengguna, nama mereka, informasi login, berbagai alamat, dan nomor telepon. Dalam pendekatan navigasi, semua data ini akan ditempatkan dalam satu catatan panjang variabel. Dalam pendekatan relasional, data akan dinormalisasi menjadi tabel pengguna, tabel alamat dan tabel nomor telepon (misalnya). Catatan akan dibuat dalam tabel opsional ini hanya jika alamat atau nomor telepon benar-benar disediakan.
Selain mengidentifikasi baris / catatan menggunakan pengenal logis daripada alamat disk, Codd mengubah cara aplikasi mengumpulkan data dari banyak catatan. Daripada meminta aplikasi untuk mengumpulkan data satu catatan pada satu waktu dengan menavigasi tautan, mereka akan menggunakan bahasa kueri deklaratif yang mengungkapkan data apa yang diperlukan, daripada jalur akses yang harus ditemukan. Menemukan jalur akses yang efisien ke data menjadi tanggung jawab sistem manajemen basis data, bukan pemrogram aplikasi. Proses ini, yang disebut pengoptimalan kueri, bergantung pada fakta bahwa kueri diungkapkan dalam istilah logika matematika.
Makalah Codd diambil oleh dua orang di Berkeley, Eugene Wong dan Michael Stonebraker. Mereka memulai sebuah proyek yang dikenal sebagai INGRES menggunakan dana yang telah dialokasikan untuk proyek database geografis dan programer mahasiswa untuk menghasilkan kode. Mulai tahun 1973, INGRES mengirimkan produk pengujian pertamanya yang umumnya siap untuk digunakan secara luas pada tahun 1979. INGRES mirip dengan Sistem R dalam beberapa hal, termasuk penggunaan “bahasa” untuk akses data, yang dikenal sebagai QUEL. Seiring waktu, INGRES pindah ke standar SQL yang muncul.
IBM sendiri melakukan satu implementasi uji model relasional, PRTV, dan satu produksi, Sistem Bisnis 12, keduanya sekarang dihentikan. Honeywell menulis MRDS untuk Multics, dan sekarang ada dua implementasi baru: Alphora Dataphor dan Rel. Kebanyakan implementasi DBMS lain yang biasanya disebut relasional sebenarnya adalah SQL DBMS.
Pada tahun 1970, Universitas Michigan memulai pengembangan Sistem Manajemen Informasi MIKRO [13] berdasarkan D.L. Model Data Teori-Set Childs. [14] [15] [16]
MICRO digunakan untuk mengelola kumpulan data yang sangat besar oleh Departemen Tenaga Kerja AS, Badan Perlindungan Lingkungan AS, dan peneliti dari Universitas Alberta, Universitas Michigan, dan Universitas Negeri Wayne. Ini berjalan pada komputer mainframe IBM menggunakan Sistem Terminal Michigan. [17] Sistem tersebut tetap berproduksi hingga tahun 1998.
Pendekatan terintegrasi
Pada 1970-an dan 1980-an, berbagai upaya dilakukan untuk membangun sistem database dengan perangkat keras dan perangkat lunak terintegrasi. Filosofi yang mendasari adalah bahwa integrasi tersebut akan memberikan kinerja yang lebih tinggi dengan biaya yang lebih rendah. Contohnya adalah IBM System / 38, penawaran awal Teradata, dan mesin database Britton Lee, Inc.

Pendekatan lain untuk dukungan perangkat keras untuk manajemen basis data adalah akselerator CAFS dari ICL, pengontrol disk perangkat keras dengan kemampuan pencarian yang dapat diprogram. Dalam jangka panjang, upaya ini umumnya tidak berhasil karena mesin database khusus tidak dapat mengikuti perkembangan pesat dan kemajuan komputer tujuan umum. Jadi kebanyakan sistem database saat ini adalah sistem perangkat lunak yang berjalan pada perangkat keras tujuan umum, menggunakan penyimpanan data komputer tujuan umum. Namun, ide ini masih dikejar untuk aplikasi tertentu oleh beberapa perusahaan seperti Netezza dan Oracle (Exadata).
Akhir 1970-an, SQL DBMS
IBM mulai mengerjakan sistem prototipe secara longgar berdasarkan konsep Codd sebagai Sistem R pada awal 1970-an. Versi pertama siap pada tahun 1974/5, dan pekerjaan kemudian dimulai pada sistem multi-tabel di mana datanya dapat dipecah sehingga semua data untuk rekaman (beberapa di antaranya opsional) tidak harus disimpan di satu “potongan” besar. Versi multi-pengguna selanjutnya diuji oleh pelanggan pada tahun 1978 dan 1979, pada saat itu bahasa kueri standar – SQL [rujukan?] – telah ditambahkan. Ide Codd memantapkan dirinya sebagai yang bisa diterapkan dan lebih unggul dari CODASYL, mendorong IBM untuk mengembangkan versi produksi sebenarnya dari Sistem R, yang dikenal sebagai SQL / DS, dan, kemudian, Database 2 (DB2).
Oracle Database Larry Ellison (atau lebih sederhananya, Oracle) dimulai dari rantai yang berbeda, berdasarkan makalah IBM tentang System R. Meskipun implementasi Oracle V1 selesai pada tahun 1978, baru Oracle Versi 2 ketika Ellison mengalahkan IBM untuk memasarkan pada tahun 1979 . [18]
Stonebraker melanjutkan untuk menerapkan pelajaran dari INGRES untuk mengembangkan database baru, Postgres, yang sekarang dikenal sebagai PostgreSQL. PostgreSQL sering digunakan untuk aplikasi misi kritis global (pendaftar nama domain .org dan .info menggunakannya sebagai penyimpanan data utama mereka, seperti halnya banyak perusahaan besar dan lembaga keuangan).
Di Swedia, makalah Codd juga dibaca dan Mimer SQL dikembangkan sejak pertengahan 1970-an di Universitas Uppsala. Pada tahun 1984, proyek ini dikonsolidasikan menjadi perusahaan independen.

Model data lain, model relasional entitas, muncul pada tahun 1976 dan mendapatkan popularitas untuk desain database karena menekankan deskripsi yang lebih familiar daripada model relasional sebelumnya. Kemudian, konstruksi hubungan-entitas dipasang sebagai konstruksi pemodelan data untuk model relasional, dan perbedaan antara keduanya menjadi tidak relevan.
1980-an, di desktop
Tahun 1980-an mengantarkan era komputasi desktop. Komputer baru memberdayakan penggunanya dengan spreadsheet seperti Lotus 1-2-3 dan perangkat lunak database seperti dBASE. Produk dBASE ringan dan mudah dipahami oleh semua pengguna komputer. C. Wayne Ratliff, pencipta dBASE, menyatakan: “dBASE berbeda dari program seperti BASIC, C, FORTRAN, dan COBOL karena banyak pekerjaan kotor telah dilakukan. Manipulasi data dilakukan oleh dBASE, bukan oleh pengguna, sehingga pengguna dapat berkonsentrasi pada apa yang dia lakukan, daripada harus mengacaukan detail kotor membuka, membaca, dan menutup file, dan mengelola alokasi ruang. “[19] dBASE adalah salah satu judul perangkat lunak terlaris pada 1980-an dan awal 1990-an.
1990-an, berorientasi objek

Tahun 1990-an, seiring dengan peningkatan pemrograman berorientasi objek, melihat pertumbuhan dalam cara penanganan data di berbagai database. Pemrogram dan desainer mulai memperlakukan data dalam database mereka sebagai objek. Artinya, jika data seseorang ada di database, atribut orang tersebut, seperti alamat, nomor telepon, dan usia, sekarang dianggap sebagai milik orang tersebut, bukan sebagai data asing. Hal ini memungkinkan relasi antara data menjadi relasi dengan objek dan atributnya dan bukan ke bidang individu. [20] Istilah “ketidaksesuaian impedansi objek-relasional” menggambarkan ketidaknyamanan dalam menerjemahkan antara objek yang diprogram dan tabel database. Database objek dan database objek-relasional mencoba untuk memecahkan masalah ini dengan menyediakan bahasa berorientasi objek (terkadang sebagai ekstensi untuk SQL) yang dapat digunakan pemrogram sebagai alternatif untuk SQL relasional murni. Di sisi pemrograman, pustaka yang dikenal sebagai pemetaan relasional objek (ORM) berusaha untuk memecahkan masalah yang sama.
2000-an, NoSQL dan NewSQL
Database XML adalah jenis database berorientasi dokumen terstruktur yang memungkinkan pembuatan kueri berdasarkan atribut dokumen XML. Database XML sebagian besar digunakan dalam aplikasi yang datanya dapat dengan mudah dilihat sebagai kumpulan dokumen, dengan struktur yang dapat bervariasi dari yang sangat fleksibel hingga yang sangat kaku: contohnya termasuk artikel ilmiah, paten, pengajuan pajak, dan catatan personalia.
Database NoSQL seringkali sangat cepat, tidak memerlukan skema tabel tetap, hindari operasi gabungan dengan menyimpan data yang didenormalisasi, dan dirancang untuk menskalakan secara horizontal.
Dalam beberapa tahun terakhir, ada permintaan yang kuat untuk database terdistribusi secara masif dengan toleransi partisi yang tinggi, tetapi menurut teorema CAP tidak mungkin sistem terdistribusi untuk secara bersamaan memberikan jaminan konsistensi, ketersediaan, dan toleransi partisi. Sistem terdistribusi dapat memenuhi dua jaminan ini pada saat yang sama, tetapi tidak ketiganya. Oleh karena itu, banyak database NoSQL menggunakan apa yang disebut konsistensi akhir untuk memberikan jaminan ketersediaan dan toleransi partisi dengan tingkat konsistensi data yang berkurang.
NewSQL adalah kelas database relasional modern yang bertujuan untuk memberikan kinerja sistem NoSQL yang dapat diskalakan yang sama untuk beban kerja pemrosesan transaksi online (baca-tulis) sambil tetap menggunakan SQL dan mempertahankan jaminan ACID dari sistem database tradisional.
- Ullman & Widom 1997, p. 1.
- ^ “Update – Definition of update by Merriam-Webster”. merriam-webster.com.
- ^ “Retrieval – Definition of retrieval by Merriam-Webster”. merriam-webster.com.
- ^ “Administration – Definition of administration by Merriam-Webster”. merriam-webster.com.
- ^ Tsitchizris & Lochovsky 1982.
- ^ Beynon-Davies 2003.
- ^ Nelson & Nelson 2001.
- ^ Bachman 1973.
- ^ “TOPDB Top Database index”. pypl.github.io.
- ^ “database, n”. OED Online. Oxford University Press. June 2013. Retrieved July 12, 2013. (Subscription required.)
- ^ IBM Corporation (October 2013). “IBM Information Management System (IMS) 13 Transaction and Database Servers delivers high performance and low total cost of ownership”. Retrieved Feb 20,2014.
- ^ Codd 1970.
- ^ Hershey & Easthope 1972.
- ^ North 2010.
- ^ Childs 1968a.
- ^ Childs 1968b.
- ^ MICRO Information Management System (Version 5.0) Reference Manual, M.A. Kahn, D.L. Rumelhart, and B.L. Bronson, October 1977, Institute of Labor and Industrial Relations (ILIR), University of Michigan and Wayne State University
- ^ “Oracle 30th Anniversary Timeline” (PDF). Retrieved 23 August2017.
- ^ Interview with Wayne Ratliff. The FoxPro History. Retrieved on 2013-07-12.
- https://en.wikipedia.org/wiki/Database