Sobes.tech
Middle+

Ποιοι είναι οι τύποι σχέσεων μεταξύ των πινάκων;

sobes.tech AI

Απάντηση από AI

Υπάρχουν τρεις βασικοί τύποι σχέσεων μεταξύ πινάκων σε σχεσιακές βάσεις δεδομένων:

  1. Ένα προς ένα (1:1) — κάθε εγγραφή στον πρώτο πίνακα αντιστοιχεί ακριβώς σε μία εγγραφή στον δεύτερο πίνακα και το αντίστροφο. Χρησιμοποιείται όταν τα δεδομένα είναι λογικά διαχωρισμένα, αλλά συνδέονται άμεσα.

  2. Ένα προς πολλά (1:N) — μία εγγραφή στον πρώτο πίνακα αντιστοιχεί σε πολλές εγγραφές στον δεύτερο. Για παράδειγμα, ένας πελάτης μπορεί να έχει πολλές παραγγελίες.

  3. Πολλά προς πολλά (M:N) — οι εγγραφές στον πρώτο πίνακα σχετίζονται με πολλές εγγραφές στον δεύτερο και το αντίστροφο. Για την υλοποίηση, συνήθως δημιουργείται ένας ενδιάμεσος πίνακας με ξένες κλείδες και στους δύο πίνακες.

Παράδειγμα σχέσης πολλά προς πολλά:

-- Πίνακας φοιτητών
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)
);