powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Обобщенные структуры: Исключающее наследование (физики/юрики )
25 сообщений из 73, страница 1 из 3
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33735908
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33735958
kolbasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
топик для телепатов :-)
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33735985
DeWiL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не угадал.
для физиков/юриков
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33736034
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автордля физиков/юриков а хто это?
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33736050
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже обсуждалось в разных ветках, но есть желание посмотреть подробнее.

Проблема: есть достаточно разные сущности, значительно отличающиеся по составу данных. В то же время их объединяет то, что они могут играть одну и ту же роль в некоторых других сущностях.
Например
1)Стороной в договоре может быть и физическое и юридическое лицо.
2)Способом связи с лицом может быть почтовый адрес, и-мейл, телефон, URL, ...

ИМХО наиболее рациональное решение - схема N+1 N специальных таблиц плюс общий каталог объектов , супертип для этих подтипов. При этом наследование должно быть исключающим: данное лицо либо физическое, либо юридическое. Данный способ связи либо почта либо телефон, либо голубь.

Какие у коллег есть мысли по теме? Примеры, подводные камни?
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33736056
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolbasovтопик для телепатов :-)Ну не везет мне нынче с мышью:(
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33736241
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 2)Способом связи с лицом может быть почтовый адрес,
> и-мейл, телефон, URL, ...

Посмотрите внимательнее: телефон, e-mail, URL - на самом деле URI (с оговорками, которые пока несущественны). Похожие идентификаторы (не упоминаемые, правда, в соответствующем RFC (хотя могу и ошибаться, - давно не интересовался изменениями)) - телетайп, телекс, идентификаторы в частных сетях (Спринт etc) и прочие. Объединяет их то, что все они - суть _сетевые идентификаторы_.

Адрес (обычный географический) - не есть сетевой идентификатор. В общем случае (с оговорками) он может быть сопоставлен абсолютным координатам. Т. е. адрес - в первом приближении - просто удобная запись этих самых координат.

Прямой резон отделять сетевые идентификаторы от несетевых. ;)

> ИМХО наиболее рациональное решение - схема N+1

Imho разумное решение - это M каталогов, каждый из которых имеет собственную структуру данных и _однородное_ содержимое (степень однородности и правила группировки можно обсуждать).

> каталог объектов, супертип для этих подтипов

Я понимаю, о чем Вы говорите; претензии к терминологии. Это не каталог объектов. Это перечень сущностей (и, возможно, их атрибутов).
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33736372
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Это не каталог объектов. Это перечень сущностей

ну вод и приехали опять

каталог объектов
перечень сущностей
каталог сущностей
перечень объектов

буим EAV Model лабать

найдите десять отличий, как говорится...
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33738008
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Иерархия типов.

Да логично выглядит
СРЕДСТВО СВЯЗИ
--ЭЛЕКТРОННОЕ
----ТЕЛЕФОН
----МЕЙЛ
--ПОЧТА.

Однако нужно ли, и в каких случаях включать такую иерархия сущностей в модель? Изначально проблема была: " Сущности отличаются по составу данных. Сущности могут играть одну и ту же роль в некоторых других сущностях." ИМХО, если нет таких других сущностей, где ссылка на ТЕЛЕФОН,МЕЙЛ допустима, а на ПОЧТА нет, то нет основания выделять подтип ЭЛЕКТРОННОЕ. Т.е. практически двухуровневой системы достаточно. Нет?

EAV не по теме, хотя там тоже есть каталог типов объектов и каталог объектов.
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33738038
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честное слово, в моей практике объединять все эти типы в одну кучу не приходилось и не было надобности. Тем более если взять к примеру телефон и адрес. Мне например абсолютно по барабану (и юзерам кстати тоже) какой телефон был у клиента год назада какой сейчас. Но далеко не все равно какой у клиента был юридический адрес.
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33738086
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2)Способом связи с лицом может быть почтовый адрес, и-мейл, телефон, URL, ...
непонятно зачем делать модель из обычного текстового поля в БД?
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33738507
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Да логично выглядит

Нет, imho не логично. Мне непонятно, почему Вы стараетесь построить иерархию. Причем, по imho совершенно несущественным признакам.

Если уж Вам так необходимы типы, можно выделить голосовую (или - шире - mime-based) связь, - для целей, например, автоматизации обработки контактов.

Только это тоже нужно делать аккуратно: после принятия IPV6 (думаю, в течение ближайших пяти лет это произойдет) подход к сетевым идентификаторам хм... несколько изменится.

Еще: возьмите, например, google. У пользователя есть только один идентификатор имя@gmail.com, - а контакт может быть и голосовым, и IM (Google Talk), и почтовым. ;)

> Т.е. практически двухуровневой системы достаточно. Нет?

Imho невозможно дать однозначный ответ.

Иерархию вообще нужно использовать осторожно. Просто потому, что случаев явной однозначной иерархии на самом деле немного. Imho признаки уровней не должны быть произвольными, - они должны быть формальными (лучше - документированными, еще лучше - стандартными). Самое распространенное использование иерархических структур - классификация. Скажите, Вы знаете _хотя бы один_ классификатор, который был бы правильно построен? ;)

Возвращаясь к Вашему вопросу: любое проектирование - это всегда компромисс. Вы правы - два уровня иерархии удобны с точки зрения пользователя, - т. е. imho вполне себе можно использовать этот критерий, чтобы в подавляющем большинстве случаев ими и ограничиваться. При этом, разумеется, речь уже не идет о правильности построения такой иерархии. ;) Т. е. просто говорим: "Для практического применения достаточно использовать ..." и разрешаем бороться с созданным геморроем команде разработчиков, которая будет дальше развивать это проект. ;)
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33738651
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621
+1
Классификатор - это научный труд, и .... довольно субъективное понятие (даже если он ГОСТ'ированный). Всегда найдётся заказчик желающий построить свой собственный (классифицировать обувь по длинне шнурков). .
ЗЫ. Из за такого заказчика мы вынуждены иметь массив классификаторов (Пупкина/Васина/.....)
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739014
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelRИерархия типов.

Да логично выглядит
СРЕДСТВО СВЯЗИ
--ЭЛЕКТРОННОЕ
----ТЕЛЕФОН
----МЕЙЛ
--ПОЧТА.
.

телефон не является электронным средством связи - это голосовая связь

типы связи можно различать по формату сообщения на одном конце и формату на другом конце

только это никчему - т.е. такая парадигма вообще бессмысленна

ЗЫ

к какуму типу связи отнести телеграмму зачитанную телеграфисту по телефону и полученную адресатом по электронной почте
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739026
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621> Скажите, Вы знаете _хотя бы один_ классификатор, который был бы правильно построен?;)

я! я знаю! (тянет руку с задней парты)

система мироздания во всей своей полноте... тока мы пока не научились ее читать :
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739044
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
proposed amendment, если нечего сказать по существу, воздержитесь от комментариев: рискуете нарваться на оценку Вашего коэффициента умственного развития.
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739175
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621рискуете нарваться на оценку Вашего коэффициента умственного развития.

да запросто %) да ради Бога %)
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739205
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro1232)Способом связи с лицом может быть почтовый адрес, и-мейл, телефон, URL, ...
непонятно зачем делать модель из обычного текстового поля в БД?
Например - CRM.
Связь с контактом=Пупкин
----------------------------------------
тип=телефон, Значение=123456, extension=125, кнопка ="Позвонить"
тип=мейл, Домен= f.b, IP домена блокирован спам-фильтрами = (CBL), ящик = c.d, кнопки =("Новое письмо", "Показать входящие")
тип=почта, Индекс=000000, Страна=, город=, ... ,а/я222, Формат печати=..., кнопка ="Напечатать конверт"

Полей и записей чуть больше.

Но если пример не интересен, предложите другой.
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739275
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не,электронный адрес надо делать отдельной сущностью,ровно как и почтовый.Я,например,держу их в разных таблицах в первую очередь из-за того,что кол-во полей уж больно разное (У меня в справочнике адресов полей 20,а в эл.адресах-4). Плюс к этому,у меня есть специально обученная таблица,в которой я храню историческую (а то взяли моду покупать безлимитный скай-линк и держать его по неделе в офисе одном,а потом переносить в другой дуря всех,что это стационарный телефон :)) принадлежность электронных адресов физическим (почтовым).Пример:телефон 123-12-45 живет на улице Петрова 25/03/06,а 234-56 на улице Иванова, а принадлежат они все клиенту Зябликову.

P.S. А причем тут адреса и исключающие наследование :)?
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739300
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR
для CRM!
IMHO зависит от роли и места данного модуля - клиент <--> БД

По степени выделения денег и амбиций по автоматизации:
- текстовое поле для каждого автоматизируемого действия секретарши ( для каждой кнопки ).
Если заказчик не ограничивает способы связи, то EAV и "текстовое поле"
Если заказчик ограничивает способы связи, то поля в БД и "текстовое поле".
А то так можно и до классификатора дом-улица в конверте дойти.

- объектная модель на клиенте в классах
класс ТЕЛЕФОН
класс МЕЙЛ
класс ПОЧТА
которые сериализуются в BLOB на сервер. Если нужен поиск на сервере заказчику, то дублирующие поля вынести из BLOB на поля записи-объекта_клиента.

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739434
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> взяли моду покупать безлимитный скай-линк и держать его по неделе
> в офисе одном,а потом переносить в другой дуря всех,что это
> стационарный телефон

Почему "дуря всех"?

В чем принципиальная разница между мобильной связью и стационарной? ;)

> телефон 123-12-45 живет на улице Петрова 25/03/06,а 234-56 на улице
> Иванова, а принадлежат они все клиенту Зябликову

Отличный пример того, как не следует делать (если, конечно, речь не идет о бд СЗТ). ;)

Не обладая легальным доступом к базе данных оператора, Вы не можете определенно сказать, что телефон 123-12-45 продолжает жить на улице Петрова. Продал владелец квартиру, новый владелец сменил номер телефона, - что, Вы и права собственности на недвижимость в Вашей базе данных регистрируете? ;))

Сеть СЗТ - это приватная сеть. А Вы в Вашей базе данных имитируете ее функционал. Imho абсолютно безосновательно.
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739664
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockНе,электронный адрес надо делать отдельной сущностью,ровно как и почтовый.Я,например,держу их в разных таблицах в первую очередь из-за того,что кол-во полей уж больно разное (У меня в справочнике адресов полей 20,а в эл.адресах-4).
P.S. А причем тут адреса и исключающие наследование :)?
Для сущности Клиент атрибут Основное_средство_связи. Может быть либо почтовым адресом, либо электронным. Если почтовые/электронные адреса - две разные сущности, то как прописывется такая связь?
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33739672
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123А то так можно и до классификатора дом-улица в конверте дойти.Дык дошли уже. КЛАДР не пользуете? Тогда мы идем к Вам:).
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33742616
shuklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ModelR
Проблема: есть достаточно разные сущности, значительно отличающиеся по составу данных. В то же время их объединяет то, что они могут играть одну и ту же роль в некоторых других сущностях.

Берете объектную модель, рисуете в ней все что надо с интерфейсами, указателями, коллекциями и прочим - так чтоб самому понравилось. Далее в связи с прибитостью к РБД - нормализуете полученную картинку по табличкам.
...
Рейтинг: 0 / 0
Обобщенные структуры: Исключающее наследование (физики/юрики )
    #33742714
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shuklin ModelR
Проблема: есть достаточно разные сущности, значительно отличающиеся по составу данных. В то же время их объединяет то, что они могут играть одну и ту же роль в некоторых других сущностях.

Берете объектную модель, рисуете в ней все что надо с интерфейсами, указателями, коллекциями и прочим - так чтоб самому понравилось. Далее в связи с прибитостью к РБД - нормализуете полученную картинку по табличкам.
в том то и дело, что переносить объектную модель на БД надо раскладывая по полочкам (полям/записям/ключам) только тогда , когда необходим поиск из БД.
IMHO
...
Рейтинг: 0 / 0
25 сообщений из 73, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Обобщенные структуры: Исключающее наследование (физики/юрики )
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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