Sobes.tech
Junior — Middle

Vai vari uzskaitīt veidu, kādi ir saistības starp tabulām datu bāzē?

sobes.tech AI

Atbilde no AI

Datubāzēs pastāv trīs galvenie saistību veidi starp tabulām:

  1. Viens pret vienu (One-to-One) — katram ierakstam pirmajā tabulā atbilst tieši viens ieraksts otrajā tabulā un otrādi. To izmanto, kad dati ir loģiski atdalīti, bet tieši saistīti.

  2. Viens pret daudz (One-to-Many) — vienam ierakstam pirmajā tabulā atbilst daudzi ieraksti otrajā. Piemēram, viens lietotājs var būt vairākās pasūtījumos.

  3. Daudz pret daudz (Many-to-Many) — ieraksti pirmajā tabulā var atbilst daudziem ierakstiem otrajā un otrādi. To realizē ar starptabulu, kas satur abu tabulu ārējos atslēgas.

"Daudz pret daudz" saistības piemērs:

-- Studentu tabula
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

-- Kursu tabula
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    Title VARCHAR(100)
);

-- Starptabula daudz pret daudz saistībai
CREATE TABLE StudentCourses (
    StudentID INT,
    CourseID INT,
    PRIMARY KEY (StudentID, CourseID),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

Šie saistību veidi ir pamats relāciju datu modelēšanai.