Normalizasyon

Bu maddede kaynak listesi bulunmasına karşın metin içi kaynakların yetersizliği nedeniyle bazı bilgilerin hangi kaynaktan alındığı belirsizdir . Lütfen kaynakları uygun biçimde metin içine yerleştirerek maddenin geliştirilmesine yardımcı olun. ( Mayıs 2020 ) ( Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin ) Veritabanı normalizasyonu. Normalizasyon ( Ayrıştırma ), veritabanlarında çok fazla sütun ve satırdan oluşan bir tabloyu tekrarlardan arındırmak için daha az satır ve sütun içeren alt kümelerine ayrıştırma işlemidir. Fransız bilim insanı Hubert Francesci tarafından ortaya atılan 3 esnek kuralına uygun protonlar tarafından entegre edilen bir sisteme sahiptir. Satır başlarında yapılan tekrar veritabanında ayrıştırma işlemine tabii tutularak depolanır. Eğer bir ilişki belirli bir normal formda (3NF, BCNF, vs.) ise, problemlerin bazıları oluşmaz, bu yüzden şemanın daha fazla ayrıştırılmasına gerek yoktur. Farzedelim ki R ilişkisi A1,..,An niteliklerini içersin. R'nin ayrıştırılması R'yi bir ya da daha fazla ilişkiyle yer değiştirmektir. Öyle ki; Her bir yeni ilişki şeması, R'nin niteliklerinin bir alt kümesini içerir.R'de olmayan hiçbir nitelik bu yeni ayrıştırılmış şemalarda yer alamaz. Her R niteliği bu ilişkilerden birinin bir niteliği olarak gözükür. R'nin ayrıştırılması ile ayrıştırmanın ürettiği ilişki şemalarının örnekleri depolanır.

Normal formlar 1NF ( Birinci Normal Form ): Bütün niteliklerin öz alanından ( domain ) aldığı değerler atomik olmak zorundadır. İlişkisel veritabanı modelinin temel kuralıdır ve her nitelik ancak atomik veriler alabilir. Örneğin kitap tablosunda, birden fazla yazarı olan kitap için yazar1, yazar2, yazar3 diye alanlar açsaydık, bu kurala uymamış olurduk. Böyle bir durumda, ayrıca yazarlar tablosu da oluşturarak kuralı çiğne ­ memiş oluruz. 2NF ( İkinci Normal Form ): Eğer R'deki herhangi bir birincil olmayan nitelik A, R'nin hiçbir anahtar niteliğine kısmi fonksiyonel bağımlı değilse bu ilişki şeması 2NF'dir denir. Burada kısmi fonksiyonel bağımlılıktan şunu anlamalıyız: Eğer X --> Y geçerli ise ve bir nitelik A X'in elemanı ise ve A, X'ten çıkarıldığı halde söz konusu bağımlılık hala geçerli ise burada bir kısmi fonksiyonel bağımlılık vardır. 3NF ( Üçüncü Normal Form ): Eğer R'deki herhangi bir birincil olmayan ( non-prime ) nitelik A, R'nin hiçbir anahtar niteliğine geçişli (transitively) fonksiyonel bağımlı değil ve halihazırda 2NF'da ise, bu ilişki şeması R 3NF'dadır denir. Burada geçişli fonksiyonel bağımlılıktan şunu anlamalıyız: Eğer X --> Y ve R'nin herhangi bir anahtarının altkümesi olmayan nitelikler kümesi Z söz konusu ve de X --> Y ve Y --> Z birlikte geçerli olmamalıdır. Eğer bir ilişki şeması R 3NF'da ise ve R'de bir fonksiyonel bağımlılık X --> A söz konusu ise; ya X, R'nin bir süperanahtarıdır ( superkey ) ya da A, R'nin birincil niteliğidir ( prime attribute ). Birincil nitelik demekle anahtarı oluşturan niteliklerin her birini kastediyoruz. Bir R ilişkisinin 3NF ilişkilerine kayıpsız-birleştirme ( lossless-join ) ve bağımlılıkların-korunması ( dependency-preserving ) ayrıştırması her zaman mümkündür. BCNF ( Boyce Codd Normal Form ): Eğer bir ilişki şeması R'de bir fonksiyonel bağımlılık X --> A söz konusu olduğunda, X nitelikler kümesi R'nin süperanahtarı ya da A, R'nin birincil niteliği ise, bu ilişki şeması R BCNF'dadır.

Sorunlar Bazı sorgular daha fazla gerçekleştirim süresi gerektirir, yani daha pahalı olurlar. Bu problemi ortadan kaldırmak ancak söz konusu sorgulara özgü bazı önlemler alarak mümkündür. Ayrıştırılmış ilişkilerin elde edilmiş örneklerinden orijinal ilişkinin örneğine karşılık geleni tekrar elde edemeyebiliriz. Bu problem ancak kayıpsız-birleştirme garanti altına alınırsa ortadan kalkar. Bazı bağımlılıkların sağlanıp sağlanmadığını kontrol edebilmek için ayrıştırılmış ilişkilerin örneklerinin birleştirilmesi gerekebilir. Bu problem bağımlılıkları-koruma garanti altına alınırsa ortadan kalkar.

Dış bağlantılar Normalizasyon için seviyelerin açıklandığı kaynaklar: Bilgisayar Kavramları: Birinci Normal Şekil 20 Nisan 2012 tarihinde Wayback Machine sitesinde arşivlendi . Bilgisayar Kavramları: İkinci Normal Şekil 18 Nisan 2012 tarihinde Wayback Machine sitesinde arşivlendi . Bilgisayar Kavramları: Üçüncü Normal Şekil 21 Nisan 2012 tarihinde Wayback Machine sitesinde arşivlendi . Bilgisayar Kavramları: Dördüncü Normal Şekil 15 Nisan 2012 tarihinde Wayback Machine sitesinde arşivlendi . Veritabanı Normalizasyonu 22 Eylül 2015 tarihinde Wayback Machine sitesinde arşivlendi . g t d Veritabanı yönetim sistemi Türler Nesne veritabanı ( karşılaştırma ) · Sütun yönelimli veritabanı yönetim sistemi · Belge yönelimli veritabanı · Grafik veritabanı · İlişkisel veritabanı · İlişkisel veritabanı yönetim sistemi · Anahtar-değer veritabanı · Bellek içi veritabanı · Çoklu model veritabanı · Bulut veritabanı · Aday anahtar · Yabancı anahtar · Ana anahtar · Superkey · Vekil anahtar Kavramlar Veritabanı · ACID · Armstrong'un aksiyomları · Codd'un 12 kuralı · CAP teoremi · CRUD · Null · Aday anahtarı · Yabancı anahtar · Süperanahtar · Vekil anahtar · Özel anahtar Nesneler İlişki ( Tablo · Sütun · Satır ) · Görünüm · Transaction · Trigger · Veritabanı dizini · Kaydedilmiş işlev · Cursor · Kayıt · Aktarım · Partition SQL NoSQL · NewSQL · Select · Insert · Update · Merge · Delete · Join · Union · Create · Drop · Begin work · Commit · Rollback · Truncate · Alter Bileşenler Eşzamanlılık denetimi · Veri sözlüğü · JDBC · ODBC · Sorgulama dilleri · Sorgu hızlandırıcı · Sorgu planı İlgili konular Veritabanı modelleri · Ayrıştırma · Veritabanında saklama · Dağıtık veritabanı · Federe veritabanı sistemi · Veri tutarlılığı · İlişkisel bütünlük · Bağıntısal cebir · İlişkisel hesap · İlişkisel model · Nesne-ilişkisel veritabanı · Hareket işleme Kategori