Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 2184|Yanıt: 0

[İletişim] İlişkisel veritabanı tasarımı: üç paradigmanın popüler bir anlayışı

[Bağlantıyı kopyala]
Yayınlandı 21.03.2024 10:53:13 | | | |
Mülakat sırasında bazı mülakatçılar veritabanı paradigması hakkında soru soracak, üniversitede daha önce veritabanlarını inceledim ama paradigmayı duymadım, öğretmen de bahsetti ve ben de dikkat etmedim?

Şu anda ilişkisel veritabanlarında altı paradigma bulunmaktadır: birinci paradigma (1NF), ikinci paradigma (2NF), üçüncü paradigma (3NF), Bass-Cod paradigması (BCNF), dördüncü paradigma (4NF) ve beşinci paradigma (5NF, aynı zamanda mükemmel paradigma olarak da bilinir).

Genellikle birinci paradigma (1NF), ikinci paradigma (2NF) ve üçüncü paradigma (3NF) kullanılır; bu da bu makalede tartışılacak "üç paradigma"dır.

Birinci Paradigma (1NF): Veritabanı tablosunun her sütununun bölünmez bir atomik veri öğesi olmasını gerektirir.

Göstermek:



Yukarıdaki tabloda, ne "Aile Bilgisi" ne de "Okul Bilgisi" sütunları atomiklik gereksinimlerini karşılamaz, bu nedenle ilk paradigmayı karşılamaz ve aşağıdaki şekilde ayarlanır:



Her ayarlanmış sütunun bölünmez olduğu görülebilir, bu yüzden ilk paradigmayı (1NF) karşılar;

Paradigma 2 (2NF): 1NF temelinde, kod dışı öznitelikler tamamen aday kodlara bağımlı olmalıdır (birincil olmayan özelliklerin kısmi fonksiyon bağımlılığını ana kod üzerinden 1NF temelinde ortadan kaldırın)

İkinci paradigma, veritabanı tablosundaki her sütunun sadece birincil anahtarın bir parçası değil, birincil anahtarla ilişkili olmasını sağlamalıdır (özellikle federasyon birincil anahtarlar için).

Göstermek:



Yukarıdaki diyagramda gösterilen durumda, aynı sipariş farklı ürünler içerebilir, bu nedenle birincil anahtar "sipariş numarası" ve "ürün numarası" kombinasyonu olmalıdır.

Ancak, ürün miktarı, ürün indirimi ve ürün fiyatının hepsinin "sipariş numarası" ve "ürün numarası" ile ilgili olduğu, ancak sipariş miktarı ve sipariş süresinin sadece "sipariş numarası" ile ilgili olduğu ve "ürün numarası" ile hiçbir ilgisi olmadığı görülebilir.

Bu, ikinci paradigmanın gereksinimlerini karşılamaz ve aşağıdaki şekilde ayarlanır; iki tabloya bölünmelidir:



Üçüncü paradigma (3NF): 2NF temelinde, herhangi bir ana olmayan öznitelik diğer ana olmayan özelliklere bağlı değildir (2NF temelinde iletim bağımlılıklarını ortadan kaldırmak)

Üçüncü paradigma, veri tablosundaki her veri sütununun dolaylı değil, doğrudan birincil anahtarla ilişkili olmasını sağlamalıdır.

Göstermek:



Yukarıdaki tabloda, tüm özellikler tamamen öğrenci sayısına bağlıdır, bu yüzden ikinci paradigma gerçekleşir, ancak "sınıf öğretmeni cinsiyeti" ve "sınıf öğretmeni yaşı" doğrudan "sınıf öğretmeni adı"na bağlıdır.

Ana anahtar "öğrenci numarası" yerine aşağıdaki ayarlamalar yapılmalıdır:



Bu şekilde, üçüncü paradigmanın gereklilikleri karşılanır.

ps:如果把上表中的班主任姓名改成班主任教工号可能更确切,更符合实际情况,不过只要能理解就行。

BCNF (Bovce Codd Normal Form Bacchus Paradigması)

Düzeltmenin üçüncü paradigması, birincil anahtarın bir sütununun birincil anahtarın diğer sütunlarına bağımlı olmasını önlemektir. 3NF, ana özellik koduna bazı fonksiyon bağımlılıklarını ve aktarım fonksiyon bağımlılıklarını ortadan kaldırdığında, buna BCNF denir.

Özellik:

1. Tüm ana öznitelikler her koda tamamen fonksiyonel bağımlılıklardır

2. Tüm ana öznitelikler, içermeyen her kod için tamamen fonksiyona bağlıdır

3. Tamamen işlevsel ve kod dışı özellikler setine bağlı olan hiçbir öznitelik yoktur

Örneğin, envanter tablosu (depo adı, yönetici adı, ürün adı, miktar) birincil anahtar (depo adı, yönetici adı, ürün adı) olup, önceki üç paradigmayı karşılar, ancak depo adı ile yönetici adı arasında bir bağımlılık vardır; bu nedenle bir depo silindiğinde yönetici silinir ve BCNF tatmin edilmez.

4NF Dördüncü Paradigma

Birincil olmayan özelliklerin birden fazla değeri olmamalıdır. Eğer çoklu bir değer varsa, bu dördüncü paradigmayı ihlal eder. 4NF, özellikler arasında önemsiz ve fonksiyona bağlı olmayan çok değerli bağımlılıklara izin vermeyen kısıtlama ilişkisel bir desendir.

Örneğin, kullanıcı iletişim bilgileri tablosu (kullanıcı kimliği, sabit hat, cep telefonu), burada kullanıcı kimliği birincil anahtar ve BCNF'yi sağlar, ancak bir kullanıcının birden fazla sabit telefon veya birden fazla cep telefonu olabilir, bu tasarım makul değildir ve (kullanıcı kimliği, iletişim türü, telefon numarası) olarak değiştirilmelidir.

Not: Sadece fonksiyon bağımlılıkları ele alındığında, ilişkisel kalıpların en yüksek normalizasyon derecesine sahip paradigma BCNF'dir. Çok değerli bağımlılıkları düşünürseniz, 4NF olur.

5NF Beşinci Paradigma

Beşinci paradigma, 4NF'deki bağlantı bağımlılığını ortadan kaldıran son paradigmadır ve beşinci paradigma aşağıdaki gereksinimleri karşılamalıdır:

1. Dördüncü paradigma karşılanmalıdır

2. Tablolar, mantıken orijinal tabloyla aynı birincil anahtara sahip olmadıkça, daha küçük tablolara ayrılabilir olmalıdır.

Genel pratik uygulamalarda, beşinci paradigma dikkate alınmak zorunda değildir.

Transfer edilenler:Bağlantı girişi görünür.
Referans:Bağlantı girişi görünür.





Önceki:Alibaba Cloud özel ağın (sanal anahtar) yerini alıyor ve erişilemiyor
Önümüzdeki:Guardian ASP.NET Core uygulamasını PM2 ile başlatın
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com