Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apa Itu MySQL:Gambaran Umum

Banyak program perlu menyimpan atau menyimpan data untuk digunakan nanti dan membaca data yang direkam. Meskipun ada banyak cara untuk melakukan ini, pendekatan yang paling umum adalah menggunakan Sistem Manajemen Basis Data Relasional (RDBMS). MySQL adalah RDBMS open-source standar industri yang telah diadopsi secara luas oleh proyek pengembangan perangkat lunak. Panduan ini memberikan gambaran umum tentang MySQL dan menjelaskan konsep utama RDBMS.

Apa itu Database Relasional (RDBMS)?

Database adalah aplikasi untuk menyimpan dan mengambil data. Meskipun mekanismenya berbeda, kebanyakan database menyediakan API yang memungkinkan pengguna untuk menambah, menghapus, mengakses, mencari, dan mengelola data mereka. Sebagai alternatif untuk menggunakan database, data dapat disimpan dalam file teks atau tabel hash. Namun, teknik ini tidak secepat atau senyaman menggunakan database dan jarang digunakan dalam sistem modern.

Aplikasi database awal berkembang menjadi database relasional modern , yang memungkinkan pengguna untuk menyimpan sejumlah besar data. RDBMS tidak lagi memaksa pengguna untuk menyimpan data dalam satu tabel besar. Ini menyediakan cara yang lebih terstruktur untuk mempartisi data dan dirancang untuk akses yang lebih efisien. Aplikasi RDBMS dioptimalkan untuk membaca dan menulis dengan cepat serta transfer informasi secara massal.

Desainer database membuat konsep dan mengatur data dalam bentuk tabel , kolom , dan baris . Baris juga disebut sebagai catatan , atau tupel. Database relasional kontemporer menyusun data menggunakan konsep berikut:

  • Setiap database berisi satu atau lebih tabel.
  • Saat pengguna membuat tabel, mereka menentukan kolom di dalam tabel secara bersamaan.
  • Setiap kolom mewakili atribut, atau bidang tertentu, dalam catatan. Kolom dirancang untuk menampung data dari tipe data tertentu, misalnya, VARCHAR , yang merupakan singkatan dari string dengan panjang variabel.
  • Sebuah tabel berisi sekelompok baris.
  • Setiap baris dalam tabel mewakili entri database yang unik. Setiap kolom dalam baris berisi bidang individual dalam entri tersebut.
  • Tabel database seperti matriks dua kali dua. Setiap kotak di dalam matriks berisi sepotong data.

RDBMS dianggap relasional karena memungkinkan pengguna untuk mendefinisikan hubungan di dalam dan di antara berbagai tabel menggunakan kunci dan indeks. Basis data relasional mengizinkan pengguna untuk menyediakan atau menghasilkan kunci utama untuk setiap baris. SQL dapat menjamin bahwa kunci ini unik di dalam tabel. Bidang dalam tabel ini mungkin terkait satu sama lain berdasarkan kunci utama dan kunci asingnya. Hubungan ini membantu menyusun dan mengatur database dan membatasi jumlah duplikasi data.

Aplikasi RDBMS selalu menyediakan kemampuan yang tercantum di bawah ini. Aplikasi individual mungkin menawarkan lebih banyak opsi.

  • Ini memungkinkan pembuatan, definisi, modifikasi, dan penghapusan tabel database, kolom, baris, kunci utama, dan indeks.
  • Ini menerima kueri SQL dan menyimpan atau mengambil data yang relevan, menggabungkan informasi dari tabel database yang berbeda jika diperlukan.
  • Ini menjamin integritas data dan referensi antar tabel. Misalnya, kunci asing selalu menunjuk ke baris yang valid di tabel lain.
  • Ini secara otomatis memperbarui indeks, stempel waktu, dan atribut lain yang dibuat secara internal sesuai kebutuhan.

Basis data relasional menggunakan Bahasa Kueri Terstruktur (SQL) untuk query dan memperbarui database. Misalnya, klien RDBMS menggunakan SQL INSERT perintah untuk menambahkan baris baru ke salah satu tabel database. Saat pengguna menambahkan baris baru, mereka secara bersamaan menentukan nilai untuk setiap kolom. Perintah SQL tambahan digunakan untuk memodifikasi dan menghapus baris, mengelola item database, dan mengambil daftar record yang memenuhi kriteria tertentu.

Misalnya, pertimbangkan database untuk sekolah. Database ini memiliki beberapa tabel, untuk guru, siswa, mata kuliah, ruang kelas, dan lain sebagainya. Definisi Students tabel mungkin berisi kolom untuk nama depan dan belakang siswa, ID, kelas, keluarga, dan lainnya. Setiap baris dalam tabel ini melambangkan siswa individu dan berfungsi untuk mewakili dan mengumpulkan semua informasi yang relevan tentang siswa tersebut. Jika nama siswa adalah “John”, first_name kolom di baris ini berisi John . ID siswa dapat berfungsi sebagai indeks dan kunci utama dan dapat digunakan untuk referensi silang siswa di tabel lain.

Misalnya, Students . yang disederhanakan tabel dapat didefinisikan menggunakan struktur yang ditampilkan di bawah ini. Baris atas mewakili nama-nama kolom dalam tabel. Tabel di bawah saat ini memiliki dua baris data, satu untuk setiap siswa.

first_name last_name grade family_id student_id
John Doe 4 1116 5005
Jane Siswa 5 1224 5350

Apakah Beberapa Ketentuan Umum RDBMS?

Istilah-istilah berikut ini sering digunakan dalam kaitannya dengan database:

  • Kolom: Satu set nilai dari tipe data yang sama, mewakili satu atribut dalam tabel. Kolom ditentukan saat tabel dibuat.
  • Kunci Majemuk: Kunci yang terdiri dari beberapa kolom. Kunci majemuk digunakan ketika satu kolom tidak dapat mengidentifikasi baris dengan andal.
  • Basis data: Sekelompok data terorganisir yang disimpan secara elektronik. Basis data biasanya diatur ke dalam kelompok informasi yang lebih kecil.
  • Kunci Asing: Indeks yang digunakan untuk menautkan silang entri tabel ke baris di tabel lain.
  • Indeks: Sebuah metode lebih cepat mengakses entri database. Indeks dapat dibuat menggunakan kombinasi atribut apa pun, tetapi implementasinya khusus untuk aplikasi. Indeks basis data mirip dengan indeks di buku.
  • Kunci Utama: Kolom yang berfungsi sebagai indeks untuk mengidentifikasi baris di dalam tabel secara unik. Kunci utama dapat dibuat secara otomatis atau ditentukan dalam definisi tabel. Kunci utama dapat digunakan untuk menemukan baris tertentu dalam tabel.
  • Integritas Referensial: Properti database internal untuk memastikan kunci asing selalu mereferensikan baris yang valid di tabel lain.
  • Sistem Manajemen Basis Data Relasional (RDBMS): Jenis sistem database berdasarkan hubungan antara tabel dan entri.
  • Baris: Entri terstruktur dalam tabel yang terdiri dari sekumpulan data terkait. Setiap baris dalam tabel memiliki struktur yang sama, yang sesuai dengan spesifikasi kolom dalam definisi tabel. Baris juga disebut sebagai record atau tuple.
  • Bahasa Kueri Terstruktur (SQL): Bahasa pemrograman khusus domain yang disederhanakan yang digunakan untuk mengelola data dalam RDBMS.
  • Tabel: Kumpulan record database, terdiri dari serangkaian baris dan kolom. Sebuah tabel dapat dianggap sebagai matriks informasi dua dimensi.

SQL vs. MySQL

Istilah SQL dan MySQL sering dicampuradukkan atau digunakan secara bergantian, tetapi keduanya tidak sama. SQL adalah bahasa pemrograman standar untuk query aplikasi RDBMS. Ini digunakan untuk menulis kueri basis data dan dapat digunakan dengan sistem basis data apa pun yang mendukungnya. MySQL adalah contoh spesifik dari RDBMS yang menggunakan SQL. Pengguna database mengirim perintah SQL ke RDBMS seperti MySQL untuk membaca dan menulis data, dan untuk mengelola database. Tidak ada aplikasi bernama SQL, jadi tidak masuk akal untuk membuat perbandingan "SQL vs MySQL". Namun, istilah database SQL sering digunakan secara informal sebagai istilah singkat untuk basis data relasional apa pun.

Bahasa SQL

Bahasa SQL ditentukan sebagai serangkaian pernyataan. Ini tidak dianggap sebagai bahasa pemrograman imperatif tujuan umum seperti Python, karena tidak memiliki berbagai struktur data dan pernyataan kontrol. Ini bukan bahasa khusus domain yang ditujukan untuk satu tujuan. SQL dirancang untuk query, definisi, dan manipulasi data. Ini juga dirancang untuk menyediakan kontrol akses data. Salah satu keuntungan dari SQL adalah dapat mengakses banyak record hanya dengan menggunakan satu perintah. Itu tidak menentukan bagaimana database harus mengakses entri.

Bahasa SQL terdiri dari kata kunci, ekspresi, kueri, pernyataan, operator, dan klausa opsional yang ditentukan. Pengidentifikasi objek digunakan untuk merujuk ke entitas database, termasuk tabel dan kolom. SQL mendukung sejumlah besar tipe data standar, seperti CHAR , untuk karakter, dan INTEGER . Beberapa operator SQL yang paling penting termasuk = , <> , > , <> , IN , LIKE , TRUE , FALSE , dan NOT . Rilis SQL terbaru sekarang mendukung CASE simple sederhana penyataan. Dokumentasi MySQL berisi informasi lebih lanjut tentang struktur bahasa SQL, tipe data, dan pernyataan.

Beberapa pernyataan dan klausa SQL yang paling banyak digunakan adalah sebagai berikut:

  • UBAH: Memodifikasi struktur objek database.
  • BUAT: Membuat objek database, seperti tabel atau database.
  • HAPUS: Menghapus satu atau beberapa baris yang ada dari database.
  • JATUHKAN: Menghapus objek dari database secara permanen.
  • DARI: Menunjukkan tabel mana yang akan digunakan untuk kueri.
  • HIBAH: Mengotorisasi pengguna database untuk melakukan tindakan tertentu.
  • GROUP MENURUT: Klausa untuk mengatur keluaran dari SELECT pernyataan.
  • MASUKKAN: Menambahkan baris ke database.
  • BERGABUNG: Klausa yang menentukan cara menggabungkan dan merakit data dari beberapa tabel.
  • GABUNGKAN: Menggabungkan data dari beberapa tabel.
  • PESAN OLEH: Klausa untuk mengurutkan keluaran dari kueri.
  • PILIH: Mengambil data dari satu atau lebih tabel. Perintah ini tidak mengubah database atau mengubah data apa pun.
  • PEMBARUAN: Memodifikasi satu atau beberapa baris yang ada.
  • DI MANA: Klausa untuk mengidentifikasi baris tempat kueri harus beroperasi. Biasanya digunakan dengan operator perbandingan.

Karakter pengganti * operator sering digunakan bersama dengan SELECT memerintah. Perintah ini menginstruksikan SQL untuk menampilkan semua kolom dalam output.

Di bawah ini adalah beberapa contoh kueri SQL. Perintah SQL berikut menampilkan name dari setiap kelas dalam Class database untuk setiap baris di mana nilai subject kolomnya adalah math .

SELECT name
    FROM Class
    WHERE subject='math';

Pernyataan SQL berikutnya membuat Class meja. CREATE pernyataan mendefinisikan setiap kolom dalam tabel, bersama dengan tipe datanya, secara berurutan. VARCHAR tipe data digunakan untuk menyimpan string dengan panjang variabel. SMALLINT tipe data digunakan untuk nilai integer kecil dari rentang tanda -32768 ke 32767 .

CREATE TABLE Class (
    classID smallint,
    name varchar(255),
    subject varchar(255),
    level smallint
);

Apa itu Database MySQL?

MySQL adalah RDBMS yang mengimplementasikan SQL. Ini awalnya dirancang untuk digunakan dengan database berukuran kecil hingga menengah, tetapi sekarang dapat menangani data yang disimpan dalam jumlah yang sangat besar. MySQL ditulis dalam C/C++ dan sebagian besar sesuai dengan standar SQL. Namun, ia menambahkan banyak ekstensi dan menekankan kecepatan dan keandalan daripada kepatuhan yang sempurna. Diskusi yang lebih mendetail tentang kepatuhan MySQL dan SQL dapat ditemukan di dokumentasi MySQL tentang Standar Kepatuhan.

Versi dasar MySQL didistribusikan oleh Oracle Corporation dan tersedia secara gratis di bawah lisensi sumber terbuka. Rilis MySQL saat ini adalah 8.0. MySQL dapat digunakan di semua distribusi Linux dan di sebagian besar platform lainnya. Ini adalah komponen penting dari open sourceLAMP stack , bersama dengan Linux, Apache, dan bahasa pemrograman PHP. Tumpukan LAMP adalah landasan pengembangan aplikasi web sumber terbuka di Linux. MySQL dapat digunakan sebagai bagian dari sistem klien/server atau sebagai bagian dari sistem tertanam.

Seperti semua aplikasi RDBMS, MySQL adalah database relasional. Administrator dan pengguna mendefinisikan hubungan di dalam dan di antara tabel dalam database. Kolom yang berbeda dapat ditandai sebagai diperlukan atau opsional dan dapat berfungsi sebagai kunci utama atau sebagai penunjuk ke tabel lain. MySQL stabil, andal, dan mudah digunakan. Berikut adalah beberapa keunggulan khusus MySQL:

  • MySQL adalah produk yang matang, populer, dan mapan. Ini memiliki lebih banyak dukungan komunitas daripada basis data sumber terbuka lainnya, dan materi referensi serta dokumentasi yang lebih baik.
  • MySQL dapat dikonfigurasi agar sesuai dengan ACID saat digunakan dengan sistem penyimpanan InnoDB. Akronim ACID adalah singkatan dari Atomicity, Consistency, Isolation, dan Durability. Artinya, ini dapat menjamin validitas data meskipun ada kesalahan, kegagalan, atau pemadaman.
  • Ini dikenal dengan kinerjanya yang tinggi, karena fitur-fitur seperti perpustakaan kelas yang dioptimalkan, kompresi, alokasi memori, dan tabel hash. Ini mendukung utas kernel multi-utas untuk operasi yang lebih efisien pada sistem dengan banyak CPU.
  • Ini mendukung database yang sangat besar, menyimpan hingga ratusan juta catatan dan hingga 64 indeks per tabel.
  • MySQL menyediakan mekanisme keamanan yang ditingkatkan, termasuk enkripsi semua sandi.
  • Ini memungkinkan replikasi dan redundansi data untuk meningkatkan keandalan.
  • MySQL menyediakan dukungan untuk alias pada tabel dan kolom, dan dukungan penuh untuk banyak set karakter yang berbeda.
  • MySQL bekerja dengan baik dengan PHP, yang banyak digunakan dalam pengembangan web.
  • Ini bekerja dengan banyak kompiler yang berbeda dan pada banyak platform yang berbeda, dan dirancang untuk portabel antar sistem. Program klien dapat ditulis dalam banyak bahasa. MySQL menyediakan API untuk C/C++, PHP, Java, Python, Ruby, dan Perl.
  • MySQL tersedia sebagai library yang dapat disematkan ke dalam aplikasi yang berdiri sendiri.
  • MySQL dikemas dengan beberapa utilitas klien yang nyaman, termasuk mysqldump dan mysqladmin . Pengguna dapat memverifikasi, mengoptimalkan, dan memperbaiki tabel menggunakan mysqlcheck program.
  • Lisensi open source MySQL memungkinkan pengembang untuk menyesuaikan MySQL dan memodifikasi kode sumber untuk memenuhi kebutuhan mereka.

MySQL juga tersedia dalam Edisi Perusahaan yang lebih berfitur lengkap, dengan dukungan pelanggan penuh. Untuk informasi tentang menginstal MySQL di Ubuntu atau platform Linux lainnya, lihat panduan Linode tentang Menginstal dan Mengonfigurasi MySQL di Ubuntu 20.04.

SQL vs. NoSQL

Sistem NoSQL adalah alternatif untuk aplikasi RDBMS berbasis SQL tradisional. Sesuai dengan namanya, mereka menggunakan model non-relasional untuk menangani data. Mereka biasanya kurang terstruktur dan lebih fleksibel daripada RDBMS. Sistem NoSQL tidak standar dan dapat mengambil berbagai format. Namun, mereka biasanya berbasis nilai kunci, grafik, atau dokumen, bukan berbasis tabel. Beberapa aplikasi NoSQL dapat menggunakan bahasa khusus domain terstruktur atau bahkan menerima kueri SQL secara paralel. Beberapa contoh aplikasi NoSQL termasuk Redis dan MongoDB. Untuk informasi lebih lanjut tentang sistem NoSQL, lihat panduan Linode untuk perbandingan antara database SQL dan NoSQL.

Apa itu Klien dan Server MySQL?

Klien MySQL dan server MySQL adalah dua komponen berbeda yang bekerja bersama dalam arsitektur jaringan. Biasanya ada satu server pusat dan satu atau lebih klien. Aplikasi server database MySQL diinstal pada sebuah host, sering kali sebagai bagian dari tumpukan LAMP. Server ini menyimpan konfigurasi database dan data, dan menanggapi pertanyaan dari klien. Ini juga memberlakukan keamanan dan sistem kontrol akses apa pun dan mereplikasi dan mengarsipkan data sesuai kebutuhan. Server yang sama dapat meng-host beberapa database untuk klien yang berbeda.

Klien MySQL memungkinkan pengguna untuk terhubung dengan server MySQL, baik pada sistem yang sama atau pada host yang berbeda. Klien mengirimkan kueri SQL ke server untuk membaca, atau menulis ke database. Klien MySQL juga mengelola, memelihara, dan mengamankan klien. Klien yang berdiri sendiri direkomendasikan untuk pengguna yang hanya ingin terhubung ke database jarak jauh untuk menjalankan kueri. Administrator yang ingin meng-host database di server harus menginstal paket server MySQL lengkap. Instalasi server menyertakan klien untuk membuat dan mengelola database.

Utilitas klien baris perintah MySQL standar bernama mysql . Itu dapat diinstal tanpa komponen server menggunakan perintah yum install mysql atau apt-get install mysql-client . Untuk mengakses klien MySQL, gunakan perintah mysql <database_name> . Nama pengguna, sandi, dan alamat IP server dapat ditentukan menggunakan parameter tambahan.

Ketika pengguna berhasil masuk, klien menampilkan perintah MySQL mysql> . Pengguna kemudian dapat menjalankan perintah SQL. Untuk informasi lebih lanjut tentang menginstal dan menggunakan MySQL, lihat panduan Linode tentang Cara Menghubungkan ke Database MySQL atau MariaDB.

Untuk Apa MySQL Digunakan?

MySQL adalah RDBMS serbaguna untuk digunakan dengan kumpulan data dari berbagai ukuran. Hal ini dapat dipertimbangkan setiap saat aplikasi harus menyimpan dan mengambil data. MySQL pada awalnya dikembangkan untuk konfigurasi server tunggal berukuran kecil hingga menengah. Tetapi dengan peningkatan kinerja dan skalabilitas terbaru, ini dapat digunakan secara virtual di mana saja dalam aplikasi dengan ukuran berapa pun. Bahkan perusahaan besar termasuk Uber, Airbnb, dan Shopify menggunakan MySQL.

Pengguna harus menginstal MySQL untuk mengkonfigurasi WordPress. WordPress menggunakan MySQL untuk menyimpan semua data dan file konfigurasinya, dan secara dinamis berinteraksi dengan MySQL untuk menampilkan dan membuat halaman web. Pengguna tidak harus memahami SQL untuk menggunakan WordPress. Namun, ini bisa berguna saat melakukan penyesuaian lanjutan. Di Linux, WordPress sering diinstal sebagai paket bersama dengan MySQL dan tumpukan LAMP lainnya. Untuk informasi lebih lanjut tentang cara mengkonfigurasi MySQL dan WordPress, lihat panduan Linode tentang Menginstal WordPress di Ubuntu 20.04.

Aplikasi umum lainnya untuk MySQL termasuk pergudangan data, pemrosesan transaksi, sistem reservasi, e-commerce, dan database web. Misalnya, database MySQL dapat menyimpan daftar produk dan inventaris untuk toko online.

Kesimpulan

Panduan ini menjawab pertanyaan umum, “Apa itu database MySQL?” MySQL adalah database relasional yang mengatur data berdasarkan hubungan antara tabel dan bidang. Ini adalah jenis Sistem Manajemen Basis Data Relasional (RDBMS), yang menyimpan entri sebagai baris dalam tabel. Setiap baris terdiri dari sejumlah kolom, yang mewakili atribut yang berbeda dari catatan data. Bahasa pemrograman SQL khusus database digunakan untuk menyimpan dan mengambil data dari MySQL. SQL menggunakan serangkaian pernyataan terpisah dan dimaksudkan untuk bekerja dengan sistem RDBMS.

MySQL dikenal karena kemampuannya untuk menyimpan tabel besar dan data dalam jumlah besar, serta kecepatan dan keandalannya. Ini menyediakan API untuk banyak bahasa pemrograman umum dan dikemas dengan beberapa utilitas yang berguna. Server MySQL menyimpan data dan respons terhadap permintaan dari klien MySQL. Klien selalu dikemas dengan server, tetapi dapat digunakan sebagai aplikasi yang berdiri sendiri untuk berkomunikasi dengan database jarak jauh. MySQL digunakan di banyak perusahaan terkenal dan sangat penting bagi mereka yang ingin menggunakan WordPress. Namun, ini juga digunakan dalam database web dan pergudangan data. Untuk informasi lebih lanjut tentang MySQL, lihat dokumentasi MySQL.

Informasi Lebih Lanjut

Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan tentang topik ini. Meskipun ini disediakan dengan harapan dapat bermanfaat, harap perhatikan bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.

  • Dokumentasi MySQL resmi

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghubungkan ke Database MySQL atau MariaDB

  2. Pengumuman MySQL 5.6 EOL

  3. GET_FORMAT() Contoh – MySQL

  4. Bagaimana cara MYSQL Self-Join Bekerja?

  5. Menyimpan JSON dalam database vs. memiliki kolom baru untuk setiap kunci