VERİTABANI SİSTEMLERİ Dersi Veri İşleme soru detayı:
SORU:
Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalarından Tablo Alanları Kısıtlayıcıları hakkında bilgi veriniz.
CEVAP:
Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalarından Tablo Alanları Kısıtlayıcıları: Tablolara veri ekleme SQL komutu yazarken yazım hatası ya da veri tipi uyumsuzluğunun dışında tablo alanlarında tanımlanmış kısıtlayıcılar da hatalara neden olabilmektedir. Örneğin bir alanın boş bırakılamayacağına ilişkin bir tasarım yapıldıysa veri ekleme esnasında o alanın boş bırakılamayacağı konusunda kullanıcıya hata üretilir. “Cannot insert the value NULL into column 'a', table 'Northwind. dbo.Calisanlar'; column does not allow nulls. INSERT fails” Ayrıca CHECK ifadesi ile oluşturulmus alanların alması gereken değerlerin sınırları dışında bir işlem de hataya neden olabilir. Aşağıda [Calısanlar] adlı tablonun [Ucret] alanına eklenmek istenen bir değerin kurala uymadığı hatasını veren bir örnek yer almaktadır. “The INSERT statement conflicted with the CHECK constraint “CHKi Ucret”. The conflict occurred in database “Northwind2”, table “dbo. Calisanlar”, column 'Ucret'” Tablolar arasında tanımlanan yabancı anahtar ilişkileri de bir alana girilecek değerin farklı bir tabloda olmasına zorlayabilir. Bu durumda da kullanıcıya hata benzer bir iletiyle bildirilir. Bu ve benzer hatalar, VALUES komutu ile gerçekleştirilen veri ekleme işlemlerinde kolayca fark edilerek çözülebilir. Ancak binlerce satır verinin başka tablolardan elde edilerek ekleme işlemlerinde bu hatalar hayli can sıkıcı olabilmektedir. Veritabanı ve tabloların yapılarını bilmek, kaynak verilerin türü ve içeriği konusunda bilgi sahibi olmak bu tür hataların çözülmesinde oldukça önemli olmaktadır.