Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Apa batasan SQL dan jenisnya yang berbeda?

Karena sejumlah besar data ada dalam basis data, sangat penting bagi kita semua untuk meningkatkan keakuratan dan keandalan data yang ada dalam basis data. Nah, batasan SQL digunakan untuk mempertahankan hal yang sama. Ada berbagai jenis kendala yang dapat digunakan. Dalam artikel ini, saya akan membahas kendala tersebut dengan contoh.

Topik berikut akan dibahas dalam artikel ini:

  1. Apa itu Kendala?
  2. Pembatasan yang tersedia di SQL:
      • BUKAN Hambatan NULL
      • Batasan UNIK
      • PERIKSA Batasan
      • Kendala DEFAULT
      • Kendala INDEKS

Apa itu Batasan SQL?

Konstrain SQL digunakan untuk menentukan aturan untuk data dalam tabel. Ini digunakan untuk membatasi jenis data yang harus disimpan dalam database, dan bertujuan untuk meningkatkan akurasi dan keandalan data yang disimpan dalam database.

Jadi, kendala memastikan tidak ada pelanggaran dalam hal transaksi data, namun ada pelanggaran yang ditemukan; tindakan akan dihentikan.

Ada dua jenis batasan yang dapat diterapkan:

  1. Pembatasan tingkat kolom – Batasan ini diterapkan ke satu kolom
  2. Pembatasan tingkat tabel – Batasan ini adalah aplikasi ke tabel lengkap

Melanjutkan artikel ini, mari kita memahami berbagai jenis batasan. Juga, saya akan mempertimbangkan tabel berikut untuk membantu Anda memahami lebih baik.

Tersedia berbagai batasan SQL:

BUKAN Hambatan NULL

Konstrain NOT NULL memastikan bahwa kolom tidak boleh memiliki nilai NULL. Anda dapat menggunakan batasan NOT NULL baik saat membuat database tabel atau saat memodifikasinya.

Contoh

Kendala NOT NULL pada CREATE TABLE

Tulis kueri untuk membuat tabel Siswa di atas, di mana StudentID dan StudentName tidak boleh NULL.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

NOT NULL Constraint pada ALTER TABLE

Tulis kueri untuk mengubah tabel Siswa di atas, di mana kolom baru DOB harus ditambahkan, dan tidak boleh memiliki nilai NULL.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

Melanjutkan artikel tentang Batasan SQL ini, mari kita pahami cara menggunakan batasan UNIK.

Kendala UNIK

Batasan UNIK digunakan untuk memastikan bahwa semua nilai dalam kolom adalah unik. Anda dapat menggunakan batasan UNIK baik pada beberapa kolom atau pada satu kolom dengan. Selain itu, Anda dapat melanjutkan dan menggunakan batasan UNIQUE untuk memodifikasi tabel yang ada.

Catatan:

  1. Saat membuat tabel, batasan PRIMARY KEY secara otomatis memiliki batasan UNIQUE, untuk menjamin keunikan kolom.
  2. Sebuah tabel dapat memiliki banyak batasan UNIK tetapi dapat memiliki satu batasan kunci utama.

Contoh:

Kendala UNIK pada CREATE TABLE

Tulis query untuk membuat tabel Siswa, dengan kolom StudentID, StudentName, Age dan City. Di sini, StudentID harus unik untuk setiap record.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Beri nama batasan UNIK pada beberapa kolom

Untuk memberi nama batasan unik dan mendefinisikannya untuk beberapa kolom, Anda dapat merujuk ke contoh berikut:

Tulis query untuk membuat tabel Siswa, dengan kolom StudentID, StudentName, Age dan City. Di sini, StudentID, dan StudentName harus unik untuk setiap record.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Di sini, Stu_Example adalah nama yang diberikan untuk batasan unik yang diterapkan pada StudentID dan StudentName.

Kendala UNIK pada ALTER TABLE

Tulis kueri untuk mengubah tabel Siswa, di mana batasan UNIQUE harus ditambahkan ke kolom StudentID.

ALTER TABLE Students ADD UNIQUE (StudentID);

Demikian pula, jika Anda ingin menggunakan batasan UNIK pada beberapa kolom dan juga menamainya, Anda dapat menulis kueri sebagai berikut:

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Hilangkan batasan UNIK

Untuk menghapus batasan yang ditentukan pada kolom, Anda dapat menggunakan konvensi penamaan yang mungkin telah Anda sebutkan saat menambahkan batasan.

Misalnya, jika kita harus menulis kueri untuk menghilangkan batasan UNIK yang kita buat di atas, Anda dapat menulis kueri sebagai berikut:

ALTER TABLE Students DROP CONSTRAINT Stu_Example;

Selanjutnya dalam artikel tentang Batasan SQL ini, mari kita pahami cara menggunakan batasan CHECK.

PERIKSA Batasan

Batasan CHECK memastikan bahwa semua nilai dalam kolom memenuhi kondisi tertentu.

Contoh:

PERIKSA Batasan pada CREATE TABLE

Tulis query untuk membuat tabel Siswa, dengan kolom StudentID, StudentName, Age dan City. Di sini, kotanya harus MUmbai.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

PERIKSA batasan pada beberapa kolom

Untuk menggunakan batasan centang pada beberapa kolom, Anda dapat menulis kueri seperti di bawah ini:

Tulis query untuk membuat tabel Siswa, dengan kolom StudentID, StudentName, Age dan City. Di sini, Kotanya harus Mumbai, dan usia siswa harus> 19 tahun.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

Demikian pula, Anda dapat menggunakan batasan CHECK dengan perintah ALTER TABLE juga. Lihat di bawah.

PERIKSA Batasan pada ALTER TABLE

Tulis kueri untuk mengubah tabel Siswa, di mana batasan CHECK harus ditambahkan ke kolom Kota. Di sini, kotanya pasti Mumbai.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

Demikian pula, jika Anda ingin menggunakan batasan CHECK dengan memberinya nama, Anda dapat menulis kueri sebagai berikut:

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Hilangkan batasan PERIKSA

Untuk menghapus batasan yang ditentukan pada kolom, Anda dapat menggunakan konvensi penamaan yang mungkin telah Anda sebutkan saat menambahkan batasan.

Misalnya, jika kita harus menulis kueri untuk menghilangkan batasan CHECK yang kita buat di atas, Anda dapat menulis kueri sebagai berikut:

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Melanjutkan artikel tentang Batasan SQL ini, mari kita pahami cara menggunakan batasan DEFAULT.

Kendala DEFAULT

Konstrain DEFAULT digunakan untuk menyebutkan sekumpulan nilai default untuk kolom ketika tidak ada nilai yang ditentukan. Serupa dengan batasan lainnya, kita dapat menggunakan batasan ini pada perintah tabel CREATE dan ALTER.

Contoh

Tulis query untuk membuat tabel Siswa, dengan kolom StudentID, StudentName, Age dan City. Juga ketika tidak ada nilai yang disisipkan di kolom Kota, otomatis Delhi harus disertakan.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

Kendala DEFAULT pada ALTER TABLE

Untuk menggunakan batasan DEFAULT dengan perintah ALTER TABLE, Anda dapat menulis kueri sebagai berikut:

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Hilangkan batasan DEFAULT

Untuk menghapus batasan DEFAULT Anda dapat menggunakan perintah ALTER TABLE sebagai berikut:

ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

Selanjutnya dalam artikel tentang Batasan SQL ini, mari kita pahami cara menggunakan batasan INDEX.

Kendala INDEKS

Konstrain INDEX digunakan untuk membuat indeks dalam tabel, Dengan bantuan indeks ini Anda dapat membuat dan mengambil data dari database dengan sangat cepat.

Sintaks

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Contoh

Tulis kueri untuk membuat indeks dengan nama Stu_index pada tabel Students yang menyimpan StudentName.

CREATE INDEX Stu_index ON Students (StudentName);

Demikian pula, untuk menghapus indeks dari tabel, Anda harus menggunakan perintah DROP dengan nama indeks.

DROP INDEX Students.Stu_index;

Selain dari batasan di atas, KUNCI UTAMA dan KUNCI ASING juga dianggap sebagai batasan. Batasan PRIMARY KEY digunakan untuk mendefinisikan batasan tentang bagaimana kolom tertentu secara unik mengidentifikasi setiap tupel. Batasan FOREIGN KEY digunakan untuk menghubungkan dua tabel berdasarkan sebuah hubungan.

Dengan ini, kita mengakhiri artikel ini. Saya harap Anda mengerti bagaimana menggunakan berbagai batasan yang ada dalam database. Jika Anda ingin mempelajari lebih lanjut tentang MySQL dan mengenal database relasional sumber terbuka ini, lihat Pelatihan Sertifikasi DBA MySQL kami yang dilengkapi dengan pelatihan langsung yang dipimpin instruktur dan pengalaman proyek kehidupan nyata. Pelatihan ini akan membantu Anda memahami MySQL secara mendalam dan membantu Anda menguasai subjek tersebut.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar artikel tentang Batasan SQL ini dan saya akan menghubungi Anda kembali.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Operator SET T-SQL Bagian 2:INTERSECT dan KECUALI

  2. 50 Shades of NULL – Arti Berbeda dari NULL dalam SQL

  3. Membuat Kasus untuk BUKAN Pemicu – Bagian 1

  4. Menggunakan Data Protected dengan Custom Key Store dari Linux

  5. Amankan Cluster Mongo Anda dengan SSL