Kütüphane Otomasyonu Veritabanı

tarafından
28
Kütüphane Otomasyonu Veritabanı

Kütüphane Otomasyonu Veritabanı

Üniversitelerde her zaman ödev olarak verilen kütüphane otomasyonu için basit bir veritabanı örneği yaptım sizler için. Bunun C# da form uygulamasını ilerleyen zamanlarda devam edebiliriz.Veritabanımız toplamda 11 tablodur. Tablo adlarını aşağıda ve tablo açıklamalarını sonrasında detaylı bir şekilde açıklayacağım.Son kısımdaki linklerde ise MsSql,MySql ve PostgreSql için direk import edebileceğiniz sql dosyalarını paylaşıyorum.

Contents

Kütüphane Otomasyonu

Tablo Adları

  1. Users
  2. Bina
  3. Kat
  4. Salon
  5. Kitaplık
  6. Raf
  7. Yazar
  8. Kitap
  9. Kitaplık Lokasyon
  10. Customer
  11. Kitap Customer

User Tablosu 

User tablosu primary key hariç 7 sütundan oluşuyor.

user_name 

sütunu uygulamaya giriş yaparken kullanılacak olan unique verilerdir

password 

sütunu uygulamaya giriş yaparken kullanacağımız veridir. 32 karakter olmasının sebebi ise şifreleme olarak md5 şifreleme kullanacağımız içindir.

token 

sütunu kullanıcını giriş yaptıktan sonra hala aktif olarak giriş yapmış kullanıcı mı kontrol edeceğimiz veridir.

name 

sütunu uygulamaya giriş yapan kullanıcın adıdır

surname 

sütunu uygulamaya giriş yapan kullanıcın soy adıdır

email 

sütunu uygulamaya giriş yapan kullanıcın email adresidir
gsm 

sütunu uygulamaya giriş yapan kullanıcın telefon numarasıdır

Bina Tablosu

Bina tablosu primary key hariç 7 sütundur

name 

sütunu Kütüphane binasının adıdır.Bunu bu şekilde yapmamızın sebebi birden fazla kütüphane binası varmış gibi düşünüyoruz yada büyüyebilecek bir kütüphane olarak düşünüyor.

ekleyen_id 

sütunu bu binayı ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız

eklenme_zaman 

stünun bu bina eklenirken o anki zamanı alıp eklediğimiz veridir

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu binayı silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız

silinme_zaman

stünun bu bina silinirken o anki zamanı alıp eklediğimiz veridir

silinme_aciklama

sütunu bu bina silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir

Kat Tablosu

Kat Tablosu primary key hariç 8 sütundur.Bu tabloda o binaya ait katlar kayıt edilir

bina_id

sütunu kayıt edilecek olan verinin hangi binaya ait olduğu kayıt edilir

name 

sütunu Binaya ait olan katın adıdır.

ekleyen_id 

sütunu bu katı ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız

eklenme_zaman 

stünun bu kat eklenirken o anki zamanı alıp eklediğimiz veridir

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu kat silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız

silinme_zaman

stünun bu kat silinirken o anki zamanı alıp eklediğimiz veridir

silinme_aciklama

sütunu bu kat silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir

Salon Tablosu

Salon Tablosu primary key hariç 8 sütundur.Bu tabloda o binaya ait katlar kayıt edilir.

kat_id

sütunu kayıt edilecek olan salonun hangi kata ait olduğu kayıt edilir.

name 

sütunu Kata ait olan salonun adıdır.

ekleyen_id 

sütunu bu salonu ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu salon eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu salon silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

silinme_zaman

stünun bu salon silinirken o anki zamanı alıp eklediğimiz veridir.

silinme_aciklama

sütunu bu salon silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir.

Kitaplık Tablosu

Kitaplık Tablosu primary key hariç 8 sütundur.Bu tabloda o binaya ait katlar kayıt edilir.

salon_id

sütunu kayıt edilecek olan kitaplığın hangi salona ait olduğu kayıt edilir.

name 

sütunu salona ait olan kitaplığın adıdır.

ekleyen_id 

sütunu bu kitaplığı ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu kitaplık eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu kitaplık silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

silinme_zaman

stünun bu kitaplık silinirken o anki zamanı alıp eklediğimiz veridir.

silinme_aciklama

sütunu bu kitaplık silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir.

Raf Tablosu

Raf Tablosu primary key hariç 8 sütundur.Bu tabloda o binaya ait katlar kayıt edilir.

salon_id

sütunu kayıt edilecek olan rafın hangi kitaplığa ait olduğu kayıt edilir.

name 

sütunu Kitaplığa ait olan rafın adıdır.

ekleyen_id 

sütunu bu rafı ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu raf eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu rafı silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

silinme_zaman

stünun bu raf silinirken o anki zamanı alıp eklediğimiz veridir.

silinme_aciklama

sütunu bu raf silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir.

Yazar Tablosu

yazar tablosu primary key hariç 8 sütundur.

name 

sütunu yazarın adını tuttuğumuz sütundur.

surname

sütunu yazarın soyadını tuttuğumuz sütundur.

ekleyen_id 

sütunu bu yazarı ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu yazar eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu yazarı silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

silinme_zaman

stünun bu yazar silinirken o anki zamanı alıp eklediğimiz veridir.

silinme_aciklama

sütunu bu yazar silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir.

Kitap Tablosu

kitap tablosu primary key hariç 9 sütundur.

yazar_id

sütunu bu kitabın yazarını tuttuğumuz yazarlar tablosundaki kayıdın id sini tuttuğumuz sütundur.

name 

stünu bu kitabın adını tuttuğumuz sütundur.

basim_yili

sütunu bu kitabın hangi yılda basıldığını tuttuğumuz sütundur.

ekleyen_id 

sütunu bu kitabı ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu kitap eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu kitabı silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

silinme_zaman

stünun bu kitap silinirken o anki zamanı alıp eklediğimiz veridir.

silinme_aciklama

sütunu bu kitap silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir.

kitaplik_lokasyon tablosu

kitaplik_lokasyon tablosu primary key hariç 5 sütundur. Bu tablo istenilen kitap hangi rafta olduğunu bulmak için kullanıyor bu tablodaki raf_id sinden left joinler yaparak hangi binada hangi katta hangi salonda hangi rafta olduğunu bulabiliriz.

kitap_id 

sütunu kitap tablosundaki kayıdın id sidir.

raf_id 

sütunu raf tablosundaki kayıdın id sidir.

ekleyen_id 

sütunu bu kitaplik lokasyonu ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu kitaplik lokasyon eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

Customer Tablosu

customer tablosu pimary key hariç 11 sütundur bu tablo kütüphaneden kitap alacak müşterileri tuttuğumuz tablodur.

customer_code

sütunu müşterinin kodunu tuttuğumuz sütundur.

name

sütunu müşterinin adını tuttuğumuz sütundur.

surname

sütunu müşterinin soyadını tuttuğumuz sütundur.

birth_date

sütunu müşterinin doğum gününü tuttuğumuz sütundur.

tc_kimlik_no

sütunu müşterinin tc kimliğini tuttuğumuz sütundur.

ekleyen_id 

sütunu bu customerı ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu customer eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu customerı silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

silinme_zaman

stünun bu customer silinirken o anki zamanı alıp eklediğimiz veridir.

silinme_aciklama

sütunu bu customer silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir.

Kitap Customer Tablosu

kitap customer tablosu primary key hariç 8 sütundur. Bu tablonun amacı o kitabı müşterinin aldığını kitapları ne zaman aldığı ne zaman geri verdiğini tuttuğumuz tablodur.

customer_id

sütunu customer tablosundaki kayıdın id sidir.

kitap_id

sütunu kitap tablosundaki kayıdın id sidir.

alinma_date

sütunu ilk kayıt atılırken null kayıt atılır ve teslim edilmemiş kitaplar için is null kontrolleri yapılır. ve nullar daha geri alınmamış olur eğer alınmışsa update edilir

ekleyen_id 

sütunu bu kitap customer kayıdını ekleyen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

eklenme_zaman 

stünun bu kitap customer eklenirken o anki zamanı alıp eklediğimiz veridir.

is_active 

sütunu boolean veridir eğer silinmemişse boolean değer truedır sildiysek false olarak update ediyoruz.

silen_id 

sütunu bu kitap customer silen user tablosundaki id sini alıyoruz bunu ise işlem yaparken gönderilen tokenden sorgu atarak alacağız.

silinme_zaman

stünun bu kitap customer silinirken o anki zamanı alıp eklediğimiz veridir.

silinme_aciklama

sütunu bu kitap customer silinirken userdan bir açıklama talep edilir ve girilen veri bu alana kayıt edilir.

Verilen İndexler

Bina tablosunun indexi : is_active true olarak indexleme yapılıyor

kat tablosunun indexi : is_active true olarak indexleme yapılıyor ve bina_id indexleniyor

salon tablosunun indexi : is_active true olarak indexleme yapılıyor ve kat_id indexleniyor

kitaplık tablosunun indexi : is_active true olarak indexleme yapılıyor ve salon_id indexleniyor

raf tablosunun indexi : is_active true olarak indexleme yapılıyor ve kitaplik_id indexleniyor

yazar tablosunun indexi : is_active true olarak indexleme yapılıyor

kitap tablosunun indexi : is_active true olarak indexleme yapılıyor ve yazar_id indexleniyor

kitap_lokasyon tablosunun indexi : is_active true olarak indexleme yapılıyor , kitap_id-raf_id indexleniyor , kitap_id indexleniyor,raf_id indexleniyor

customer tablosunun indexi : is_active true olarak indexleme yapılıyor

kitap_customer tablosunun indexi : is_active true olarak indexleme yapılıyor , kitap_id-customer_id indexleniyor , kitap_id indexleniyor,customer_id indexleniyor

MsSql : Link
MySql : Link
PostgreSql : Link

Örnek Yazı :

Kod Yazmak İçin Editörler

Kütüphane Otomasyonu