NORMALLEŞTİRME Zehra Kamışlı Öztürk 26.04.2013 Normalleştirme Veri yapısını modellemenin bir yolu Çıktı: Kullanıma hazır (tasarlanmış) tablolar Varlık modelleri Genel. Detaylı. Daha detaylı Normalleştirme Formlarda, doldurulan her alanda yer alan veri Benzer gruplarda biraraya getir Tablolar/veri yapıları: sonuç Aşağıdan yukarıya tasarım Yeni sistemin gereksinim duyduğu veriyi daha iyi Anlama yolu Varlık modelinin tutarlılığının test edilmesi Normalleştirme Golf Klübü Et yemekleri ve Sanatçılar Normalleştirilmemiş tablo Karşılaşılan Problemler Bir sanatçıya ait bilgiler her etkinliğe geldiğinde tekrar ediyor Zaman kaybı gereksiz hafıza kullanımı Boşluklar Veri sıraladığında boşlukların etkisi tam olarak görülür Sıralı veri/Alışveriş listesinin oluşturulması Sorunları giderelim... Boşlukları dolduralım: tekrar eden veriler... Karşılaşılan problemler Ekleme problemi Yeni malzeme alındığında reçetesi yok Güncelleme problemi "Fasülyeler" bir sanatçıya ilişkili Farklı etkinlik ve reçetelerde yeralabilir Silme problemi Menüden çıkarılmak istenenler olabilir Çözüm: normalleştirme Verileri benzer tablolara böl! Zor ve karmaşık olabilir. SSADM' in en önemli kısmı! Normalleştirmede temel adımlar 1.Veriyi anladığınıza emin olun. 2.Neyi normalleştirecrğinize karar verin. Sistemde 20'den fazla veri varsa, hepsini aynı anda ele alma. Sadece 9 farklı veri var. Ancak arttırılabilir: Sanatçı adresi Sanatçının ajansı Giriş ücreti ...vb. Mevcut sistemde olmayan, ancak yeni sistemde yer alacak veriyi de ekle! Normalleştirmede temel adımlar 3. Bir normalleştirme tablosuna (ya da büyük boş bir kağıda) tüm alanları listele. UNF: normalleştirilmemiş form Normalleştirmede temel adımlar 4. Bir anahtar bul. Biricik! Anahtar: bir formu, tabloyu veya bir şeyi tanımlama yolu. Bir ya da iki verinin birleşimi olabilir. 5. Anahtar olduğunu belirtmek için anahtarın altını çiz. Normalleştirmede temel adımlar 6. Tekrar eden grupları bul. Normalleştirmede temel adımlar 7. Veri yapısını böl. Tekrar eden gruplar olduğu için Anahtarın bir kopyası ile yeni grupları oluştur. Normalleştirmede temel adımlar 8. Tekrar eden grup için bir anahtar tanımla. 1NF: ilk normal form Her iki formun da ortak alanları var ( örn: orijinal anahtar) Ortak alanlar : bir bağlantıdan ve gruplar arasındaki ilişkiyi ver tabanında tablo olduklarında kurarlar Anahtar olmayan alanları bulalım Hangi zamanda başladığını bilememiz için etkinlik adını bilmeliyiz. Tarihini de bilmeli miyiz? - evet! Aynı isimli, farklı tarihlerde etkinlikler olabilir. Giriş ücreti için de aynı kontrol yapılmalı. Normalleştirmede temel adımlar 9. İkinci normal forma geç. Sadece birleşik anahtarınolan gruplar için uygulanır. Birleşik anahtarın bir parçasına bağlı olan "anahtar olmayan" alanları bul ve ayır. "Ne neyi gösteriyor?" Normalleştirmede temel adımlar 9. İkinci normal forma geç. Ok ile gösterilen kutu, okun geldiği kutuya bağlıdır! Doktor No, doktorun adını ve adresini gösterir. Normalleştirmede temel adımlar 10. Üçüncü normal forma geç. Bu aşama sadece anahtar olmayan alanlar için geçerlidir. Anahtar olmayan bir alan bir başka anahtar olmayan alana bağlı mı? Kontrol et. Varsa, ayrı bir grup olarak ayır. Her gruba veritabana yer alacak tablo isimlerini ver! Normalleştirmede temel adımlar 11. Tüm formları normalleştir! Formüller ile hesaplanabilir alanları normalleştirme sürecinde yer alamamalı! Rasyonelleştirme Normalleştirme sonucu elde edilen formların bir kısmını birleştirme. Farklı formlar aynı anahtarlara sahip olabilir. Dolayısıyla aynı grupta olmalılar. Rosyonelleştirmenin ardından, gerekli Mantıksal varlık modeli ile normalleştirme sonucu elde edilen ilişkileri karşılaştır. Varlık modelinin yeniden kurulması Özelliklere bağlı olarak çözümleme yapılması EventName & EventDate. EventNop Aynı isimde olmasa da Mantıksal olarak aynı olan özellikler Varlık/Fonksiyon Matrisi Veri akış diyagramları ile süreç veya fonksiyonlar modellenmişti Gerekli sistem için de Veri yapısı varlık modelleri ile modellenmişti Son aşama: yeni sistem zamandan nasıl etkilenecek?? Varlık/Fonksiyon Matrisi 1. Varlıkları ve fonksiyonları listele. 2. Hücreleri oluştur. 3. Hücreleri doldur. I: ekle R: oku M: değiştir D: sil A: arşivle Fonksiyonun varlık üzerinde bir etkisi yoksa, hücre boş kalabilir. Varlık/Fonksiyon Matrisi 4. Her bir satırın(varlığı) canlı olup olmadığını olmadığını kontrol et. I olmalı, en az bir R ya da M ve en az bir D ya da A olmalı. Veri akış diyagramlarında varlık yaratmak için ya da varlık silmek icin fonksiyonlar olmaz. 5. VADnı güncelle. Silme üzerine kurallar belirlenmeli... Vb. Doktor kayıdı yok. Yeni sistemde olmalı!