2017-01-04 11 views
-1

Учитывая это отношение, каким будет первичный ключ и два ключа-кандидата?Каков первичный ключ и ключ кандидата в этих отношениях?

Компьютерная хирургия: {Имя клиента (имя заказчика, имя клиента, фамилия клиента), адрес электронной почты клиента, клиент-тел, адрес клиента (номер дома/должность, почтовый индекс, город, округ, страна) , Customer-Age, Customer-Feedback, Customer-Feedback-Score, Customer-Type, Request-Date/time, Authorized-by, staff-name (Staff-Firstname, staff-Lastname), staff-Email, {staff-Qualifications }, Service-Type, Service-Description, Service-Name, Service-Price, Discount, Served-Price, Served-Location, Served-Date/Time, Total-Price}

Имя службы - это короткое имя для вашего сервис ex. Установка антивируса Описание услуги - это полное описание к вашим услугам ex. Установка антивируса включает сканирование вашей машины и удаление любого вируса и убедитесь, что он чист, и антивирус работает хорошо. Тип услуги может быть аппаратным, программным обеспечением, техническим обслуживанием и т. Д. Цена услуги - это цены в вашем сервисном столе против ваших услуг; это может быть изменено в любое время Порученная цена - это цена, которую вы согласовали с клиентом, и это не должно изменяться.

Заранее благодарен!

+0

Это проблема домашней работы? – jabs

+0

Нет, читая его, я понимаю, что это звучит так, но это не – jdoggg

+0

ничего не зная об этих данных, хорошим кандидатом будет электронная почта, так как электронная почта уникальна. Если у вас не более одного клиента по электронной почте, вам нужно добавить еще один столбец, например имя. Некоторые БД позволяют многоколоночные ПК (композитные), некоторые - нет. Можно ли добавить новый столбец с последовательностью цифр и использовать его как ПК? – jabs

ответ

0

FIrst, это явно не вопрос домашней работы, так как я надеюсь, что никто не придумает такой плохой дизайн для домашнего задания. Это может быть 1NF, но явно не 2NF, так как у вас много данных, зависящих от кусков ключей-кандидатов. Поскольку это часть программного обеспечения, первый совет нормализует это отношение как минимум на 3NF.

Я думаю, что ваш первичный ключ должен быть (customer_email, staff_email, service_type, serve_datetime). Я не вижу других кандидатов. И это должно быть разбито как минимум на четыре таблицы.

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

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