Fazla İlişkilerin Modelden Çıkartılması

fazla-iliskilerin-modelden-cikartilmasi (büyük resim için tıklayın)

Analiz esnasında fazladan ve gereksiz bazı ilişkiler fark edilmeden varlık ilişki diyagramına eklenebilir. Bu durum genellikle diğer ilişkiler tarafından zaten sağlanan bir ilişkiyi fazladan modele eklemek şeklinde sonuçlanır. Gereksiz ilişki kaldırıldığında daha doğru oluşturulmuş bir veri modeli elde edilecektir. 

Fazla ilişki göz çıkarmaz! Kalsın denemez. Çünkü fazladan kurulmuş bir ilişki birçok gereksiz kontrolü ve kısıtlamayı da beraberinde getirir. Bu durum performans kayıpları ve veri üzerinde istenen işlemlerin yapılamaması gibi problemlere sebep olabilir.

Projemde, bu gönderi için birebir uyacağını düşündüğüm durumu ana resim olarak ekledim. Ana resimde görüldüğü üzere; tabMenu, envanter ve kurumsal isimlerinde tablolar mevcut. Her envanter(ürün) bir tabMenu'ye ait ve her tabMenu birden fazla envanter içerebilir (bire çok ilişki). Her kurumsal birden fazla tabMenu oluşturabilir ama bir tabMenu bir kurumsala ait olmalı (bire çok ilişki). envanter tablosunda bulunan kurumsalid değeri gereksizdir, çünkü kurumsal bilgilerine tabMenu tablosunda bulunan kurumsalid değerinden ulaşabilirim.

Örnek bir erişim sorgusu

  • SELECT envanter.ad as URUNAD,tabMenu.ad as MENUAD,kurumsal.kullaniciadi as KURUMUSERNAME
  • FROM tabMenu,envanter,kurumsal
  • WHERE tabMenu.kurumsal_id=kurumsal.id
  • AND envanter.tabMenu_id=tabMenu.id
  • AND kurumsal.id=1

Hep denedin. Hep yenildin. Olsun. Yine dene. Yine yenil. Daha iyi yenil. ( Samuel Beckett )

iam

Ömürcan Serdar, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Beğeni


Yıllara Göre Gönderiler








mysql Kategori

SQLSTATE[HY000]: General error: 1442 Error (used by statement which invoked this stored function/trigger)

Windows Komut Satırından MySQL Erişimi

İki Gün Arasındaki Zaman Farkı (TIMESTAMPDIFF)