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.
Öğ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
Ders Tablosu
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
Bu tabloda da son kolon öğrencinin ait olduğu bölümü gösteren bir yabancı anahtar.
Öğrenci Ders Tablosu
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
30 Mayıs 2012 at 07:22
ben netbeanste kayıt ekleme değiştirme silme ve listelme özellikleri olan bir bus programı lazım yardımcı olabilirmisiniz
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.
19 Ocak 2013 at 17:53
makaledeki resimler gözükmüyor
21 Ocak 2013 at 15:49
Uyarın için teşekkürler. düzeltildi.
12 Şubat 2013 at 08:25
okul veritabanına ulaşamıyorum.
12 Şubat 2013 at 11:15
link düzeltildi.
04 Temmuz 2013 at 02:32
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 🙂
01 Ekim 2013 at 23:37
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…
01 Kasım 2013 at 07:55
O tabloda iki PK yok. O iki alan birlikte bir PK’e tekabül ediyor.
22 Ekim 2013 at 07:06
oid ne işe yaradığını söyler misinz
01 Kasım 2013 at 07:49
Öğretmen id
25 Aralık 2013 at 11:53
Adminim Kısaltmaların açılımını yaparmısın
ono bid did lerin açılımını yaparmısın hepsını
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
21 Haziran 2014 at 08:04
ögrenci_ders tablosundaki not sutunu değiştirin select komutunda not skıntı yarayıto notu yapın
21 Haziran 2014 at 15:34
Nasıl bir sıkıntı? Biraz daha detay verebilir misiniz?
17 Aralık 2016 at 14:00
SQL serverda “not” alan ismi İngilizce NOT olarak anlaşılır. Mavi renk ile gosterir editör. Sanırım sıkıntıdan kasıt bu.
03 Ocak 2019 at 08:39
not rezerv bir komuttur ve değildir şartını sağlar. rezerv kelimeler ya da komutlar alan adı olarak kullanılmamalıdır. not rezerv kelimesi alan adı olarak kullanıldığı için sorun çıkartır. ama illa not kullanacaksanız; _not şeklinde ya da not_ veya nott gibi kullanılmalıdır.
15 Temmuz 2014 at 13:27
Esselamualeykum Hocam indirirken hatalı iniyor yeniden yüllemeniz mümkünmüdür son guncel hali ile…
15 Temmuz 2014 at 23:07
ben indirirken bir sorun yaşamıyorum. Ne gibi bir sorun yaşıyorsunuz?
12 Aralık 2014 at 03:28
çok işime yaradı çok teşşekür ederim
28 Ocak 2015 at 07:25
Hocam link ölmüş. Dosyayı nereden tedarik edebilirim.
17 Şubat 2015 at 03:22
düzeltildi
31 Ocak 2015 at 15:28
okul database linki çalışmıyor ve resilmer görünmüyor. iyi çalışmalar
17 Şubat 2015 at 03:21
Hata düzeltildi
23 Mart 2015 at 07:10
proje ödevim için mantığını tam anlamıyla oturttum. çok teşekkürler
16 Mayıs 2015 at 05:06
Hocam merhaba, veritabını indireceğim linki bulamadım yardımcı olmanız mümkün mü?
16 Mayıs 2015 at 05:23
Yazının en altında link mevcut. “buradan indirebilirsiniz” yazan kısımda.
08 Ocak 2020 at 07:29
tşk ederiz
22 Mart 2022 at 12:25
ben bunu mssql e nasıl importlayabilirim acaba