ENUM ve SET veri türleri, veri tabanlarında sıklıkla kullanılan türlerdir. Aşağıda bu veri türlerinin amaçlarına ve kullanım alanlarına değinilecektir.
ENUM Veri Türü
ENUM veri türü, bir değeri bir liste içerisinde belirlemek için kullanılan bir türdür. ENUM veri türü, veri tabanlarındaki sütunlarda bir liste oluşturarak bu listeden bir veya birden fazla seçim yapılmasına izin verir. Bu veri türü, birçok veri tipini küçük bir sayıda veri türüyle temsil etmek için kullanışlıdır.
ENUM veri türünün kullanımı aşağıdaki gibidir:
CREATE TABLE örnek_tablo (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`ad` VARCHAR(100) NOT NULL,
`cinsiyet` ENUM('Kadın','Erkek') NOT NULL,
PRIMARY KEY (`id`)
);
Yukarıdaki örnekte, \"cinsiyet\" sütunu sadece \"Kadın\" veya \"Erkek\" seçeneklerini içerebilir.
SET Veri Türü
SET veri türü, ENUM veri türü gibi bir dizi değere izin verir, ancak birden fazla seçeneği seçmenize olanak tanır. SET veri türü, ENUM veri türüne benzer şekilde, bir sütunda birden fazla seçenek belirlemek için kullanışlıdır.
SET veri türünün kullanımı aşağıdaki gibidir:
CREATE TABLE örnek_tablo (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`ad` VARCHAR(100) NOT NULL,
`günler` SET('Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi','Pazar') NOT NULL,
PRIMARY KEY (`id`)
);
Yukarıdaki örnekte, \"günler\" sütunu haftanın günlerinden birden fazlasını seçebilir.
ENUM ve SET veri türleri, önemli bir veri türüne gereksinim duyan durumlarda kullanışlıdır. Ancak, bu veri türleri sık kullanıldığı zaman veritabanının boyutunu artırabilir, bu da performans sorunlarına neden olabilir. Bu nedenle, ENUM ve SET veri türlerinin dikkatli bir şekilde kullanılması önerilir.
Örnek Kodlar
ENUM veri türü örneği:
INSERT INTO örnek_tablo (ad, cinsiyet) VALUES ('Ahmet', 'Erkek');
INSERT INTO örnek_tablo (ad, cinsiyet) VALUES ('Ayşe', 'Kadın');
SET veri türü örneği:
INSERT INTO örnek_tablo (ad, günler) VALUES ('Mehmet', 'Pazartesi,Cuma,Pazar');
INSERT INTO örnek_tablo (ad, günler) VALUES ('Zeynep', 'Salı,Çarşamba,Perşembe');