Sobes.tech
Middle+

Quais são os tipos de ligações entre as tabelas?

sobes.tech IA

Resposta da IA

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

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

  2. Um para muitos (1:N) — um registo na primeira tabela corresponde a múltiplos registos na segunda. Por exemplo, um cliente pode ter muitos pedidos.

  3. Muitos para muitos (M:N) — registos na primeira tabela estão relacionados com múltiplos registos na segunda e vice-versa. Para implementar, geralmente cria-se uma tabela intermédia de ligação com chaves externas para 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 de ligação entre estudantes e cursos
CREATE TABLE StudentCourses (
  StudentID INT,
  CourseID INT,
  PRIMARY KEY (StudentID, CourseID),
  FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
  FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);