Կարող եք նշել տվյալների բազայի աղյուսակների միջև գոյություն ունեցող կապերի տեսակները?
sobes.tech AI
Պատասխան AI-ից
Տվյալների բազաներում գոյություն ունեն երեք հիմնական տեսակի կապեր աղյուսակների միջև:
-
Միայն մեկին (One-to-One) — առաջին աղյուսակի յուրաքանչյուր գրառում համապատասխանում է ճիշտ մեկ գրանցման երկրորդ աղյուսակում և հակառակը: Օգտագործվում է, երբ տվյալները տրամաբանական առումով բաժանված են, բայց կապված են ուղիղ:
-
Միայն մեկից շատ (One-to-Many) — առաջին աղյուսակի մեկ գրառմանը համապատասխանում է մի քանի գրանցում երկրորդում: Օրինակ, մեկ օգտվող կարող է ունենալ շատ պատվերներ:
-
Շատից շատ (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)
);
Այս կապերի տեսակները հիմքն են ռելացիոն տվյալների մոդելավորման համար: