Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

design de banco de dados, faça uma tabela para apontar vários e algum tipo de ponteiros recursivos


Este é um esquema de banco de dados potencialmente grande, então vou me concentrar apenas no sistema musculoesquelético. Antes de entrar nisso, porém, devo mencionar a importância da normalização do banco de dados. É importante! E por muitas razões. Principalmente, ao projetar um banco de dados bom e normalizado, agora você evita problemas no caminho, garantindo a integridade e a confiabilidade de seus dados. Tenha sempre em mente "Como esse banco de dados crescerá", "E se eu precisar adicionar mais sistemas ou visualizações ou padrões de distribuição", etc. Faça um favor a você mesmo, a seu empregador, e leia. breve visão geral pode ser lida aqui:http://databases.about.com/ od/specificproducts/a/normalization.htm

Para o design do banco de dados:

Você deseja manter a coluna redundante e as colunas que são subconjuntos de outras colunas fora de uma tabela e em sua própria. Por exemplo, veja sua tabela de linfonodos. E se daqui a um ano você perceber que precisa adicionar outro linfonodo? Ou remover um? Ou se você estiver olhando apenas para um nó de um cliente? Em vez de fazer do seu jeito, amarre a mesa a um objeto maior (não sou médico, então não tenho certeza de qual é a resposta) como Paciente ou Sistemas Linfáticos. Ou ambos. Exemplo:

Um paciente tem muitos sistemas (relação de um para muitos entre a tabela do paciente e a tabela de sistemas) Um sistema linfático tem muitos órgãos (relação de um para muitos entre o sistema linfático e os órgãos) Um sistema, ou órgão, tem muitos testes (uma relação de um para muitos entre sistemas e testes).

Exemplo:

Esta tabela deve conter apenas dados relativos a um paciente individual

Esta tabela deve ter apenas colunas específicas para todos os sistemas. Os sistemas podem ser sistemas linfáticos, sistemas respiratórios, sistemas excretores, etc.

TablePatient_TableSystems

Você não pode ter muitos para muitos relacionamentos. Esta tabela resolve isso. Se você não tiver isso, precisará manter registros redundantes em cada tabela para cada paciente/sistema

Resolve muitos para muitos para sistemas e órgãos

Agora para testes. Os testes são específicos para órgãos ou sistemas? Ou ambos? Este exemplo dirá tanto

Teste de tabela

Há muito aqui, então acho que este é um bom lugar para parar. Leia a normalização de dados e, quando tiver dúvidas, poste de volta aqui (ou me mande uma mensagem).