Lembre-se, cada desafio é uma chance de crescer. Não se desanime com os erros; eles são degraus no caminho do aprendizado. E acima de tudo, divirta-se! O aprendizado mais eficaz acontece quando nos engajamos e nos interessamos pelo que estamos fazendo.
Suponha que temos a seguinte tabela Estudante com um atributo multivalorado Telefones:
<img src="https://github.com/DanniNascimento/normalizacao-de-dados/issues/1#issue-2402122295.png"/>
Para transformar essa tabela em 1FN, precisamos eliminar os atributos multivalorados e criar linhas distintas para cada valor do atributo multivalorado.
Tabela Estudante:
<img src="https://github.com/DanniNascimento/normalizacao-de-dados/issues/2#issuecomment-2221909548.png"/>
<img src="https://github.com/DanniNascimento/normalizacao-de-dados/issues/3#issue-2402136229.png"/>
SQL para criar as tabelas em 1FN:
-- Criar a tabela Estudante
CREATE TABLE Estudante (
ID INT PRIMARY KEY AUTO_INCREMENT,
NomeCompleto VARCHAR(100),
DataNascimento DATE
);
-- Criar a tabela Telefones
CREATE TABLE Telefones (
ID INT PRIMARY KEY AUTO_INCREMENT,
EstudanteID INT,
Telefone VARCHAR(15),
FOREIGN KEY (EstudanteID) REFERENCES Estudante(ID)
);
Descrição das Tabelas Normalizadas Tabela Estudante:
ID: Chave primária para identificar cada estudante. NomeCompleto: Nome completo do estudante. DataNascimento: Data de nascimento do estudante. Tabela Telefones:
ID: Chave primária para identificar cada número de telefone. EstudanteID: Chave estrangeira que referencia o ID da tabela Estudante. Telefone: Número de telefone do estudante. Ao normalizar a tabela para a Primeira Forma Normal (1FN), garantimos que cada coluna contém apenas valores atômicos e que não há repetição de grupos de valores em uma única célula. Isso ajuda a evitar redundância e anomalias de atualização.