Kütüphane Otomasyon Sistemi, sadece arayüz hazırladığım bir proje olmadı; veritabanı tasarımının uygulama davranışını nasıl belirlediğini görmemi sağladı.

Projenin Amacı

Sistem; kitap, üye, personel, ödünç verme, iade, rezervasyon ve ceza süreçlerini dijital ortamda yönetmek için tasarlandı. Kullanıcı olarak kütüphane personeli düşünülüyor; personel sisteme giriş yapıp günlük işlemleri tek arayüzden yönetebiliyor.

Veritabanı Katmanı

MySQL/MariaDB üzerinde ilişkisel bir yapı kuruldu. Kitaplar, yazarlar, kategoriler, üyeler, personel, ödünç işlemleri, rezervasyonlar ve cezalar ayrı tablolarla modellendi. Böylece veri tekrarını azaltan, ilişkileri net olan ve sorgulanabilir bir yapı oluştu.

VIEW ve Saklı Yordam

Ödünç işlemlerini daha okunabilir görmek için view kullanıldı. Ödünç verme adımında ise stok, üye durumu ve ceza kontrolü gibi kurallar saklı yordam üzerinden yönetildi. Bu bana iş kurallarının yalnızca arayüzde değil, veritabanı tarafında da güvenli şekilde tutulabileceğini gösterdi.

JavaFX Arayüz

Arayüz JavaFX ile geliştirildi. Kitap, üye, ödünç/iade, rezervasyon, ceza ve raporlama ekranlarında CRUD işlemleri yapılabiliyor. En önemli kazanımım, arayüzde görünen basit bir butonun arkasında doğru sorgu, doğru doğrulama ve doğru veri ilişkisi olması gerektiğini fark etmekti.

Ne Öğrendim?

İyi veritabanı tasarımı uygulamayı doğrudan rahatlatıyor.

JOIN, GROUP BY, HAVING ve subquery gibi sorgular gerçek projede çok daha anlamlı hale geliyor.

Stored procedure ve view kullanmak raporlama ve işlem güvenliği için güçlü araçlar.

Bu proje bana veritabanını sadece tablo oluşturmak olarak değil, sistemin omurgası olarak düşünmeyi öğretti.