2014-12-12 3 views
-5

У меня есть список атрибутов, и я пытаюсь выяснить 1nf, 2НФ, 3НФ, BCNF, 4НФ Список атрибутов ->SQL Нормализовать к 4-ой нормальной форме

  • Pat_Name
  • Pat_Address
  • Pat_Num
  • Pat_Dob
  • Pat_Gender
  • Pat_MotherName
  • Pat_FatherName
  • DOC_NAME
  • Doc_Address
  • Doc_HomeTel
  • Doc_MobTel
  • Doc_Qualification
  • Doc_Dob
  • App_Date
  • App_Time
  • App_Doc
  • Visit_Date
  • Visit_Time
  • Visit_Reason
  • Диагноз
  • Предписание
  • DateOfBill
  • TotalBillCharge

В первой нормальной форме я ->

*Patient (Table)*  -> **Pat_ID**,Pat_Name,Pat_Address,Pat_Num,Pat_Dob,Pat_Gender,Pat_MotherName,Pat_FatherName 



*Doctor (Table)*  -> **Doc_ID**,Doc_Name,Doc_Address,Doc_HomeTel, Doc_MobTel,Doc_Qualification, Doc_Dob 

*Appointment(Table)* -> **App_ID**,**Pat_ID**,**Doc_ID**,App_Date,APP_Time,Visit_Reason,Diagnosis,Prescription,DateOfBill,TotalBillCharge 

В 1NF, Я был в замешательстве с Visit_Time и Visit_Date (похож ли с Appointment_Time & Appointment_Date). Смотрит на меня, так что я удалил оба из них. Это я делаю правильно или должен сделать новую таблицу для посещения (действительно нужна помощь по этому)? Я создал новый атрибут для идентификации первичного ключа.

2НФА ->

Таблица пациенты не имеют какую-либо частичную зависимости (я правильно?)

Table Doctor Не имеет какую-либо частичную зависимость

(Я правильно?) Таблица я получил частичную Завис, Итак, я разделяю другую таблицу под названием визит

Appointment -> **App_ID**,**Pat_ID**,**Doc_ID**,App_Date,APP_Time 

    Visit  -> **App_ID**,Visit_Reason,Diagnosis,Prescription,DateOfBill,TotalBillCharge 

3NF ---> Таблица пациента и доктора я не нашел ни одного транзитивной зависимости В таблице Посетите Есть переходную зависимость, поэтому я разделить его на новые таблицы счетов

Посетить домашнюю страницу ->APP_ID, Visit_Reason, диагностика, Prescription_ID (я создаю новые атрибуты здесь, это правильно?)

Bills -> Prescription_ID, DateOfBill, TotalBillCharge

Я действительно перепутались со всем. Любое предложение действительно оценили Возможно ли получить любую помощь из переполнения стека?

Теперь я был прав мой вопрос, Давайте посмотрим, могу ли я получить + или нет

+3

с информацией, которую вы дали, ответ «*** нет *, мы не можем ** – jbutler483

+0

Я поставил больше информации, надеюсь, получил достаточную информацию – shojibur

+0

Теперь никто не может ответить на него и положить повод отрицательной обратной связи – shojibur

ответ

0

Для удобности, я нашел это:

Вот процесс нормализации:

  • Identifiy все кандидатские ключи отношения. Определите все функциональные зависимости в отношении.
  • Изучите детерминанты функциональных зависимостей. Если любой детерминант не является ключом-кандидатом, отношение не сформировано. затем
  • Поместите столбцы функциональной зависимости в новое собственное отношение.
  • Сделать определение функциональной зависимости основным ключом нового отношения.
  • Оставьте копию определителя в качестве внешнего ключа в исходном отношении.
  • Создайте ограничение ссылочной целостности между оригиналом и новым отношением.

Как более подробно, вы можете посетить Database stack exchange

  • Отличный учебник можно найти here
+0

Я думаю, что я уже сделал какую-то задачу, и я никогда не прошу о правилах, просто проверьте – shojibur

+0

, в конце концов, я верю, что у меня получится 4, (возможно, 5) таблиц. Пациент, доктор, назначение, биллинг, посещение – jbutler483

+0

В таблице посещения я разместил visit_time, visit_date, visit_reason, patient_id & doctor_id, это нормально или как насчет вашего мышления – shojibur

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