MySQL constraints (kısıtlamalar) nelerdir? (NOT NULL, UNIQUE vb.)

MySQL, veritabanı yönetimi sırasında veri bütünlüğünü sağlamak ve veritabanı tasarımını güvenli hale getirmek için çeşitli kısıtlamalar sunmaktadır. Bu kısıtlamalar, verilerin doğru, tutarlı ve güvenilir olmasını temin etmek amacıyla kullanılmaktadır. MySQL’de sıkça kullanılan kısıtlamalar arasında NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK ve DEFAULT gibi türler yer almaktadır. Bu kısıtlamaların her biri, veri tabanında belirli davranışları ve özellikleri kontrol etmeye yarar.

NOT NULL Kısıtlaması

NOT NULL kısıtlaması, bir sütunun NULL değer almasını engeller. Bu kısıtlama, bir alanın her zaman bir değer içermesini zorunlu kılar. Örneğin, bir kullanıcı tablosunda e-posta adresi bilgisi NOT NULL olarak tanımlanmışsa, her kullanıcının bir e-posta adresine sahip olması gerekmektedir. Bu sayede, eksik veri problemleri en aza indirgenecektir.

“`sql
CREATE TABLE users (
user_id INT PRIMARY KEY,
email VARCHAR(100) NOT NULL
);
“`

UNIQUE Kısıtlaması

UNIQUE kısıtlaması, belirli bir sütun veya sütun grubundaki değerlerin benzersiz olmasını garantiler. Yani, belirtilen sütun içinde birbirinin aynı olan değerler yer alamaz. UNIQUE kısıtlaması, birden fazla sütun üzerinde de uygulanabilir. Örneğin, kullanıcı adları eşsiz olmalıdır.

“`sql
CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(50) UNIQUE
);
“`

PRIMARY KEY Kısıtlaması

PRIMARY KEY kısıtlaması, bir tablodaki her satırın benzersiz bir kimliğe sahip olmasını sağlar. Bu kısıtlama, aynı zamanda NOT NULL kısıtlaması ile birleşir. Bir tablodaki bir veya birden fazla sütun, PRIMARY KEY olarak tanımlanabilir. Bu şekilde, tablodaki her kayıt için benzersiz bir tanımlayıcı sağlanmış olur.

“`sql
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(100)
);
“`

FOREIGN KEY Kısıtlaması

FOREIGN KEY kısıtlaması, bir tablodaki sütunun, başka bir tablodaki sütunla ilişkili olduğunu belirtir. Bu ilişki, veri bütünlüğünü sağlamak amacıyla kullanılır. FOREIGN KEY kullanılarak, bir tablodaki verilerin başka bir tabloda yer alan verilerle bağlantısı kurulur. Bu sayede, ilişkili verilerin tutarlılığı sağlanır. Örneğin, bir sipariş tablosundaki kullanıcı ID’sinin, kullanıcı tablosundaki mevcut user_id ile eşleşmesi zorunlu olabilir.

“`sql
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
“`

CHECK Kısıtlaması

CHECK kısıtlaması, belirli bir koşulun sağlanıp sağlanmadığını kontrol eder. Bir sütundaki veriler, belirtilen koşulu sağlamıyorsa, o değerin verilmesine izin verilmez. Bu kısıtlama, verilerin belirli bir alandan geçerek tutulmasını sağlar. Örneğin, bir kullanıcının yaşını belirtirken, yaşın 0’dan düşük olmaması kontrol edilebilir.

“`sql
CREATE TABLE users (
user_id INT PRIMARY KEY,
age INT CHECK (age >= 0)
);
“`

DEFAULT Kısıtlaması

DEFAULT kısıtlaması, bir sütun için varsayılan bir değer belirler. Bu kısıtlama, veri eklendiğinde, eğer o sütun için bir değer sağlanmamışsa otomatik olarak varsayılan değerin kullanılmasını sağlar. Örneğin, bir ürün tablosundaki ürün kategorisi sütunu için varsayılan bir kategori belirlenebilir.

“`sql
CREATE TABLE products (
product_id INT PRIMARY KEY,
category VARCHAR(50) DEFAULT ‘general’
);
“`

Kullanım Amaçları ve Önemi

MySQL’de kısıtlamaların kullanımı, veri tabanı yönetimini ve sağlığını artırmak amacıyla oldukça önemlidir. Veri bütünlüğü sağlanması, tutarsızlıkların önlenmesi ve veri kaybının engellenmesi gibi avantajlar sunar. Ayrıca, veritabanı tasarımı sırasında yapılan kısıtlamalar, uygulama geliştiricilerin veri ile daha sağlam ve güvenilir işlemler yapmalarına olanak tanır.

Kısıtlamalar sayesinde, kullanıcılar ile geliştiriciler arasında bilginin düzgün bir şekilde paylaşılmasına katkı sağlanır. Geliştiriciler, kısıtlamaları kullanarak veri tabanında daha güvenli ve sağlıklı bir ortam oluşturur, böylece sistemin genel performansı artırılır. Kısıtlamaların doğru bir şekilde uygulanması, uygulama ve veri tabanı arasındaki etkileşimi optimize eder ve kullanıcı deneyimini iyileştirir.

Veri tabanını oluşturan kısıtlamalar sonucunda, tüm sistemin güvenilirliği artar. Kullanıcılar, girilen verilerin doğru ve tutarlı olduğunu bilerek işlemlerini gerçekleştirebilir. Bu durum, veri kaybı ve hatalı verilerin sistemde yer almasının önüne geçer. Veri tabanı uygulamalarında kullanılan kısıtlamalar, sistemin genel performansını artırmanın yanı sıra, uzun vadeli bakım ve yönetim açısından da önemli faydalar sağlayacaktır.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR