1 / 25

Devrim ALTINKURT

Veri Tabanı Normalizasyonu. BLGM5311 Bilgi Sistemleri Analiz ve Tasarımı Dersi Final Projesi Prof.Dr. Alptekin ERKOLLAR. Devrim ALTINKURT. İçindekiler. 1. Veri Tabanı Kavramı. 2. Veri Tabanı Tasarımı. 3. Normalizasyon Kuralları. 4. Örnek Uygulama. 5 . Sonuç. Veri Tabanı Kavramı.

tibor
Download Presentation

Devrim ALTINKURT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Veri Tabanı Normalizasyonu BLGM5311 Bilgi Sistemleri Analiz ve Tasarımı Dersi Final Projesi Prof.Dr. Alptekin ERKOLLAR Devrim ALTINKURT

  2. İçindekiler 1. Veri Tabanı Kavramı 2. Veri Tabanı Tasarımı 3. Normalizasyon Kuralları 4. Örnek Uygulama 5. Sonuç

  3. Veri Tabanı Kavramı • Veri tabanı düzenli bilgiler topluluğudur. • Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. • Sistematik şekilde saklanmış, programlarca işlenebilecek veri yığınıdır.

  4. Veri Tabanı Kavramı Örnek Veri Tabanları: • Kütüphane sistemi • E-ticaret sistemi • Futbol Ligi • Okul Sistemi • Personel Sistemi • Sözlük • Stok Takibi

  5. Nesneler Tanımlanır:Nesne, çeşitli özellikleri bulunan bir varlıktır. Herhangi bir proje de öncelikle nesneler tanımlanır. 1 Her nesne için bir tablo oluşturulur:Her nesne için bir tablo oluşturulur ve her bir tabloya içereceği veriyi en iyi anlatan bir isim verilir. 2 Her bir tablo için bir anahtar alan seçilir:Veri tabanındaki herhangi bir veriye erişilmeden önce tabloya erişilir. Tabloda yer alacak her bir kaydı bir diğerinden ayırabilecek bir sütuna ihtiyaç duyulur. 3 Veri Tabanı Tasarımı

  6. Nesnelerin gerekli her bir özelliği için tabloya bir sütun eklenir :Tablolara sırasıyla adını veren nesnelerin her bir özelliği için bir alan (sütun) eklenir. 4 Tekrarlayan nesne özellikleri için ek tablolar oluşturulur :Veri tekrarı olacaksa bir yerlerde hata yapılıyor demektir. Bu durumda eldeki tablonun en az bir tabloya daha ayrılması gerekiyor demektir . 5 Anahtar alana bağlı olmayan alanlar belirlenir: Bazen, anahtar alan ile aynı satırda yer aldığı halde, anahtar alan ile birebir ilişkisi olmayan bir alan yer alabilir. Bu türden alanların elimine edilip ayrı tablolara ayrılması gerekir. 6 Veri Tabanı Tasarımı

  7. Tablolar arasındaki ilişkiler tanımlanır:Her biri bir nesneye dair özellikleri barındıran tabloların tümü göz önüne alınır ve birbirleri ile olan ilişkileri tanımlanmaya çalışılır. 7 Veri Tabanı Tasarımı

  8. Normalizasyon • Bir tablo içerisinde yer alacak kaydın nelerden oluşmasına karar vermeye yarayan normalizasyon kuralları başlı başına bir işlemdir. • Normalizasyon; veri tabanı tasarımı aşamasında gerekli bir işlemdir.

  9. 5. Kural 4. Kural 3. Kural 2. Kural 1. Kural Normalizasyon Kuralları

  10. 1. NK Bir satırdaki bir alan yalnızca bir tek bilgi içerebilir. Birden fazla yazarı olan kitap için yazar1, yazar2 ve yazar3 diye alanların açılması ile bu kurala uyulmamış olunur. Böyle bir durumda, ayrıca yazarlar tablosu da oluşturularak kural çiğnenmemiş olur. Veri tabanı tasarımında; verileri virgül veya bir başka karakter ile ayrılıp aynı alana girilmesi ve daha sonra program içerisinde split ile bu değerlerin ayrılması genellikle sık yapılan hatalardan birisidir. Bu ilişkisel veri tabanının doğasına terstir. Normalizasyon Kuralları

  11. 2. NK Bir tablo için, anahtar olmayan her alan, birincil anahtar olarak tanımlı tüm alanlara bağlı olmak zorundadır. Bu duruma uymayan alanlar ayrı bir tabloya alınmalıdır. Ya da anahtar alanın birden fazla alandan oluştuğu tablolarda, anahtar alanlardan sadece birine bağlı veriler tabloda yer almamalı, ayrı bir tabloya taşınmalıdır. Bunun tersi de geçerlidir. Yani iki ya da daha fazla tablonun birincil anahtarı aynı olamaz. Böyle bir durum söz konusu ise, bu iki tablo tek tabloya indirilmelidir. Normalizasyon Kuralları

  12. 3. NK Bir tablo için, anahtarı olmayan bir alan, anahtarı olmayan başka hiç bir alana bağlı olamaz. Eğer, bir başka anahtarı olmayan alana bağlı bir alan kullanılırsa, bunun sonucunda da veri tabanında, karşılığı olmayan bir kodlama yer almış olurdu. Normalizasyon Kuralları

  13. 4. NK Birincil anahtar alanlar ile anahtarı olmayan alanlar arasında, birden fazla bağımsız bire-çok ilişkisine izin verilmez. Her bağımsız bire çok ilişki için ayrı bir tablo oluşturulması gerekir. Normalizasyon Kuralları

  14. 5. NK Tekrarlamaları ortadan kaldırmak için her bir tablonun mümkün olduğunca küçük parçalara bölünmesi gerekir. Aslında ilk 4 kural sonuçta bu işe yarar ancak, bu kurallar kapsamında olmayan tekrarlamalar da 5. normalizasyon kuralı ile giderilebilir. Normalizasyon Kuralları

  15. Üyeler Mesajlar İlanlar Kategoriler Örnek Uygulama TarimPortal.com * şu an kodlama aşamasında… Veri tabanında bulunacak tablolar: Üyeler, İlanlar, Kategoriler, Mesajlar. Ancak ne var ki, oluşan son yapıda da görüleceği üzere, 4 adet temel tablomuz olduğu halde, normalizasyon işlemleri sonucunda 18 adet tablo ortaya çıkmaktadır.

  16. Örnek Uygulama TarimPortal.com

  17. Her bir üyenin birden fazla e-posta adresi olabileceği göz önüne alınarak, üyelerin e-posta adresleri için ayrı bir tablo oluşturulmuştur. Bunun için Uyeler tablosundaki Id alanı ile UyeEpostalar tablosundaki UyeId alanları ilişkilendirilmiştir. (Kural-1) 1 Örnek Uygulama

  18. Üyeler ile Üyelik Tipleri (Standart, Gümüş ve Altın) arasındaki ilişki. Üyelik tipleri, UyeId ile direkt ilgisi olmayan bir bilgi olduğu için ayrı bir tabloya taşınmıştır. (Kural-2) 2 Örnek Uygulama

  19. Hiçbir tabloda birincil anahtarı olmayan bir alan, hiçbir birincil anahtarı olmayan alana bağlanmamıştır. (Kural-3) 3 Örnek Uygulama

  20. Hiçbir tabloda, birincil anahtar ile birincil anahtarı olmayan alanlar arasında bire-çok ilişki oluşturulmamıştır. (Kural-4) 4 Örnek Uygulama

  21. Üyelerin adresleri ayrı bir tabloda tutulmaktadır. Burada veri tekrarlarının önüne geçmek için, il ve ülke bilgileri ayrı bir tabloda tutulmuş ve UyeAdreslerin IlId’si ile Iller’in Id’si, UyeAdreslerin UlkeId’si ile Ulkeler’in Id’si arasında bire çok ilişki kurulmuştur. (Kural-5) 5 Örnek Uygulama

  22. Bir ilan birden fazla kategoride yer alabileceğinden dolayı, ilanlar ile kategoriler arasında çoka çok ilişki kurmak gerekiyor. Bunun için Ilanlar_Kategoriler tablosu oluşturulmuştur. 6 Örnek Uygulama

  23. Sonuç Veri tekrarı yapılmamalıdır. Boş yer mümkün olduğunca az olmalıdır. Veri bütünlüğü sağlanmalıdır. Veriler, aralarında bir ilişki tanımlanmaya müsait olmalıdır.

  24. Sonuç A ve B tabloları arasındaki ilişkiyi belirlemek için;

  25. Teşekkürler Devrim ALTINKURT daltinkurt@hotmail.com

More Related