Skip to main content

Melihat Constraint Pada SQL Server


Terkadang kita perlu melihat atau menampilkan constraint yang telah dibuat sebelumnya, untuk melihatnya kita hanya perlu melakukan execute query pada SQL Server.
Constraint membantu Anda menentukan cara Database Engine secara otomatis memberlakukan integritas database. Constraint mendefinisikan aturan mengenai nilai yang diperbolehkan dalam kolom dan merupakan mekanisme standar untuk menegakkan integritas. Menggunakan constraint lebih diutamakan dibanding  menggunakan DML Triggers, Role, dan Default. Optimizer query juga menggunakan definisi constraint untuk mencapai high-performance query execution plans.

Berikut akan dijelaskan cara melihat constraint  pada database SQL Server yang telah dibuat menggunakan query yang bisa langsung kita execute:

Melihat semua constraint pada semua tabel didatabase

[Use nama_database; SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint ,SCHEMA_NAME(schema_id) AS SchemaName ,OBJECT_NAME(parent_object_id) AS TableName ,type_desc AS ConstraintType FROM sys.objects WHERE type_desc LIKE '%CONSTRAINT']

Jika query diatas kita execute maka akan muncul informasi nama constraint, nama schema, nama tabel dan tipe constraint

Melihat semua constraint pada sebuah tabel

[Use nama_database; SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint ,SCHEMA_NAME(schema_id) AS SchemaName ,OBJECT_NAME(parent_object_id) AS TableName ,type_desc AS ConstraintType FROM sys.objects WHERE type_desc LIKE '%CONSTRAINT' AND OBJECT_NAME(parent_object_id)='nama_tabel_anda']

Query diatas akan menampikan informasi yang sama dengan query pertama hanya saja query tersebut hanya akan menampilkan constraint pada tabel tertentu saja.

Melihat kolom apa saja yang digunakan pada constraint tersebut

[Use nama_database; Select * from INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE where CONSTRAINT_NAME='FK_nama_constraint_anda']

Query diatas akan menampilkan informasi nama database, nama schema, nama tabel, nama kolom, nama constraint database, nama constraint schema dan nama constraint pada constraint tertentu.

Melihat semua constraint pada tipe constraint tertentu

[Use nama_database Select TC.Constraint_Name,TC.Table_Name, CC.Column_Name from information_schema.table_constraints TC inner join information_schema.constraint_column_usage CC on TC.Constraint_Name = CC.Constraint_Name where TC.constraint_type = 'tipe_constraint' order by TC.Constraint_Name]

Query diatas akan menampilkan informasi semua nama constraint, nama tabel, nama kolom pada tipe constraint tertentu. Berikut adalah tipe constraint (Constraint Type) yang ada pada SQL Server:
  1. CHECK
    CHECK constraint memberlakukan integritas domain dengan membatasi nilai yang bisa dimasukkan ke dalam kolom
  2. UNIQUE
    UNIQUE constraint memaksakan keunikan nilai pada satu set kolom tertentu
  3. PRIMARY KEY
    PRIMARY KEY constraint mengidentifikasi kolom atau kumpulan kolom yang memiliki nilai unik yang mengidentifikasi sebuah baris pada sebuah tabel
  4. FOREIGN KEY
    FOREIGN KEY constraint mengidentifikasi hubungan antar tabel
Untuk melihat semua foreign key yang ada pada database anda dapat membaca artikel saya yang berjudul Menampilkan semua Foreign Key (FK) pada SQL Server

Comments

Popular posts from this blog

Tutorial SQL Injection Menggunakan SQLMap

Kali ini kita akan membahas tutorial hacing dengan teknik SQL Injection menggunakan tool SQLMap untuk melakukan hacking atau serangan pada website berbasis data dengan tujuan untuk menemukan kerentanan keamanan pada website tersebut. SQL Injection adalah teknik injeksi code yang digunakan untuk melakukan serangan pada aplikasi web berbasis data di mana pernyataan malicious SQL dimasukkan ke dalam entri untuk di eksekusi (misalnya untuk menampilkan konten database ke penyerang). SQL injection dapat mengeksploitasi kerentanan keamanan pada perangkat lunak aplikasi, misalnya saat user salah melakukan filter inputan untuk pengiriman karakter yang disematkan dalam pernyataan SQL atau inputan user tidak diketik dengan benar dan tanpa diduga dieksekusi. SQL Injection lebih dikenal sebagai vektor serangan untuk sebuah situs web namun juga dapat digunakan untuk menyerang semua jenis database SQL. Apa itu SQLMap SQLMap adalah salah satu tool otomatis untuk melakukan SQL Injection yang

Penjumlahan dan pengurangan tanggal di PHP

Penjumlahan (tambah) dan pengurangan (kurang) tanggal di PHP sering  kita jumpai di beberapa kasus pembuatan sistem seperti pembuatan fitur peminjaman, perizinan, pemesanan dan lain-lain. Kali ini kita akan membahas bagaimana  suatu tanggal dapat di tambah atau di kurangi dengan hari, bulan dan tahun. Ok langsung saja kita bahas materinya!

Cara membuat Hak Akses (Privileges) pada user SQL Server (Grant dan Revoke)

Pada tutorial kali ini kita akan belajar bagaimana cara membuat atau memberi grant atau revoke hak akses (Privileges) pada user di SQL Server menggunakan syntax Transact SQL (T-SQL). Anda dapat memberi GRANT dan REVOKE hak akses pada berbagai objek database di SQL Server. Kali ini kita akan melihat bagaimana memberi dan menghapus hak akses pada tabel di SQL Server. Memberikan permissions dan menghapus permissions tidak terlalu sulit dilakukan di dalam SQL Server, hanya butuh beberapa waktu untuk menentukan permissions apa yang harus diterapkan. Sebelumnya anda harus membuat user dahulu pada SQL Server, setelah itu baru kita bisa memberi Hak Akses. Berikutnya pastikan anda sudah membuat atau menjalankan script dibawah ini. [USE [nama_database] GO CREATE USER [nama_user] FOR LOGIN [nama_user]] Grant Hak Akses (Privileges) pada  tabel Anda dapat memberi (Grant) berbagai hak akses ke tabel pada user. Hak akses ini bisa berupa kombinasi SELECT, INSERT, UPDATE, DELETE, REFERENCES