Требуется совет по созданию базы данных: двойной ввод данных - PullRequest
4 голосов
/ 28 мая 2010

Я создаю базу данных для сбора данных клинических испытаний. Данные вводятся дважды двумя людьми независимо друг от друга, и результаты должны быть сопоставлены. Какие инструменты базы данных лучше всего использовать для достижения наилучших результатов. У кого-нибудь есть подобный опыт?

Ваша помощь высоко ценится.

спасибо.

Ответы [ 4 ]

1 голос
/ 28 мая 2010

(я пока не могу добавлять комментарии ...) Если добавить какие-либо ответы к ответу Зака, если есть сомнения по поводу того, сколько людей введут эти значения (скажем, скачки с двух до трех, как говорит Зак) Ввод данных 1 и 2 (оба dataPointID) в другую таблицу с двумя столбцами:

--data trial id
--data entry id

Таким образом, теоретически вы можете иметь как можно больше разных пользователей. вставка данных, и тогда таблица пробных данных будет содержать только метаданные о пробной версии, а не «бизнес-логику», которая, по сути, имеет только 2 записи данных на пробную версию.

Подобную настройку можно использовать, если в разных испытаниях содержится разное количество значений данных, которые нужно ввести.

1 голос
/ 28 мая 2010

Вы разрабатываете базу данных или приложение для ввода данных в базу данных?

Если вы просто просматриваете базу данных, я бы взял следующую информацию:

1) user A item X entered data
2) user A userID
3) user A intem X entered date/time

4) user B item X entered data
5) user B userID
6) user B intem X entered date/time

Затем я пришел бы к выводу, что существует нечто, называемое «точка данных», которое содержит поля

-- entering userID
-- entry date
-- entry data (double value)
I'd also assign it a unique ID for the entry
--entryID (autoinc)

Тогда я бы сказал, что существует нечто, называемое «пробная версия данных», в котором есть две вещи, называемые «ввод данных»

Если бы я полагал, что это число записей в пробной версии данных может составлять 3 проверки вместо 2, я мог бы изменить свой дизайн, но первоначально я бы дал своему «испытанию данных» следующее определение:

-- data trial name
-- data trial creation date
-- user creating data trial (userID)
-- data entry 1 (dataPointID)
-- data entry 2 (dataPointID)
-- entries verified (boolean)
and give each of these a unique ID also
-- data trial ID (autoinc)
0 голосов
/ 28 мая 2010

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

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

  • Проверка не может найти первую запись.
  • Как исправить данные, если они не совпадают при проверке.
  • Как обращаться с непроверенными данными, которые должны быть проверены.
0 голосов
/ 28 мая 2010

Если вы ищете хороший инструмент для работы с базами данных, вам следует рассмотреть возможность использования Entity-Relationship Designer для моделирования вашей базы данных, например Case Studio или Embarcadero ER / Studio.

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