Junior
Tabloda neden ilişki gerekir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Bir veritabanındaki tablolar arasındaki ilişki veya bağlantı, şunlar için gereklidir:
- Veri fazlalığını ortadan kaldırmak: Bilgiyi birkaç tabloda çoğaltmak yerine, tek bir tabloda saklar ve diğerleri ona referans verir. Bu, alan tasarrufu sağlar ve güncellemeleri kolaylaştırır.
- Veri bütünlüğünü sağlamak: İlişkiler, verilerin tutarlılığını korumaya yardımcı olur. Örneğin, başka bir tablo ona referans veren bir satır varsa, bir satırı silemezsiniz (kısıtlama türüne bağlı olarak).
- Sorguları basitleştirmek: JOIN işlemleri kullanarak birkaç tablodan ilişkili verileri kolayca çıkarma imkanı sağlar.
- Veritabanı yapısını oluşturmak: Gerçek dünya varlıkları arasındaki mantıksal ilişkiyi yansıtarak, veritabanı yapısını daha anlaşılır ve düzenli hale getirir.
İlişki türleri örnekleri:
- Bir-bir (One-to-one): A tablosundaki bir satır, yalnızca B tablosundaki bir satırla ilişkilidir ve tersi de geçerlidir.
- Bir-çok (One-to-many): A tablosundaki bir satır, B tablosundaki birkaç satırla ilişkilendirilebilir, ancak B'deki bir satır yalnızca A'daki bir satırla ilişkilidir.
- Çok-çok (Many-to-many): A tablosundaki bir satır, B tablosundaki birkaç satırla ilişkilendirilebilir ve tersi de geçerlidir. Genellikle ara tablo aracılığıyla uygulanır.
SQL örneği ile uygulama:
CREATE TABLE musteriler (
musteri_id INT PRIMARY KEY,
isim VARCHAR(255)
);
CREATE TABLE siparisler (
siparis_id INT PRIMARY KEY,
siparis_tarihi DATE,
musteri_id INT,
FOREIGN KEY (musteri_id) REFERENCES musteriler(musteri_id) // "bir-çok" ilişkisi: Bir müşteri birçok siparişe sahip olabilir
);