Organizando um banco de dados usando as formas normais


Warning: file_exists(): File name is longer than the maximum allowed path length on this platform (4096): /srv/www/vhosts/airdream.ch/httpdocs/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICQgICAgGCAgICQYJCAgJCAgICAgICAYIFhwXCAgPCQgIDiEODx0dHx8fCAsWJBYSGBAeHxIBBQUFCAcIDwkJDxMPDxASEhIVFRISEhUSFRISFRISEhISEhISEhISEhISEhISEhISEhIVEhISEhISEhUSEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABAYFBwEDCAIJ/8QAVBAAAQMCAwUGAwMHBgoIBwEAAQACAwQRBRIhBhMUMUEHIlFTYZIIMnEjgZEVM0JScqGzJGJ0scHwFiU0NTZDY4LR8VVkc3WUtNPhRFSTpLLC0hj/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAwQBAgUGB/EADoRAAIBAwMDAgMGBAYBBQAAAAABAgMEERIhMQVBURNhInGBBhUykeHwFEJioSMzUrHB0fEWQ3Ki0v/aAAwDAQACEQMRAD8A8ZIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAI in /srv/www/vhosts/airdream.ch/httpdocs/wp-content/plugins/shortpixel-image-optimiser/class/Model/File/FileModel.php on line 661

Warning: file_exists(): File name is longer than the maximum allowed path length on this platform (4096): /srv/www/vhosts/airdream.ch/httpdocs/wp-content/uploads/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICQgICAgGCAgICQYJCAgJCAgICAgICAYIFhwXCAgPCQgIDiEODx0dHx8fCAsWJBYSGBAeHxIBBQUFCAcIDwkJDxMPDxASEhIVFRISEhUSFRISFRISEhISEhISEhISEhISEhISEhISEhIVEhISEhISEhUSEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABAYFBwEDCAIJ/8QAVBAAAQMCAwUGAwMHBgoIBwEAAQACAwQRBRIhBhMUMUEHIlFTYZIIMnEjgZEVM0JScqGzJGJ0scHwFiU0NTZDY4LR8VVkc3WUtNPhRFSTpLLC0hj/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAwQBAgUGB/EADoRAAIBAwMDAgMGBAYBBQAAAAABAgMEERIhMQVBURNhInGBBhUykeHwFEJioSMzUrHB0fEWQ3Ki0v/aAAwDAQACEQMRAD8A8ZIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIA in /srv/www/vhosts/airdream.ch/httpdocs/wp-content/plugins/shortpixel-image-optimiser/class/Model/File/FileModel.php on line 665

Warning: file_exists(): File name is longer than the maximum allowed path length on this platform (4096): /srv/www/vhosts/airdream.ch/httpdocs/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICQgICAgGCAgICQYJCAgJCAgICAgICAYIFhwXCAgPCQgIDiEODx0dHx8fCAsWJBYSGBAeHxIBBQUFCAcIDwkJDxMPDxASEhIVFRISEhUSFRISFRISEhISEhISEhISEhISEhISEhISEhIVEhISEhISEhUSEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABAYFBwEDCAIJ/8QAVBAAAQMCAwUGAwMHBgoIBwEAAQACAwQRBRIhBhMUMUEHIlFTYZIIMnEjgZEVM0JScqGzJGJ0scHwFiU0NTZDY4LR8VVkc3WUtNPhRFSTpLLC0hj/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAwQBAgUGB/EADoRAAIBAwMDAgMGBAYBBQAAAAABAgMEERIhMQVBURNhInGBBhUykeHwFEJioSMzUrHB0fEWQ3Ki0v/aAAwDAQACEQMRAD8A8ZIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAI in /srv/www/vhosts/airdream.ch/httpdocs/wp-content/plugins/shortpixel-image-optimiser/class/Model/File/FileModel.php on line 208

Warning: is_dir(): File name is longer than the maximum allowed path length on this platform (4096): /srv/www/vhosts/airdream.ch/httpdocs/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICQgICAgGCAgICQYJCAgJCAgICAgICAYIFhwXCAgPCQgIDiEODx0dHx8fCAsWJBYSGBAeHxIBBQUFCAcIDwkJDxMPDxASEhIVFRISEhUSFRISFRISEhISEhISEhISEhISEhISEhISEhIVEhISEhISEhUSEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABAYFBwEDCAIJ/8QAVBAAAQMCAwUGAwMHBgoIBwEAAQACAwQRBRIhBhMUMUEHIlFTYZIIMnEjgZEVM0JScqGzJGJ0scHwFiU0NTZDY4LR8VVkc3WUtNPhRFSTpLLC0hj/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAwQBAgUGB/EADoRAAIBAwMDAgMGBAYBBQAAAAABAgMEERIhMQVBURNhInGBBhUykeHwFEJioSMzUrHB0fEWQ3Ki0v/aAAwDAQACEQMRAD8A8ZIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiI in /srv/www/vhosts/airdream.ch/httpdocs/wp-content/plugins/shortpixel-image-optimiser/class/Model/File/FileModel.php on line 208

Warning: is_dir(): File name is longer than the maximum allowed path length on this platform (4096): /srv/www/vhosts/airdream.ch/httpdocs/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICQgICAgGCAgICQYJCAgJCAgICAgICAYIFhwXCAgPCQgIDiEODx0dHx8fCAsWJBYSGBAeHxIBBQUFCAcIDwkJDxMPDxASEhIVFRISEhUSFRISFRISEhISEhISEhISEhISEhISEhISEhIVEhISEhISEhUSEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABAYFBwEDCAIJ/8QAVBAAAQMCAwUGAwMHBgoIBwEAAQACAwQRBRIhBhMUMUEHIlFTYZIIMnEjgZEVM0JScqGzJGJ0scHwFiU0NTZDY4LR8VVkc3WUtNPhRFSTpLLC0hj/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAwQBAgUGB/EADoRAAIBAwMDAgMGBAYBBQAAAAABAgMEERIhMQVBURNhInGBBhUykeHwFEJioSMzUrHB0fEWQ3Ki0v/aAAwDAQACEQMRAD8A8ZIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiI in /srv/www/vhosts/airdream.ch/httpdocs/wp-content/plugins/shortpixel-image-optimiser/class/Model/File/DirectoryModel.php on line 56

Warning: is_file(): File name is longer than the maximum allowed path length on this platform (4096): /srv/www/vhosts/airdream.ch/httpdocs/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICQgICAgGCAgICQYJCAgJCAgICAgICAYIFhwXCAgPCQgIDiEODx0dHx8fCAsWJBYSGBAeHxIBBQUFCAcIDwkJDxMPDxASEhIVFRISEhUSFRISFRISEhISEhISEhISEhISEhISEhISEhIVEhISEhISEhUSEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABAYFBwEDCAIJ/8QAVBAAAQMCAwUGAwMHBgoIBwEAAQACAwQRBRIhBhMUMUEHIlFTYZIIMnEjgZEVM0JScqGzJGJ0scHwFiU0NTZDY4LR8VVkc3WUtNPhRFSTpLLC0hj/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAwQBAgUGB/EADoRAAIBAwMDAgMGBAYBBQAAAAABAgMEERIhMQVBURNhInGBBhUykeHwFEJioSMzUrHB0fEWQ3Ki0v/aAAwDAQACEQMRAD8A8ZIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAi in /srv/www/vhosts/airdream.ch/httpdocs/wp-content/plugins/shortpixel-image-optimiser/class/Model/File/DirectoryModel.php on line 68

Warning: is_dir(): File name is longer than the maximum allowed path length on this platform (4096): /srv/www/vhosts/airdream.ch/httpdocs/data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAUDBAgICAgICAkICQgICAgGCAgICQYJCAgJCAgICAgICAYIFhwXCAgPCQgIDiEODx0dHx8fCAsWJBYSGBAeHxIBBQUFCAcIDwkJDxMPDxASEhIVFRISEhUSFRISFRISEhISEhISEhISEhISEhISEhISEhIVEhISEhISEhUSEhISEv/AABEIAWgB4AMBIgACEQEDEQH/xAAdAAEAAgIDAQEAAAAAAAAAAAAABAYFBwEDCAIJ/8QAVBAAAQMCAwUGAwMHBgoIBwEAAQACAwQRBRIhBhMUMUEHIlFTYZIIMnEjgZEVM0JScqGzJGJ0scHwFiU0NTZDY4LR8VVkc3WUtNPhRFSTpLLC0hj/xAAbAQEAAgMBAQAAAAAAAAAAAAAAAwQBAgUGB/EADoRAAIBAwMDAgMGBAYBBQAAAAABAgMEERIhMQVBURNhInGBBhUykeHwFEJioSMzUrHB0fEWQ3Ki0v/aAAwDAQACEQMRAD8A8ZIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiIgCIiAIiIAiI in /srv/www/vhosts/airdream.ch/httpdocs/wp-content/plugins/shortpixel-image-optimiser/class/Model/File/DirectoryModel.php on line 72

O motivo é que esses dados estão armazenados em uma única tabela. Vamos perder dados que, na realidade, não deveriam ser removidos, pois, embora agora não tenhamos nenhum livro do Isaac Asimov à venda, no futuro, podemos ter. Essa reestruturação está gerando redundância de dados, que poderiam ter sido armazenados de forma única e que agora estão duplicados nas tabelas, levando a um uso de espaço maior do que o inicialmente projetado curso de cientista de dados por Marta. Nesse exemplo, temos uma tabela de “Vendas” que registra os pedidos realizados, com informações sobre os produtos, quantidades, valores unitários e subtotal de cada item. Também temos uma tabela “Produtos” que contém informações detalhadas sobre cada produto, como a descrição. As regras de normalização foram propostas pelo cientista da computação britânico Edgar F. Codd como parte de seu modelo relacional.

  • Assim, podemos mover essas informações a uma nova tabela sem que os dados percam as relações originais.
  • A principal finalidade do processo de normalização é eliminar as anomalias de inserção, atualização e exclusão.
  • Se você trabalha com bancos de dados, já deve ter ouvido falar sobre normalização.
  • À medida que a tecnologia avança, novas abordagens surgirão para lidar com o crescente volume de dados e as demandas cada vez maiores por um gerenciamento eficiente de dados.

Podemos ter apenas 1 cliente por pedido, sendo assim este atributo é atômico único para 1 pedido. Considere um pedido como o número 00001, para este se observarmos o formulário em papel teremos muitos campos a considerar, contudo usaremos apenas alguns para facilitar o entendimento. Em resumo, esta 1FN faz com que cada atributo (coluna) tenha uma relação atômica (trabalhar de forma indivisível), ou seja, cada coluna deve ter apenas um valor e cada registro tenha as mesmas colunas. A normalização não é algo obrigatório, mas é sempre uma boa idéia, já que isto irá beneficiar o desempenho e organização dos dados. Você deve tentar seguir os princípios da normalização quando parecer razoável fazer isto. A intenção aqui é que você não deve deixar um fanatismo quase religioso sobre a normalização impedi-lo de fazer o seu trabalho da melhor maneira possível.

Exemplos de normalização de banco de dados

A BCNF diz que todo elemento deve depender apenas de uma chave. Na tabela abaixo, que não está na segunda forma normal, percebemos as Dependências funcionais dos campos. Exemplo de Tabela que não está na 1FN, devido ao campo Localização que é multivalorado.

Normalização de banco de dados

Além disso, vamos mostrar as etapas envolvidas na normalização e exemplos práticos de como aplicá-la na sua rotina de trabalho. A normalização oferece vários benefícios, incluindo a melhoria da consistência dos dados e a eficiência do armazenamento. No entanto, é importante notar que em alguns casos, especialmente em sistemas que exigem alta performance para leitura de dados, uma normalização excessiva pode levar a um desempenho de consulta subótimo. Por isso, em tais situações, pode ser necessário considerar técnicas de desnormalização cuidadosamente planejadas. Neste caso, criamos uma nova tabela para relacionar o nome da fábrica com seu código, e também removemos as relações de dependência entre atributos que não são chaves da tabela original. Tenha em conta que existe uma dependência entre o atributo ‘nome de fábrica’ e ‘ano’ com o ‘código de fábrica’, entretanto, estes atributos não dependem da chave principal da tabela que é ‘placa’.

Organizando um banco de dados usando as formas normais

No entanto, nem sempre é fácil aplicar a normalização corretamente, especialmente em bancos de dados complexos ou em sistemas já em operação. Por isso, é importante seguir algumas dicas para otimizar a normalização e obter melhores resultados. A normalização de dados é uma ferramenta poderosa https://agazetadoacre.com/2024/03/colunistas/guia-gazeta/9o-guia-gazeta/os-caminhos-para-se-tornar-um-cientista-de-dados/ na otimização de bancos de dados. Ela não apenas ajuda a economizar espaço e recursos, mas também facilita a manutenção e a integridade dos dados. Entretanto, é crucial aplicar a normalização de forma equilibrada, considerando as necessidades específicas do sistema em questão.

Ah, e é claro, temos também a forma não-normalizada (Unnormalized form – UNF), que é aquela forma que não se adequa nem mesmo a 1FN. A 6FN não foi definida para ser algo útil na prática, ela tem mais a finalidade de ser um limite teórico que defina qual é o ponto final a partir do qual nenhuma outra normalização seria possível. Note que para qualquer que seja a chave candidata que nós olhamos, a demais coluna depende da totalidade da chave candidata e de nada mais do que a chave candidata, então a 3FN foi atingida.