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 )

omurs

Ö S, 30 Ağustos 2018 Perşembe 15:30 tarihinde kayıt oldu

Beğeni


Yıllara Göre Gönderiler








LombokLoglamaB2C (Business-to-Consumer)B2B (Business-to-Business)İçerik Yönetim Sistemi - CMS (Content Management System)Pagination (Sayfalama)Sanal Özel Ağ - VPN (Virtual Private Network)Cronjob (Zamanlanmış Görevler)Printer-YazıcıJava'daki İlkel Veri Tipleri ve Alabilecekleri DeğerlerBit & Byte ve Hafıza Boyutlarındaki Ölçüm BirimleriSanallaştırma (Virtualization)DNS KayıtlarıE-Fatura ve E-ArşivYazılım Lisans TürleriAudit (Denetim) Açık Kaynak (Open Source)Monitoring (İzleme)Sitemap & Robots.txtKilometretaşı (Milestone)BSMV (Banka ve Sigorta Muameleleri Vergisi)KKDF (Kaynak Kullanımı Destekleme Fonu)Siber Pazartesi (Cyber Monday)Black Friday (Kara Cuma)Hotlink.htaccessCryptoLockerMalwareTrojanWormDependency (Yazılım Geliştirme Sürecinde Paket Bağımlılığı)Configuration (Yazılım Geliştirme Sürecinde Yapılandırma)Yahoo ve Yahoo'nun Başarısızlık NedenleriArchiving (Yazılım Geliştirme Sürecinde Arşivleme)Görsel Dosya Türleri (Image Types)ReleaseVersioning & Tagging (Versiyonlama ve Etiketleme)BuildJob (Yazılım Geliştirme Sürecinde Görevler)SonarQubeCDATA (Character Data)Alan Adı Uzantıları (Domain Name Extensions)Regresyon Kara Kutu (Black-Box) TestBeyaz Kutu (White-box) TestGri Kutu (Grey-box) TestYazılım Geliştirme Sürecindeki Temel Test TürleriKod gözden geçirme (Code Review)Birim Testi (Unit Testing)Yazılım Sürecinde EntegrasyonJAR & WAREager & Lazy Fetch TypeMaskelemeKPI (Key Performance Indicator)KII (Key Impact Indicator)Projenin JAR Dosyasını Oluştur - JAR PathSunucu için Linux dağıtım SeçimiKonyteynerler (container technologies)Runtime & Compile Time (Çalışma ve Derleme Zamanı)@Anotasyonlar (@Annotations)