Introdução a projeto de banco de dados - Parte 2
O artigo apresenta as melhores práticas no desenvolvimento de um projeto de banco de dados relacional. Neste sentido, o artigo ajuda o arquiteto de dados a projetar os modelos de bancos de dados considerando boas práticas para garantir o êxito do projeto.
Em que situação o tema é útil
É especialmente útil desde o início do projeto de um sistema de banco de dados relacional.
Resumo DevMan
Quais são as melhores escolhas ao projetar o esquema para um banco de dados relacional? Qual é o fundamento para decidir em favor de um e contra alguma outra alternativa?
Em face a grande variedade de recomendações e especificações dadas pelos desenvolvedores de Sistemas de Gerenciamento de Banco de Dados, como Oracle, Microsoft, IBM entre outros, é muito fácil ignorar os fundamentos básicos de banco de dados relacionais.
Neste série de artigos serão apresentados os conceitos de tipos de dados simples e complexos, e também sobre as chaves primárias e chaves estrangeiras, que são extremamente importantes para manter o banco de dados íntegro e com bom desempenho.
Também será vista uma introdução à normalização de banco de dados e as cinco formas normais. É discutido também outros usos possíveis para um banco de dados em um projeto, por exemplo, como um repositório de dados de configuração ou de registro.
Encontrei mais um artigo muito interessante na internet. Na verdade, desta vez encontrei este artigo em um local realmente vasto de literaturas técnicas disponíveis para todos os profissionais. Estou falando do IBM developerWorks (ver seção Referências Bibliográficas).
O artigo encontrado é do autor Philipp K. Janert (ver seção Referências Bibliográficas), que fala sobre alguns conceitos práticos no projeto de banco de dados. Este primeiro artigo trata dos tipos de dados simples e complexos e também uma visão sobre as chaves primária e estrangeira.
Philipp é Consultor de Projetos de Software, programador de servidores e arquiteto. Seu interesse específico é a identificação, criação, transmissão e das melhores práticas de engenharia de software. Ele mantém o site www.BeyondCode.org e seus artigos foram publicados em IEEE Software, Linux Journal, e no site O'Reilly Network. Ele possui um Ph.D. em Física Teórica da Universidade de Washington em Seattle.
Mas é claro que não poderia simplesmente fazer uma tradução. Me preocupei em agregar informações ao artigo e torná-lo mais agradável e rico para você, leitor da SQL Magazine. Vamos ao que interessa.
Nesta série, Phillip discute algumas práticas gerais que encontrou durante sua trajetória profissional e percebeu que são particularmente úteis. Nenhuma dessas práticas é específica para um produto de qualquer fornecedor e tudo deve, portanto, ser aplicável, independentemente de qual implementação de banco de dados está sendo usada.
As chaves primárias e assuntos afins
Um banco de dados relacional (RDB) armazena dois tipos de informação - dados e relacionamentos. Podemos considerar dados como sendo os nomes de clientes, números de inventário, descrição de itens, e assim por diante, que o aplicativo usa. Já os relacionamentos se referem às chaves primárias e chaves estrangeiras que o banco de dados precisa para encontrar registros de dados e relacioná-los uns aos outros.
Conceitos básicos sobre relacionamentos
Para efeitos de modelagem de dados, os relacionamentos devem ser praticamente transparentes. Na verdade, o conhecimento purista de banco de dados não faz distinção entre dados e relacionamentos. No entanto, você vai ver que os relacionamentos são mais eficientes para a administração e manutenção, bem como em termos de desempenho de execução, ter alguns campos adicionais que servem como chaves para o banco de dados.
Cada tabela deve ter uma chave primária: um atributo ou combinação de atributos que são garantidos como sendo únicos e não nulos. Em geral, é útil introduzir uma chave substituta (surrogate key – ver Nota DevMan 1) - um atributo de tabela que não tem nenhum significado para a regra de negócio, mas simplesmente serve como identificador único para cada registro na tabela. Este é o relacionamento a que me refiro.
Os requisitos para uma chave primária são muito rigorosos. Uma chave primária deve:
• Existir;
• Ser única;
• Não deve mudar ao longo do tempo.
As chaves substitutas ajudam a mitigar o fato de que os dados reais da aplicação quase nunca cumprem estes requisitos. Nem toda pessoa tem um Número de Seguridade Social (os que estão fora os EUA), as pessoas mudam seus nomes, e outras informações importantes.
A chave substituta (surrogate key) em um banco de dados é um identificador único para qualquer entidade do mundo modelado ou um objeto no banco de dados. A chave substituta não é derivada dos dados da aplicação.
Uma distinção importante entre uma chave substituta e uma chave primária depende se o banco de dados é um banco de dados atual (como os transacionais, ou on-line) ou um banco de dados temporal (conhecido como bando de dados históricos). Uma vez que um banco de dados atual armazena somente dados atuais válidos, há uma correspondência um-para-um entre uma chave substituta no mundo modelado e a chave primária do banco de dados. Neste caso, a chave substituta pode ser utilizada como uma chave primária. Numa base de dados temporal, no entanto, existe uma relação muitos-para-um entre as chaves primárias e as chaves substitutas. Uma vez que pode haver vários objetos na base de dados correspondente a uma chave substituta única, não podemos usar o substituto como uma chave primária; outro atributo é necessário para, além do substituto, identificar exclusivamente cada objecto.
...Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.