Bir veritabanındaki tablolar arasında mevcut olan ilişki türlerini sıralayabilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
Veritabanlarında, tablolar arasındaki üç temel ilişki türü vardır:
-
Birebir (One-to-One) — ilk tablodaki her kayda karşılık ikinci tabloda tam olarak bir kayıt bulunur ve tersi de geçerlidir. Veriler mantıksal olarak ayrılmış, ancak doğrudan ilişkili olduğunda kullanılır.
-
Bire çok (One-to-Many) — ilk tablodaki bir kayda karşılık ikinci tabloda birçok kayıt bulunur. Örneğin, bir kullanıcı birçok siparişe sahip olabilir.
-
Çoktan çoğa (Many-to-Many) — ilk tablodaki kayıtlar, ikinci tablodaki birçok kayıtla eşleşebilir ve tersi de geçerlidir. Bu, her iki tablonun dış anahtarlarını içeren ara bir tablo aracılığıyla uygulanır.
"Çoktan çoğa" ilişki örneği:
-- Öğrenci tablosu
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100)
);
-- Kurslar tablosu
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
Title VARCHAR(100)
);
-- Çoktan çoğa ilişki için ara tablo
CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
Bu ilişki türleri, ilişkisel veri modellemesinin temelini oluşturur.