normalizasyon kuralları?

  • Konbuyu başlatan Konbuyu başlatan 0zge
  • Başlangıç tarihi Başlangıç tarihi
Kodla Büyü
ders kodunu baz alarak derskodu ve bolum alanlarını yeni bir tabloya alarak olabilir.

ogrenci tablosundaki bolum alanı yerine ders kodunu yazabiliriz. böylece bolum sürekli tekrar etmez.

emin olmamakla beraber bence bu şekilde olabilir.
 
Hocam,1NF ve 2NF'e uygun ve belirlediğiniz birincil anahtarların doğru olduğunu kabul edersek 3NF'e de uygundur. Sebebine gelince; 3NF kuralı şunu söyler;"Birincil anahtar haricindeki alanlar arasında fonksiyonel bağımlılık olmamalıdır." yani bir alan diğer alan ile belirlenememelidir. Zaten sizin tablolarınızda birincil anahtar harici alan 1 tane, dolayısıyla 3 NF e uygundur. 2NF' e uygunluğu konusunda ise özellikle 2. tablo konusunda kararsızım. Çünkü; kural derki, "birincil anahtar harici alanlar birincil anahtar ile tam fonksiyonel bağımlı olmalıdır." yani birincil anahtar birden fazla alandan oluşuyorsa; bu alanlardan birisiyle birincil anahtar olmayan alanlar kısmi bağımlı olmamalıdır.
 
Not tablosunda görünene göre bir sorun yok gibi.
Ogrenci tablosu için ise bolumler adında bir tablo daha oluşturun. bolumno, bolumadi gibi alanlar olsun. ogrenciler tablosunda da bölüm kısmına, bölümler tablosundaki ilgili bölümün nosunu yazdırırsınız.
 
yakuphan' Alıntı:
Not tablosunda görünene göre bir sorun yok gibi.
Ogrenci tablosu için ise bolumler adında bir tablo daha oluşturun. bolumno, bolumadi gibi alanlar olsun. ogrenciler tablosunda da bölüm kısmına, bölümler tablosundaki ilgili bölümün nosunu yazdırırsınız.
+1. Birinci tabloya dikkatli bakmamışım.
 
Not tablosunun birincil anahtarı öğrenci no dersek, o da tekrar ediyor. Bu sorun nasıl çözülebilir?
 
Ah pardon onu görmemişim. Not tablosunun birinci anahtarı ne ogrenci no ne de ders kodu olabilir. Yeni bir alan (örneğin id adında) oluşturup, otomatik sayı yaparak ancak çözebilirsiniz.
Web site projelerinde genellikle birinci anahtar için otomatik sayı türünde bir alan (genelde de ismi id olur) oluşturulup kullanılır.
 
yakuphan' Alıntı:
Ah pardon onu görmemişim. Not tablosunun birinci anahtarı ne ogrenci no ne de ders kodu olabilir. Yeni bir alan (örneğin id adında) oluşturup, otomatik sayı yaparak ancak çözebilirsiniz.
Web site projelerinde genellikle birinci anahtar için otomatik sayı türünde bir alan (genelde de ismi id olur) oluşturulup kullanılır.
Arkadaşın iki alanı, kompozit birincil anahtar şeklinde düşünülebilir. Ama daha öncede belirttiğim gibi not ders kodu veya öğrenci no ile tek başına bağlılık arz ediyor mu ona karar veremedim. Eğer bağlılık arz ediyorsa 3NF i bozar.
 
Geçişli fonksiyonel bağımlılıklar kaldırılır.
 

Ekli dosyalar

  • normalizasyon.jpg
    normalizasyon.jpg
    37.9 KB · Görüntüleme: 1,186
mehmetak70' Alıntı:
Geçişli fonksiyonel bağımlılıklar kaldırılır.
Hocam, geçişli bağımllık hangi alanlar arasındaydı da onları ayırdınız anlayamadım? Birde geçişli bağımlılığın tanımını yapabilirseniz sevinirim.
 
Mesajı yeni gördüm;
Geçişli bağımlılık ilin il kodu üzerinden bağlanması gibi, bu örnekte bölum kodu diye bir şey olsa daha uygun olurdu esasında 3 normalizasyon için
 
mehmetak70' Alıntı:
Mesajı yeni gördüm;
Geçişli bağımlılık ilin il kodu üzerinden bağlanması gibi, bu örnekte bölum kodu diye bir şey olsa daha uygun olurdu esasında 3 normalizasyon için
Hocam, nacizane orda sizin dediğiniz geçişli bağımlılık değil ki, siz yakuphan hocamın dediği gibi norm2 ye uymadığı için norm 2 ye uygun hale getiriyorsunuz. Benim bildiğim geçişli bağımlılık eğer ki aynı tablo içerisinde varsa, birincil anahtar harici harici alanların bir biri üzerinden sağladıkları bağımlılıklar bunlara verilen isimdir. Ki giderilmediği taktirde belirttiğiniz gibi 3nf'e uyumluluk söz konusu olamaz. Ancak burada arkadaşın verdiği tablolarda birincil anahtar haricinde zaten sadece 1 alan var dolayısıyla geçişli bağımlılık durumundan söz edilemez. Ki aslen 1nf ve 2nf e uyumluluğunu bile tartıştığımız tablolarda boşa 3nf'e bakmışız. :wink:
 
Geri
Üst