| Dersin Kodu | Dersin Adı | Dersin Türü | Yıl | Yarıyıl | AKTS |
|---|---|---|---|---|---|
| BGT-108 | VERİTABANI | Ders | 1 | 2 | 4,00 |
Önlisans
Türkçe
Bu dersin temel amacı, öğrencilere veritabanı yönetim sistemlerinin (VTYS) çalışma mantığını, ilişkisel veri modelleme prensiplerini ve SQL (Structured Query Language) standartlarını kapsamlı bir şekilde öğretmektir. Ders, öğrencilerin ham veriyi disiplinli bir şekilde depolama, yapılandırma ve yönetme becerilerini geliştirmeyi hedefler. Sektörel ihtiyaçlara odaklanan bir yaklaşımla, öğrencilerin Microsoft SQL Server ortamında profesyonel veritabanı şemaları oluşturmaları, karmaşık sorgular yazmaları ve bu veritabanlarını bir masaüstü yazılımı (C# Windows Forms) ile entegre edebilmeleri amaçlanmaktadır. Ayrıca, dersin sonunda öğrencilerin modern veri depolama teknolojileri (NoSQL/Firebase) hakkında vizyon sahibi olmaları ve veritabanı güvenliği ile bütünlüğü konusunda akademik ve pratik yetkinlik kazanmaları öncelenmektedir.
Öğr. Gör. Süleyman Ezdemir
| 1 | Veritabanı yönetim sistemlerinin (VTYS) çalışma mantığını, istemci-sunucu mimarisini ve temel veri tiplerini açıklar |
| 2 | Veri Tanımlama (DDL) ve Veri İşleme (DML) komutlarını kullanarak kurallı ilişkisel veritabanı tabloları oluşturur; temel veri ekleme, silme ve güncelleme işlemlerini uygular |
| 3 | Mantıksal operatörler, joker karakterler ve kümeleme fonksiyonlarını (COUNT, SUM, AVG vb.) kullanarak sektörel ihtiyaçlara uygun kompleks SQL sorguları yazar ve sonuçları analiz eder |
| 4 | Normalizasyon kurallarına uygun olarak veri tekrarını önleyen, tablolar arası ilişkilerin (Foreign Key, JOIN) doğru yapılandırıldığı veritabanı şemaları tasarlar |
| 5 | Tasarladığı veritabanını ADO.NET mimarisi aracılığıyla masaüstü yazılım (C# Windows Forms) ortamına entegre ederek veritabanı odaklı güvenli arayüz uygulamaları geliştirir |
| 6 | Geleneksel ilişkisel veritabanları (SQL) ile modern NoSQL (Firebase/JSON) teknolojileri arasındaki veri yapılandırma farklılıklarını karşılaştırır ve değerlendirir |
Birinci Öğretim
Yok
Dersin verimliliğini artırmak için "Müşteri-Yazılımcı" rol-play senaryoları aktif olarak kullanılmalıdır. Öğrencilerin sadece kod yazmaları değil, bir problemin veritabanı çözümünü kurgulamaları beklenmektedir. "Antigravity" yöntemi ile paylaşılan hazır kod kalıplarının (Snippet), öğrenciler tarafından parametrik olarak değiştirilmesi ve sonuçların SQL Server Management Studio (SSMS) üzerinde anlık gözlemlenmesi sağlanmalıdır. Ayrıca, öğrencilerin merkezi bir sunucuya (IP tabanlı) kendi kullanıcı tanımlarıyla bağlanarak gerçek bir istemci-sunucu (Client-Server) deneyimi yaşamaları ve veritabanı sahipliği (Ownership) bilinci geliştirmeleri kritik öneme sahiptir.
Ders içeriği, veritabanı ve Excel arasındaki farkların analizi ile başlayarak veritabanı sunucusu bağlantı konfigürasyonlarını kapsar. İlk aşamada DDL (Data Definition Language) komutları ile tablo oluşturma, veri tipleri ve kısıtlamalar (Identity, Primary Key, Not Null) işlenir. Ardından DML (Data Manipulation Language) operasyonları olan veri ekleme, güncelleme ve silme işlemleri detaylandırılır. Dersin merkezinde geniş kapsamlı veri sorgulama teknikleri (Select, Where, Like, Order By, Aggregate Functions) yer alır. İleri aşamalarda ise veritabanı normalizasyonu, ilişkisel modelleme ve JOIN operasyonları öğretilir. Dersin son bölümü, SQL Server’ın Visual Studio (C#) ortamına ADO.NET üzerinden bağlanması, CRUD operasyonlarının bir arayüz üzerinden gerçekleştirilmesi ve modern NoSQL sistemlerine (Firebase/JSON) giriş konularından oluşmaktadır.
| Hafta | Teorik | Uygulama | Laboratuvar |
|---|---|---|---|
| 1 | Veri ve Veritabanı kavramları; Excel ile VTYS farkları. İstemci-Sunucu mimarisi. | SSMS arayüzü ve nesne gezgini (Object Explorer) tanıtımı. | Uzak sunucuya bağlantı ve bireysel veritabanlarının (CREATE DATABASE) oluşturulması. |
| 2 | Temel veri tiplerinin (Int, Varchar, Date, Bit) analizi ve doğru kullanım senaryoları. | CREATE TABLE yapısı ve sütun tanımlama kuralları. | Müşteri senaryosu üzerinden bir "Öğrenci" veya "Hasta" tablosunun tasarlanması |
| 3 | Veri otomasyonu ve bütünlüğü için Identity, Not Null ve Default kavramları. | Eski tabloların silinmesi (DROP) ve kurallı tabloların inşası. | Otomatik artan ID ve varsayılan kayıt tarihi içeren akıllı tablo uygulaması. |
| 4 | DML dili temelleri ve tek tırnak kuralı. Veri tipi uyumsuzluk hatalarının analizi. | Tekli ve toplu (Multi-row) veri girişi teknikleri. | Sorgulama dersleri için en az 15 satırlık anlamlı veri setinin manuel girişi. |
| 5 | SELECT komutu, Alias (AS) kullanımı ve performans odaklı sütun seçimi. | DISTINCT ile veri tekilleştirme ve rapor başlıklarını makyajlama. | Sektörel raporlama taleplerine uygun sütun bazlı sorguların yazılması. |
| 6 | Filtreleme mantığı, mantıksal operatörler (=, <, >) ve AND/OR hiyerarşisi. | Sayısal ve metinsel verilerde çoklu şart kullanımı. | Belirli kriterlere uyan ürünlerin veya öğrencilerin listelendiği süzme uygulamaları. |
| 7 | Joker karakterler (%, _, []) ve desen (pattern) arama mantığı | Arama motoru mantığı ile esnek sorgular oluşturma. | Baş harfine veya içinde geçen heceye göre dinamik arama pratiği. |
| 8 | ASC/DESC kavramları ve veritabanı seviyesinde sıralamanın önemi. | TOP komutu ile performanslı veri çekme ve vitrin yönetimi. | "En pahalı 3 ürün" veya "Z'den A'ya personel listesi" uygulaması. |
| 9 | Kümeleme fonksiyonları: COUNT, SUM, AVG, MAX, MIN analizi. | Dashboard (Yönetici Paneli) için özet veri üretimi. | Toplam ciro, ortalama not ve stok sayımı gibi hesaplama sorguları. |
| 10 | İlişkisel modelleme, veri tekrarını önleme ve Normalizasyon kuralları. | Foreign Key (Yabancı Anahtar) ve tablo parçalama stratejileri. | Kağıt üzerinde ve SQL Diyagram ekranında tablo ilişkilerinin kurulması. |
| 11 | Kümeler mantığı ile INNER JOIN kavramı ve nokta notasyonu. | Çoklu tablolardan birleşik raporlar üretme. | "Öğrenci-Bölüm" veya "Sipariş-Müşteri" verilerinin birleştirilmesi. |
| 12 | ADO.NET mimarisi, Connection String ve SqlDataAdapter kavramı. | C# üzerinde DataGridView ile veritabanı listeleme | Butona tıklandığında SQL verilerini forma çeken masaüstü uygulaması. |
| 13 | SqlCommand ve ExecuteNonQuery metotları. Parametreli sorgu mantığı. | Form üzerinden veritabanına veri ekleme ve arama. | Kayıt formu ve arama kutusu içeren tam fonksiyonel arayüz uygulaması. |
| 14 | NoSQL mimarisi, JSON yapısı ve SQL ile karşılaştırmalı analizi. | Firebase Realtime Database tanıtımı ve Key-Value mantığı. | JSON formatında veri tasarımı ve Firebase konsolunda veri yönetimi. |
Ana Kaynak: github.com/ezfesoft (SQL Eğitim Notları, Senaryo Bazlı Örnekler ve Antigravity Kod Blokları) Resmi Dokümantasyon: Microsoft SQL Server Documentation Ek Kaynaklar: W3Schools SQL Tutorial, SQLZoo, Firebase Documentation Yazılım Araçları: SQL Server Management Studio (SSMS), Visual Studio 2022
Ders, "Problem Çözme Odaklı Öğrenme" (Problem-Based Learning) metodolojisi ile yürütülmektedir. Her hafta ders başında sunulan sektörel bir senaryo (Müşteri Şikayeti/İsteği) üzerinden konu başlatılır. Öğrencilere teorik bilgilerin ardından "Antigravity" kod kalıpları sunularak, bu kalıpları kendi veritabanlarında modifiye etmeleri istenir. Sınıf içi canlı kodlama seanslarında hataların analizi (Debug) yapılır. Öğretim süreci; anlatım, uygulama ve laboratuvar çalışmalarının entegrasyonundan oluşur. Dönem sonunda Visual Studio ve SQL Server'ın birleştirildiği bir bitirme projesi ile öğrenim pekiştirilir.
| Yarıyıl (Yıl) İçi Etkinlikleri | Adet | Değer |
|---|---|---|
| Ara Sınav | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | Adet | Değer |
| Proje Hazırlama | 1 | 100 |
| Toplam | 100 | |
| Yarıyıl (Yıl) İçi Etkinlikleri | 40 | |
| Yarıyıl (Yıl) Sonu Etkinlikleri | 60 | |
Bu ders, bilişim sektöründeki "Veritabanı Geliştiricisi", "Backend Geliştirici" ve "Veri Analisti" staj pozisyonları için gerekli olan temel teknik altyapıyı sağlamaktadır. Öğrenciler, dönem sonunda geliştirdikleri C# ve SQL entegrasyonlu projelerini portfolyolarına ekleyerek staj başvurularında teknik yetkinliklerini kanıtlayabilirler. Derste öğrenilen veri normalizasyonu ve ilişkisel modelleme bilgisi, kurumsal ölçekteki profesyonel staj projelerinde doğrudan uygulama alanı bulmaktadır.
| Etkinlikler | Sayısı | Süresi (saat) | Toplam İş Yükü (saat) |
|---|---|---|---|
| Ara Sınav | 1 | 4 | 4 |
| Final Sınavı | 1 | 4 | 4 |
| Derse Katılım | 1 | 42 | 42 |
| Uygulama/Pratik | 1 | 70 | 70 |
| Toplam İş Yükü (saat) | 120 | ||
| PÇ 1 | PÇ 2 | PÇ 3 | PÇ 4 | PÇ 5 | PÇ 6 | PÇ 7 | PÇ 8 | PÇ 9 | PÇ 10 | PÇ 11 | PÇ 12 | PÇ 13 | PÇ 14 | PÇ 15 | PÇ 16 | PÇ 17 | PÇ 18 | PÇ 19 | PÇ 20 | PÇ 21 | PÇ 22 | PÇ 23 | PÇ 24 | |
| ÖÇ 1 | 5 | 2 | 1 | 1 | 1 | 2 | 1 | 1 | 2 | |||||||||||||||
| ÖÇ 2 | 2 | 1 | 1 | 5 | 2 | 3 | ||||||||||||||||||
| ÖÇ 3 | 2 | 1 | 5 | 3 | 4 | 2 | 4 | |||||||||||||||||
| ÖÇ 4 | 2 | 1 | 5 | 5 | 2 | 1 | 4 | 1 | ||||||||||||||||
| ÖÇ 5 | 2 | 2 | 1 | 2 | 5 | 4 | 4 | 4 | 1 | 5 | 1 | |||||||||||||
| ÖÇ 6 | 4 | 1 | 1 | 2 | 1 | 2 | 4 | 1 | 2 |