Sobes.tech
Junior — Middle

Poți enumera tipurile de relații existente între tabele într-o bază de date?

sobes.tech AI

Răspuns de la AI

În bazele de date, există trei tipuri principale de relații între tabele:

  1. Unu la unu (One-to-One) — fiecărui înregistrări din prima tabelă îi corespunde exact o înregistrare în a doua tabelă și vice versa. Se utilizează atunci când datele sunt logic separate, dar legate direct.

  2. Unu la mai multe (One-to-Many) — unei înregistrări din prima tabelă îi corespund mai multe înregistrări în a doua. De exemplu, un utilizator poate avea multe comenzi.

  3. Multe la multe (Many-to-Many) — înregistrările din prima tabelă pot corespunde mai multor înregistrări în a doua și vice versa. Se implementează printr-un tabel intermediar care conține chei externe ale ambelor tabele.

Exemplu de relație "multe la multe":

-- Tabelul studenților
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

-- Tabelul cursurilor
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    Title VARCHAR(100)
);

-- Tabelul intermediar pentru relația multe la multe
CREATE TABLE StudentCourses (
    StudentID INT,
    CourseID INT,
    PRIMARY KEY (StudentID, CourseID),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

Aceste tipuri de relații sunt fundamentale în modelarea relațională a datelor.