acc: Veritabanı normalleştirme esaslarının

Makale çevirileri Makale çevirileri
Makale numarası: 100139 - Bu makalenin geçerli olduğu ürünleri görün.
Acemi: tek kullanıcılı bilgisayarlarda kullanıcı arabiriminin bilgisi gerektirir.

Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede temel veritabanı normalleştirme terminolojisi açıklanmaktadır. A Bu terminolojinin temel anlama ele alınırken yardımcı İlişkisel veritabanı tasarımını.

Not: Microsoft, ayrıca veritabanı normalleştirme esaslarının anlatıldığı bir Web Yayını sunar. Bu Web yayınını görüntülemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/servicedesks/webcasts/wc060600/wc060600.asp?FR=1
Not: Microsoft Access 2000 için bu bilgileri görmek için Microsoft Bilgi Bankası'ndaki aşağıdaki makaleye bakın:
209534 ACC2000: Veritabanı normalleştirme esaslarının

Daha fazla bilgi

Normalleştirmenin açıklaması

Normalleştirme, bir veritabanındaki verileri düzenleme işlemidir. Bu Tablo oluşturma ve bunlar arasındaki ilişkileri kurma içerir kurallara göre tabloları hem de verileri korumak için tasarlanmış ve iki etken ortadan kaldırarak veritabanını daha esnek olun: artıklık ve Tutarsız bağımlılık.

Artık veriler disk alanını boşa harcar ve Bakım sorunları oluşturur. Eğer birden çok konumda bulunan verilerin değiştirilmesi, veri gerekir. tüm konumlarda tam olarak aynı şekilde değiştirilmesi. Bir müşteri adres değişikliği bu verileri yalnızca depolanmışsa, çok kolay Müşteriler tablosu ve veritabanında saklanıyorsa.

"Tutarsız bağımlılık" nedir? Bir kullanıcı için sezgisel iken Müşteriler tablosunda belirli bir adres için aramak için Müşteri, maaş için orada aramak için anlamlı değil sağlamak Bu müşteriyle çağırır çalışan. Çalışanın maaşı ilgili için veya bağımlı üzerinde çalışan ve bu nedenle taşınması Çalışanlar tablosunu. Tutarsız bağımlılıklar veri zorlaştırabilir erişim; verileri bulma yolu eksik veya bozuk olabilir.

Veritabanı normalleştirmesi için birkaç kural vardır. Her kural olarak adlandırılır "normal form." İlk kural kullanılıyorsa, veritabanı diyor ki "ilk normal formda." olacak İlk üç kural kullanılıyorsa, Veritabanı "Üçüncü normal formda." olarak kabul edilir Rağmen başka normalleştirme düzeyleri de olası, üçüncü normal form en üst düzey çoğu uygulamalar için gerekli kabul edilir.

Birçok resmi kuralları ve özellikleri gibi gerçek dünyada karşılaşılan senaryolarda yapın. her zaman mükemmel bir uyumluluk sağlar. Genel olarak, normalleştirme Ek tablolar ve bazı müşteriler bu hantal bulmak gerekir. Eğer normalleştirme ilk üç kuralından birini ihlal etmeye karar, Uygulamanızın verebilecek sorunlara karşı hazır olduğundan emin olun , gereksiz verileri ve tutarsız bağımlılıklar gibi oluşur.

Not: Aşağıdaki açıklamalarda örnekler yer almaktadır.

İlk Normal Form

  • Aynı tablodaki yinelenen grupları kaldırın.
  • Her bir ilgili veri kümesi için ayrı bir tablo oluşturun.
  • Her bir ilgili veri kümesi ile bir birincil anahtar tanımlayın.
Birden fazla alanı tek bir tabloda benzer verileri saklamak için kullanmayın. Örneğin, iki gelebilir bir stok öğesini izlemek için Satıcı için olası girişim kaynaklarından, stok kayıt alanları içerebilir Kodu 1 ve satıcı kodu 2.

Ancak üçüncü bir satıcı eklerseniz ne olur? Bir alan eklemek değil yanıt; program ve tabloda değişiklikler yapılmasını gerektirir ve mevcut sorunsuz bir satıcı sayısını dinamik uyacak. Bunun yerine, tüm koyun Satıcı bilgilerini satıcılar adlı ayrı bir tabloda sonra bağlayın Stok sayımı için bir madde numarası anahtarıyla satıcılara veya satıcıları için Satıcı kodu anahtarıyla.

İkinci Normal Form

  • Geçerli değer kümeleri için ayrı tablolar oluşturmak için birden çok kayıtları.
  • Bu tabloları bir yabancı anahtarla ilişkilendirin.
Kayıtlar dışında bir tablonun birincil anahtarı üzerinde bağımlı olmamalıdır (Bileşik anahtar, gerekirse). Örneğin, bir müşterinin düşünün muhasebe sistemi adresi. Adres tarafından gerekli Müşteriler tablosu, sevkiyat, siparişler, faturalar, hesapları tarafından da Alacak ve koleksiyonları tablolar. Müşterinin depolamak yerine Bu tablolardan her biri ayrı bir girdi olarak adres, bir mağaza Müşteriler tablosunda veya ayrı bir adresler tablosunda yer.

Üçüncü Normal Form

  • Anahtara bağımlı olmayan alanları kaldırın.
Bir kayıt kayıt anahtarının bir parçası olmayan değerlerde yapın tabloya ait. Genel olarak, herhangi bir grup içeriğini saat Tablo tek bir kayıtta birden fazla göz önünde bulundurulması gereken alanları geçerli olmayabilir Bu alanlar içinde ayrı bir tablo yerleştirme.

Örneğin, bir çalışan işe alma tablosunda, bir adayın 's Üniversite adını ve adresini dahil edilebilir. Ancak tam bir gerekir Grup postaları için tüm üniversitelerin listesi. Üniversite bilgileri Adaylar tablosunda depolanan, üniversiteler yolu yoktur geçerli adaylar ile. Ayrı bir üniversiteler tablosu oluşturmak ve Bunu bir üniversite kodu anahtarıyla adaylar tablosuna bağlayın.

Özel durum: Üçüncü normal form için bağlılığı, teorik olarak çalışırken arzu, her zaman pratik değildir. Bir Müşteriler tablonuz varsa ve tüm olası yinelenebilecek bağımlılıkları kaldırmak istiyorsanız, şehirler, posta kodları, satış için ayrı tablolar oluşturmalısınız temsilcileri, müşteri sınıfları ve olabilecek diğer bir faktör birden çok kayıtta çoğaltılması. Teorik olarak, normalleştirme olur. sürdürdüğünü değerindedir; Ancak, çok sayıda küçük tablo performansı düşebilir veya açık dosyası ve bellek kapasiteleri aşamaz.

Üçüncü normal form yalnızca verilere uygulanması daha uygun olabilir, sık sık değişir. Bazı bağımlı alanlar kalacaksa, tasarım, tüm ilgili alanların herhangi bir zaman doğrulamak kullanıcı istemek için uygulama biri değiştirilir.

Diğer normalleştirme formları

Dördüncü normal form da Boyce Codd Normal Form (bcnf) adı verilen ve beşinci normal biçim vardır, ancak nadiren practical kabul edilir Tasarım. Bu kurallar dikkate alınmadığında mükemmel daha az neden olabilir Veritabanı tasarım, ancak işlevselliği etkilememelidir.
               **********************************
                 Examples of Normalized Tables
               **********************************

 Normalization Examples:

 Unnormalized table:

    Student#   Advisor   Adv-Room  Class1   Class2   Class3
    -------------------------------------------------------
    1022       Jones      412      101-07   143-01   159-02
    4123       Smith      216      201-01   211-02   214-01
				
  1. İlk Normal Form: YİNELENEN grup yok

    Tablolar yalnızca iki boyutlu olmalıdır. Bir öğrenci olduğundan birkaç sınıf, bu sınıfların ayrı bir listelenmiş olmalıdır Tablo. Class1 alanları, Ders2 & Ders3 Yukarıdaki kayıt olan Tasarım göstergeleri.

    Elektronik tablolar genelde üçüncü boyutu kullanır, ancak tablolar kullanmamalıdır. Bu sorun için başka bir yol: ile bir-çok İlişki, bir tarafını ve çok tarafını aynı şekilde yerleştirmeyin Tablo. Bunun yerine, ilk normal form tarafından başka bir tablo oluşturun yinelenen grubu (Ders #), aşağıda gösterildiği gibi ortadan kaldırır:
           Student#   Advisor   Adv-Room    Class#
           ---------------------------------------
           1022      Jones      412       101-07
           1022      Jones      412       143-01
           1022      Jones      412       159-02
           4123      Smith      216       201-01
           4123      Smith      216       211-02
           4123      Smith      216       214-01
    					
  2. İkinci Normal Form: Artık verileri kaldırma

    Birden çok Ders # değer her Öğrenci # değeri not alın. Yukarıdaki tablo. Ders # Öğrenci # üzerinde işlevsel olarak bağımlı değildir. (birincil anahtar), böylece bu ilişki ikinci normal formda değil.

    Aşağıdaki iki tabloda ikinci normal form gösterilmektedir:
        Students:   Student#    Advisor   Adv-Room
                    ------------------------------
                    1022        Jones       412
                    4123        Smith       216
    
        Registration:   Student#    Class#
                        ------------------
                        1022        101-07
                        1022        143-01
                        1022        159-02
                        4123        201-01
                        4123        211-02
                        4123        214-01
    					
  3. Üçüncü Normal Form: ANAHTARA bağlı olmayan verileri kaldırma

    Son örnekte ise oda (danışmanın oda numarası) işlevsel olarak bağımlı Danışmanı özniteliği. Çözüm Bu öznitelik öğrenciler tablosundan Fakülte tablosuna taşımak, Aşağıda gösterildiği gibi:
        Students:   Student#    Advisor
                    -------------------
                    1022        Jones
                    4123        Smith
    
        Faculty:    Name    Room    Dept
                    --------------------
                    Jones   412     42
                    Smith   216     42
    					

Referanslar

Veritabanı tasarlama hakkında ek bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
234208 ACC2000: "İlişkisel veritabanı tasarımını anlama" belgesini Yükleme Merkezi
"FoxPro 2 a Developer's Guide," Hamilton m. Ahlo dizine eklemek istiyorsanız et al., sayfaları 220-225, m & t kitaplar, 1991

799-800 Que "Kullanarak Access for Windows," Roger Jennings sayfalar Corporation, 1993

Özellikler

Makale numarası: 100139 - Last Review: 16 Ocak 2013 Çarşamba - Gözden geçirme: 4.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 1.0 Standard Edition
  • Microsoft Access 1.1 Standard Edition
  • Microsoft Access 2.0 Standard Edition
  • Microsoft Access 97 Standard Edition
Anahtar Kelimeler: 
kbinfo kbusage kbmt KB100139 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 100139
Kullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com