Sejarah database: database dan DBMS
Dahulu kala di salah satu negara Amerika, di sebuah perusahaan IT besar, tugas menyimpan data dalam jumlah yang sangat besar pernah muncul. Apa yang begitu sulit tentang itu, Anda bertanya? Bagaimanapun, perusahaan besar punya uang, yang berarti Anda dapat membeli lebih banyak hard drive - dan hanya itu.
Ide bagus, tetapi seperti yang mereka katakan, iblis ada dalam detailnya. Data dalam jumlah besar tidak hanya harus disimpan, tetapi juga diubah, dan berbagai sampel dibuat darinya. Selain itu, Anda perlu memilih data yang berbeda dari tempat yang berbeda, serta melakukannya dengan cepat dan indah.
Secara umum, semuanya seperti biasa: pelanggan menginginkan sesuatu yang tidak ada, dan keputusan untuk membeli hard drive kali ini tidak berhasil.
![](https://cdn.codegym.cc/images/article/ffb700f7-60b3-4cfc-a274-a1a35a6b1f31/512.jpeg)
Oleh karena itu, para programmer perusahaan IT ini mengeluarkan anggaran yang lebih besar untuk diri mereka sendiri, melakukan pekerjaan penelitian, dan ketika anggaran selesai, mereka mempresentasikan presentasi yang diusulkan untuk menyimpan data dalam bentuk Database. Dalam database, semua data disimpan dalam tabel, dan setiap tabel disimpan dalam file terpisah. Segala sesuatu yang cerdik itu sederhana dan semuanya berhasil.
Tetapi presentasi seperti itu tidak sesuai dengan pelanggan, dan pemilihan terus berlanjut:
![](https://cdn.codegym.cc/images/article/a7850c1c-b3ee-403d-8453-dcc511174b7b/512.jpeg)
- Di mana uangnya, Lebowski?
- Mengapa Database lebih baik daripada penyimpanan data lama yang baik dalam bentuk sekumpulan file?
- Kami membutuhkan solusi yang sangat bagus, bukan hanya itu!
- Dan butuh seluruh anggaran?
Ada keheningan yang mematikan di ruang presentasi. Namun, secara tidak terduga untuk semua orang, situasinya diselamatkan oleh pengembang junior, yang mengatakan bahwa program khusus telah dilampirkan ke database - DBMS ( Sistem Manajemen Database), yang dapat:
- Membuat, memodifikasi, dan menghapus database
- Lakukan perubahan pada database yaitu: tambahkan record baru, hapus yang lama dan ubah
- Dan juga super cepat untuk melakukan berbagai pilihan data apapun
Dan pemrogram bahkan sedang menyelesaikan perancangan bahasa super khusus untuk memfilter data - SQL . Dan mereka mengatakan bahwa dengan bantuan bahasa SQL yang ajaib ini, manajer mana pun dapat dengan mudah memfilter dan mendapatkan data apa pun dari database.
![](https://cdn.codegym.cc/images/article/216e75d9-299a-44a8-9e0a-0cc1d26717a8/512.jpeg)
Pemrogram belum selesai mendesain bahasanya , jadi tidak ada sepatah kata pun tentang SQL dan DBMS dalam presentasi.
Untuk kegembiraan semua orang, pelanggan terkesan dengan penjelasan yang mereka dengar, mengungkapkan beberapa ide yang bertentangan tentang seperti apa bahasa baru ini, dan bahkan mengalokasikan anggaran untuk penyempurnaannya.
Manajer dan Direktur Teknis mulai saling memberi selamat atas keberhasilan penyelesaian proyek, dan segera pergi untuk merayakan acara ini, tidak sepenuhnya menyadari bahwa programmer junior dalam keseluruhan cerita ini adalah orang yang paling penting ...
DBMS dan MySQL populer
Saat ini (musim panas 2022) terdapat ratusan DBMS yang populer, jadi akan berguna bagi Anda untuk mempelajari beberapa di antaranya. Apa yang harus saya mulai dengan…
Di satu sisi, pasar DBMS perusahaan telah ada selama beberapa dekade. Oleh karena itu, ia memiliki pemimpin yang diakui dan pendatang baru yang menjanjikan. Di sisi lain, kebutuhan bisnis terus berkembang, sehingga pendekatan untuk membangun infrastruktur TI perusahaan terus berubah.
Sekarang Anda tidak akan mengejutkan siapa pun dengan database dari sekelompok beberapa ribu server dengan sharding horizontal dan vertikal, transaksi terdistribusi, serta departemen TI dari beberapa lusin administrator sistem yang pergi dan mengubah hard drive server sesuai dengan jadwal yang telah ditentukan sebelumnya.
Secara umum, jika Anda bekerja untuk perusahaan besar, kemungkinan besar mereka membayar banyak uang untuk database mereka, dan menggunakan sesuatu seperti ini:
Basis Data Oracle
![](https://cdn.codegym.cc/images/article/8a53ac38-0a59-466a-9597-f3e6bf618a43/800.jpeg)
Oracle merilis database pertamanya pada tahun 1979 (43 tahun yang lalu). Dia segera menyandang nama Oracle 2.0 untuk meyakinkan pelanggan bahwa produk tersebut bukanlah hal baru, tetapi telah teruji oleh waktu.
Versi database saat ini adalah Oracle 21 c , di mana huruf c berasal dari kata cloud , yang seolah-olah mengisyaratkan bahwa Oracle mengikuti perkembangan zaman dan solusinya sangat kompatibel dengan semua teknologi cloud.
Microsoft SQLServer
![](https://cdn.codegym.cc/images/article/532a4cde-2214-4bec-96db-bff84eb41af6/512.jpeg)
Microsoft menghasilkan banyak uang bukan dengan menjual Windows, tetapi solusi server untuk bisnis menengah dan besar. Microsoft Office, Microsoft SharePoint, Microsoft Server, dll. Dan tentunya semua itu membutuhkan database yang bagus. Oleh karena itu, banyak perusahaan yang menggunakan produk dan solusi Microsoft terpaksa menggunakan database-nya.
DBMS Microsoft hanya disebut SQL Server , jadi jika Anda mendengar pertanyaan "Apakah Anda pernah bekerja dengan SQL Server?" saat wawancara, ketahuilah bahwa ini bukan DBMS abstrak, tetapi Microsoft SQL Server.
PostgreSQL
![](https://cdn.codegym.cc/images/article/b31cfc41-69af-488e-8079-5433fa502551/512.jpeg)
Ini adalah DBMS gratis yang bagus, yang sering digunakan tidak hanya oleh perusahaan kecil dan menengah, tetapi juga oleh perusahaan besar. Ini adalah salah satu database yang ditawarkan Amazon AWS sebagai DB-as-service.
MySQL
![](https://cdn.codegym.cc/images/article/0ea0a78a-41d2-43c3-8cd0-b4c72d4c142a/512.jpeg)
MySQL adalah database sumber terbuka dan gratis yang sangat populer. Itu didokumentasikan dengan baik, bekerja cepat, dan mendukung berbagai fitur. Hingga saat ini, versi ke-8 dari DBMS ini telah tersedia.
Pada tahun 2008, dibeli oleh Sun, yang dibeli oleh Oracle pada tahun 2009. Dan itu hanya menguntungkannya - produk terus berkembang dan meningkat.
Kita akan belajar bagaimana bekerja dengan database menggunakan MySQL Community Server 8.0 sebagai contoh .
Tabel dalam database: kolom dan kolom
DBMS yang berbeda dapat menyimpan data dalam format yang berbeda, jadi kami akan mengambil opsi paling sederhana dan paling klasik - MySQL DBMS.
Dan segera pertanyaannya adalah: bagaimana cara menyimpan, misalnya, dokumen akuntansi? Opsi termudah adalah menyimpan setiap dokumen sebagai file Excel. Kemudian semua dokumen terkait dapat disimpan dalam satu folder. Beginilah cara MySQL bekerja.
Analogi lain: dalam bahasa Java, Anda memiliki kelas dan paket di proyek Anda , tetapi pada saat yang sama, kelas dan paket direpresentasikan pada disk sebagai files and folders . Sesuatu yang serupa ada di MySQL.
Data MySQL disimpan dalam bentuk tabel , yang digabungkan menjadi database , tetapi pada saat yang sama, tabel dan database disajikan pada disk sebagai file dan folder . Basis data adalah folder, dan file di dalamnya adalah tabel.
Setiap tabel terdiri dari kolom dan baris . Contoh:
![](https://cdn.codegym.cc/images/article/ef9c797e-174d-4b27-a109-ff88a837ac5a/512.jpeg)
Penting! Setiap kolom memiliki nama dan tipe data , jadi semua sel dalam kolom yang sama harus menyimpan nilai dengan tipe yang sama .
Analogi dapat ditarik antara tabel di MySQL dan kelas di Java. Tabel adalah kelas, tabel, seperti kelas, memiliki nama yang unik. Kolom tabel adalah bidang kelas; kolom, seperti bidang, memiliki nama dan jenis yang unik. Baris tabel adalah instance kelas di Java.
Kelas bisa ada tanpa objek, dan tabel bisa ada tanpa baris. Di Java, Anda bisa membuat objek baru, dan di MySQL, Anda bisa menambahkan baris baru ke tabel. Anda dapat mengubah nilai bidang suatu objek, dan di MySQL Anda dapat mengubah nilai dalam satu baris.
Bahkan lebih tepat untuk mengatakan bahwa tabel bukanlah kelas, tetapi kumpulan objek dari kelas tertentu. Jika di MySQL kita memiliki tabel Karyawan dengan data karyawan, maka di Java kita akan menggunakan koleksi ArrayList
Dan tentunya pertanyaan yang langsung muncul: bagaimana cara mendapatkan data tertentu dari kumpulan ini?
GO TO FULL VERSION