Olá Wagner! Tudo bem?
Obrigada por trazer essa questão, seu feedback é bem importante para nós. Já repassamos para a equipe que produz o conteúdo dos cursos. Para você entender melhor, a modelagem de dados pode ser, sim, subjetiva em alguns casos. Fiz uma tabela com os dados do exercício para facilitar a compreensão:
ID_Livro | Título | Autor | Ano_Publicação | Editora | Cidade_Editora |
---|
1 | O Hobbit | J.R.R. Tolkien | 1937 | HarperCollins | Londres |
2 | 1984 | George Orwell | 1949 | Secker & Warburg | Londres |
3 | Dom Casmurro | Machado de Assis | 1900 | Companhia das Letras | São Paulo |
4 | O Senhor dos Anéis | J.R.R. Tolkien | 1954 | HarperCollins | Londres |
5 | Ensaio sobre a Cegueira | José Saramago | 1995 | Companhia das Letras | Lisboa |
Com base nisso, o exercício pede para eliminarmos as dependências transitivas, que em palavras simples, significa que devemos evitar que atributos dependam de outros de forma indireta. No caso, a cidade da editora depende do nome da editora, o que pode ser visto como uma dependência transitiva. Para resolver isso, a tabela pode ser dividida em duas, separando a informação de livros e editoras, com uma chave estrangeira ligando as duas tabelas:
ID_Livro | Título | Autor | Ano_Publicação | ID_Editora |
---|
1 | O Hobbit | J.R.R. Tolkien | 1937 | 1 |
2 | 1984 | George Orwell | 1949 | 2 |
3 | Dom Casmurro | Machado de Assis | 1900 | 3 |
4 | O Senhor dos Anéis | J.R.R. Tolkien | 1954 | 1 |
5 | Ensaio sobre a Cegueira | José Saramago | 1995 | 3 |
ID_Editora | Nome_Editora | Cidade_Editora |
---|
1 | HarperCollins | Londres |
2 | Secker & Warburg | Londres |
3 | Companhia das Letras | São Paulo |
4 | Companhia das Letras | Lisboa |
Desta forma, as dependências transitivas são eliminadas, evitando redundância de dados.
Sobre a questão de ter nomes ao invés de IDs, a ideia é simplificar o exercício para focar nos conceitos principais da identificação das dependências transitivas e a estruturação inicial dos dados. Em uma etapa posterior, a normalização entra em cena, substituindo os dados repetitivos por identificadores únicos (IDs), o que melhoraria a estrutura dos dados e aplicaria boas práticas de modelagem.** Sobre a alternativa B, a tabela Cidades
é desnecessária nesse caso. Criar uma tabela separada apenas para armazenar as cidades resultaria em uma duplicação desnecessária de informações e poderia até complicar o modelo sem trazer benefícios - essa tabela só seria necessária caso houvesse múltiplas editoras na mesma cidade e precisássemos representar uma relação de muitos-para-um entre editoras e cidades, o que não foi o caso.
Espero ter te ajudado, Wagner. Fico à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓