Veritabanı Sistemleri Dersi 7. Ünite Sorularla Öğrenelim

Veri İşleme

1. Soru

Bir veritabanına veri girmenin temel olarak kaç farklı yolu vardır? Açıklayınız.

Cevap

Bir veritabanına veri girmenin temel olarak iki farklı yolu vardır. Bunlardan ilki veritabanına klavyeden kullanıcı girişi ile istenilen değerlerin girilmesidir. Bu durum veritabanı yapısının bilgi girmesi gereken kişi tarafından görülmesine neden olabilir. Ayrıca tabloların her alanı için hangi tür verinin girilmesi gerektiği bilinmelidir. Bunun yerine veritabanına veri girerken bir uygulama tarafından hazırlanacak olan veri giriş formları kullanmak daha uygun olacaktır. Veri giriş formları, veritabanına verilerin daha kolay, daha hızlı ve daha doğru girilmesini sağlayabilir. Veri giriş formları kullanılarak aynı anda bir veya birden fazla tablonun farklı alanlarına bilgi girişini sağlamak mümkün olmaktadır. Örneğin, hazırlanacak bir form ile örnek veritabanındaki [Müşteriler] ve [Siparişler] tablolarının gerekli alanlarına aynı anda veri girişini sağlamak mümkündür. Ayrıca bir tablodaki alanlardan bazılarının alabileceği değerleri bilgi girişi yapacak kişiye seçenekli olarak sunulabilir veya bazı giriş alanları da otomatik olarak doldurarak kullanıcının daha kolay ve daha az hata yapabilmesi sağlanabilir. [Müşteriler] tablosundaki [Şehir] alanına bilgi girişi yapacak kişinin Şehir ismini yazması yerine açılır metin girici ile seçim yaparak girmesi hem bilgi girişini hızlandıracak hem de hatalı girişlerin azalmasını sağlayacaktır. Oluşturulacak bilgi girişi formu ile bazı alanlarda otomatik olarak veri tanımlanabilmektedir. Örnek veritabanındaki [Siparişler] tablosunun alanını varsayılan değer olarak sistem zamanını getiren bir fonksiyonu kullanmaktadır. Böylece [Sipariş Tarihi] verisinde hem hatalı giriş hem de format hataları engellenmiş olur. Formlarda listeler, metin kutuları, düğmeler ve veri sayfaları gibi denetimlerden veri giriş ve düzenleme işlemlerinde kullanılabilir. Buna karşılık, formdaki denetimlerin her biri esas alınan bir tablo alanından veri okur veya bu tablo alanına veri yazar. Belirli bir denetimin kullanım kısıtları; esas alınan tablo alanı için ayarlamış olan veri türüne, bu alan için ayarlanmış özelliklere ve veritabanı tasarımcısının her bir denetim için belirlediği bazı özelliklere bağlıdır. Örneğin, Müşterilerin çoğunluğu Eskişehir ilinden ise veri giriş formunda varsayılan olarak Eskişehir seçili olarak gelebilir. Bununla beraber, telefon alanı için seçilen ile göre Şehir alan kodunun da veri giriş formu tarafından otomatik olarak doldurulması sağlanabilir. Bu gibi yapılabilecek her türlü farklı uygulamalar sayesinde hem daha hızlı hem de daha doğru bilgilerin girişi sağlanabilir.


2. Soru

Hangi durumlarda tablonun bir veya birden fazla alanındaki değerlerin değiştirilmesi gerekebilir? Örnek ile açıklayınız.

Cevap

Bazı durumlarda ise tablonun bir veya birden fazla alanındaki değerlerin değiştirilmesi gerekebilir. Örneğin, personellerimizden birinin soyadı evlilik dolayısıyla değişmiş olabilir. Böyle bir durumda [Çalışanlar] tablosundaki [Soyadı] alanında tutulan personelin soyadının yeni soy adı ile değiştirilmesi/güncellenmesi gerekmektedir. Bu değiştirilme işlemi iki şekilde yapılabilir. Bunlardan bir tanesi soy adı değiştirilmek istenen personel ile ilgili kaydın tablodan silinip, soy adı değiştirilmiş olarak tüm bilgileri ile yeni kayıtın veritabanına eklenmesidir. Bu işlemi yapabilmek için ilk önce silme işlemi daha sonra ise yeni kayıt işlemi olmak üzere iki farklı işlemin yapılması gerekmektedir. Bunun yerine sadece değiştirilmek istenen kayıttaki alanın değerinin değiştirilmesi daha kolay bir işlemdir.


3. Soru

Veri işleme komutları kullanarak bir tabloya yeni bir kayıt eklemek, mevcut kayıt üzerinde değişiklik yapmak veya kaydı silmek tek başlarına kullanılabileceği gibi bu işlemlerin tek bir adımda arka arkaya yapılması da gerekebilir. Bu durumu örnek ile açıklayınız.

Cevap

Veri işleme komutları kullanarak bir tabloya yeni bir kayıt eklemek, mevcut kayıt üzerinde değişiklik yapmak veya kaydı silmek tek baslarına kullanılabileceği gibi bu işlemlerin tek bir adımda arka arkaya yapılması da gerekebilir. Örneğin, bir firmaya bir ürün satın almak üzere bir istek geldiği zaman, ilk önce ürünün stoklarda olup olmadığı kontrolünün yapılması, ürün var ise bu konuda bir Siparişin oluşturulması, bu ürünün müşteriye gönderilmesi ve firmadaki stoktan düşülmesi arka arkaya yapılması gereken işlemlerdir. Veri işleme komutları kullanarak tüm bahsedilen işlemler ayrı ayrı yapılabilir. Ancak tüm bu işlemler aslında tek bir işlemin alt kollarıdır ve bütün işlemlerin beraber gerçekleştirilmesi gerekmektedir. İşlemlerden bir tanesinin yapılamaması durumunda diğer işlemlerin de iptal edilmesi gerekmektedir. SQL dili arka arkaya yapılması gereken bir veya birden fazla veri işleme komutlarının hepsini tek bir işlem altında toplama imkânı vermektedir. Ayrıca grup içinde bir işlemin başarısız olması hâlinde yapılan işlemlerin geri alınabilmesini, işlemler tamamlandığı durumda ise kalıcı değişikliklerin yapılmasını sağlar.


4. Soru

Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalarından Veri Tipi Uyum Hataları hakkında bilgi veriniz.

Cevap

Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalarından Veri Tipi Uyum Hataları: Tablo eklemede yaygın olarak Karşılaşılan hatalardan biri de eklenen verinin türü ile eklenmek istenen tablodaki alanın türü arasındaki uyuşmazlıktır. Metin türündeki bir alana sayısal veri eklenmesi durumunda veritabanı yönetim sistemi yazılımları bu hatayı tolere edebilmektedir ancak sayısal veri türündeki bir alana metin girilmesi hata üretilmesine neden olur. Örneğin metin sayı türündeki bir alana metin verisi eklenmek istenildiğine “Msg 245, Level 16, State 1, Line 1 Conversion failed when converting the varchar value 'rtrt3' to data type int.” hatası üretilir. Bu hata mesajında SQL veritabanı motorunun metin değerini sayıya çevrilmeye çalışıldığı ancak hata ile sonuçlandığı bildirilmektedir. Veritabanı yönetim yazılımları bu tür hataları gidermek için çeşitli yöntemler kullanırlar. Metin türündeki verinin sayıya dönüştürülmesi ve ondalıklı sayıların tam sayıya dönüştürülmesi, hataları en aza indirmek için uygulanabilmektedir. Tarih türündeki verileri veritabanı tablolarına eklemede farklı dillerde tarih yazımlarının farklı olması sorun yaratabilmektedir. Bu sorunu çözmek için tarih verisini dönüştürme ile ilgili kurallar kullanılabilir. Ancak el ile tarih bilgisi girmede ‘Yıl/Ay/Gün’ biçiminde verinin yazılması hatayı engelleyebilmektedir. Tarih bilgisi hatalı girildiğinde aşağıdakine benzer bir hata mesajı alınabilir. “Msg 242, Level 16, State 3, Line 1 The conversion of a varchar data type to a datetime data type resulted in an out-of-range value. The statement has been termi-nated.”


5. Soru

Genelde veritabanı tasarımı yapılırken bir tablodaki alanların kabul ettiği veri türü hakkında bilgi veriniz.

Cevap

Genelde veritabanı tasarımı yapılırken bir tablodaki alanların her biri yalnızca bir tür veri kabul eder. Ancak bu katı, değişmez bir kural degildir. [Müşteriler] tablosundaki [Posta Kodu] alanı metin veri türüne ayarlanmış olsa bile bu alanda sayılar depolanabilir ancak o veri üzerinde toplama, çıkartma vb. gibi aritmetik hesaplamalar doğrudan yapılamaz. Bazı istisnalar dışında, bir kayıttaki alanlar yalnızca bir değer kabul etmelidir. Aynı tablodaki [Adres] alanına birden fazla adres girilmemesi gerekir. Bu yaklaşım, sınırlı türde veri kabul edecek şekilde ayarlanmadıkça, varsayılan olarak hücrelere istediğiniz kadar ad, adres veya resim girmenize olanak tanıyan Excel programı ile tamamen farklı bir durumdur.


6. Soru

SQL Server Management Studio programlar menüsünden çalıştırıldığı zaman ilk önce veritabanına bağlanılması için veritabanına bağlama işleminin gerçekleştirileceği bağlama ekranı ile karşılaşılır. Bağlama ekranında bağlanılacak veritabanının ne seçimi yapılır?

Cevap

Veritabanının ismi (Server Name) ve Authentication seçimi yapılır.


7. Soru

Tablolara sütun (alan) ekleme veri tanımlama dilindeki ALTER komutu ile gerçekleştirilmektedir. Veritabanı tablolarına bir veya daha çok satır (kayıt) eklemek için SQL dilinde INSERT INTO deyimi kullanılır. Bu işlem ne olarak adlandırılır?

Cevap

Bu işlem Ekleme Sorgusu olarak adlandırılır.


8. Soru

Bir veya birden fazla SQL ifadesi arka arkaya tek bir işlem gibi çalıştırılmak istenildiği zaman ne yapısı kullanılır?

Cevap

TRANSACTION yapısı kullanılır.


9. Soru

Bir veritabanı uygulamasının temel amacı nedir?

Cevap

Bir veritabanı uygulamasının temel amacı kayıtların veritabanında saklanması ve bu kayıtların istenildiği zaman sorgulanabilmesidir. Ancak bazı durumlarda veritabanına girilen kayıtların silinmesi de gerekebilmektedir. Hatalı kayıtlar, güncelliğini yitirmiş kullanılmayan kayıtların veritabanından silinmesi gerekebilmektedir. Örneğin, bir firmada çalışan personel herhangi bir sebeple firmadan ayrıldığı zaman o personele ait bilgilerin veritabanında saklanmasına ihtiyaç kalmayabilir. Veritabanında kayıt silme işlemi iki şekilde yapılmaktadır: Bir tablodaki herhangi bir kayıtın silinmesi ikincisi de o tablodaki tüm kayıtların silinmesidir.


10. Soru

Sorgu sonucunun bir tabloya eklenmesi için ne yapılmalıdır?

Cevap

Sorgu sonucunun bir tabloya eklenmesi için kullanılan komut yapısında ise VALUES yerine SELECT ile baslayan sorgu ifadesi yer almaktadır. Sadece başka bir tablodan değil kullanıcının tanımlayacağı bir veri kümesinden elde edilen sorgu sonucu ilgili tabloya eklenir. MS SQL Server’ın son yıllardaki sürümlerinde aynı sunucudaki başka veritabanından elde edilen sorgu sonuçları da tablolara eklenebilmektedir.


11. Soru

Veritabanı kendi bilgisayarımız üzerinde çalışıyor ise hangi modda bağlama düğmesine (Connect) basılarak SQL Server Management Studio’ya bağlanma işlemi gerçekleştirilir?

Cevap

Veritabanı kendi bilgisayarımız üzerinde çalışıyor ise Windows Authentication modunda bağlama düğmesine (Connect) basılarak SQL Server Management Studio’ya bağlanma işlemi gerçekleştirilir.


12. Soru

Veritabanı Sistemlerini tanımlayınız.

Cevap

Veritabanı Sistemleri, Word, Excel ya da PowerPoint gibi ofis yazılımlarının dosya yapısından farklı olarak birlikte çalışması gereken nesnelerin (tablo, görünüm, indeks, saklı yordam vb.) oluşturduğu bir topluluktur. Bahsedilen tüm bu nesnelerin birbiri ile uyumlu ve düzgün çalışabilmesi için bir takım tasarım ilkelerine uyması gerekmektedir. Bu tasarım ilkelerinin kötü tasarlanması veya tasarım kurallarına uyulmaması hâlinde problemlerle karşılaşılması kaçınılmaz olur ve başarısız veya tümüyle işe yaramayan veritabanı uygulamaları ortaya çıkabilir. Veritabanı tasarımı yapılırken sadece tablolar ve tablolar arasındaki bağlantıların nasıl olacağına karar verilmez. Hangi tablonun hangi amaçla kullanılacağı önemlidir.


13. Soru

Veritabanına bağlanma işleminden sonra açılan pencerenin sol tarafında neler bulunmaktadır?

Cevap

Veritabanına bağlanma işleminden sonra açılan pencerenin sol tarafında Object Explorer alanında SQL Server Management Studio üzerinde yer alan veritabanları ve diğer nesneler bulunmaktadır. Burada görülen her öğenin yanında bulunan artı işaretine tıklanarak genişletme işlemi gerçeklenir. Genişletme işlemi gerçeklendiği zaman artı işareti eksi işareti hâlini alır. Eksi işaretine tıklanarak daraltma işlemi yapılabilir.


14. Soru

Örnek uygulamaların gerçekleştirildiği Northwind veritabanında yer alan [Müşteriler] tablosunu incelersek neyi görürüz?

Cevap

Örnek uygulamaların gerçekleştirildiği Northwind veritabanında yer alan [Müşteriler] tablosunu incelersek, tablonun ilgili şirketin satış işlemi gerçekleştirdiği birey ya da firmalara ait bilgilerinin tutulduğunu görürüz. Aynı tablo Müşterilere ait sipariş bilgilerinin de depolanması için tasarlanabilirdi. Ancak bu durumda her siparişte müşteri bilgilerinin tekrar edilmesi gerekirdi. Bu ve bunun gibi sebepler ilişkisel veritabanı sistemlerinin veri tekrarı ve kaybının engellenmesi, veri ekleme, güncelleme ve işlememe kolaylığının sağlanması için geliştirilmiş yapılardır.


15. Soru

Veritabanı yönetim sistemlerinde verilerin ilişkisel olarak depolandığı tablolara hangi yöntemlerle veri girilebilmektedir?

Cevap

Veritabanı yönetim sistemlerinde verilerin ilişkisel olarak depolandığı tablolara birçok farklı yöntemlerle veri girilebilmektedir. Klavyeden el ile veri girişi, diğer tablolardan elde edilecek veriler, dış kaynaklardan alınabilecek verilerin tablolara eklenmesi gerçekleştirilebilir. Veritabanı tablolarında her bir satır ilgili tablonun gerçek dünyada temsil varlığın bir örneğidir.


16. Soru

Verilerin tablolara eklenmesi tabloların tasarımı ile nasıl ilişkilidir?

Cevap

Verilerin tablolara eklenmesi tabloların tasarımı ile yakından ilişkilidir. Her tablo bir kullanım amacıyla oluşturulurken tablodaki alanların her biri yalnızca bir tür veri kabul edecek şekilde tanımlanmalıdır. Örneğin, [Müşteriler] tablosundaki [No] alanına rakam, [Adres] alanına ise metin girilebilecek şekilde tasarlanması uygun olacaktır. Eğer rakam girilecek bir şekilde tasarlanmış bir alana metin girilmesi hâlinde veritabanı hata mesajı üretecektir. Bu sayede her alan için yanlış bilgilerin girilmesini engellemek mümkündür.


17. 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.


18. Soru

Neden bir tabloya veri ekleme yeni bir nesne, satır ya da kayıt ekleme işlemidir. Veritabanı tablolarında işlem tabloları gibi yeni sütun ekleme çok yaygın değildir?

Cevap

Bir tabloya veri ekleme yeni bir nesne, satır ya da kayıt ekleme işlemidir. Veritabanı tablolarında işlem tabloları gibi yeni sütun ekleme çok yaygın değildir. Bunun nedeni veritabanı tasarlanırken tabloda depolanacak varlığın özelliklerinin (tablonun sütunlarının) başlangıçta belirlenmesidir.


19. Soru

Silme işlemi yapılırken dikkat edilmesi gereken nedir?

Cevap

Silme işlemi yapılırken tablolar arasında bulunan ilişkilerin bozulmamasına dikkat edilmesi gerekmektedir. [Müşteriler] tablosundaki müşteri silinme işlemi gerçekleşmiş olsaydı (bu müşteriye ait Siparişler hâlâ [Siparişler] tablosunda bulunmaktadır) iki tablo arasındaki kayıtlar arasında tutarsızlık ortaya çıkacaktı. Bundan dolayı veritabanı oluşturulurken bu iki tablo birbirine bağlanmış, tablolar arasında ortaya çıkabilecek tutarsızlıkların önüne geçilmiştir. Bu müşterinin [Müşteriler] tablosundaki kaydının silinebilmesi için öncelikle bağlı olduğu [Siparişler] tablosundaki kayıtların silinmesi gerekmektedir. [Siparişler] tablosundaki bu müşteriye ait kayıtlar aşağıdaki SQL komutu çalıştırılarak silinebilir.


20. Soru

Hangi komutu kullanarak bir tabloda bulunan kayıt veya kayıtların istenildiği zaman silinmesi mümkündür?

Cevap

DELETE komutu kullanarak bir tabloda bulunan kayıt veya kayıtların istenildiği zaman silinmesi mümkündür.


21. Soru

Verilerin tablolara eklenmesi için eklenecek verilerin düzenlenmesi gerekebilmektedir. Bu gibi durumlarda SQL server dilindeki işlevler kullanılabilmekte ve verinin ne yapılması sağlanabilmektedir?

Cevap

Verinin istenilen forma getirilmesi sağlanabilmektedir.


22. Soru

TRANSACTION yapısı içerisinde yazılmış olan komutların herhangi birinde hata olması durumunda ne olur?

Cevap

TRANSACTION yapısı içerisinde yazılmış olan komutların herhangi birinde hata olması durumunda TRANSACTION yapısının sonunda COMMIT yazılsa bile hatadan dolayı işlemlerden biri gerçekleşemeyeceği için (TRANSACTION bütün işlemleri tek bir işlem olarak ele aldığından dolayı ve başarım için bütün işlemlerin başarılı olması gerektiğinden dolayı) alttaki şekilde gösterildiği gibi kayıt işlemleri gerçekleşmeyecektir.


23. Soru

Object Explorer alanında hangi alanlar seçim yapılarak görülebilmektedir?

Cevap

Object Explorer alanında sistemde kurulu olan tüm veritabanları, veritabanları içinde yer alan tüm tablolar ve tablolara ait olan alanlar seçim yapılarak görülebilmektedir. Bununla beraber tablodaki her alanın özelliklerini görebilme ve yetki dahilinde değiştirebilme işlemlerini de buradan yapabilme imkanı mevcuttur.


24. Soru

SQL Server Management Studio kullanılarak yapılması mümkün olan nedir?

Cevap

SQL Server Management Studio kullanılarak veritabanına klavyeden kullanıcı girişi ile istenilen değerlerin girilmesi, silinmesi veya değiştirilmesi mümkündür.


25. Soru

Veritabanı Sistemleri, Word, Excel ya da PowerPoint gibi ofis yazılımlarının dosya yapısından farklı olarak birlikte çalışması gereken nesnelerin oluşturduğu bir topluluktur. Bu nesneler nelerdir?

Cevap

Tablo, görünüm, indeks, saklı yordam vb.


26. Soru

Veritabanı yönetim sistemlerinde verilerin ilişkisel olarak depolandığı tablolara birçok farklı yöntemlerle veri girilebilmektedir. Klavyeden el ile veri girişi, diğer tablolardan elde edilecek veriler, dış kaynaklardan alınabilecek verilerin ne yapılması gerçekleştirilebilir?

Cevap

Tablolara eklenmesi gerçekleştirilebilir.


27. Soru

Bir veritabanı uygulamasının temel amacı kayıtların veritabanında ne yapılabilmesidir?

Cevap

Kayıtların veritabanında saklanması ve bu kayıtların istenildiği zaman sorgulanabilmesidir.


28. Soru

Bir tablodaki tüm kayıtları silmek için WHERE ifadesi kullanmadan ne komutu kullanılır?

Cevap

DELETE ya da TRUNCATE komutu kullanılır.


29. Soru

Veritabanı üzerinde veri güncelleme işlemleri tıpkı DELETE işlemlerinde olduğu gibi çok dikkat gerektiren işlemlerdendir ve sıklıkla kullanılmaktadır. Ne komutu ile bir veritabanı üzerinde bir tabloda istenilen bir kayıt ve kayıtların güncelleme işlemi yapılabilir?

Cevap

UPDATE komutu ile bir veritabanı üzerinde bir tabloda istenilen bir kayıt ve kayıtların güncelleme işlemi yapılabilir.


30. Soru

INSERT INTO komutu niçin kullanılır?

Cevap

Bir tabloya doğrudan veya başka tablolardan sorgulama sonucu elde edilen kayıtları eklemek için INSERT INTO komutu kullanılır. Bu komut bir tabloya istenilen değerlerin yazılarak girilmesi ya da başka bir sorgu ile elde edilen veri kümesinin girilmesi için kullanılabilir.


31. Soru

INSERT INTO ekleme sorgusunun bir seçme sorgusu ile çalısmasında dikkat edilmesi gereken konu nedir?

Cevap

INSERT INTO ekleme sorgusunun bir seçme sorgusu ile çalısmasında dikkat edilmesi gereken konu alan sayılarının eşleşmesi ve alan içerisindeki veri türlerinin uyum göstermesidir. Bu uyum alan türünün aynı olmasında bile sağlanamayabilir. Örneğin metin türündeki iki alan, uzunlukları nedeniyle hataya sebep olabilmektedir.


32. Soru

Veri ekleme ve silme işlemlerinde olduğu gibi güncelleme işlemlerinde de güncellenmek istenen veri ne komutu ile bir sorgu sonucu kullanarak elde edilebilir?

Cevap

Select komutu ile bir sorgu sonucu kullanarak elde edilebilir.


33. Soru

Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalar nelerdir?

Cevap

Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalar, Yazım Hataları, Veri Tipi Uyum Hataları ve Tablo Alanları Kısıtlayıcılarıdır.


34. Soru

TRANSACTION yapısının avantajlarından bir tanesi ise işlemlerden herhangi birinin yapılmaması veya işlem yapılırken birinde ortaya çıkacak hatadan dolayı neyin de yapılmamasını sağlamasıdır?

Cevap

Tüm işlemlerin de yapılmamasını sağlamasıdır.


35. Soru

COMMIT kavramı hakkında bilgi veriniz.

Cevap

COMMIT: Oluşturulan TRANSACTION işlemi başarılı bir şekilde gerçekleştirildiğinde veritabanında tablolar üzerinde yapılan işlemlerin (Örneğin INSERT, UP-DATE, DELETE) tablolara kalıcı olarak aktarılmasıdır.


36. Soru

Hangi komut ile bir veritabanı üzerinde bir tabloda istenilen bir kayıt ve kayıtların güncelleme işlemi yapılabilir?

Cevap

UPDATE komutu ile bir veritabanı üzerinde bir tabloda istenilen bir kayıt ve kayıtların güncelleme işlemi yapılabilir. Bununla beraber UPDATE komutu kullanarak bir tabloda bulunan kayıtların bir kısmı veya tamamının da herhangi bir alanındaki veya tüm alanlarındaki değerleri istenildiği zaman degiştirmek/güncellemek mümkündür. Genel yapısı aşağıdaki gibidir.

UPDATE TabloAdı

SET alan1 = değer1, alan2 = değer2, …

WHERE Koşul


37. Soru

DELETE komutu kullanarak bir tabloda bulunan kayıt veya kayıtların istenildiği zaman silinmesi mümkündür. DELETE komutu kullanılırken FROM ekinden sonra yazılan TabloAdı’ndaki kayıtları silme işlemi gerçekleştirmek için kullanılır. WHERE ifadesi ise kendisinden sonra yazılan ne ifadesi ile tablodaki hangi kayıtların silinmesi gerektiğini belirlemek için kullanılır?

Cevap

Koşul ifadesi ile tablodaki hangi kayıtların silinmesi gerektiğini belirlemek için kullanılır.


38. Soru

Bir tabloya doğrudan veya başka tablolardan sorgulama sonucu elde edilen kayıtları eklemek için INSERT INTO komutu kullanılır. Bu komut bir tabloya istenilen değerlerin yazılarak girilmesi ya da başka bir sorgu ile elde edilen neyin girilmesi için kullanılabilir?

Cevap

Veri kümesinin girilmesi için kullanılabilir.


39. Soru

Hangi durumda TRANSACTION yapısı kullanılır?

Cevap

Bir veya birden fazla SQL ifadesi arka arkaya tek bir işlem gibi çalıştırılmak istenildiği zaman TRANSACTION yapısı kullanılır. TRANSACTION özellikle ardı ardına gelen ve birbiriyle bağımlı birden fazla SQL komutu tek bir SQL komutu olarak kullanılmasını sağlar. Bu sayede bir TRANSACTION kullanılarak yazılan SQL komutlarının ya tamamını gerçeklestirir veya hiçbiri gerçekleştirilmez. TRANSACTION işlemleri tek bir işlem olarak ele alacağı için herhangi birisi gerçekleşmediği zaman diğer gerçekleşen işlemleri de yok sayacaktır. Yani gerçekleşen işlemi geri alacaktır(ROLLBACK kavramı). Eğer işlemlerin tamamı sorunsuz bir şekilde gerçekleşirse, tüm işlemleri kalıcı (COMMIT kavramı) hâle gelecektir. TRANSACTION kullanımın genel yapısı aşağıdaki gibidir.

BEGIN TRANSACTION

işlem 1

işlem 2

...

işlem n

ROLLBACK veya COMMIT


40. Soru

ROLLBACK kavramı hakkında bilgi veriniz.

Cevap

ROLLBACK: Transaction işlemindeki SQL komutu tarafından yapılmış olan tüm değişikliklerin geri almak için kullanılmaktadır. Yazılan SQL komutlarının herhangi birinde hata meydana gelmesi hâlinde bir sorun karşısında ROLLBACK işlemi ile kayıtları ilk hâline (transaction başladığı duruma) geri getirir.


41. Soru

Veritabanındaki alan adlarında Türkçe harflerin ve boşlukların bulunması alan adlarının köşeli parantez ya da çift tırnak içine alınmasını gerektirmektedir. Ne bölümünde alan adları ile aynı sırada ve istenilen veri türünde tabloya eklenecek değerler yazılmalıdır?

Cevap

VALUES bölümünde


42. Soru

Verilerin tablolara eklenmesi tabloların tasarımı ile yakından ilişkilidir. Her tablo bir kullanım amacıyla oluşturulurken tablodaki alanların her biri ne kabul edecek şekilde tanımlanmalıdır?

Cevap

Her biri yalnızca bir tür veri kabul edecek şekilde tanımlanmalıdır.


43. Soru

Metin türündeki bir alana sayısal veri eklenmesi durumunda veritabanı yönetim sistemi yazılımları bu hatayı tolere edebilmektedir ancak sayısal veri türündeki bir alana metin girilmesi neye neden olur?

Cevap

Hata üretilmesine neden olur.


44. Soru

SQL Server Management Studio kullanılarak veritabanına klavyeden kullanıcı girişi ile istenilen değerlerin ne yapılabilmesi ile mümkündür?

Cevap

İstenilen değerlerin girilmesi, silinmesi veya değiştirilmesi mümkündür.


45. Soru

Oluşturulan TRANSACTION işlemi başarılı bir şekilde gerçekleştirildiğinde veritabanında tablolar üzerinde yapılan işlemlerin (örneğin INSERT, UPDATE, DELETE) tablolara kalıcı olarak aktarılmasına ne denir?

Cevap

COMMIT denir.


46. Soru

SQL sorgu ifadelerinin yazımında hatalar kullanıcıya ne ile bildirilir?

Cevap

Sorgu ekranındaki konumla bildirilir.


47. Soru

Bir veritabanında yer alan tablolar, indeksler ve benzeri yapıların tasarlanması neden oldukça önemlidir?

Cevap

Bir veritabanında yer alan tablolar, indeksler ve benzeri yapıların tasarlanması sistemin hatasız ve yüksek performansla çalısması için oldukça önemlidir. Veritabanında yer alan tablo sayısı, tablolar arasındaki ilişkilerin karmaşıklığı; verilerin güncelleme, ekleme ve silme işlemlerini etkilemektedir.


48. Soru

INSERT INTO yazım kuralında da verildiği gibi öncelikle yapılması gereken nedir?

Cevap

INSERT INTO yazım kuralında da verildiği gibi öncelikle eklenmek istenilen tablo ve tablo alanları tanımlanmalıdır. Bu nedenle ilk kısımda tablonun alanları teker teker yazılır. Örnek veritabanındaki alan adlarında Türkçe harflerin ve boşlukların bulunması alan adlarının köşeli parantez ya da çift tırnak içine alınmasını gerektirmektedir. VALUES bölümünde ise alan adları ile aynı sırada ve istenilen veri türünde tabloya eklenecek değerler yazılmalıdır. Örneğin ilk alan Siparişi alan çalışana ait bir numaradır. Benzer şekilde tüm eklenecek bilgiler veri türlerine göre sırası ile yazılır. Metin ifadeler tek tırnak içerisinde belirtilmelidir. Rakamlarda ise ondalık ayraç her zaman İngilizce dil yazım kuralı nedeniyle nokta seklinde yazılır. Tarih bilgisi de “Yıl-Ay-Gün” biçiminde tanımlanmalıdır. Tarih ve saat gösterimleri dile bağlı olduğu için istenir ise dönüşüm sağlayan işlevler ile de kullanılabilir. Tablo adından sonra açılan parantez alan adlarından sonra kapatılmalı ve aynı şekilde Values ifadesinden sonra açılan parantez de son ifadeden sonra kapatılmalıdır.


49. Soru

Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalarından Yazım Hataları hakkında bilgi veriniz.

Cevap

Tabloya Satır Ekleme İşlemlerinde Karşılaşılan Hatalarından Yazım Hataları: SQL sorgu ifadelerinin yazımında hatalar kullanıcıya sorgu ekranındaki konumla bildirilir. Örneğin Şekil 7.8’de çalıştırılan sorgudaki bir virgülün unutulması durumunda kullanıcıya “Msg 102, Level 15, State 1, Line 2 Incorrect syntax near 'Müşteri No'” hatası iletilir. Ayrıca eklenen verideki alan sayısı ile hedef tablodaki alan sayısında farklılık varsa bu hata da işlemin yapılmasını engelleyen bir hatadır ve kullanıcıya “There are more columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.” mesajı ile hata hakkında nerede fazla sütun alan olduğu belirtilerek düzeltilmesine yönelik bilgi sağlanır.


50. Soru

Birbiri ile bağlanmış tablolarda ana tablodaki kaydın silinmesi ile onunla ilişkili kayıtların silinmesini sağlayacak olan bir CASCADE DELETE yapısı SQL dilinde mevcuttur. CASCADE DELETE dilimizdeki anlamı nedir, bize nasıl bir silmeyi izah etmektedir?

Cevap

CASCADE DELETE (kademeli silme)


Güz Dönemi Dönem Sonu Sınavı
18 Ocak 2025 Cumartesi
v