powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Про справочники
14 сообщений из 14, страница 1 из 1
Про справочники
    #35825488
Hegel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Помогите пожалуйста со схемой данных.

Например есть справочник телефонов(ID,номер,тип)
Ясное дело что телефон может быть чёрт знает у кого хоть у человека, хоть у организации
Так вот если человек принадлежит организации, то правильна ли будет такая схема?

tblPhone 1:M tblPhoneOrg M:1 tblOrganization
tblPhone 1:M tblPhonePerson M:1 tblPerson
tblPerson 1:M tblPersonOrg 1:M tblOrganization

и в чём тут ошибка, и как правильно?:
...
Рейтинг: 0 / 0
Про справочники
    #35825634
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллега. Если мне не изменяет представление номер телефона уникален и может быть закреплён или за ОДНИМ человеком (семьёй) или за ОДНОЙ организацией. Внутри организации этот номер может быть закреплён за отделом (группой людей) или лично за человеком. Это простая вертикальная иерархия. Или я чего то не понимаю...
...
Рейтинг: 0 / 0
Про справочники
    #35825652
expla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr Marmelad,

всяко бывает. Я помню развлекались такой шнягой, как "вечерний телефон". Есть в доме контора и квартира. Ночью в конторе никого нет, телефон им не нужен, в то же время днём, когда контора работает из квартиры все уходят на работу. Вот мы и поставили машинку, которая на ночь подключала к линии квартирный телефон, а днём, квартирный телефон отключала и подключала телефон в конторе.
...
Рейтинг: 0 / 0
Про справочники
    #35825697
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
expla,

И Вы хотите меня убедить что в официальном справочнике были оба абонента... Круто... Ну тогда ключ должен ещё и временную составляющую иметь....
...
Рейтинг: 0 / 0
Про справочники
    #35825737
expla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mr Marmeladexpla,

И Вы хотите меня убедить что в официальном справочнике были оба абонента... Круто... Ну тогда ключ должен ещё и временную составляющую иметь....

Жёлтые страницы и белые страницы, это разные справочники. Так что ничего страшного.

Но конфузы конечно бывали, когда на этот телефон контора модем прицепила и её партнёры стали по ночам в автоматическом режиме на этот модем звонить и пытаться файлы скидывать на три зелёных свистка.
...
Рейтинг: 0 / 0
Про справочники
    #35825872
Hegel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения за неточность формулировки. Речь идёт о следующем. БД для учёта взаимодействия с клиентами. Я хочу запихнуть все возможные телефоны в один справочник. Бесспорно, что один телефон закреплён за одним абонентом. Но речь идёт о контактном телефоне контрагента. А им (контрагентам) ожет быть и человек и организация. Более того, бывают ещё рабочие телефоны сотрудников контрагента, ещё какие-нибудь телефоны, как атрибуты связанных между собой сущностей.

Меня смущает, что в описанном мной варианте связь получается замкнутая, то есть
...
Рейтинг: 0 / 0
Про справочники
    #35825912
Hegel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я просто подумал, что такая же "замкнутость" грозит любому универсальному справочнику (Людей,Email-ов, адресов). Это значит, чего то я принципиально не так делаю, рпытаясь подобным образом связывать таблицы.... Но никак не могу понять в чём дело.
Если факты противоречат моей теории, тем хуже для фактов ©
...
Рейтинг: 0 / 0
Про справочники
    #35825924
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hegel,

Да нет вроде - все (если так) правильно. У меня есть прецендент что Персон работает (внештатным) агентом 50 фирм. На него завязаны десятки телефонов (переключены на входящие звонки) Он их определяет по коммутатору и отвечает
"Здарсьте Компания МикроОракл, Агент Смит" - теллефон 1-800-123-2345 Или
"Здрасьте Компания СапоПипл, Агент Ёнс" - телефон 1-800-234-2345 и так далее - то есть одному ему известно как и на какую лампочку отвечать... так что ваш случай вполне подходит.
...
Рейтинг: 0 / 0
Про справочники
    #35826014
Hegel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Mr Marmelad

Хм... явно чую подвох. Поэтому попробую подробнее описать.
Итак.

Контрагент может иметь много контактных телефонов.
Судьба самих телефонных номеров неисповедима, как и судьба самих контрагентов, потому рисуем контрагенты M:M телефоны

У контрагента есть разные сотрудники, трудовая судьба которых, самих по себе тоже покрыта мраком потому рисуем
контрагенты M:M человеки

У каждого человека может быть скока хошь телефонов(а телефонные номера..это телефонные номера..) потому рисуем
люди M:M телефоны

Более того, у каждого сотрудника контрагента может быть неизвестное количество служебных телефонов, которые впоследствии могут достаться другим сотрудникам, а некоторые из них вобще могут совпадать с "телефоном контрагента" поэтому я бы нарисовал ещё и вот так...

Скажите, пожалуйста, где ошибка в моих рассуждениях?





Если факты противоречат моей теории, тем хуже для фактов ©

Если факты противоречат моей теории, тем хуже для фактов ©
...
Рейтинг: 0 / 0
Про справочники
    #35826102
Mainframe_старый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
телефоны в рамках организации лучше крепить не к человеку, а к штатной единице - должности в рамках какого-то подразделения. так как вам ен Иванов И.И. нужен, а руководитель отдела продаж. обычно при увольнениях телефон предается новому на той же должности.
...
Рейтинг: 0 / 0
Про справочники
    #35826169
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hegel,

ошибка в логике.

Цикличности в Вашей схеме не будет, т.к. человек связан с телефоном либо напрямую, либо через организацию.
Засада в том, что это нужно как-то отслеживать. Хотя это решаемо.
...
Рейтинг: 0 / 0
Про справочники
    #35826544
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HegelХм... явно чую подвох. Поэтому попробую подробнее описать.
Нету здесь никакого подвоха - все будет именно так, если решать задачу в лоб. (иногда ее так и надо решать)

Могу добавить, что кроме телефонов контрагентов - еще бывают телефоны "Департаментов, Отделов, Служб". Например отдел продаж, Департамент маркетинга, служба тех.поддержки.

Чем неудобна ваша схема - тем, что потом приходится телефоны собирать из разных мест, отслеживая взаимосвязи между объектами.

Теперь про вариант решения.
Можно создать отдельную таблицу: "Объект", к которой будут цепляться детальные таблицы "Контрагкнт", "Персона", "Отдел" итд.
И далее - телефоны цеплять не отдельно к Организации, Человеку, Отделу - а к объекту.

Вопрос останется только в связке "Человек-Организация". Ее обычно в Объекты не запихивают, хотя тоже можно это сделать.

Более подробно схема Объект-Детальные сущности обсуждалась здесь .

PS: еще подумайте на тему так ли вам нужны связи М:М для телефонов. Оно, конечно, правильнее, но по опыту - мало кто пытается линковать один телефон к разным объектам.
Это под собой имеет слабый физический смысл.

PS2: делать первичным ключем номер телефона - нельзя, потому что есть многоканальные телефоны-коммутаторы, где доступ к разным людям осуществляется через единый телефон + экстеншен.
Не говоря о том, что еще до сих пор существует в некоторых мелких организациях практика спаренных телефонов (два апарата на одной линии).
...
Рейтинг: 0 / 0
Про справочники
    #35831731
Фотография SNUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Субъект
_______
id_субъект
наименование

Средство_связи
_______
id_cредство_связи
наименование

Тип_средсва_связи
_______
id_тип_средства_связи
наименование

Cредство_связи_субъекта
_______
id_cредствa_связи_субъекта
id_тип_средства_связи
id_субъект
id_cредство_связи

ну и например
select Субъект.наименование, Тип_средсва_связи.наименование, Средство_связи.наименование
from Субъект, Тип_средсва_связи, Средство_связи, Cредство_связи_субъекта
where Субъект.id_субъект=Cредство_связи_субъекта.id_субъект(+)
and Cредство_связи_субъекта.id_тип_средства_связи=Тип_средсва_связи.id_тип_средства_связи
and Cредство_связи_субъекта.id_cредство_связи=
Средство_связи.id_cредство_связи
----
Отдел маркетинга факс +7800333000
Иванов Макарка телефон +7800332100
.....
...
Рейтинг: 0 / 0
Про справочники
    #35831855
Hegel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Bely, SNUS
Спасибо, со справочниками вроде разобрался.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Про справочники
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]