Articles of design de database

Como faço para criar um database para armazenar propriedades, selecionando atributos por sinônimos

Eu estou projetando um database para um aplicativo imobiliário. Está provando ser mais envolvente do que eu havia antecipado (talvez eu esteja supercomplicando as coisas). Os problemas são essencialmente devidos à presença de: sinônimos Por exemplo, os termos: apartamento, apartamento e cobertura podem se referir a essencialmente, o mesmo tipo de propriedade atributos (diferentes tipos […]

Quais são os princípios e benefícios do “modelo de partido”?

O “modelo de festa” é um “padrão” para o design de database relacional. Pelo menos uma parte envolve a descoberta de atributos comuns entre muitas entidades, como Cliente, Funcionário, Parceiro, etc., e o fatorar em algumas tabelas de database mais “abstratas”. Eu gostaria de descobrir seus pensamentos sobre o seguinte: Quais são os princípios fundamentais […]

Facebook como acompanhamento de notifications (DB Design)

Eu estou apenas tentando descobrir como o database do Facebook está estruturado para rastrear notifications. Eu não vou muito em complexidade como o Facebook é. Se imaginarmos uma estrutura de tabela simples para notificaitons: notifications (id, userid, update, time); Podemos obter as notifications de amigos usando: SELECT `userid`, `update`, `time` FROM `notifications` WHERE `userid` IN […]

Prática ruim de chave estrangeira anulável?

Digamos que você tenha uma tabela Orders com uma chave estrangeira para um Customer Id. Agora, suponha que você queira adicionar um Pedido sem um ID de Cliente, (se isso é possível, é outra pergunta) você teria que fazer a chave estrangeira NULL … Isso é uma prática ruim ou você prefere trabalhar com uma […]

Como criar um database de vários inquilinos com estruturas de tabela compartilhadas?

Nosso software atualmente roda no MySQL. Os dados de todos os inquilinos são armazenados no mesmo esquema. Como estamos usando o Ruby on Rails, podemos facilmente determinar quais dados pertencem a qual locatário. No entanto, existem algumas empresas que temem que seus dados possam ser comprometidos, por isso estamos avaliando outras soluções. Até agora eu […]

Custom SERIAL / auto incremento por grupo de valores

Eu estou tentando fazer um sistema de blog do tipo e me deparei com um pequeno problema. Simplificando, há 3 colunas na minha tabela de article : id SERIAL, category VARCHAR FK, category_id INT id coluna id é obviamente o PK e é usada como um identificador global para todos os artigos. coluna de category […]

Colisão de Hash – quais são as chances?

Eu tenho algum código no meu site PHP que cria um hash random (usando sha1() ) e eu usá-lo para coincidir com registros no database. Quais são as chances de uma colisão? Devo gerar o hash e, em primeiro lugar, verificar se ele está no database (prefiro evitar uma consulta extra) ou inseri-lo automaticamente, com […]

Tipo ENUM do MySQL vs tabelas de junit

Minha exigência Uma tabela precisa manter uma coluna de status . Esta coluna representa um dos 5 estados. design inicial Eu percebi que posso apenas fazer uma coluna inteira e representar os estados usando um valor numérico. 0 = iniciar 1 = correndo 2 = caiu 3 = pausado 4 = parado Como não quero […]

Pergunta de design de database relacional – Chave substituta ou Chave natural?

Qual é a melhor prática e por quê ? a) Tipo de Tabela, Substituto / Chave Artificial Chave estrangeira é de user.type para type.id : b) Tipo de tabela, chave natural Chave estrangeira é de user.type para type.typeName :

Devo criar uma tabela com uma chave primária de varchar ou int?

Eu sei que isso é subjetivo, mas eu gostaria de saber as opiniões das pessoas e espero que algumas das melhores práticas que eu possa aplicar ao projetar estruturas de tabelas do SQL Server. Eu pessoalmente sinto que digitar uma tabela em um varchar de tamanho fixo (max) é um não-não, porque significa ter que […]