Μπορείς να απαριθμήσεις τους τύπους σχέσεων που υπάρχουν μεταξύ των πινάκων σε μια βάση δεδομένων;
sobes.tech AI
Απάντηση από AI
Στις βάσεις δεδομένων, υπάρχουν τρεις βασικοί τύποι σχέσεων μεταξύ πινάκων:
-
Ένα προς ένα (One-to-One) — κάθε εγγραφή στον πρώτο πίνακα αντιστοιχεί σε ακριβώς μία εγγραφή στον δεύτερο πίνακα και το αντίστροφο. Χρησιμοποιείται όταν τα δεδομένα είναι λογικά διαχωρισμένα, αλλά άμεσα συνδεδεμένα.
-
Ένα προς πολλά (One-to-Many) — μία εγγραφή στον πρώτο πίνακα αντιστοιχεί σε πολλές εγγραφές στον δεύτερο. Για παράδειγμα, ένας χρήστης μπορεί να έχει πολλές παραγγελίες.
-
Πολλά προς πολλά (Many-to-Many) — οι εγγραφές στον πρώτο πίνακα μπορούν να αντιστοιχούν σε πολλές εγγραφές στον δεύτερο και το αντίστροφο. Υλοποιείται μέσω ενός ενδιάμεσου πίνακα που περιέχει ξένους κλειδιά και των δύο πινάκων.
Παράδειγμα σχέσης "πολλά προς πολλά":
-- Πίνακας φοιτητών
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100)
);
-- Πίνακας μαθημάτων
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
Title VARCHAR(100)
);
-- Ενδιάμεσος πίνακας για τη σχέση πολλά προς πολλά
CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);
Αυτοί οι τύποι σχέσεων αποτελούν τη βάση του σχεδιασμού σχεσιακών δεδομένων.