Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 12075|Resposta: 0

[Fonte] Princípios de Design de Banco de Dados (Reimpressão) Quatorze Dicas

[Copiar link]
Publicado em 09/04/2015 21:00:54 | | |

1. A relação entre o documento original e a entidade

Pode ser um para um, um para muitos e muitos para muitos. Em geral, são relações um a um: ou seja, um par de documentos originais
devem e correspondem apenas a uma entidade. Em casos especiais, podem ser relações um-para-muitos ou muitos-para-um, ou seja, um documento original corresponde a múltiplas realidades
Corpo, ou múltiplos documentos originais correspondentes a uma entidade. A entidade aqui pode ser entendida como uma tabela básica. Após esclarecer essa correspondência, escreva para nós
A interface de entrada é muito útil.
〖Exemplo 1〗: A informação do currículo de um funcionário corresponde a três tabelas básicas do sistema de informação de recursos humanos: tabela básica de informações do funcionário e sociedade
Tabela de relacionamentos, formulário de currículo de trabalho. Este é um exemplo típico de "um documento original corresponde a múltiplas entidades".
2. Chaves primárias e estrangeiras
Em geral, uma entidade não pode ter nem uma chave primária nem uma chave estrangeira. No diagrama E-R, as entidades na parte da folha podem definir a chave primária,
Também é possível não definir uma chave primária (porque ela não tem filhos), mas ela deve ter uma chave estrangeira (porque tem um pai).
O design de chaves primárias e estrangeiras ocupa uma posição importante no desenho de bancos de dados globais. Quando o design do banco de dados global é concluído, há um
Especialistas americanos em design de bancos de dados disseram: "Chaves, chaves por toda parte, nada além de chaves", essa é a experiência dele em design de banco de dados
Também reflete suas ideias altamente abstratas sobre o núcleo dos sistemas de informação (modelos de dados). Porque: a chave primária é uma entidade altamente abstrata, e a chave primária está associada a
Um par de chaves estrangeiras que representa uma conexão entre entidades.
3. A natureza da tabela básica
A tabela básica é diferente da tabela intermediária e da tabela temporária porque possui as seguintes quatro características:
(1) Atomicidade. Campos na tabela base não são mais decomponíveis.
(2) Primitividade. Os registros na tabela base são registros dos dados originais (os dados subjacentes).
(3) Dedutivo. Todos os dados de saída podem ser derivados dos dados da tabela base e da tabela de códigos.
(4) Estabilidade. A estrutura da tabela básica é relativamente estável, e os registros na tabela devem ser mantidos por muito tempo.
Após entender a natureza das tabelas básicas, ao projetar bancos de dados, as tabelas básicas podem ser distinguidas de tabelas intermediárias e tabelas temporárias.
4. Padrões de paradigma
A relação entre a tabela básica e seus campos deve atender ao terceiro paradigma tanto quanto possível. No entanto, projetos de banco de dados que atendem ao terceiro paradigma muitas vezes não são
O melhor design. Para melhorar a eficiência operacional dos bancos de dados, muitas vezes é necessário reduzir o padrão paradigmático: aumentar adequadamente a redundância para obter espaço para o tempo
O propósito de.
Exemplo 2: Existe uma tabela básica para o armazenamento de mercadorias, como mostrado na Tabela 1. A presença do campo "Quantão" indica que a tabela não foi projetada para ser satisfeita
O terceiro paradigma é suficiente, pois "quantidade" pode ser obtida multiplicando "preço unitário" por "quantidade", indicando que "quantidade" é um campo redundante. No entanto, aumento
O campo redundante de "quantidade" pode melhorar a velocidade das estatísticas de consulta, que é a prática de trocar espaço por tempo.
Em Rose 2002, existem dois tipos de colunas prescritas: colunas de dados e colunas calculadas. Uma coluna como "quantidade" é chamada de "coluna de cálculo", e
Colunas como "Preço Unitário" e "Quantidade" são chamadas de "colunas de dados".
Tabela 1 Estrutura da tabela de mercadorias
Nome do Produto Modelo Unidade Preço Quantidade
TV 29 polegadas 2.500 40 100.000

5. Compreender os três paradigmas em termos leigos
Compreender os três paradigmas em termos leigos é de grande benefício para o design de bancos de dados. No design de banco de dados, para aplicar melhor os três paradigmas, basta
Três paradigmas devem ser entendidos em termos simples:
O primeiro paradigma: 1NF é uma restrição atômica sobre atributos, que exige que os atributos sejam atômicos e não podem mais ser decompostos;
O segundo paradigma: 2NF é a restrição de unicidade nos registros, exigindo que os registros tenham uma identificação única, ou seja, a unicidade da entidade;
Paradigma 3: 3NF é uma restrição à redundância de campos, ou seja, nenhum campo pode ser derivado de outros campos, exigindo que o campo não seja redundante

Nenhum design redundante de banco de dados pode fazer isso. No entanto, um banco de dados sem redundância não é necessariamente o melhor banco de dados, às vezes para melhorar a sorte
Para alcançar eficiência, é necessário reduzir o padrão paradigmático e manter adequadamente dados redundantes. A abordagem específica é aderir ao terceiro paradigma ao projetar modelos conceituais de dados
, o trabalho de redução do padrão paradigmático é considerado no design do modelo físico de dados. Reduzir o paradigma significa adicionar campos que permitem redundância.
6. Ser bom em identificar e lidar corretamente com relacionamentos muitos-para-muitos
Se houver uma relação muitos-para-muitos entre duas entidades, essa relação deve ser eliminada. A forma de eliminar isso é adicionar um terceiro real entre os dois
corpo. Dessa forma, o que antes era um relacionamento de muitos-para-muitos agora virou dois relacionamentos de um-para-muitos. Os atributos das duas entidades originais devem ser distribuídos de forma razoável
Vá para as três entidades. A terceira entidade aqui é essencialmente uma relação mais complexa, que corresponde a uma tabela básica. De modo geral, números
A ferramenta de design de bibliotecas não reconhece relações muitos-para-muitos, mas pode lidar com relações muitos-para-muitos.
Exemplo 3: No "Sistema de Informação da Biblioteca", "livro" é uma entidade, e "leitor" também é uma entidade. Essas duas entidades são a mesma
A relação entre livros é uma típica relação de muitos-para-muitos: um livro pode ser emprestado por vários leitores em momentos diferentes, e um leitor pode pegar mais emprestado
Este livro. Para isso, uma terceira entidade deve ser adicionada entre as duas, chamada de "empréstimos e retornos de livros", e suas propriedades são: tempo de empréstimo e empréstimo
Também possui um logotipo (0 significa pegar um livro emprestado, 1 significa devolver um livro), além disso, deve ter duas chaves estrangeiras (a chave primária de "livro" e a chave primária de "leitor"), de modo que
Ela se conecta com "livros" e "leitores".
7. O método de valor da chave primária PK
PK é uma ferramenta de conexão entre tabelas para programadores, que pode ser uma sequência de números sem significado físico, que é automaticamente adicionada pelo programa a 1. Sim
é um nome de campo fisicamente significativo ou uma combinação de nomes de campos. Mas o primeiro é melhor que o segundo. Quando PK é uma combinação de nomes de campos, sugira um número de campo
Não conte demais, pois o índice não só ocupa muito espaço, como também desacelera.
8. Ajustar corretamente a redundância dos dados
A repetição de chaves primárias e externas em múltiplas tabelas não é um conceito de redundância de dados, e muitas pessoas não têm consciência disso
。 A repetição de campos não-chave é redundância de dados! E é uma redundância de baixo nível, ou seja, redundância repetitiva. Redundância avançada não é baseada em campos
Repetidamente, mas derivados de campos.
Exemplo 4: Nos três campos "preço unitário, quantidade e quantidade" no produto, "quantidade" é derivado do "preço unitário" multiplicado por "quantidade"
É redundância, e é um tipo de redundância avançada. O objetivo da redundância é aumentar a velocidade de processamento. Somente redundância de baixo nível aumentará o número
inconsistência dos dados, porque os mesmos dados podem ser inseridos várias vezes em diferentes momentos, lugares e funções. Portanto, defendemos a redundância avançada (pie
redundância por natureza), e se opõe à redundância de baixo nível (redundância repetitiva).
9. Não existe uma resposta padrão para diagramas E--R
Não existe uma resposta padrão para o diagrama E-R de um sistema de informação, pois seu design e método de desenho não são únicos, desde que cubram o negócio exigido pelo sistema
O escopo e o conteúdo funcional são viáveis. Em vez disso, é necessário modificar o diagrama E-R. Embora não tenha uma única resposta padrão, isso não significa que possa ser arbitrária
Design. Os critérios para um bom diagrama E-R são: estrutura clara, associação concisa, número moderado de entidades, alocação razoável de atributos e ausência de redundância de baixo nível.
10. Técnicas de visualização são úteis no design de banco de dados
Ao contrário das tabelas básicas, tabelas de código e tabelas intermediárias, as views são tabelas virtuais que dependem das tabelas reais da fonte de dados para existirem. Visualizações são para programadores
Uma janela usando o banco de dados é uma forma de síntese de dados de tabela base, um método de processamento de dados e uma espécie de confidencialidade dos dados do usuário
significa. Para realizar processamento complexo, aumentar a velocidade de computação e economizar espaço de armazenamento, a profundidade de definição da visão geralmente não deve exceder três camadas. Tipo três andares
Se a visualização ainda não for suficiente, você deve definir uma tabela temporária na visualização e depois definir uma vista na tabela temporária. Dessa forma, a profundidade da visão é definida repetidamente
Sem restrições.
Para certos sistemas de informação relacionados a interesses políticos, econômicos, tecnológicos, militares e de segurança nacionais, o papel das opiniões é ainda mais importante. Estes
Após o design físico da tabela básica do sistema ser concluído, a primeira camada de views é imediatamente estabelecida na tabela básica, e o número e a estrutura dessa vista de camada são os mesmos da tabela básica
O número e a estrutura são exatamente os mesmos. E está estipulado que todos os programadores só podem operar na visualização. Apenas o administrador do banco de dados, com
A "chave de segurança" mantida por várias pessoas pode ser operada diretamente sobre a mesa básica. Os leitores são convidados a pensar: por que isso acontece?
11. Tabelas intermediárias, instruções e tabelas temporárias
Uma tabela intermediária é uma tabela que armazena estatísticas, é projetada para armazenamento de dados, relatórios de saída ou resultados de consulta, e às vezes não possui uma chave primária com
chaves estrangeiras (exceto data warehouses). Tabelas temporárias são projetadas por programadores para armazenar registros temporários para uso pessoal. As tabelas base e intermediária são mantidas pelo DBA
Tabelas temporárias são mantidas automaticamente pelo próprio programador.
12. Restrições de integridade se manifestam em três aspectos
Integridade do domínio: Use Check para implementar restrições, e na ferramenta de design de banco de dados, há um Ch ao definir o intervalo de valores do campo
botão eck, pelo qual o valor cidade do campo é definido.
Integridade referencial: Implementada com PK, FK e triggers em nível de tabela.
Integridade definida pelo usuário: São algumas regras de negócio implementadas com procedimentos armazenados e triggers.
13. O método para evitar patches no design de banco de dados é o princípio dos "três a menos"
(1) Quanto menos tabelas em um banco de dados, melhor. Somente se o número de tabelas for reduzido pode ser dito que o diagrama E-R do sistema é pequeno e fino, e ele é removido
As entidades duplicadas e redundantes formam um alto grau de abstração do mundo objetivo, e a integração sistemática dos dados é realizada para evitar patches no projeto;
(2) Quanto menos campos em uma tabela combinam chaves primárias, melhor. Devido ao papel da chave primária, uma é construir o índice da chave primária, e a outra serve como uma subtabela
chaves estrangeiras, então o número de campos na combinação de chaves primárias é reduzido, o que não só economiza tempo de execução, mas também economiza espaço de armazenamento no índice;
(3) Quanto menos campos em uma tabela, melhor. Apenas um pequeno número de campos indica que não há duplicação de dados no sistema
Há pouca redundância de dados e, mais importante, os leitores são incentivados a aprender a "mudar linhas", o que impede que campos sejam puxados para a tabela principal na subtabela
, restando muitos campos livres na tabela principal. A chamada "linha de mudança de coluna" serve para extrair parte do conteúdo da tabela principal e construir uma separada
Mesa secundária. Esse método é muito simples, algumas pessoas simplesmente não se acostumam, não adotam e não implementam.
O princípio prático do design de banco de dados é encontrar o equilíbrio certo entre redundância de dados e velocidade de processamento. O "três a menos" é uma visão geral holística
Pensamento, visões abrangentes, não podem isolar um certo princípio. O princípio é relativo, não absoluto. O princípio dos "mais três" está definitivamente errado. Tente
Pense: Se a mesma função do sistema for coberta, o diagrama E-R de 100 entidades (1.000 atributos no total) é definitivamente melhor do que o diagrama E-R de 200 entidades (2.000 atributos no total)
O diagrama E-R é muito melhor.
Defender o princípio de "três a menos" é permitir que os leitores aprendam a usar tecnologia de design de banco de dados para integração sistemática de dados. Os passos para a integração de dados são:
O sistema de arquivos é integrado a um banco de dados de aplicação, o banco de dados de aplicações é integrado a um banco de dados de tópicos, e o banco de dados de tópicos é integrado a um banco de dados global abrangente.
Quanto maior o grau de integração, mais forte o compartilhamento de dados e menos ilhas de informação estão presentes
O número de chaves primárias e o número de atributos serão menores.
O objetivo de defender o princípio dos "três a menos" é impedir que os leitores usem tecnologia de patches para adicionar, excluir e modificar constantemente o banco de dados, de modo a criar dados empresariais
A biblioteca se tornou um "monte de lixo" de tabelas de banco de dados projetadas arbitrariamente, ou uma "bagunça" de tabelas de banco de dados, e finalmente causa as tabelas básicas e gerações no banco de informações
As tabelas de códigos, tabelas intermediárias e tabelas temporárias são sobrecarregadas e incontáveis, resultando na impossibilidade de manter e paralisar os sistemas de informação de empresas e instituições.
O princípio dos "três mais" pode ser feito por qualquer um, que é a falácia do "método de patch" para projetar bancos de dados. O princípio de "três a menos"
É um princípio de menos, mas tudo bem, que exige altas habilidades de design de banco de dados e arte, o que nem todos conseguem fazer, porque esse princípio é eliminado
A base teórica para o projeto do banco de dados usando o "método de patches".
14. Maneiras de melhorar a eficiência da operação de banco de dados
Sob as condições de hardware e software do sistema dadas, os métodos para melhorar a eficiência operacional do sistema de banco de dados são:
(1) No design físico do banco de dados, reduzir o paradigma, aumentar a redundância, usar menos gatilhos e usar mais procedimentos armazenados.
(2) Quando o cálculo é muito complexo e o número de registros é muito grande (como 10 milhões), o cálculo complexo deve primeiro estar fora do banco de dados
Após o cálculo e processamento do método do sistema de arquivos na linguagem C++, ele é finalmente adicionado à tabela. Essa é a experiência do projeto de sistemas de cobrança de telecomunicações.
(3) Se uma tabela for encontrada com registros demais, como mais de 10 milhões, a tabela deve ser dividida horizontalmente. A prática da segmentação horizontal é:
Divida o registro da tabela horizontalmente em duas tabelas com base em um certo valor da chave primária PK da tabela. Se uma tabela for encontrada com campos demais, como exceto
Oitenta, a mesa é dividida verticalmente, e a mesa original é dividida em duas tabelas.
(4) Otimização do sistema de gerenciamento de banco de dados do sistema de gerenciamento de banco de dados, ou seja, otimização de vários parâmetros do sistema, como o número de buffers.
(5) Ao usar linguagem SQL orientada a dados para programação, tente adotar algoritmos de otimização.
Em resumo, para melhorar a eficiência operacional do banco de dados, é necessário otimizar o sistema de banco de dados, o design do banco de dados e a implementação do programa
, esses três níveis trabalham duro ao mesmo tempo.
As quatorze habilidades acima são gradualmente resumidas por muitas pessoas em um grande número de práticas de análise e design de bancos de dados. Por essas experiências
Os leitores não devem ser rígidos ou automáticos, mas devem digerir e compreender, buscar a verdade nos fatos e dominar com flexibilidade. E vá fazendo gradualmente: envie a inscrição
Exposição, Aplicação em Desenvolvimento.




Anterior:Ensinando facilmente como criar tutorial de três sistemas para XP+Linux+Win7
Próximo:Vídeo indecente de "Superando a Montanha do Tigre" de Bi Fujian e repreende o presidente Mao
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com