Tutorial Bassic Mysql Bagian 7 - Constraint Data

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
Tutorial Bassic Mysql Bagian 7 - Constraint Data

Constraint dalam database MySQL digunakan untuk menentukan aturan yang memelihara data dalam tabel untuk memastikan validitas, akurasi, konsistensi, dan keandalan data.

Menerapkan constraint pada data dalam database relasional berfungsi untuk mengontrol tipe data yang disimpan dalam tabel. Ini akan memaksa MySQL untuk menolak proses yang melanggar aturan yang ditentukan.

Misalnya: 

Anda harus berusia 18 tahun di banyak negara untuk mengajukan SIM. Dalam hal ini, Anda dapat menerapkan batasan SQL CHECK pada kolom yang relevan di tabel terkait dalam database untuk membatasi pendaftaran siapa pun yang berusia di bawah 18 tahun.

Contoh lain adalah di kebanyakan universitas saat ini, setiap mahasiswa akan didaftarkan dengan alamat email yang berisi nama domain universitas.

Anda dapat menerapkan batasan UNIQUE untuk memastikan bahwa universitas tidak memberikan alamat email yang sama kepada dua mahasiswa.

Dalam kasus ini, jika ada konflik antara batasan dan proses penyisipan atau pembaruan data, proses yang melanggar aturan constraint akan dibatalkan.

A) Tipe constraints


Ada 3 type constraint, diantaranya sebagai berikut :

1) Domain Constraints


Batasan domain mengacu pada aturan khusus yang ditentukan untuk nilai yang dapat disimpan untuk kolom tertentu.

Untuk menerapkan ini, Anda harus menentukan nilai data apa yang diizinkan dan mana yang harus ditolak.

Misalnya:

Anda dapat menentukan nomor rentang yang valid bagi pengguna untuk menilai layanan streaming yang menawarkan berbagai acara TV dan film. 

Kisaran ini bisa berupa angka antara 3 dan 10, dalam hal ini pengguna tidak akan dapat memasukkan nilai yang lebih dari 10 dan kurang dari 3.


2) Key Constraints


Ada berbagai jenis key dalam database relasional. Misalnya, setiap tabel harus memiliki primary key yang menjaga integritas tabel.

Primary key memastikan tidak ada duplikasi catatan dalam tabel yang sama. Juga, ini memungkinkan mengidentifikasi setiap catatan data menggunakan nilai primary key. Oleh karena itu, harus unik di setiap baris tabel, dan tidak boleh berisi nilai null.

Misalnya:

setiap warga negara yang tinggal di Denmark harus memiliki nomor pribadi unik yang dapat digunakan untuk mengakses berbagai jenis layanan negara.

3) Referential Integrity Constraints


Dalam database relasional, tabel dihubungkan melalui foreign key di satu tabel yang ditautkan ke foreign key (atau kunci unik) di tabel lain.

Ini menyiratkan bahwa nilai kolom foreign key di tabel 'referensi' juga harus ada di tabel yang direferensikan. Jika tidak, Anda akan berakhir dengan masalah karena "koneksi" antara catatan tabel akan berhenti.

Oleh karena itu, mempertahankan integritas referensial mengharuskan nilai foreign key harus memiliki nilai primary key yang cocok untuk menautkan rekaman tabel terkait yang berbeda.

B) Studi Kasus


sample bassic mysql bagian 6 - constraint sample bassic mysql bagian 6 - constraint // source image coursera

Dari gambar diatas kita akan membuat 3 table yaitu: Clients, Orders, Items

Tugas 1: Buat tabel Clients dengan kolom dan constraint berikut.


  • ClientID: INT, NOT NULL dan PRIMARY KEY

  • FullName: VARCHAR(100) NOT NULL

  • PhoneNumber: INT, NOT NULL dan UNIQUE


Tugas 2: Buat tabel Items dengan atribut dan constraint berikut:

  • ItemID: INT, NOT NULL dan PRIMARY KEY

  • ItemName: VARCHAR(100) dan NOT NULL

  • Price: Decimal(5,2) dan NOT NULL


Tugas 3: Buat tabel Orders dengan constraint berikut.

  • OrderID: INT, NOT NULL dan PRIMARY KEY

  • ClientID: INT, NOT NULL dan FOREIGN KEY

  • ItemID: INT, NOT NULL dan FOREIGN KEY

  • Quantity: INT, NOT NULL dan maksimal barang yang di perbolehkan dalam setiap pemesanan hanya 3 saja

  • COST Decimal(6,2) dan NOT NULL


C) Video Tutorial


 

Baca artikel lainya:


  1. Tutorial bassic Mysql bagian 1 - Create Read Update Delete

  2. Tutorial bassic Mysql bagian 2 - Inner, Left, Right, Cross Join

  3. Tutorial bassic Mysql bagian 3 - Filtering Data

  4. Tutorial bassic Mysql bagian 4 - Grouping Data 

  5. Tutorial bassic Mysql bagian 5 - Operator dan Clausa

  6. Tutorial bassic Mysql bagian 6 - Replace Statement

  7. Membuat service OTP bagian 1 - OTP dan PIN

  8. Membuat service OTP bagian 2 - Sequence Diagram

  9. Membuat service OTP bagian 3 - Model dan Serializer

  10. Membuat  service OTP bagian 4 - Validate OTP

  11. Membuat  service OTP bagian 5 - Api Client Service

  12. Membuat service user login bagian 1 - Konfigurasi Database

  13. Membuat service user login bagian 2 - Serializer dan JWT

  14. Membuat CRUD service product bagian 1 - Models Product

  15. Membuat CRUD service product bagian 2 - Function Serializer

  16. Membuat CRUD service product bagian 3 - Api Client Service

  17. Membaut CRUD service product bagian 4 - Auth User

  18. Membuat CRUD service product bagian 5 - TDR File Log

  19. Membuat CRUD service product bagian 6 - Unit Test

  20. Membuat service user register bagian 1 - Django

  21. Membuat Service user register bagian 2 - Django

  22. Membuat service filter dan download file CSV di django

  23. Django upload file menggunakan FileSystemStorage

  24. Tips meningkatkan kualitas code pada bahasa python

  25. Cara memfilter tipe data string pada golang dan python

  26. Mengubah format datetime pada bahasa python

  27. Mengolah data CSV dengan python pandas

  28. Sample join data CSV di python menggunakan pandas

  29. Menggunakan redis PUB/SUB untuk aplikasi python

  30. Implementasi blockchain ethereum pada industri real estate