MS Access - Verileri İlişkilendirme
Bu bölümde, verileri ilişkilendirmenin temellerini anlayacağız. Farklı veriler hakkında konuşmadan ve bunlar arasında ilişkiler oluşturmadan önce, buna neden ihtiyacımız olduğunu gözden geçirelim. Her şey normale dönüyor.
Normalleştirme
Veritabanı normalleştirme veya basitçe normalleştirme, veri fazlalığını en aza indirmek için ilişkisel bir veritabanının sütunlarını (özniteliklerini) ve tablolarını (ilişkileri) düzenleme işlemidir. Genel performansı, bütünlüğü ve uzun ömürlülüğü iyileştirmek için verileri birden çok tabloya bölme işlemidir.
Normalleştirme, bir veritabanındaki verileri düzenleme işlemidir.
Bu, hem verileri korumak hem de fazlalık ve tutarsız bağımlılığı ortadan kaldırarak veritabanını daha esnek hale getirmek için tasarlanmış kurallara göre tablolar oluşturmayı ve bu tablolar arasında ilişkiler kurmayı içerir.
Şimdi verileri içeren aşağıdaki tabloya bakalım, ancak sorun şu ki, bu veriler oldukça fazladır ve bu da veri girişi sırasında yazım hatası ve tutarsız ifadeler olasılığını artırır.
Müşteri Kimliği | İsim | Adres | Kurabiye | Miktar | Fiyat | Toplam |
---|---|---|---|---|---|---|
1 | Ethel Smith | 12 Main St, Arlington, VA 22201 S | Çikolata cipsi | 5 | 2,00 ABD doları | 10,00 $ |
2 | Tom Wilber | 1234 Meşe Dr., Pekin, IL 61555 | Choc Chip | 3 | 2,00 ABD doları | 6,00 $ |
3 | Ethil Smithy | 12 Main St., Arlington, VA 22201 | Çikolata cipsi | 5 | 2,00 ABD doları | 10,00 $ |
Bu sorunu çözmek için, aşağıdaki üç tabloda gösterildiği gibi bu fazlalıkların bir kısmını ortadan kaldırmak için verilerimizi yeniden yapılandırmalı ve birden çok tabloya ayırmalıyız.
Burada Müşteriler için bir masamız var, ikincisi Siparişler için ve üçüncüsü Çerezler için.
Buradaki sorun, verileri birden çok tabloya bölerek, bir tablodaki verilerin başka bir tablodaki verilerle nasıl ilişkili olduğunu anlamaya yardımcı olmayacak olmasıdır. Verileri birden çok tabloya bağlamak için, yabancı anahtarlar eklemeliyiz.Orders tablo.
İlişkileri Tanımlamak
Bir ilişki, her iki tabloda da genellikle aynı ada sahip sütunlardaki verileri eşleştirerek çalışır. Çoğu durumda ilişki, her satır için benzersiz bir tanımlayıcı sağlayan bir tablodaki birincil anahtarla diğer tablodaki yabancı anahtardaki bir girişle eşleşir. Tablolar arasında üç tür ilişki vardır. Oluşturulan ilişkinin türü, ilgili sütunların nasıl tanımlandığına bağlıdır.
Şimdi üç tür ilişkiye bakalım -
Bire Çoğa İlişkiler
Bire çok ilişki, en yaygın ilişki türüdür. Bu ilişki türünde, A tablosundaki bir satır, B tablosunda birçok eşleşen satıra sahip olabilir, ancak B tablosundaki bir satır, A tablosunda yalnızca bir eşleşen satıra sahip olabilir.
Örneğin, Müşteriler ve Siparişler tablolarında bire çok ilişkisi vardır: her müşteri birçok sipariş verebilir, ancak her sipariş yalnızca bir müşteriden gelir.
Çoktan Çoğa İlişkiler
Çoktan çoğa bir ilişkide, A tablosundaki bir satır, B tablosunda birçok eşleşen satıra sahip olabilir ve bunun tersi de geçerlidir.
Böyle bir ilişki, a adı verilen üçüncü bir tablo tanımlayarak oluşturursunuz. junction table, birincil anahtarı hem tablo A hem de tablo B'deki yabancı anahtarlardan oluşur.
Örneğin, Müşteriler tablosu ve Tanımlama Bilgileri tablosu, bu tabloların her birinden Siparişler tablosuna bire çok ilişkisiyle tanımlanan çoktan çoğa bir ilişkiye sahiptir.
Bire Bir İlişkiler
Bire bir ilişkide, A tablosundaki bir satır, B tablosunda birden fazla eşleşen satıra sahip olamaz ve bunun tersi de geçerlidir. Bire bir ilişki, her iki ilgili sütun da birincil anahtar ise veya benzersiz kısıtlamalara sahipse oluşturulur.
Bu tür bir ilişki yaygın değildir çünkü bu şekilde ilişkili çoğu bilgi tek bir tabloda olacaktır. Bire bir ilişki kullanabilirsiniz -
- Bir tabloyu birçok sütuna bölün.
- Güvenlik nedenleriyle bir tablonun bir bölümünü izole edin.
- Kısa ömürlü ve tabloyu silerek kolayca silinebilecek verileri depolayın.
- Yalnızca ana tablonun bir alt kümesine uygulanan bilgileri depolayın.