Panduan Pemula untuk Menulis Skema Database mySQL

Panduan Pemula untuk Menulis Skema Database mySQL

Saat mengembangkan proyek perangkat lunak, salah satu aspek terpenting, mendasar, dan intrinsik adalah skema database yang terstruktur dengan baik. Ini setara dengan ketika membangun rumah Anda perlu memastikan fondasi diletakkan dengan benar, jika tidak, kemungkinan membangun rumah yang berkualitas berkurang secara drastis.





Ternyata lebih mudah dari yang diperkirakan, mari kita pelajari berbagai aspek yang digunakan untuk menulis skema database yang dirancang dengan baik.





cara mengatasi windows 10 startup lambat

Sintaks BUAT TABEL

Untuk memulai, buka editor teks favorit Anda . Membuat skema database tidak lebih dari file teks biasa. Database terdiri dari beberapa tabel, masing-masing terdiri dari kolom, dan sintaks CREATE TABLE digunakan untuk membuat satu tabel. Berikut ini contoh dasarnya:






CREATE TABLE users (
id INT NOT NULL,
is_active TINY INT NOT NULL,
full_name VAR CHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);

Seperti yang Anda lihat ini akan membuat tabel database bernama pengguna yang terdiri dari empat kolom. Ini harus menjadi pernyataan SQL yang cukup lurus ke depan yang dimulai dengan BUAT TABEL , diikuti dengan nama tabel database, lalu di dalam kurung kolom tabel dipisahkan dengan koma.

Gunakan Jenis Kolom yang Benar

Seperti yang ditunjukkan di atas, kolom tabel akan terdiri dari dipisahkan dengan koma. Setiap definisi kolom terdiri dari tiga bagian yang sama:



COL_NAME TYPE [OPTIONS]

Nama kolom, diikuti dengan jenis kolom, lalu parameter opsional apa pun. Kami akan masuk ke parameter opsional nanti, tetapi berkonsentrasi pada jenis kolom, di bawah ini daftar jenis kolom yang paling umum digunakan yang tersedia:

Untuk semua maksud, jenis kolom di atas adalah semua yang Anda butuhkan untuk menulis skema database mySQL yang dibangun dengan baik.





Tentukan Opsi Kolom

Saat mendefinisikan kolom, ada juga berbagai opsi yang dapat Anda tentukan. Di bawah ini adalah contoh lain dari BUAT TABEL penyataan:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
status ENUM('active','inactive') NOT NULL DEFAULT 'active',
balance DECIMAL(8,2) NOT NULL DEFAULT 0,
date_of_birth DATETIME,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);

Hal di atas mungkin terlihat sedikit menakutkan, tetapi jangan khawatir, ini cukup sederhana. Rusak, inilah yang terjadi dalam pernyataan di atas:





  • Anda harus selalu menggunakan NOT NULL pada semua kolom yang memungkinkan untuk membantu kecepatan dan kinerja tabel. Ini hanya menentukan kolom tidak boleh dibiarkan kosong / null ketika baris dimasukkan.
  • Selalu mencoba untuk menjaga ukuran kolom sekecil mungkin, karena membantu meningkatkan kecepatan dan kinerja.
  • NS Indo kolom adalah bilangan bulat, juga merupakan kunci utama tabel yang berarti unik, dan akan bertambah satu setiap kali catatan dimasukkan. Ini biasanya harus digunakan pada semua tabel yang Anda buat sehingga Anda dapat dengan mudah mereferensikan setiap baris dalam tabel.
  • NS status kolom adalah ENUM dan harus memiliki nilai 'aktif' atau 'tidak aktif'. Jika tidak ada nilai yang ditentukan, baris baru akan dimulai dengan status 'aktif'.
  • NS keseimbangan kolom dimulai dari 0 untuk setiap baris baru, dan merupakan jumlah yang diformat dua dua koma desimal.
  • NS tanggal lahir kolom hanyalah DATE tetapi juga memungkinkan nilai nol karena tanggal lahir mungkin tidak diketahui saat dibuat.
  • Terakhir, dibuat di kolom adalah TIMESTAMP dan default ke waktu saat ini ketika baris dimasukkan.

Di atas adalah contoh tabel database yang terstruktur dengan baik, dan harus digunakan sebagai contoh di masa mendatang.

Salah satu keuntungan terbesar menggunakan database relasional seperti: mySQL adalah dukungan yang sangat baik untuk kendala kunci asing dan cascading. Ini adalah saat Anda menautkan dua tabel bersama oleh sebuah kolom, membentuk hubungan induk anak, jadi saat baris induk dihapus, baris turunan yang diperlukan juga otomatis terhapus.

Berikut ini contohnya:


CREATE TABLE users (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(100) NOT NULL UNIQUE,
full_name VARCHAR(100) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB;
CREATE TABLE orders (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
userid INT NOT NULL,
amount DECIMAL(8,2) NOT NULL,
product_name VARCHAR(200) NOT NULL,
FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE
) engine=InnoDB;

Anda akan melihat klausa FOREIGN KEY sebagai baris terakhir. Baris ini hanya menyatakan tabel ini berisi baris anak yang dihubungkan oleh identitas pengguna kolom ke baris induknya, yaitu Indo kolom dari pengguna meja. Artinya, setiap kali sebuah baris dihapus dari pengguna tabel, mySQL akan secara otomatis menghapus semua baris yang sesuai dari pesanan tabel membantu memastikan integritas struktural dalam database Anda.

Perhatikan juga mesin=InnoDB di akhir pernyataan di atas. Meskipun InnoDB sekarang adalah tipe tabel mySQL default, itu tidak selalu, jadi ini harus ditambahkan hanya untuk tetap aman, karena cascading hanya berfungsi dengan tabel InnoDB.

cara mengubah ikon file explorer

Desain Dengan Percaya Diri

Anda sekarang sedang dalam perjalanan untuk merancang skema database mySQL yang solid dan terstruktur dengan baik. Dengan menggunakan pengetahuan di atas, Anda sekarang dapat menulis skema yang terorganisir dengan baik yang memberikan kinerja dan integritas struktural.

Dengan skema Anda di tempat, pastikan Anda tahu cara menggunakannya dengan ini perintah SQL penting .

Membagikan Membagikan Menciak Surel Cara Query Beberapa Tabel Database Sekaligus Dengan SQL Joins

Pelajari cara menggunakan gabungan SQL untuk menyederhanakan kueri, menghemat waktu, dan membuat Anda merasa seperti pengguna hebat SQL.

Baca Selanjutnya
Topik-topik yang berkaitan Tentang Penulis Matt Dizak(18 Artikel Diterbitkan) More From Matt Dizak

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan