2013-05-01 5 views
0

Это мой первый пост, поэтому, пожалуйста, несите меня, если я делаю что-то неправильно. Я на одной порции задал домашнее задание и надеялся, что кто-то может указать мне в правильном направлении или, по крайней мере, дать мне знать, правильно ли я думаю о том, что мне нужно сделать. Я использую mySQL, и я новичок в базах данных.Разрешение нескольких телефонных номеров в базе данных?

Вопрос: «База данных должна поддерживать несколько (любых количеств) номеров телефонов на одного клиента. В настоящее время разрешено только одно число (Customer.Phone). Каждому номеру телефона также нужен тип, который должен быть: (L), mobile (M) или work (W). Ожидаемых дополнительных типов не требуется. Текущий 50-значный предел достаточен. Предположим, что все текущие номера телефонов в таблице - это тип = L. "

Я собирался:

создать новую таблицу CUSTOMERPHONE с колоннами CustomerNumber (FK, она является основным в ЗАКАЗЧИКА), PHONETYPE (вместе с CustomerNumber, эти 2 будет первичным ключом), и телефон , Таблицы CUSTOMER и CUSTOMERPHONE будут иметь отношение 1: M. 1 клиент может иметь много телефонных номеров.

В таблице CUSTOMER я собирался добавить столбец phoneType. customer.phoneType станет внешним ключом, связывающим две таблицы.

Я еще не написал ни одного кода для этой части задания, с моей удачей я бы как-то сломал свою базу данных и испортил остальные 3 части задания. Если кто-то скажет мне, правильно ли я думаю, или где это неправильно, я был бы признателен. (Я не ожидаю, что решение будет тем, что это домашнее задание, просто некоторая обратная связь.)

+0

Если вы беспокоитесь о нарушении правил, сделайте резервную копию, прежде чем что-либо делать. Но да, ваш общий подход звучит так, будто вы идете в правильном направлении. – Spudley

ответ

1

Ваша линия мышления прямо на. Вам не нужно добавлять столбец phoneType к клиенту, поскольку это отношение уже определено в таблице CUSTOMERPHONE, как вы описали.

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

0

Ваши thinkngis хорошие, но не беспокоить с этим одним куском:
In the CUSTOMER table, I was going to add a column phoneType. customer.phoneType would become a foreign key linking the two tables.
Это просто загромождать дизайн.

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