Bom lugar para procurar, por exemplo, Modelos de bases de Dados - melhores práticas

Foi - me dada a tarefa de criar uma base de dados para armazenar muita informação para a nossa empresa. Porque a tarefa é bastante grande e contém vários módulos onde os usuários devem ser capazes de fazer coisas, estou preocupado em projetar um bom modelo de dados para isso. Só não quero acabar com uma base de dados mal desenhada.

quero ter alguns exemplos decentes de estruturas de bases de dados para contratos / faturas / encomendas, etc., para combinar esses em uma base de dados relacional agradável. Há algum recursos lá fora que podem me ajudar com alguns exemplos sobre isso?

Author: APC, 2010-03-09

5 answers

Antes de começar a ler sobre normalização até não ter dúvidas sobre isso. Se você só fez isso na escola, você provavelmente não sabe o suficiente sobre ele para projetar ainda.

Reúna cuidadosamente as suas necessidades para cada módulo. Precisas de saber: ([1]) as regras comerciais (que são específicas dos pedidos e que devem ser aplicadas na base de dados, dado que devem ser aplicadas em todos os registos, independentemente da fonte),

Existem preocupações legais ou regulamentares (HIPAA) por exemplo, requisitos Sarbanes-Oxley) segurança (os dados precisam ser criptografados?)

Que dados precisa de armazenar e porquê (estes dados estão disponíveis em qualquer outro lugar)

Que pedaços de dados só terão uma linha de dados e que terão de ter linhas múltiplas

Como pretende impor a singularidade da linha em cada tabela? Tem uma chave natural ou necessita de uma chave substituta (sugira uma chave substituta em quase todos os casos) {[[2]}

Precisas replicação?

Precisas de auditoria? Como é que os dados vão ser introduzidos na base de dados? Será que ele vem da aplicação um registro de cada vez (ou mesmo de várias aplicações)ou será que parte dele vem de inserções em massa a partir de uma ferramenta ETL ou de outro banco de dados.

Você precisa saber quem entrou no registro e quando (altamente provável que isso será necessário em um sistema de empresa.

Que tipo de mesas de pesquisa vai precisar? Entrada de dados é muito mais precisa quando você pode usar tabelas de pesquisa e restringir os usuários aos valores. De que tipo de validação de dados precisa? Quantos registos terá o sistema? Você precisa ter uma idéia para saber quão grande criar seus dados de teste. Como é que vais consultar os dados? Você estará usando procs armazenados ou uma ORM ou consultas dinâmicas?

Algumas coisas muito básicas para lembrar no seu design. Escolha o tipo de dados certo para os seus dados. Não guardar as datas ou números que você pretende fazer matemática em campos de string. Armazene números que não são candidatos para matemática (números de peças, códigos zip, números de telefone, etc) como dados de string como você pode precisar de zeros líderes. Não armazenar mais de uma informação em um campo. Assim, nenhuma lista comma-concatenada (estes indicam a necessidade de uma tabela relacionada) e enquanto você está nela se você se encontrar fazendo algo como phone1, phone2, phone 3, pare imediatamente e projetar uma tabela relacionada. Usar chaves estrangeiras para os dados propósitos de integridade.

Todo o caminho através do seu design considere a integridade dos dados. Os dados que não têm integridade são inúteis e sem sentido. Fazer design para o desempenho, isso é fundamental no projeto datbase e não é otimização prematura. Banco de dados não refactor facilmente, por isso é importante obter as partes mais critcal da equação de desempenho direito da primeira vez. Na verdade, todas as bases de dados precisam ser projetadas para a integridade dos Dados, Desempenho e segurança.

Não tenhas medo de ter múltiplas ligações, devidamente indexadas estas irão funcionar muito bem. Não tente colocar tudo em uma tabela do tipo de valor da entidade. Use - os o mais moderadamente possível. Tente aprender a pensar em termos de manipulação de conjuntos de dados, ele vai ajudar o seu design. Bases de dados são otimizadas para fazer coisas em conjuntos. Há mais, mas isto é suficiente para começar a digerir.
 9
Author: HLGEM, 2018-02-28 16:05:13
Barry Williams publicou uma biblioteca de cerca de 600 modelos de dados para todos os tipos de aplicações. Quase de certeza que lhe dará um "início de 10" para todos os seus subsistemas. O acesso a esta Biblioteca é gratuito por isso Confira . Parece que esta é uma grande aplicação "enterprise-y" que a sua organização quer, e parece ser um principiante com bases de dados. Se possível, você deve começar com um único sub-sistema-dizer, ordens-e obter isso trabalho. Não só as tabelas da base de dados constroem, mas também um esqueleto para a frente. Uma vez que isso é bom o suficiente adicionar outro sub-sistema relacionado, como faturamento. Não queres acabar com um monstro.

Certifique-se também que tem uma ferramenta de modelagem de dados decente. Arquiteto de energia SQL é bom o suficiente para uma ferramenta gratuita.

 21
Author: APC, 2010-03-09 10:41:47
Tente manter as suas preocupações separadas. Os usuários serem capazes de atualizar o banco de dados é mais um problema de "design de Aplicação". Se você começar seu projeto do banco de dados direito, então deve ser um caso de desenvolver uma extremidade dianteira agradável para ele.

A primeira coisa a ver é a normalização . Este é o processo de eliminação de quaisquer dados redundantes das suas tabelas. Isto irá ajudar a manter o seu banco de dados puro, e apenas armazenar informações que são relevantes para as suas necessidades.

 2
Author: James, 2010-03-09 10:41:57

O Livro De Recursos Do Modelo De Dados.

Http://www.amazon.com/Data-Model-Resource-Book-Vol/dp/0471380237/ref=dp_cp_ob_b_title_0

Coisas pesadas,mas muito bem. 3 volumes ao todo...

Tem um monte de muito bem através de estruturas genéricas-mas eles não são fáceis, como eles cobrem tudo ;) sempre um bom ponto de partida, no entanto.

 2
Author: TomTom, 2014-05-07 19:27:20

A base de dados não deve ser o modelo. É usado para guardar informações entre sessões de trabalho.

Você não deve construir a sua aplicação sobre um modelo de dados, mas sobre um bom modelo orientado a objectos que segue a lógica empresarial.

Uma vez que o seu modelo de objeto é feito, então pense em como você pode salvá-lo e carregá-lo, com todo o projeto de banco de dados que vai com ele.

Mas aparentemente a tua empresa só quer que cries uma base de dados ? não é uma candidatura ?)
 0
Author: Matthieu Napoli, 2010-03-09 10:28:58