Bu ünite, Veri Tabanına Giriş dersinin 2025–2026 bahar dönemi final sınavı sorularını çözümleriyle birlikte içerir. Sınava hazırlanırken önce soruları kendin çözmeyi dene, sonra çözümlerle karşılaştır.
Sınavda sorulan konular
- Normalizasyonun tanımı ve amaçları: Veri tekrarını azaltmak, veri bütünlüğünü sağlamak, ekleme, silme ve güncelleme sorunlarını önlemek.
- Normal formları tanımından tanımak: "Atomik değer" → 1NF; "kısmi bağımlılık, bileşik anahtarın tamamı" → 2NF; "her belirleyici aday anahtar" → BCNF; "çok değerli bağımlılık" → 4NF.
- ER sembolleri: Varlık, zayıf varlık, nitelik, anahtar nitelik ve çok değerli nitelik sembollerinin adlarını yazmak.
- SQL komut grupları: DDL için CREATE, ALTER, DROP, TRUNCATE; DCL için GRANT, REVOKE, DENY; DML için SELECT, INSERT, UPDATE, DELETE.
MAĞAZA veri tabanı soruları
Musteri, Urunsatis, Urunler ve Kategori tablolarından oluşan bir mağaza veri tabanında alanların veri tipleri ve anahtarları istenir. Her tabloda satırı tek başına tanımlayan alan birincil anahtardır; tekrar etmemesi gereken ama birincil anahtar olmayan kategori adı benzersiz anahtardır (UK). Yabancı anahtarın veri tipi, bağlandığı birincil anahtarla aynı olmalıdır. Küçük sayılar için tinyint, barkod ve fiyat gibi büyük sayılar için int, cinsiyet gibi iki değerli alanlar için bit seçilir.
LEFT OUTER JOIN sorusunda soldaki tablonun koşulu sağlayan bütün kayıtları listelenir; hiç satışı olmayan müşteriler de görünür ve karşılarındaki miktar NULL gelir. İki satışı olan müşteri iki satırda görünür.
FAKÜLTE veri tabanı soruları
- UPDATE … WHERE DersId BETWEEN 4 AND 8 komutu uç değerler dâhil beş dersi etkiler.
- Ders kodu "INT" ile başlayan dersleri silmek için WHERE DersKodu LIKE 'INT%' yazılır; = 'INT' hiçbir kaydı eşleştirmez.
- AVG(Kredi) sorusunda gerçek ortalama 3,25'tir, ancak Kredi sütunu INT ise SQL Server tam sayı bölmesi yaparak 3 gösterir.
- INNER JOIN sorusunda her öğrencinin bölüm kodu bulunur; sekiz öğrenci için sekiz satır döner.
Boşluk doldurma ve normalizasyon
Bir sütunun alabileceği değerleri sınırlayan kısıtlama CHECK, veri tabanını başka bilgisayara taşımak için script dosyası, bir tablonun tüm verilerini boşaltan DDL komutu TRUNCATE, sanal tablo ise görüntü (VIEW) olarak cevaplanır. C# uygulamasının SQL Server'a bağlanması için koda using System.Data.SqlClient; satırı eklenir. Son soruda SATIŞ tablosu 1NF, 2NF ve 3NF adımlarıyla ŞEHİRLER, MÜŞTERİLER ve MİKTARLAR tablolarına ayrılır ve ER diyagramı çizilir.