Sobes.tech
Junior — Middle

Оё шумо метавонед намудҳои робитаҳоро, ки байни ҷадвалҳо дар базаи додаҳо вуҷуд доранд, номбар кунед?

sobes.tech AI

Ҷавоб аз AI

Дар маълумотҳо, се навъ асосии робита байни ҷадвалҳо мавҷуд аст:

  1. Як ба як (One-to-One) — ба ҳар сабт дар ҷадвали аввал як сабти дақиқ дар ҷадвали дуввум мувофиқат мекунад ва баръакс. Ин вақте истифода мешавад, ки маълумотҳо мантиқӣ ҷудо шудаанд, аммо мустақиман пайвастанд.

  2. Як ба бисёр (One-to-Many) — ба як сабт дар ҷадвали аввал чанд сабт дар ҷадвали дуввум мувофиқат мекунад. Масалан, як корбар метавонад чанд фармоиш дошта бошад.

  3. Бисёр ба бисёр (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)
);

Ин навъҳои робита асоси моделсозии маълумотҳои релясионалӣ мебошанд.