Разработка базы данных телефонной книги - PullRequest
1 голос
/ 27 августа 2011

Я проектирую базу данных для веб-базы (ASP.NET). Телефонная книга - Программное обеспечение менеджера контактов.
Каждый контакт может иметь разные типы телефонов. (Дом, Работа, Мобильный телефон и т. Д.). Вот мой дизайн базы данных: enter image description here
Тип телефона содержит, например:

  • Дом
  • Работа
  • Чрезвычайная ситуация или все, что хочет пользователь.


M Это хорошо спроектировано?
Я думаю, у меня возникнет проблема с этим дизайном, так как я не могу отображать контакты со всеми их номерами (я имею в виду каждый контакт со всеми его номерами в одной строке, а не с числом контактов в одной строке) В сетке для пользователя.Что вы предлагаете ?


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

1 Ответ

0 голосов
/ 28 августа 2011

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

Вы можете сделать это с помощью простого запроса.

select c.contactid, c.contactname,
       pt.typetitle,
       pn.phoneno
from contact c
inner join phonenumber pn on pn.contactid = c.contactid
inner join phonetype pt on pt.phonetypeid = pn.phonetype

Для обеспечения целостности данных вам потребуются некоторые УНИКАЛЬНЫЕ ограничения в дополнение к вашим основнымКлючевые ограничения.На вашем месте я бы рассмотрел УНИКАЛЬНЫЕ ограничения на ContactName, TypeTitle и пару (ContactID, PhoneType).На самом деле, пара (ContactID, PhoneType), вероятно, является лучшим первичным ключом, чем PhoneID;рассмотрите возможность полного удаления PhoneID.

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