Это хорошая попытка нормализации базы данных? - PullRequest
1 голос
/ 17 февраля 2011

У меня есть база данных о людях, у которых были разные виды травм, классифицированные по баллам.Например, существуют тесты, подобные приведенным ниже:

признает боль, боль при выделениях, боль в домашних условиях
признает память, память при выделении, память дома

Каждый из этих тестов проходит 1-7.Прямо сейчас у меня есть мои таблицы, настроенные так:

Основной стол

first name, last name  
SSN  
address  
etc.  
pain FK (foreign key)  
memory FK (foreign key) 

Стол боли

autonum PK  
admit  
discharge  
home

Таблица памяти

autonum PK  
admit  
discharge  
home

Правильно ли это нормализовано?Или я должен иметь таблицы приема, выписки и дома с частями боли и памяти этих таблиц?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2011

Проблема с вашей существующей структурой состоит в том, что у вас может быть только одна запись в таблице боли и одна запись в таблице памяти для каждого пациента.Я предполагаю, что эти тесты будут выполняться несколько раз.Возможно, альтернативная структура, которая также допускает дополнительные тесты, может выглядеть примерно так:

Основная таблица
autonum PK
имя
фамилия
SSN
адрес
и т. Д.

Таблица результатов тестов
автономный ПК
Дата
Идентификатор пациента (FK для основной таблицы)
Идентификатор типа теста(FK к таблице тестов)
результат теста

Таблица тестов
автономный ПК
Имя теста

Если вам нужны дополнительные данные по каждому тесту этой конструкциипришлось бы немного изменить.Но, основываясь на вашем вопросе, это позволит вам сохранить несколько тестов и результаты тестов для каждого человека

1 голос
/ 17 февраля 2011

Разве таблицы Pain и Memory не являются той же таблицей с типом записи?

Тестовый стол

autonum PK  
typeID  FK       (Pain/memory)
admit  
discharge  
home

Таблица типов испытаний

autonum typeID   PK
description
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...