Harun Reşit Zafer

bâki kalan bu kubbede bir hoş sadâ imiş

SQL 17: Örnek Okul Veritabanı

Güncelleme: Yazının önceki versiyonu “örnek kitap veritabanı şeklindeydi” ancak okul veritabanı her öğrencinin aşina olduğu bir yapı olmasının yanı sıra daha çeşitli sorgu örneklerine imkan veriyor. Bu yüzden yazı ve veritabanı “okul veritabanı” olarak güncellendi.

Bundan sonraki SQL derslerinde üzerinde çeşitli sorgular çalıştırabileceğimiz, sade, anlaşılır ve yeterince veri içeren bir veritabanına ihtiyacımız olacak. Okul veritabanını temelde bu amaçla hazırladım. Ayrıca Java ve PHP ile ileride yapacağım örnek veritabanı uygulamalarında da aynı veritabanını kullanmayı düşünüyorum. Sonuç olarak eğitim amaçlı ideal bir veritabanı oldu. Okul veritabanının bu ilk versiyonu 6 tablodan oluşuyor. Tabloların açıklamaları ve ilişkileri aşağıdaki gibidir.

okul_vt_hrzafer

Öğrenci ile Bölüm arasında bire-çok ilişki vardır. Yani bir öğrencinin bir ve yalnız bir bölümü olur.

Aynı şekilde Ders ile Bölüm arasında ve Öğretmen ile Bölüm arasında da bire-çok ilişki var. Yani her ders ve öğretmen bir bölüme ait olmak zorunda.

Öğrenci ile Ders arasında çoğa-çok ilişki vardır. Yani bir öğrenci birden fazla ders alabilir. Bir dersi de birden fazla öğrenci alabilir. Bu nedenle bu ilişki ögrenci_ders adındaki ayrı bir tabloda ele alındı.

Aynı şekilde Öğretmen ile Ders arasında da çoğa çok ilişki vardır. Yani bir dersi birden fazla öğretmen verebilir. Ve bir öğretmen birden fazla ders verebilir.

Veritabanının yapısı (structure) bu şekilde. Bu yapıyı daha iyi anlamak için bazı tabloları girilen örnek verilerle birlikte görelim:

Bölüm Tablosu

okul_vt_tablo_bolum_hrzafer

Ders Tablosu

okul_vt_tablo_ders_hrzafer

Görüldüğü gibi bu tabloda son kolon dersin ait olduğu bölümün id’sini (bid) tutuyor. Yani yabancı anahtar.

Öğrenci Tablosu

okul_vt_tablo_ogrenci_hrzafer

Bu tabloda da son kolon öğrencinin ait olduğu bölümü gösteren bir yabancı anahtar.

Öğrenci Ders Tablosu

okul_vt_tablo_ogrenci_ders_hrzafer

Bu tabloda mesela birinci satır 1 no’lu öğrencinin 1 id’li dersi aldığını ve bu dersten notunun 3 olduğunu belirtiyor.

Veritabanını phpmyadmin üzerinden yüklemek için:

1- okul_vt_hrzafer isimli bir veritabanı oluşturun.

2- içeri aktar (import) seçeneğine tıklayın.

3- Daha sonra gözat butonuna tıklayarak sql uzantılı veritabanı dosyasını yükleyin.

Veritabanını buradan indirebilirsiniz.

Herkese Kolay Gelsin

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPrint this pageEmail this to someone

26 Yorum

  1. ben netbeanste kayıt ekleme değiştirme silme ve listelme özellikleri olan bir bus programı lazım yardımcı olabilirmisiniz

    • admin

      30 Mayıs 2012 at 07:45

      Genel olarak değil de takıldığınız noktada, bu noktayı net biçimde ifade etmek kaydı ile yardımcı olmaya çalışırım.

  2. makaledeki resimler gözükmüyor

  3. okul veritabanına ulaşamıyorum.

  4. Anlatımınız için çok teşekkürler. Çok güzel bir anlatım olmuş, konuyla hiç alakam yoktu, fikir edindim bir şeyler öğrendim :)

  5. Merhaba, Öğrenci ders tablosunda (ono ve did) leri primary key olarak atamışsınız.
    1. Bir tabloda iki PK olmaz.
    2. PK olan ono da duplicate data girişi yapılamaz. Ancak sizin yapmış olduğunuz öğrenci_ders tablosunda aynı öğrencinin notlarını kast ederek bir den fazla veri girişi yapmışsınız. Yapmışsınız ama mantıksal ve pratiksel olarak bu mümkün değil.(PK olduğu sürece, tıpkı TC kimlik numaralarının unique olduğu gibi aynı değer girilemez)…

    bana bu konuda açıklama yaparsanız sevinirim. Aynı verileri girerek eski bilgilerimi tazelemek istedim ve doğal olarak yukarıda açıkladığım sorunlarla karşılaştım). Teşekkürler…

  6. oid ne işe yaradığını söyler misinz

  7. Adminim Kısaltmaların açılımını yaparmısın
    ono bid did lerin açılımını yaparmısın hepsını

    • admin

      26 Aralık 2013 at 00:28

      ono = okul numarası
      bid = bölüm id
      did = ders id
      oid = öğretmen id
      dadi = ders adı
      badi = bölüm adı
      dyeri = doğum yeri

  8. ögrenci_ders tablosundaki not sutunu değiştirin select komutunda not skıntı yarayıto notu yapın

  9. Esselamualeykum Hocam indirirken hatalı iniyor yeniden yüllemeniz mümkünmüdür son guncel hali ile…

  10. çok işime yaradı çok teşşekür ederim

  11. Hocam link ölmüş. Dosyayı nereden tedarik edebilirim.

  12. okul database linki çalışmıyor ve resilmer görünmüyor. iyi çalışmalar

  13. proje ödevim için mantığını tam anlamıyla oturttum. çok teşekkürler

  14. Hocam merhaba, veritabını indireceğim linki bulamadım yardımcı olmanız mümkün mü?

Bir Cevap Yazın

E-posta adresiniz yayınlanmayacak

*

© 2017 Harun Reşit Zafer

Temayı tasarlayanAnders NorenYukarı ↑