powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Моделирование связей между сущностями
60 сообщений из 60, показаны все 3 страниц
Моделирование связей между сущностями
    #36536149
andrew_tcvetsikh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. Есть вопрос по моделированию связей между сущностями. Каше предоставляет 2 варианта:
1) Использование объектной ссылки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Class temp.B Extends %Persistent
{
}

Class temp.A Extends %Persistent
{
property b as temp.B;
}
2) Использование Relationship
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Class temp.B Extends %Persistent
{
Relationship aMany  As temp.A [ Cardinality = many, Inverse = bOne ];
}

Class temp.A Extends %Persistent
{
Relationship bOne As temp.B [ Cardinality = one, Inverse = aMany ];
}
Есть ли преимущества у одного из подхода перед другим?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36536173
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый вариант подходит для реализации связей типа один к одному
а на втором варианте также можно реализовать связь один ко многим

когда нужна связь один к одному думаю лучше использовать первый вариант
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36536205
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Relationship отслеживание ссылочной целостности на уровне системы, хотя вот здесь в этом сильно сомневаются
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36536543
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первый вариант подходит для реализации связей типа один к одномуПервый вариант ничуть не хуже подходит для реализации связей типа 1:M. Потребность в связях 1:1, скорее всего, говорит о проектных ошибках. Я во многом согласен с мнением Д.Лисеева, высказанном в дискуссии 3-летней давности.
Cache на рынке уже более 10 лет, технологии пора бы уже обрести зрелость. Вам не кажется, что за эти годы объектно-реляционный подход к проектированию БД так и не обрел крепкого теоретического фундамента, поэтому и пользоваться им весьма не просто?
На практике, в основном, встречаются 2 подхода:
Р) РСУБД + приложение, работающее с ней только через SQL
Приложение реализовано в зарегистрированных классах или даже в "рутинах". Т.е. отдельно данные, отдельно - программы. Программы могут использовать глобалы в "технических" целях, таких как временное хранение промежуточных данных.
ОО) ООБД полностью инкапсулирована в интерфейсные классы. Тогда уже неважно (для прикладного программиста), как она устроена, т.к. он с нею напрямую не работает, и всевозможные Relationship ему не подмога. Внутри интерфейсных классов работа с БД в этом случае может быть реализована даже на уровне глобалов - это уже вопрос реализации.
Плюсы и минусы Р-подхода:
+ можно полноценно использовать сторонние средства моделирования БД
+ можно использовать какие-вам-нравятся подходы к программированию приложения.
- пресловутый impendance mismatch.
Плюсы и минусы ОО-подхода:
+ потенциально - более высокое быстродействие
+ большая защищенность БД от ошибок прикладных программистов
- сложнее "добыча данных" из такой системы по инициативе сторонних программ.

Понятно, что картинка грубая, и в жизни встречается множество нюансов. М.б., я что-то важное упустил. Принес ли кому-нибудь счастье объектно-реляционный подход?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36536874
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может просто использовать, зная достоинства и недостатки? :)
Г.Олди Старое доброе зло Стена вставала над миром. Величественная в неумолимости рока. Два цвета, которые лишь в страшном сне могут смешаться друг с другом. Враг с врагом. Сохранив первозданную чистоту. Впервые от начала времен — плечом к плечу. Вместе. Черное и белое. Воинства Света и легионы Тьмы. Беспощадные мортиферы и светозарные белларумы, мрачные феррорки и благородные альбасанктусы, зловещие либитинии и вдохновенные кандиды, смертоносные инфернефусы и гневные алакритасы, ощерившиеся бестистраги и полные решимости люкс-дефенсоры…

Стена вставала над миром. Готовясь очистить лицо бытия от мерзкой накипи, бурой пены, скопища уродцев, презревших величие идеалов, опозоривших грандиозное противостояние Порядка и Хаоса, Добра и Зла, Тьмы и Света.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36537126
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может просто использовать...Все вышенаписанное основано на практике использования, это не измышления. Если нужны конкретные примеры, их есть у меня :) А вот есть ли примеры успешного использования ОР-подхода? Честно говоря, сомневаюсь. Дискуссия "о 3-х инсертах" в соседнем топике меня лишний раз в этом убеждает.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36537443
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Web-приложение? Интерфейсом прячем недостатки одного, выставляем достоинства другого. Может я чего-то не понимаю, или в каталоге решений партнеров сплошной обман и надувательство?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36537502
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отличный пример: писать web-приложение можно по-разному. Можно напрямую работать с БД из js-кода, используя возможности CSP, а можно инкапсулировать работу с БД в серверные методы.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36537665
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew_tcvetsikhДоброго времени суток. Есть вопрос по моделированию связей между сущностями. Каше предоставляет 2 варианта:
...
Есть ли преимущества у одного из подхода перед другим?
Первый подход

Второй подход (пятая характеристика)
Для случаев не покрываемых relationship Вы можете явно добавить foreign key .
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36548836
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovА может просто использовать...Все вышенаписанное основано на практике использования, это не измышления. Если нужны конкретные примеры, их есть у меня :) А вот есть ли примеры успешного использования ОР-подхода? Честно говоря, сомневаюсь. Дискуссия "о 3-х инсертах" в соседнем топике меня лишний раз в этом убеждает.

Он даже теоретически не может принести облегчения:)
Хуже другое: ни в Р, ни в ОО, ни в ОР связи между объектами не поддерживаются: 1) ссылки - это не связи (более того, свойством обекта не может быть другой объект) 2) и, если я правильно понимаю, при использовании Relationship мощность связи М:М не поддерживается:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36549069
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бредесли я правильно понимаю, при использовании Relationship мощность связи М:М не поддерживается:)
Только через третью таблицу...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36551282
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредесли я правильно понимаю, при использовании Relationship мощность связи М:М не поддерживается:)
Только через третью таблицу...

Это и говорит о том, что связи принципиально не поддерживаются (см., например, тему "Зачем нужны связи" в разделе Проектирование БД):)
Так что Cache еще очень далеко до объектной СУБД (не в смысле ООП, а в прямом смысле:)).
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36551366
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредТак что Cache еще очень далеко до объектной СУБД (не в смысле ООП, а в прямом смысле:)).
Я как-то не очень переживаю по этому поводу...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36552385
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa, спасибо :)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36553880
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредТак что Cache еще очень далеко до объектной СУБД (не в смысле ООП, а в прямом смысле:)).
Я как-то не очень переживаю по этому поводу...
Вы же программист, наверное:) Как же Вы можете переживать по поводу того, что у Вас всегда есть работа:)
Вот "Р"СУБД и были созданы для того, чтобы дать работу массе программистов. IS пошли этим же путем. Вполне логично:) Жванецкий ясно выразил эту тенденцию, и этот стиль жизни, так сказать: "паровозы для машинистов, магазины для продавщиц, университеты для преподавателей, больницы для врачей". Все правильно:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36553933
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред, согласитесь, Cache все-таки шаг вперед. Возможно маленький с точки зрения "правильных" теорий, но вперед. Или Вы хотите послушать, что говорят те самые конечные пользователи (ради которых все и делается) по поводу объектного навигатора?
Бред"Р"СУБД и были созданы для того, чтобы дать работу массе программистов О как... Надеюсь, Вы это несерьезно?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554010
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaТолько через третью таблицу...
Хм...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
/// Многие слева
Class test.B Extends (%Persistent, %Populate) {
Property Name As %String;
///Ссылаемся на один
Relationship C As test.C [ Cardinality = one, Inverse = Bs ];
///Ссылаемся на много 
Relationship Cs As test.C [ Cardinality = many, Inverse = B ];
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
/// Многие с другой стороны
Class test.C Extends (%Persistent, %Populate) {
Property Name As %String;
///Ссылаемся на один 
Relationship B As test.B [ Cardinality = one, Inverse = Cs ];
///Ссылаемся на много
Relationship Bs As test.B [ Cardinality = many, Inverse = C ];
}

Код: plaintext
1.
2.
3.
 d ##class(test.B).Populate( 5 )
 d ##class(test.C).Populate( 10 )
 d ##class(test.B).Populate( 5 )
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554043
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintХм...
И чего ты с этим "Хм" дальше будешь делать? Какую например задачу решать?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554198
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa, задачу реализации отношения многие ко многим не только через третью таблицу ;)
Например, сделать на Cache объектную БД, в которой будут "правильные" отношения между "объектами". А "хм.." будет уровнем реализации, скрытый от пользователя интерфейсом.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554416
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintзадачу реализации отношения многие ко многим не только через третью таблицу ;)
Вот только реализацию "чего" ты сделал? Имеется ввиду в практическом плане... Или пример придумать уже не хватает сил?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554483
2acid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
реализация "авторы - книги" не подойдет ?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554486
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa. Не, ну так не пойдет. Я же привел пример. Или прочитать "уже не хватает сил". Два "Объекта" связанных "отношением" многие-ко-многим. Вы хотите сказать, что это не будет работать или этим нельзя пользоваться?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554564
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintэтим нельзя пользоваться?Именно. Представьте, что это авторы-книги. У 1 автора м.б. несколько книг. У 1 книги - несколько авторов. Пока все хорошо :) Но вот вы решили удалить из БД книгу (ошибочно введенную, например, да мало ли по какой причине). Как вы это сделаете? Не удалив всех ее авторов, вы книгу не удалите.
Введя промежуточный объект (e.g. "авторство"), связанный с книгой и с автором отношениями 1:M, мы эту проблему снимаем. Если продолжать использовать Relationship, то удаление книги потребует предварительного удаление всех дочерних "авторств" - но не авторов.
Сторонники "чисто объектного" подхода хотели бы, чтобы связь выступала как отдельная сущность (хотя и нехорошо так ее называть :), которая может иметь атрибуты и т.д. Но мне кажется, что это не принципиально - нагрузить атрибутами промежуточный объект (таблицу), или саму связь.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554631
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2acidреализация "авторы - книги" не подойдет ?
Для практического применения - нет.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554641
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintДва "Объекта" связанных "отношением" многие-ко-многим.
"многие-ко-многим" тоже нужно взять в кавычки...

doublefintВы хотите сказать, что это не будет работать или этим нельзя пользоваться?
Вот про использование и хочется от тебя примеры услышать. Сам-то пока так и не могу придумать где такое применить можно на практике.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36554653
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovНо вот вы решили удалить из БД книгу ...
Или книга вышла в новой редакции и там авторство поменялось... А книга-то та же.
Да мало ли чего еще! Там только ткнись в предметную облать - весь такой макет затрещит по швам...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556423
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintБред, согласитесь, Cache все-таки шаг вперед. Возможно маленький с точки зрения "правильных" теорий, но вперед. Или Вы хотите послушать, что говорят те самые конечные пользователи (ради которых все и делается) по поводу объектного навигатора?
Бред"Р"СУБД и были созданы для того, чтобы дать работу массе программистов О как... Надеюсь, Вы это несерьезно?

То есть, вы задумались над проблемой? Это хорошо:) Когда Вы говорите "вперед", вы имеете в ввиду реализацию парадигмы ООП в среде mumps? Да, вперед. В том смысле, что было процедурное программирование, структурное программирование, декларативное и т.п., а теперь стало еще и объектно-ориентированное:)
Но разве мы об этом говорим в этой теме???
А вы хотите послушать что говорят "конечные пользователи" про ООП и программирование запросов на SQL?:)
Я ни слова не сказал ни про какой "объектный навигатор". И уже привых, что на sql.ru невозможно обсуждать вопросы по существу:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556438
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред"конечные пользователи"
Это кто? Юзеры? Те, кто в, писаных нами программках, работает?

БредИ уже привых, что на sql.ru невозможно обсуждать вопросы по существу:)
Ну вот... Уже и форум не такой...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556461
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovdoublefintэтим нельзя пользоваться?Именно. Представьте, что это авторы-книги. У 1 автора м.б. несколько книг. У 1 книги - несколько авторов. Пока все хорошо :) Но вот вы решили удалить из БД книгу (ошибочно введенную, например, да мало ли по какой причине). Как вы это сделаете? Не удалив всех ее авторов, вы книгу не удалите.
Введя промежуточный объект (e.g. "авторство"), связанный с книгой и с автором отношениями 1:M, мы эту проблему снимаем. Если продолжать использовать Relationship, то удаление книги потребует предварительного удаление всех дочерних "авторств" - но не авторов.
Сторонники "чисто объектного" подхода хотели бы, чтобы связь выступала как отдельная сущность (хотя и нехорошо так ее называть :), которая может иметь атрибуты и т.д. Но мне кажется, что это не принципиально - нагрузить атрибутами промежуточный объект (таблицу), или саму связь.

Не совсем так. Связь - не отдельная сущность, и не имеет никаких атрибутов (это принципиально, и все упрощает). То, что Вы назвали "промежуточным объектом" (сущностью? немного нехорошо, и "сущность", и "объект" используются) является самым настоящим объектом (а вовсе не "промежуточным"). Не забывайте о редакторах, художниках и т.п., раз уж мы заговорили об этой предметной области. А "автор", как раз, является автором Произведения, которое содержится в книге (обложка, переплет и много, в общем случае, Произведений). Но в той сильно упрощенной модели предметной области (учитывающей только авторов произведений, напечатанных в книгах, но не учитывающей ни самих произведений, ни других создателей книги), которую мы рассматриваем, действительно, может быть три объекта и две связи:

Человек --- Имеет/Принадлежит ---> Авторство
Авторство <--- Относится к/Имеет --- Книга

Но может быть, в зависимости от уровня абстракции, и два объекта и одна связь:

Человек <--- Является автором/Автором которой является ---> Книга

Очевидно, что экземпляр объекта Книга элементарно удаляется, и это, конечно, не требует удаления экземпляров объекта Человек:) Здесь я, конечно, не имею в виду кривую реализацию в Cache. Так вот, в Вашем случае, если я правильно понял уровень абстракции, более удобен и лаконичен как раз второй вариант.

И что-либо здесь программировать в 21-м веке это просто издевательство над здравым смыслом (это я для doublefint:)).
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556463
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa2acidреализация "авторы - книги" не подойдет ?
Для практического применения - нет.
Ошибочное утверждение:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556469
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaAlexey MaslovНо вот вы решили удалить из БД книгу ...
Или книга вышла в новой редакции и там авторство поменялось... А книга-то та же.
Да мало ли чего еще! Там только ткнись в предметную облать - весь такой макет затрещит по швам...

Нет. Не конкретные рассуждения.
Если книга "вышла в другой редакции" или "авторство поменялось" - это однозначно другой экземпляр объекта Книга в принятой упрощенной модели. И схема "два объекта и одна связь" продолжает прекрасно работать:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556475
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБред"конечные пользователи"
Это кто? Юзеры? Те, кто в, писаных нами программках, работает?

БредИ уже привых, что на sql.ru невозможно обсуждать вопросы по существу:)
Ну вот... Уже и форум не такой...

Спросите у автора сообщения о "конечных пользователях":)
Сделайте форум "таким":)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556560
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредОшибочное утверждение:)
Таки и примера практического от тебя тоже не видел еще...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556564
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредСделайте форум "таким":)
"Таким" что бы он нравился тебе?
Мы этого не сможем по определению...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556578
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредОшибочное утверждение:)
Таки и примера практического от тебя тоже не видел еще...

Практический пример здесь обсуждается. Но он Вас не интересует. Я Вам говорю, что Вы ошибаетесь, называя этот пример "не практическим". А вы, не обращая на это внимания, говорите о чем-то о своем, предполагая, к тому же, мою неспособность приводить примеры:)
Что после этого означает Ваша фраза "ну вот, и форум не нравится"?:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556580
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредСделайте форум "таким":)
"Таким" что бы он нравился тебе?
Мы этого не сможем по определению...

Вы мне предлагаете не мешать обсуждать "проблемы программирования"?:)
Опять помешал:)...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556644
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредВы мне предлагаете не мешать обсуждать "проблемы программирования"?:)
Опять помешал:)...
Делай чего хочешь... Кто тебе мешает?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36556647
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредЯ Вам говорю, что Вы ошибаетесь, называя этот пример "не практическим".
Поверю если ты сделаешь хоть одну практическую задачку использую такую "связь"...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36557043
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред, согласен, замечание было некорректным. Прошу прощения. Вам повезло с пользователями, раз они готовы оперировать понятиями "Объект" и "Связи"
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36557068
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa Поверю если ты сделаешь хоть одну практическую задачку использую такую "связь"... Лично у меня может сил и не хватить (пишите тз ;), но я знаю как минимум одну систему (система управления предприятием) на Cache, использующую "объектную" модель. Конечно, есть много всяких "но"... Например, в ней используется только прямой доступ (Cache как среда выполнения М-кода и никаких Relationship), и "связь" между "объектами" имеет свойства... Но в остальном мне идея очень, очень понравилась.
БредИ что-либо здесь программировать в 21-м веке это просто издевательство над здравым смыслом Можно что-нибудь в виде ссылок на используемое ПО?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36557117
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПО в разработке которого я принимаю участие, что-то типа 1С, а соответственно много вещей где нужны связи между таблицами
к примеру такие как шапка документа и строки документа
ну в основном все ограничивается связями один-ко-многим
классов очень много во всем приложении
каждый документ отдельный класс, строки к нему еще класс, а разных зависимых таблиц к документу может быть несколько
и во всем приложении нету ни одного RelationShip
приложение думаю не сильно от этого страдает
все классы наследуются от одного базового класса в котором прописаны некоторые базовые поля и параметры, обязательные для всех классов в системе
так вот для организации связи между строками документа с его "шапкой", используется свойство ExtParent, в котором хранится ID шапки документа, в классе со строками описан параметр ExtParentClass в котором прописан класс "шапки документа"
и вся логика приложения построена на связи этих полей, в наборе компонентов которые используются в клиентском приложении, используются такие связи, и собственно при создании нового документа нужно только создать классы добавить форму в клиентском приложении и все готово

конечно когда необходимо sql запросом получить данные из таких классов приходится использовать JOIN
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36557517
Фотография kolesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредЯ Вам говорю, что Вы ошибаетесь, называя этот пример "не практическим". А вы, не обращая на это внимания, говорите о чем-то о своем, предполагая, к тому же, мою неспособность приводить примеры:)
Что после этого означает Ваша фраза "ну вот, и форум не нравится"?:)

Где-то я уже этот пример видел ;) Причем интонации "докладчика" были примерно такими же. Почти уверен, что это Вы и были...
Знаете анекдот про французскую болонку и кобеля-дворянина, который "просто пос*ать вышел"?

У меня:
- пользователи, за редким и приятным исключением, не понимают вообще, "как это работает". Они выучивают последовательность нажатий кнопок. Есть одно рабочее место, где я уже 2 года отказываюсь добавить единственную(!) на интерфейсе кнопку "Подтверждаю", потому, что если ее добавить, ответственность возьмет на себя человек, который в принципе отвечать ни за что не должен/не может. И если на экране что-то не так, должен просто сообщить "старшему", у которого есть кнопка "Отменить". Они не тупые. Это просто не их жизнь.
- заказчики, которым система очень нужна, но им абсолютно фиолетово, как она устроена, и как действует. Главное, чтобы работала. Кстати, если в Вашей системе есть сильные отчеты, поинтересуйтесь, сколько раз их использовал директорат - у нас это число стремится к нулю. Реально отчетами занимаются 2-3 человека, которые просто любят и умеют работать с отчетностью. И по запросам руководства их регулярно изготовляют. Заказчики очень умные. В своем бизнесе.
- бизнес, который запутан так, что честный интегратор (ах, если бы такие были на свете) или отказался или встрял и повесился через пару месяцев, а нечестный поднял бы бабла и только ;) Сколько -зависит исключительно от способности правильно инициировать переменные во фразе "ну... теперь-то я могу с уверенностью утверждать, что мы получим результат х к сроку у", причем "х" должен стремиться к нулю, а "у" к бесконечности как можно медленнее... в другие-то стороны они у интеграторов стремиться не умеют в принципе. Бизнес серьезный, он проще быть не умеет.

... да, чуть не забыл... про моделирование:

Мне бы Ваши проблемы. У меня основная работа:
- найти, чем можно пренебречь (Проектирование отношений в сравнении с этим - отдых на Пхукете)
- успеть поймать за руку программиста, когда он пытается добавить ненужную в системе сущность (вернее сущность, академически и паттерново красивую, но нахрен никому не нужную);
- вычищать из системы лишнее (то, что по каким-то причинам не успел...)
- бороться с производительностью (вот тут кайф и наступает...)

Сущность ли связь... не сущность ли связь... науке это неизвестно. Ну, да мы, благо, и не "от науки", а так, попрограммировать вышли ;)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36558492
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредВы мне предлагаете не мешать обсуждать "проблемы программирования"?:)
Опять помешал:)...
Делай чего хочешь... Кто тебе мешает?

Спасибо:) Но Вы опять о чем-то о своем:) Мне бы не хотелось Вам мешать... Своим бредом:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36558525
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaБредЯ Вам говорю, что Вы ошибаетесь, называя этот пример "не практическим".
Поверю если ты сделаешь хоть одну практическую задачку использую такую "связь"...

Какую связь??? М:М, вообще???
Мы рассматривали конкретный пример. И я четко показал, что, в зависимости от постановки задачи этот пример прекрасно работает. Например, задача заключается лишь в том, чтобы получать информацию: кто из людей какую книгу "написал".
Если Вас серьезно интересует этот вопрос, то вкратце сообщу.
Очень часто связи М:М (как, впрочем, и связи с другой мощностью) используются в процессе ДЕНОРМАЛИЗАЦИИ данных. В процессе денормализации Вы можете создавать как избыточные характеристики объектов, так и избыточные связи. И в том, и в другом случае Вы добиваетесь производимтельности и/или удобства отображения, ценой усложнения транзакций и поддержки целостности. В частности, представьте себе, что мы спректировали бы наш пример (описание "авторства" книг) "по полной программе". И там было бы (в нормализованном виде) пять объектов и пять связей. И среди них не было бы прямой связи Человека с Книгой. Однако, вполне может возникнуть потребность в поддержке такой связи для выволнения соответсвующего (весьма востребованного) сервиса.
Извините, еще раз, за беспокойство:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36558528
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintБред, согласен, замечание было некорректным. Прошу прощения. Вам повезло с пользователями, раз они готовы оперировать понятиями "Объект" и "Связи"
Извините, но мы ничего не говорили о реализации пользовательских интерфейсов. И слов в них:)
Я бы предпочел обсуждать только ту "проблему", которая поставлена в теме:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36558561
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintkrvsa Поверю если ты сделаешь хоть одну практическую задачку использую такую "связь"... Лично у меня может сил и не хватить (пишите тз ;), но я знаю как минимум одну систему (система управления предприятием) на Cache, использующую "объектную" модель. Конечно, есть много всяких "но"... Например, в ней используется только прямой доступ (Cache как среда выполнения М-кода и никаких Relationship), и "связь" между "объектами" имеет свойства... Но в остальном мне идея очень, очень понравилась.
БредИ что-либо здесь программировать в 21-м веке это просто издевательство над здравым смыслом Можно что-нибудь в виде ссылок на используемое ПО?

Мы обсуждаем концептуальный вопрос. Связанный с моделированием данных. И, следовательно, с моделями данных. Я действительно занимаюсь этим вопросом более 25 лет. И, конечно, на том или ином этапе этой деятельности участвую в каких-то реализациях:) Вот и сейчас участвую. Но сейчас не в Cache (о чем сожалею, так как mumps остается единственной относительно полноценной технологией создания СУБД):) Сейчас для меня все абсолютно ясно со связями. Значительно интереснее проблема типизации объектов. Кодд, как я уже сообщал здесь много раз, пытался типизировать отношения на "отношение типа сущности" и "отношения типа связи", но на уровне МД это не получилось из-за проблем с алгеброй. Когда же мы отделили объекты от связей, и разобрались со связями, можно подумать о типизации объектов. Представляет интерес опять же ДВА типа: сущность и событие (участниками которых являются сущности).
На этом форуме я неоднократно слышал: "так что здесь нового, мы уже сто лет так и делаем".
Да, но это делается на уровне приложения. Много чего можно сделать на уровне приложения. Я же говорю о МД и соответствующей СУБД....
Извините, что ушел от ответа и не дал ссылок:) Я считаю, что Вы должны знать все, что делалось в этой области, ну хотя бы в среде mumps, раз Вы в ней работаете:)
Суть проста: стереть грань между концптуальным и логическим проектированием в одном инструменте. Чтобы не заниматься "мэппигами" бесконечными. И программированием, оправданным только борьбой с безработицей:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36558586
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorПО в разработке которого я принимаю участие, что-то типа 1С, а соответственно много вещей где нужны связи между таблицами
к примеру такие как шапка документа и строки документа
ну в основном все ограничивается связями один-ко-многим
классов очень много во всем приложении
каждый документ отдельный класс, строки к нему еще класс, а разных зависимых таблиц к документу может быть несколько
и во всем приложении нету ни одного RelationShip
приложение думаю не сильно от этого страдает
все классы наследуются от одного базового класса в котором прописаны некоторые базовые поля и параметры, обязательные для всех классов в системе
так вот для организации связи между строками документа с его "шапкой", используется свойство ExtParent, в котором хранится ID шапки документа, в классе со строками описан параметр ExtParentClass в котором прописан класс "шапки документа"
и вся логика приложения построена на связи этих полей, в наборе компонентов которые используются в клиентском приложении, используются такие связи, и собственно при создании нового документа нужно только создать классы добавить форму в клиентском приложении и все готово

конечно когда необходимо sql запросом получить данные из таких классов приходится использовать JOIN
_________________________________
Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST

Вы рассматриваете "связь", как некое философское понятие, которое реализуете традиционным способом. Как и в РМД, например. Конечно, ссылка - это не внешний ключ. Все-таки, это специальный тип характеристики объекта (по Вашему, по ООПовски - свойства класса). Но это слишком маленький шаг, чтобы его стоило бы рассматривать как какой-то прогресс:) И никакого теоретического интереса не представляет. Так делают все:)
Я же рассматриваю связь, как элемент МД: есть объекты, и есть связи между объектами. И реализуются они не "через" свойства объектов. Еще раз повторю, что Вы не являетесь свойством дома, в котором живете. И дом не является Вашим свойством:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36558597
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kolesovБредЯ Вам говорю, что Вы ошибаетесь, называя этот пример "не практическим". А вы, не обращая на это внимания, говорите о чем-то о своем, предполагая, к тому же, мою неспособность приводить примеры:)
Что после этого означает Ваша фраза "ну вот, и форум не нравится"?:)

Где-то я уже этот пример видел ;) Причем интонации "докладчика" были примерно такими же. Почти уверен, что это Вы и были...
Знаете анекдот про французскую болонку и кобеля-дворянина, который "просто пос*ать вышел"?

У меня:
- пользователи, за редким и приятным исключением, не понимают вообще, "как это работает". Они выучивают последовательность нажатий кнопок. Есть одно рабочее место, где я уже 2 года отказываюсь добавить единственную(!) на интерфейсе кнопку "Подтверждаю", потому, что если ее добавить, ответственность возьмет на себя человек, который в принципе отвечать ни за что не должен/не может. И если на экране что-то не так, должен просто сообщить "старшему", у которого есть кнопка "Отменить". Они не тупые. Это просто не их жизнь.
- заказчики, которым система очень нужна, но им абсолютно фиолетово, как она устроена, и как действует. Главное, чтобы работала. Кстати, если в Вашей системе есть сильные отчеты, поинтересуйтесь, сколько раз их использовал директорат - у нас это число стремится к нулю. Реально отчетами занимаются 2-3 человека, которые просто любят и умеют работать с отчетностью. И по запросам руководства их регулярно изготовляют. Заказчики очень умные. В своем бизнесе.
- бизнес, который запутан так, что честный интегратор (ах, если бы такие были на свете) или отказался или встрял и повесился через пару месяцев, а нечестный поднял бы бабла и только ;) Сколько -зависит исключительно от способности правильно инициировать переменные во фразе "ну... теперь-то я могу с уверенностью утверждать, что мы получим результат х к сроку у", причем "х" должен стремиться к нулю, а "у" к бесконечности как можно медленнее... в другие-то стороны они у интеграторов стремиться не умеют в принципе. Бизнес серьезный, он проще быть не умеет.

... да, чуть не забыл... про моделирование:

Мне бы Ваши проблемы. У меня основная работа:
- найти, чем можно пренебречь (Проектирование отношений в сравнении с этим - отдых на Пхукете)
- успеть поймать за руку программиста, когда он пытается добавить ненужную в системе сущность (вернее сущность, академически и паттерново красивую, но нахрен никому не нужную);
- вычищать из системы лишнее (то, что по каким-то причинам не успел...)
- бороться с производительностью (вот тут кайф и наступает...)

Сущность ли связь... не сущность ли связь... науке это неизвестно. Ну, да мы, благо, и не "от науки", а так, попрограммировать вышли ;)

Хороший пример моделирования связей между сущностями:)
А уж про программистов, которые по собственной инициативе "добавляют в систему ненужные сущности", просто дух захватывает... И с кнопками проблемы... Извините, что только отвлекаю Вас от важных дел своими глупостями:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36559149
antares0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бредdoublefint
БредИ что-либо здесь программировать в 21-м веке это просто издевательство над здравым смыслом Можно что-нибудь в виде ссылок на используемое ПО?

Мы обсуждаем концептуальный вопрос. Связанный с моделированием данных. И, следовательно, с моделями данных. Я действительно занимаюсь этим вопросом более 25 лет.
...
Сейчас для меня все абсолютно ясно со связями.
...
Извините, что ушел от ответа и не дал ссылок:) Я считаю, что Вы должны знать все, что делалось в этой области, ну хотя бы в среде mumps, раз Вы в ней работаете:)
Суть проста: стереть грань между концптуальным и логическим проектированием в одном инструменте. Чтобы не заниматься "мэппигами" бесконечными. И программированием, оправданным только борьбой с безработицей:)
А можно все же несколько сыылок и keyword-ов для расширения кругозора, не работающих в обсласти mumps?
Очень заинтересовало.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36559187
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antares0
А можно все же несколько сыылок и keyword-ов для расширения кругозора, не работающих в обсласти mumps?
Очень заинтересовало.
А среди "не работающего в области mumps" ничего стоящего, тем более, пока не наблюдается. В области "коммерческих" МД и СУБД уже 30 лет продолжается период стагнации с периодическими шараханьями в сторону модных течений, не приближающих, однако, людей к данным:) К тому же, прибавилась еще одна сложная проблема - плохая совместимость технологий БД и интернета. В вебе, например, еще больше проблем с реализацией эффективного и управляемого пользователями интерфейса, о которых частично говорилось выше. Есть определенные надежды на реализацию в этом году, тем не менее:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36559324
antares0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antares0
А можно все же несколько сыылок и keyword-ов для расширения кругозора, не работающих в обсласти mumps?
Очепятка. Читать : - для не работающих в области mumps (для таких как я т.е.)
Бред
А среди "не работающего в области mumps" ничего стоящего, тем более, пока не наблюдается.
Скорее просил ссылок и точек приложения на тему нефилософского представления связей на уровне МД. А то читаю (слова слышу), а ничего научно-осмысленного в памяти не всплывает. И что бы я мог знать если бы работал в среде mumps, если это не секрет конечно?
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36560108
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antares0
Скорее просил ссылок и точек приложения на тему нефилософского представления связей на уровне МД. А то читаю (слова слышу), а ничего научно-осмысленного в памяти не всплывает. И что бы я мог знать если бы работал в среде mumps, если это не секрет конечно?
Могли бы знать намного больше в области БД:) Какой же здесь секрет.
А почему Вы считаете, что что-то научно-осмысленное, даже теоретически, может всплыть в памяти??? Откуда оно может всплыть, если Вы это ранее не изучали?
И должен заметить, что я здесь не философствую:) И очень конкретно и по существу обосновываю то, что говорю о моделировании связей. Идея "раз ссылок нет, значит научно не обосновано", конечно, имеет право на существование. Так спокойнее:)
Предлагаю, все-таки, обсуждать по существу тему, если есть к ней интерес. А реклама, в любой форме, на форуме не допустима:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36560127
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред,
я понимаю те проблемы про которые вы говорите, но здесь в целом форум практиков, которые используют то, "что имеют" и зачастую далеки от теории.

Не могли бы вы дать ссылки на теоретический материал (вряд ли он в виде учебника, скорее какие-нибудь статьи), чтобы мы были более-менее на одном уровне дискусии, чтобы мы хотя бы говорили об одном и том же.

А так - вы говорите о проблемах, да проблемы есть.
Но что дальше? Какие решения вы предлагаете? если вы в течении многих лет занимаетесь этим вопросом, наверняка есть либо ваши публикации, либо публикации людей, на которые вы опираетесь. Вот эти ссылки нужны, а то получается "я знаю что-то, но вам не скажу". Не в обиду, надеюсь :-)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36560147
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antares0antares0
А можно все же несколько сыылок и keyword-ов для расширения кругозора, не работающих в обсласти mumps?
Очепятка. Читать : - для не работающих в области mumps (для таких как я т.е.)
Бред
А среди "не работающего в области mumps" ничего стоящего, тем более, пока не наблюдается.
Скорее просил ссылок и точек приложения на тему нефилософского представления связей на уровне МД. А то читаю (слова слышу), а ничего научно-осмысленного в памяти не всплывает. И что бы я мог знать если бы работал в среде mumps, если это не секрет конечно?

Видимо, в памяти может всплыть только то, о чем говорят мои "оппоненты":) И что давно известно. И печально известно:)
http://www.interface.ru/fset.asp?Url=/ca/idef1x.htm
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36560151
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Бред,
я понимаю те проблемы про которые вы говорите, но здесь в целом форум практиков, которые используют то, "что имеют" и зачастую далеки от теории.

Не могли бы вы дать ссылки на теоретический материал (вряд ли он в виде учебника, скорее какие-нибудь статьи), чтобы мы были более-менее на одном уровне дискусии, чтобы мы хотя бы говорили об одном и том же.

А так - вы говорите о проблемах, да проблемы есть.
Но что дальше? Какие решения вы предлагаете? если вы в течении многих лет занимаетесь этим вопросом, наверняка есть либо ваши публикации, либо публикации людей, на которые вы опираетесь. Вот эти ссылки нужны, а то получается "я знаю что-то, но вам не скажу". Не в обиду, надеюсь :-)

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

Например, с этой, хорошо известной Вам моделью (так что странно слышать, что я говорю что-то непонятное:))

http://www.informx.ru/new_page_3.htm

я не согласен по двум причинам (несмотря на ее широкие возможности):
1) не следует реализовывать одно и тоже двумя способами; ссылки не нужны (если говорить о логическом уровне);
2) у связей не может быть характеристик.
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36560653
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бред2) у связей не может быть характеристик
тынц
Объектно-ориентированная модель данных и ее реализация. "МИР ПК" №9, 1994 г., с. 58-60.
Д.Н. Носов, М.Г. Пайков, А.Л. Чернышев, Д.В. ЯнкинОБЪЕКТЫ И СВЯЗИ
...
Связь может иметь свои характеристики: скажем, характеристики “позиция” (т. е. позиция детали на чертеже изделия) и “количество” (количество деталей в изделии) относятся не к изделию и не к детали, а к конкретной связи между ними. Естественно, между двумя объектами разрешается установить несколько связей. Например, “оснастка” “содержит” “детали” и “оснастка” “служит для изготовления” “детали”. Или: “читатель” “читает” “книги” и “читатель” “мечтает прочитать” “книги”.
Кому верить? :) Погуглив <Чернышев Андрей Леонидович СУБД> не нашел ничего за последние 10 лет. А жаль...
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36561050
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovБред2) у связей не может быть характеристик
тынц
Объектно-ориентированная модель данных и ее реализация. "МИР ПК" №9, 1994 г., с. 58-60.
Д.Н. Носов, М.Г. Пайков, А.Л. Чернышев, Д.В. ЯнкинОБЪЕКТЫ И СВЯЗИ
...
Связь может иметь свои характеристики: скажем, характеристики “позиция” (т. е. позиция детали на чертеже изделия) и “количество” (количество деталей в изделии) относятся не к изделию и не к детали, а к конкретной связи между ними. Естественно, между двумя объектами разрешается установить несколько связей. Например, “оснастка” “содержит” “детали” и “оснастка” “служит для изготовления” “детали”. Или: “читатель” “читает” “книги” и “читатель” “мечтает прочитать” “книги”.
Кому верить? :) Погуглив <Чернышев Андрей Леонидович СУБД> не нашел ничего за последние 10 лет. А жаль...

Алексей, у связей не может быть характеристик.
Самому жаль:)
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36561603
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему же не быть у связи характеристикам? Не беря в голову, конечно, конкретные реализации.

И, конечно, спорно и вопрос терминологии, но сущность может являться связью, например:
сотрудник - контракт - организация, причем не всегда можно явно выделить эту связь как сущность.
Впрочем, можно утверждать обратное, что если есть связь, обладающая аттрибутами, то где-то в МД потерялась какая-то неописанная явно сущность.

А вообще мне кажется, что ни объектная ни реляционная модель не является удобной, и увидев когда-то каше, я подумал, что на ее основе можно создать в принципе практически субд любого типа, даже неописанную сейчас. Видимо дело как раз за теоретиками :-(
...
Рейтинг: 0 / 0
Моделирование связей между сущностями
    #36561823
Бред
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Почему же не быть у связи характеристикам? Не беря в голову, конечно, конкретные реализации.

И, конечно, спорно и вопрос терминологии, но сущность может являться связью, например:
сотрудник - контракт - организация, причем не всегда можно явно выделить эту связь как сущность.
Впрочем, можно утверждать обратное, что если есть связь, обладающая аттрибутами, то где-то в МД потерялась какая-то неописанная явно сущность.

А вообще мне кажется, что ни объектная ни реляционная модель не является удобной, и увидев когда-то каше, я подумал, что на ее основе можно создать в принципе практически субд любого типа, даже неописанную сейчас. Видимо дело как раз за теоретиками :-(

Именно так. За теоретиками:) А в IS тоже одни практики:)

Да, mumps - удобная среда для создания СУБД. Например, в ней идентификатор экземпляра естественным образом отделяется от значений других характеристик объекта (в РМД ключ, даже суррогатный, - один из [или несколько] атрибутов отношения). Поэтому, кстати, реализовывать на mumps именно РСУБД - бесперспективное занятие. Ее и не на mumps пока никому еще не удалось реализовать, о чем прямо, конкретно, и, конечно, с сожалением говорит Дейт:)

"Сущность" (объект) не может являться связью, если Вы, все-таки не против того, чтобы прислушиваться к теоретикам (в вашем примере три объекта и две связи).
У связи не может быть характеристик (атрибутов).

Другое дело, что с точки зрения стандарта MOF OMG на описание и обмен метамоделями, и объекты, и их характеристики и связи можно назвать, например, "сущностями":
М3 Метаметаметаданные : Метатипы, метаклассы, программные "сущности"
М2 Метаметаданные : Характеристика объекта, Объект, Связь
М1 Метаданные : Фамилия, ...
М0 Данные : Чернышев, ...

Но не думаю, что нужно еще и это "приплетать", хотя теоретический интерес "это" и представляет:)
...
Рейтинг: 0 / 0
60 сообщений из 60, показаны все 3 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Моделирование связей между сущностями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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