ENM 407 Chapter8_11 05 2015 Turkce 2

advertisement
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ı!
Download