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)
);

Այս կապերի տեսակները հիմքն են ռելացիոն տվյալների մոդելավորման համար: