Junior
Como é alcançada a relação numa base de dados relacional?
sobes.tech IA
Resposta da IA
As relações em sistemas de gestão de bases de dados relacionais (SGBDR) são alcançadas através de chaves estrangeiras (Foreign Keys).
Uma chave estrangeira é uma coluna ou conjunto de colunas numa tabela que faz referência à chave primária noutra tabela. Assim, estabelece-se uma ligação entre os registos de duas tabelas.
Exemplos de tipos de relações:
- Um-para-muitos (One-to-Many): Um registo na primeira tabela está relacionado com vários registos na segunda tabela. Por exemplo, um departamento pode ter muitos funcionários. Na tabela
Employees, haverá uma chave estrangeira que faz referência à chave primária na tabelaDepartments. - Muitos-para-muitos (Many-to-Many): Vários registos na primeira tabela estão relacionados com vários registos na segunda tabela. Por exemplo, um estudante pode frequentar vários cursos, e um curso pode ser frequentado por vários estudantes. Para implementar, usa-se uma tabela intermédia (tabela de ligações) que contém chaves estrangeiras que fazem referência às chaves primárias de ambas as tabelas.
- Um-para-um (One-to-One): Um registo na primeira tabela está relacionado apenas com um registo na segunda tabela. Este é um tipo de relação menos comum e muitas vezes é usado para dividir verticalmente uma tabela ou armazenar dados opcionais. Implementa-se através de uma chave estrangeira na segunda tabela que faz referência à chave primária na primeira, muitas vezes com uma restrição de unicidade na chave estrangeira.
Exemplo de criação de uma tabela com chave estrangeira em SQL:
-- Criar a tabela Departments
CREATE TABLE Departments (
department_id INT PRIMARY KEY, -- Chave primária
department_name VARCHAR(100)
);
-- Criar a tabela Employees com chave estrangeira
CREATE TABLE Employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(100),
department_id INT, -- Coluna para a chave estrangeira
FOREIGN KEY (department_id) REFERENCES Departments(department_id) -- Definição da chave estrangeira
);
As chaves estrangeiras garantem a integridade referencial dos dados, evitando a criação de ligações "fantasma" (quando a chave estrangeira faz referência a um registo inexistente na tabela relacionada).