Sobes.tech
Junior — Middle

Ar galite išvardyti ryšių tipus, kurie egzistuoja tarp lentelių duomenų bazėje?

sobes.tech AI

Atsakymas iš AI

Duomenų bazėse yra trys pagrindiniai ryšių tipai tarp lentelių:

  1. Vienas su vienu (One-to-One) — kiekvienas įrašas pirmojoje lentelėje atitinka tik vieną įrašą antrojoje lentelėje ir atvirkščiai. Naudojama, kai duomenys yra logiškai atskirti, bet tiesiogiai susiję.

  2. Vienas su daug (One-to-Many) — vienas įrašas pirmojoje lentelėje atitinka daug įrašų antrojoje lentelėje. Pavyzdžiui, vienas vartotojas gali turėti daug užsakymų.

  3. Daug su daug (Many-to-Many) — įrašai pirmojoje lentelėje gali atitikti daug įrašų antrojoje lentelėje ir atvirkščiai. Tai įgyvendinama per tarpinę lentelę, kuri turi abiejų lentelių išorinius raktus.

Pavyzdys "daug su daug" ryšio:

-- Studentų lentelė
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

-- Kursų lentelė
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    Title VARCHAR(100)
);

-- Tarpinė lentelė daug su daug ryšiui
CREATE TABLE StudentCourses (
    StudentID INT,
    CourseID INT,
    PRIMARY KEY (StudentID, CourseID),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

Šie ryšių tipai yra pagrindas relacinio duomenų modeliavimui.