База данных динамических контактов - PullRequest
1 голос
/ 26 августа 2011

Я пытаюсь создать базу данных для контактов Мне нужно для каждого контакта иметь много катогур Как дома офис Сообщения электронной почты телефоны И в каждую категорию можно добавить еще одно значение Также категории могут быть динамическими Как это может быть спроектировано в базе данных

Ответы [ 3 ]

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

Мне кажется, что у вас есть два вида категоризации, которые вам нужно учитывать.Сначала у вас есть цель контакта, то есть Дом или Офис (могут быть другие, такие как Главный офис, Экстренный контакт, Дом отдыха, ...), а другой - средство контакта, например, E-Mail, Телефон(здесь могут быть и другие, например, PIN-код BlackBerry, факс, почтовый адрес, адрес доставки, ...)

В первом случае вы хотите описать, как или почему используется контакт, а во второмЕсли вы хотите описать, какой носитель используется для установления контакта.

Их следует рассматривать отдельно, поскольку они будут управлять различными функциями приложения.Например, у вас может быть некоторый код графического интерфейса пользователя, который представляет разные поля и требует различных изменений в зависимости от того, захватываете ли вы почтовый адрес, почтовый адрес или номер телефона и т. Д. Аналогично, у вас могут быть бизнес-правила, согласно которым контакт Office является обязательным.и Домашний контакт необязателен.

Вот краткий набросок схемы, которая позволяет выполнить следующие классификации:

enter image description here

Таблица CUSTOMER (радииллюстрация) содержит людей, с которыми вы хотите связаться.Таблица CONTACT содержит актуальную информацию, необходимую для связи с клиентом.Вы можете использовать общий дизайн или что-то вроде данных XML, чтобы структурировать это в зависимости от ваших потребностей.Два типа категоризаций управляются таблицами следующим образом:

CONTACT_PURPOSE сообщает, почему будет использоваться контакт.Это ваш дом / офис / ... классификация.В основном это справочная таблица, но в ней могут быть некоторые правила, например, является ли контакт обязательным.

CONTACT_FORMAT сообщает вам структуру контакта.Это ваша электронная почта / телефон / адрес / ... классификация.Это будет элемент таблицы поиска, но он также может содержать правила структурирования контактных данных, например, сколько полей?Насколько велико каждое поле?Какой шаблон регулярного выражения используется для проверки содержимого контакта и т. Д.

1 голос
/ 24 декабря 2011

Хорошее объяснение @Joel Brown, я просто хотел бы добавить.

Содержимое в контакте может быть какой-то другой таблицей в зависимости от CONTACT_FORMAT, например,

1), еслиCONTACT_FORMAT - это адрес, тогда он может ссылаться на таблицу ADDRESS, в которой будут поля, такие как улица, город, штат, страна и т. Д.

2) если CONTACT_FORMAT - это телефон, то он может ссылаться на таблицу PHONE, в которой будут полякак запрос, хорошее время для звонка, код города, код страны и т. д.

как для различных CONTACT_FORMAT, которые требуют определенных полей.

1 голос
/ 26 августа 2011

Контакт ( ID , Имя, Фамилия, ..)
Категория ( ID , Имя)
CategoryNumbers ( ContactID, CategoryID, номер )

Вам понадобится категория по умолчанию, так как в этом дизайне вы не можете добавить число без категории.

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