2015-04-18 6 views
0

Я создал базу данных для ветеринарной клиники.Эта таблица в 3NF?

У меня есть таблица, называемая встречами, и это то, что она содержит.

appointment_id, patient_id, customer_id, staff_id, date_time 
  • Каждый клиент (владелец) имеет пациента (домашнее животное).
  • Назначение назначается одним персоналом.

Так ли моя структура таблицы правильно? Это должно быть 3nf.

ответ

0

Нет, это не так.

Существует транзитивная зависимость между appointments и patients. Рассмотрим обновление аномалию:

UPDATE appointments 
SET appointments.patient_id = 42 
WHERE appointments.appointment_id = 1; 
/* hey that's not my dog! 
*/ 

Если пациенты и клиенты один-к-одному, хранить идентификатор пациента на столе клиента и ссылки на него с объединением.

Если они являются одними для многих, храните идентификатор клиента на столе пациента для каждого пациента.

0

Позвольте мне объяснить простыми словами,

условие для третьей нормальной форме:

-Он находится во второй нормальной форме

-Там нет транзитивной функциональной зависимости

В этой связи рассмотрите

appointment_id как А

patient_id как B

customer_id как С

В вашем отношении, А-> В

B-> C и А-> C

Таким образом, существует transitive функциональная зависимость.

Так, это не в 3NF.

Надеюсь, это помогает.

 Смежные вопросы

  • Нет связанных вопросов^_^