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:
-
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.
-
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.
-
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.