Sobes.tech
Junior — Middle

Consegues enumerar os tipos de ligações existentes entre tabelas numa base de dados?

sobes.tech IA

Resposta da IA

Existem três tipos principais de relações entre tabelas em bases de dados:

  1. Um para um (One-to-One) — para cada registo na primeira tabela corresponde exatamente um registo na segunda tabela e vice-versa. Utilizado quando os dados estão logicamente separados, mas ligados diretamente.

  2. Um para muitos (One-to-Many) — um registo na primeira tabela corresponde a múltiplos registos na segunda. Por exemplo, um utilizador pode ter muitos pedidos.

  3. Muitos para muitos (Many-to-Many) — os registos na primeira tabela podem corresponder a múltiplos registos na segunda e vice-versa. Implementa-se através de uma tabela intermédia que contém chaves externas de ambas as tabelas.

Exemplo de relação "muitos para muitos":

-- Tabela de estudantes
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

-- Tabela de cursos
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    Title VARCHAR(100)
);

-- Tabela intermédia para a relação muitos para muitos
CREATE TABLE StudentCourses (
    StudentID INT,
    CourseID INT,
    PRIMARY KEY (StudentID, CourseID),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

Estes tipos de relações são a base do modelamento relacional de dados.