Articles of design de database

Há algum tempo em que usar um relacionamento de database 1: 1 faz sentido?

Eu estava pensando outro dia sobre normalização, e me ocorreu, não consigo pensar em um momento em que deveria haver um relacionamento 1: 1 em um database. Nome: SSN Eu os teria na mesma tabela PersonID: AddressID? Mais uma vez, a mesma tabela. Eu posso chegar a um zilhão de exemplos de 1: muitos ou […]

Como implementar associações polimórficas em um database existente

Associações polimórficas (APs) são bastante satisfatórias para um requisito de database relativamente simples: permitir que várias tabelas tenham registros filhos em uma tabela compartilhada. O exemplo clássico é uma única tabela com registros de comentários que se aplicam a diferentes entidades não necessariamente relacionadas. Nessa pergunta, Mark fez um excelente trabalho mostrando três abordagens comuns […]

Configurando um database do MS-Access para access multiusuário

Estamos pensando em “aumentar” um pequeno database do MS-Access com algumas tabelas, formulários e consultas para vários usuários. (Usar um back-end diferente é outra opção, mas mais a longo prazo que infelizmente não é aceitável atualmente.) A maioria dos usuários será somente leitura, mas haverá alguns (atualmente um ou dois) usuários que precisam fazer alterações […]

Quando / Por que usar o Cascading no SQL Server?

Ao configurar foreign keys no SQL Server, em que circunstâncias você deve tê-lo em cascata na exclusão ou atualização, e qual é o raciocínio por trás disso? Isso provavelmente se aplica a outros bancos de dados também. Eu estou procurando, acima de tudo, exemplos concretos de cada cenário, de preferência de alguém que os usou […]

Como o PostgreSQL aplica a restrição UNIQUE / que tipo de índice usa?

Eu tenho tentado classificar o relacionamento entre exclusivo e índice no Postgres depois de ler os documentos sobre a exclusividade do índice sendo um detalhe de implementação : A maneira preferida de adicionar uma restrição exclusiva a uma tabela é ALTER TABLE … ADD CONSTRAINT. O uso de índices para impor restrições exclusivas pode ser […]

Colunas anuláveis ​​ocupam espaço adicional no PostgreSQL?

Eu tenho uma tabela com 7 colunas e 5 delas serão nulas. Eu terei uma coluna nula nos tipos de dados int , text , date , boolean e money . Esta tabela conterá milhões de linhas com muitos nulos. Eu temo que os valores nulos ocupem espaço. Além disso, você sabe se o Postgres […]

Como criar visões materializadas no SQL Server?

Eu vou projetar um DW e ouvi sobre visões materializadas. Na verdade, quero criar uma visualização e ela deve ser atualizada automaticamente quando as tabelas base forem alteradas. Alguém pode explicar com um exemplo de consulta ..

Entendendo o tamanho das linhas do Postgres

Eu tenho uma tabela Postgres grande (> 100M linhas) com estrutura {integer, integer, integer, timestamp sem fuso horário}. Eu esperava que o tamanho de uma linha fosse 3 * inteiro + 1 * timestamp = 3 * 4 + 1 * 8 = 20 bytes. Na realidade, o tamanho da linha é pg_relation_size(tbl) / count(*) […]

Como a versão controla um registro em um database

Digamos que eu tenha um registro no database e que usuários administradores e usuários normais possam fazer atualizações. Alguém pode sugerir uma boa abordagem / arquitetura como a versão de controle de cada mudança nesta tabela para que seja possível reverter um registro para uma revisão anterior.

Definindo várias foreign keys em uma tabela para muitas tabelas

Eu tenho 3 modelos: Post : identidade título corpo Foto : identidade caminho de arquivo Comentário : identidade post_id corpo e tabelas correspondentes em DB. Agora, se eu quiser ter apenas comentários para meus posts, eu posso simplesmente adicionar a seguinte chave estrangeira: ALTER TABLE comment ADD FOREIGN KEY (post_id) REFERENCES post (id) . Mas […]