Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 14   вперед  Ctrl
 Re: НРМ  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
Андрей Леонидович
Меня устроит, на данном этапе:
а) идентификация сущностей идентификаторами, которые не являются одной из характеристик сущности;
б) явное представление связей между сущностями путем "связывания идентификаторов"; раз идентификаторы не интегрируются в объект, в "один ряд с характеристиками", то и связи ТЕМ БОЛЕЕ не следует интегрировать в объекты (в "один ряд с характеристиками объектов")...

С формальной точки зрения
а)Идентитфикаторы и даже адреса - тоже характеристики. Как только мы нечто связали с сущностью, это нечто стало ее характеризовать, а пока не связали -оно не способно эту сущность идентифицировать.
б)Агрегат из идентификаторов и даже только из идентификаторов - тоже сущность.
2 авг 05, 15:54    [1756382]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Андрей Леонидович
Guest
Вы, U-gene, меня вынуждаете делать то, за что (как, впрочем, и за все остальное) меня здесь обзывают "нехорошими словами" - "копипастить"
(даже Вы периодически скатываетесь на "иронию", когда чего-то не понимаете)...

Итак, не

"Зря Вы надеетесь, что связь должна быть ВЫРАЖЕНА В СИСТЕМЕ ТИПОВ."

а

"Зря Вы надеетесь, что связь должна быть ВЫРАЖЕНА В СИСТЕМЕ ТИПОВ. Мне "заморачиваться" не нужно. И объекты, и связи между ними существуют независимо от "систем типов". И я "склоняюсь" к отражению этой, по моему очень простой мысли (при чем здесь "дураки вы все" ?), в базе данных..."

А на Ваше "нововведение" я, конечно, обратил внимание. Но ! Чем "глобально определенная переменная типа-отношения varA2B, возможная [???-А.Л.] РОЛЬ которой будет заключаться в явном [???-А.Л.] представлении связи между объектами класса A и класса B" лучше класса A2B ???
И в том, и в другом случае система (НРМ в том числе) НЕ ЗНАЕТ, что это связь...
Кодд (в начале "реляционного пути") много работал в этом направлении (представления связей между сущностями каким-то специальным типом отношения)... Может у Вас что-нибудь получится...
2 авг 05, 22:41    [1757810]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Андрей Леонидович
Guest
Именно с формальной точки зрения я Вам и возражаю, ModelR:
1) идентификаторы - это не характеристики объектов;
2) "агрегат из идентификаторов" - не сущность.

Кстати, вспомнил где я, по просьбе Мимо пробегал, приводил хорошо известные "формулы" для ОМД: раздел "Проектирование БД", тема "вопрос по парадигмам БД" (где-то в апреле или мае этого года)...
2 авг 05, 22:47    [1757818]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Очевидно в Ващей голове они и существуют независимо от системы типов. Но когда мы говорим о системе хранения данных. без системы типов не обойтись. Понимете, данные - это и есть значения. Для хранения значений в системе существуют переменные. И то и другое относится к некторому типу (в полиморфных системах - к нескольким типам). Интересно,кк Вы описшете перменную содержащую данные о связи(связях)? Или может Вы собираетесть в своей системе, реализующей ОМД, и без переменных обойтись? Или как-то еще, да так, что мы все равно не поймем, а Вы, дабы не вводить нас в комплексы, озвучивать не будете?

Вы же сами говорите, что Кодд , пытался "представить связь между сущностями каким то специальным типом отношения" и советуете мне занятся тем же! Так что, неопределённый Вы наш, все же определитесь раз и навсегда(хотя бы для себя) - нужно заниматься типами, или не нужно?

Конечно Вам "заморачиваться типами" не нужно. Легче сидеть и пускать мыльные пузыри квазигениальных мыслей, которые лопаются при малейшем касании. А Вам то что? Лонул - Вы новый надуете. Например...
Именно с формальной точки зрения я Вам и возражаю, ModelR:
1) идентификаторы - это не характеристики объектов;
2) "агрегат из идентификаторов" - не сущность.
И?... сколько раз Вы этот псевдо"формальный" пузырь опять надуете? Сколько еще раз Вы пукнете в мутную мыльную воду?

Очевидно Ваши "формулы" такие же "псевдо", раз Вы стесняетесь о них вспомнить.... Пукнули, надули, и сами не помните где и о чем.

Чем "глобально определенная переменная типа-отношения varA2B, возможная [???-А.Л.] РОЛЬ которой будет заключаться в явном [???-А.Л.] представлении связи между объектами класса A и класса B" лучше класса A2B ???

А где Вы видели класс А2В? Опишите этот класс и я скажу Вам, чем такая переменная лучше....
2 авг 05, 23:30    [1757869]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
ChA
Member

Откуда: Москва
Сообщений: 11376
U-gene
Сударь, умоляю, не хамите, не переходите на личности, ей-Богу, не украшает, лучше не отвечайте...

P.S. Надеялся, что хоть здесь останутся в рамках, тема-то вполне достойная...
2 авг 05, 23:49    [1757893]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Андрей Леонидович
Guest
В системе, РЕАЛИЗУЮЩЕЙ ОМД, без "переменных" не обойтись. А в ОМД - обойтись. Совершенно не имеет значения какой ТИП Вы ПРИДУМАЕТЕ для ИДЕНТИФИКАТОРОВ при реализации ОМД. Суть (если Вы ее поняли) от этого не изменится.
Я давно определился. Вы вынуждены заниматься типами, а для меня - это вторично. Я уже "докладывал" о своем отношении к "пользовательским типам", и даже рассказывал про реализацию типа "габаритные размеры" a*b*c - где a,b,c - ... и т.д.

Поэтому успокойтесь, посмотрите "на формулы" раз "на словах" что-то не понятно, и продолжим...

Итак, не

"Зря Вы надеетесь, что связь должна быть ВЫРАЖЕНА В СИСТЕМЕ ТИПОВ."

а

"Зря Вы надеетесь, что связь должна быть ВЫРАЖЕНА В СИСТЕМЕ ТИПОВ. Мне "заморачиваться" не нужно. И объекты, и связи между ними существуют независимо от "систем типов". И я "склоняюсь" к отражению этой, по моему очень простой мысли (при чем здесь "дураки вы все" ?), в базе данных..."

А на Ваше "нововведение" я, конечно, обратил внимание. Но ! Чем "глобально определенная переменная типа-отношения varA2B, возможная [???-А.Л.] РОЛЬ которой будет заключаться в явном [???-А.Л.] представлении связи между объектами класса A и класса B" лучше класса A2B ???
И в том, и в другом случае система (НРМ в том числе) НЕ ЗНАЕТ, что это связь...
Кодд (в начале "реляционного пути") много работал в этом направлении (представления связей между сущностями каким-то специальным типом отношения)... Может у Вас что-нибудь получится...

P.S. Неужели не поняли про класс A2B, и не можете сказать чем он хуже ?
3 авг 05, 00:57    [1757930]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
To U-gene

Я тут начал читать Вашу работу. Правильно ли я понял, что основной её пафос заключён в том, что в ответ на ворос "Чем является объектный класс - доменом или отношением?" Вы воскликнули "И тем и другим!"? И пытаетесь найти подход к решению этой дилеммы?

Я просто проверяю свои ощущения. Пока без критики.
3 авг 05, 08:49    [1758109]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
Всё же рискну ещё раз вступить.
Андрей Леонидович
1) идентификаторы - это не характеристики объектов;
2) "агрегат из идентификаторов" - не сущность.
Объясните мне, почему это так важно? Ну вот не понимаю я, почему это столь необходимо, чтобы идентификатор не являлся характеристикой объекта? Ну почему? Почему Вы отказываете идентификатору в прерогативе быть атрибутом, характеристикой объекта? Что это даёт, какие преимущества?
3 авг 05, 08:54    [1758117]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
2 Павел Воронцов

Нет. Как раз отношением класс не является. ИМХО Вы перечислили те же два подхода к решению, какими исходно ограничивается Дейт в "Третьем Манифесте". Один подход правильный (класс = домен), другой неправильный (класс = отношение). Тут Вы меня не ущучите :). То что я предлагаю, это не то и не другое. Вообще. Так что Ваши ощущения не совсем верны.
3 авг 05, 09:55    [1758267]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
U-gene
2 Павел Воронцов

Нет. Как раз отношением класс не является. ИМХО Вы перечислили те же два подхода к решению, какими исходно ограничивается Дейт в "Третьем Манифесте". Один подход правильный (класс = домен), другой неправильный (класс = отношение). Тут Вы меня не ущучите :). То что я предлагаю, это не то и не другое. Вообще. Так что Ваши ощущения не совсем верны.
Ок, Вас понял, пойду медитировать над текстом дальше.
3 авг 05, 11:15    [1758678]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
2 ChA Я не, то что бы хамлю. Это просто иной способ выбить из ув.А.Л. что-то, что отличалось бы от его "я формально заявляю, что (1) очевидно что (2) широко известно что (3) я еще раз это повторяю (4) я об этом неоднократно писал (5) как жаль что Вы это не понимаете (6) см. (1) (2) (3) (4) (5)" и так много раз.

2 ув.А.Л.
В системе, РЕАЛИЗУЮЩЕЙ ОМД, без "переменных" не обойтись. А в ОМД - обойтись. Совершенно не имеет значения какой ТИП Вы ПРИДУМАЕТЕ для ИДЕНТИФИКАТОРОВ при реализации ОМД. Суть (если Вы ее поняли) от этого не изменится.
Я давно определился. Вы вынуждены заниматься типами, а для меня - это вторично. Я уже "докладывал" о своем отношении к "пользовательским типам", и даже рассказывал про реализацию типа "габаритные размеры" a*b*c - где a,b,c - ... и т.д.

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

Я давно определился. Вы вынуждены заниматься типами, а для меня - это вторично. Я уже "докладывал" о своем отношении к "пользовательским типам", и даже рассказывал про реализацию типа "габаритные размеры" a*b*c - где a,b,c - ... и т.д.
А для меня вторично то, чем Вы занимаетесь. Точнее Вы про это так и не удосужились внятно рассказать(опус с "объект vs субъект", я в рассчет не беру). ИМХО Вы занимаетесь висящим в воздухе описанием предметной области и говорите, что бы было бы неплохо что бы система это Ваше описание выразила. Но эта деятельность непосредственно к системам хранения данных так или иначе оперирующим значениями, переменными и типами, имеет мало отношения (Это как творчество Жюля Верна соотгносится с современными технологиями). И опять же! Вы можете описать хоть что то? Я уж не говорю про систему типов (хотя почему бы, не существовать типу, который бы обзывался как связь?), или про операции! Но хоть какие нибудь приблизительные команды этой Вашей мифической ОМД системы? Как туда данные заносить, как доставать (или оно само все будет работать)? (у Жюля Верна с этим посильнее было) А иначе все Ваши мысли по поводу - просто фантазии и "жжжжжж".

Опять же - если Вы занимаетесь концептуальными моделями, непонятно, какого фига Вы докопались к таковой не являющейся РМД, зачем Вы сравниваете ее с ващей ОМД?

Поэтому успокойтесь, посмотрите "на формулы"
...Иных уж нет и те далече... Так где же они - эти формулы?
3 авг 05, 11:22    [1758729]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
serg99
Member

Откуда:
Сообщений: 422
Павел Воронцов
Всё же рискну ещё раз вступить.
Андрей Леонидович
1) идентификаторы - это не характеристики объектов;
2) "агрегат из идентификаторов" - не сущность.
Объясните мне, почему это так важно? Ну вот не понимаю я, почему это столь необходимо, чтобы идентификатор не являлся характеристикой объекта? Ну почему? Почему Вы отказываете идентификатору в прерогативе быть атрибутом, характеристикой объекта? Что это даёт, какие преимущества?

Возможно АЛ опять говорит об объектах реального мира. В реальных объектах действительно нет никаких характеристик-идентификаторов. Идентификаторы появляются на этапе реализации СУБД, где хранятся описания объектов.
3 авг 05, 14:38    [1759887]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2400
Блог
serg99
Возможно АЛ опять говорит об объектах реального мира. В реальных объектах действительно нет никаких характеристик-идентификаторов. Идентификаторы появляются на этапе реализации СУБД, где хранятся описания объектов.
Так, хорошо... И что из этого следует? Их там действительно нету, но вот чтобы как-то в этом обилии ориентироваться, люди придумали имена, клички, инвентарные и каталожные номера, штрих-коды и прочая и прочя и прочая. И с радостью этими идентификаторами пользуются.
3 авг 05, 15:02    [1760044]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
serg99
Member

Откуда:
Сообщений: 422
Павел Воронцов
serg99
Возможно АЛ опять говорит об объектах реального мира. В реальных объектах действительно нет никаких характеристик-идентификаторов. Идентификаторы появляются на этапе реализации СУБД, где хранятся описания объектов.
Так, хорошо... И что из этого следует? Их там действительно нету, но вот чтобы как-то в этом обилии ориентироваться, люди придумали имена, клички, инвентарные и каталожные номера, штрих-коды и прочая и прочя и прочая. И с радостью этими идентификаторами пользуются.


Я просто отметил, что часто люди смешивают объекты реального мира с описаниями объектов в БД (как впрочем ООП и объектный подход к хранению данных). Что хотел сказать автор высказывания лучше спросить у самого автора. В общем то АЛ в разных топиках высказывал несколько вполне здравых мыслей, просто похоже эти мысли у него не сложились в полную систему, а самое главное что он не желает свои мысли сколько нибудь внятно изложить. Ну а форма в какой он ведет полемику просто обескураживает.
3 авг 05, 16:05    [1760472]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
Вообще то идентификаторы - это такая скользкая тема....Однако я ,удучи тут, рискну на нее немножко ступить. Взять например большую библиотеку. У нее унутри есть каталожные номера, полки, шкафы. Однако читатель, который снаружи, всего этого не знает. Он приходит и говорит "Дайте мне Горе от Ума". Библиотекарь находит каталожный номер и по нему определяет где искать книгу. Каталожный номер (ID) есть , однако он находиться внутри библиотеки (системы). Читателю (пользователю программисту) про этот номер (ID) знать не нужно.

С другой стороны OID можно воспринимать ИМХО как выраженное в системе такое свойство любого объекта( не очень осознаваемое!) как сам факт его существования, а так же тот факт, что, существуя, он как то отличается от любых других объектов. Но это настолько абстракная абстракция, что ее никакими явно задаваемыми значениями не опишешь. И, что самое важное, этого и не надо делать. Главное, что бы система как-то(!) отражала тот факт существования объектов и их различния. Для этого она может использовать OID..... и снова получается, что OID дело системы. Пользователю им заморачиваться не нужно.

Люди конечно же придумали "имена, клички, инвентарные и каталожные номера, штрих-коды и прочая и прочая и прочая". Но вот требуется мне создать модель мешка с яблоками, причем каждое яблоко надо замоделировать по отдельности. Никаких кличек, номеров и штрих-кодов у этих яблок нет (есть разве что координаты в пространсве, но я же ими пользоваться не буду?). Яблоки могут иметь одинаковые цвет вес и форму. Но система как то эти значения должна отличать? Ведь какая то информация, отражающая факт существования каждого яблока в отдельности, в информационной системе должна присутсвовать? Но это дело системы и эта информация(идентификатор) не есть характеристика объекта предметной области. Это системное значение, которое система ставит в соответствие значению, описывающее состояние реально существующего объекта. Это может быть, например, адрес переменной, это может быть что-то еще и как-то еще(например, в НМР OID ассоциируется). И это не есть понятие, который нужно применять в концептуальном моделировании, поскольку смысл OID целиком и полностью выражается фразой "существует объект".

Именно поэтому меня вопрос ув.А.Л. опять повергает в пучину тягостных раздумий :). Ежели для него типы а, следовательно, значения и переменные вторичны, если он ярый концептуалист, то зачем он слово "сущность"(т..е то, что существует) связывает со словом "идентификатор"? Его же, как концептуалиста, должно устроить "на данном этапе:
а) сущности;
б) явное представление связей между сущностями"
и все!.... Хотя, я не удивлюсь, если ув.А.Л к сущностям и идентификаторам еще и индексы потребует...
3 авг 05, 17:24    [1761127]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
ChA
Member

Откуда: Москва
Сообщений: 11376
U-gene
Но система как то эти значения должна отличать?
Если объекты неразличимы, то никакие суррогатные идентификаторы не спасут ситуации, так как на уровне реальности Вы их все равно различить не можете и, следовательно, оперировать ими. Постановка кажется некорректной. В лучшем случае, пользоватся пространственными координатами :) В противном случае, сам по себе идентификатор не придает индивидуальности объекту, так как нельзя узнать какому объекту соотвествует конкретный идентификатор и наоборот. Впрочем, это очевидно, и не заслуживает особого внимания.

P.S. Это как в термодинамике, отдельные молекулы не нумеруются.
3 авг 05, 17:55    [1761320]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Андрей Леонидович
Guest
Нет, Павел Воронцов, не "с радостью". И не "скользкая тема" - идентификаторы, U-gene, а вполне нормальная. И я подробно об этом говорил. Одна только вечная морока с естественными и суррогатными ключами чего стоит. А идентификаторы просто и надежно эту мороку исключают. А так же мороку с "функциональными зависимостями" и "теорией нормализации". Все становится (и было до РМД) просто, надежно и эффективно. Потому что, заодно, получаем и семантику, и навигацию... Не могу поверить, честное слово, что Вы чего-то не поняли...
...Да, раз десять уже повторял, что индексы в ОСУБД - полноценная часть данных, к ним есть доступ в терминах модели данных; приводил банальный пример (с продажей железнодорожных билетов)... А Вы, U-gene, вдруг, говорите, "не удивлюсь, если" ?...
3 авг 05, 23:19    [1761881]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Андрей Леонидович
Guest
Нет, U-gene, так дело не пойдет. Не хотите отвечать на вопрос, не отвечайте, но зачем "воду мутить" ?
Я же четко выразил свою мысль (к тому же давно реализованную): даже "собственные идентификаторы" не следует смешивать с характеристиками экземпляра, и, тем более, идентификаторы экземпляров других объектов не следует смешивать с характеристиками экземпляра...
Вы это, вроде, поняли, и предложили некий вариант будто бы "явного представления связей". Невольно возник вопрос: чем "глобально определенная переменная типа-отношения varA2B, возможная [???-А.Л.] РОЛЬ которой будет заключаться в явном [???-А.Л.] представлении связи между объектами класса A и класса B" лучше класса A2B ???
И в том, и в другом случае система (НРМ в том числе) НЕ ЗНАЕТ, что это связь !
Кроме того, я напомнил, что Кодд (в начале "реляционного пути") много работал в этом направлении (представления связей между сущностями каким-то специальным типом отношения). Но ничего в этом плане не получилось (с алгеброй, видимо, "не состыковалось"). Может у Вас что-нибудь получится...
3 авг 05, 23:28    [1761891]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
serg99
Member

Откуда:
Сообщений: 422
ChA
Если объекты неразличимы, то никакие суррогатные идентификаторы не спасут ситуации, так как на уровне реальности Вы их все равно различить не можете и, следовательно, оперировать ими. Постановка кажется некорректной. В лучшем случае, пользоватся пространственными координатами :) В противном случае, сам по себе идентификатор не придает индивидуальности объекту, так как нельзя узнать какому объекту соотвествует конкретный идентификатор и наоборот. Впрочем, это очевидно, и не заслуживает особого внимания.

Здесь мы просто переходим на уровень концептуальной модели предметной области. Если для решения практической задачи не важны различия между реальными объектами, то и не надо в модели предметной области заводить их как объекты. Например в вышеприведенном случае тогда не нужно вообще вводить объекты - "яблоки". Остаются объекты - "мешки" с атрибутом "количество яблок в мешке". То есть в реальности объекты "яблоки" существуют, но в модели предметной области - нет.

U-gene правильно отметил что OID это не характеристика реального объекта, а характеристика ОПИСАНИЯ объекта хранимого в БД, которая вводится на уровне СУБД для облегчения манипуляции данными.
4 авг 05, 00:55    [1761943]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
ChA
Member

Откуда: Москва
Сообщений: 11376
serg99
Если для решения практической задачи не важны различия между реальными объектами, то и не надо в модели предметной области заводить их как объекты. Например в вышеприведенном случае тогда не нужно вообще вводить объекты - "яблоки". Остаются объекты - "мешки" с атрибутом "количество яблок в мешке". То есть в реальности объекты "яблоки" существуют, но в модели предметной области - нет.
Собственно, отчасти, именно это и подразумевалось, но, кроме того, хотелось подчеркнуть, что если есть необходимость различать объекты, то помимо идентификатора обязательно должен присутствовать некий естественный ключ, позволяющий однозначно соотнести объекты модели с объектами реального мира. Иными словами, не может быть построена модель, оперирующая объектами, пока не будет способа их различить каким-либо иным способом, кроме суррогатного OID, например, те же пространственные координаты...

P.S. Собственно, не оспариваю подход U-gene, просто момент показался любопытным...
4 авг 05, 04:04    [1761990]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
Андрей Леонидович
Guest
И, еще раз подчеркну - нужно осознать фундаментальную роль идентификации в БД. Вот и Ваш пример с яблоками, U-gene. Про идентификацию экземпляров Вы очень хорошо рассуждали. Но что значит "яблоко" ? А если "apple", то что ?
НЕТ ИДЕНТИФИКАЦИИ - НЕТ СЕМАНТИКИ.
Вспомните наш давний "спор", и мои разъяснения про АБСТРАКТНЫЕ объекты (объекты в ОМД) и КОНКРЕТНЫЕ объекты (экземпляры в ОМД). Так вот у объектов, а не только у экземпляров, тоже есть идентификаторы в ОМД, наряду с именами (семантикой). Как, впрочем, и у связей (наряду с семантикой в обоих направлениях), и у характеристик объектов и связей (наряду с именами)... А в НРМ ничего этого нет...

P.S. Напоминаю, что в ОМД, конечно же, есть уникальные характеристики. И используются они на практике очень редко, в хорошо известных "мировых случаях", типа "идентификации личности" или "организации" для "связи с внешним миром". Я намеренно не называю их "ключами", чтобы не возникало ассоциаций, например, с "внешними ключами" - ведь уникальные характеристики не используются для связей между экземплярами...
4 авг 05, 08:19    [1762096]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
Во-первых, вызывает сомнение термин "реальный мир" в противопоставлении с БД. Я бы лучше сказал внешний мир, ибо по степени реальности что база данных, что бумажная накладная, что стандарт или ТУ на продукцию ничем не отличаются. К тому же все бОльшую часть внешнего мира составляю другие базы данных.
Во-вторых, идентификаторы могут использоваться во внешнем мире, и не могут не использоваться в БД. В некоторых случаях, если повезет, идентификаторы внешнего мира и БД могут быть согласованы (бизнес-ключи БД): либо мы полагаемся на созданные во внешнем мире идентификаторы (естественные ключи БД), либо некто во внешнем мире считает нашу систему идентификации достаточно надежной (искусственные ключи БД).
В большинстве же слуаев мы создаем в БД чисто внутреннюю систему идентификации (суррогатные ключи).
РМД рассматривает все, в том числе суррогатные, идентификаторы как равноправные атриубты таблиц, как часть соответствующего предиката, типа
"Существует человек с ИД..., фамилией ....", тем самым позволяя оперировать ими обычным SQL. Вряд ли нужно отказываться от этого преимущества. Для характеризации специфического поведения идентификаторов имеются понятия ключи и внешние ключи.
Что касается связей между экземплярами, о которой РМД ничего не знает ибо таблица, представлюящая связь, действительно ничем не отличается от любой другой таблицы. Это вопрос может быть легко решен с помощью понятия домена: все атрибуты различных таблиц, определенные на домене "ИД человека" несомненно представляют некоторую связь с таблицей, где соответсвующий атрибут является ключом, даже если внешний ключ не объявлен.
4 авг 05, 10:54    [1762486]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
автор
помимо идентификатора обязательно должен присутствовать некий естественный ключ, позволяющий однозначно соотнести объекты модели с объектами реального мира.

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

Теперь, предположим у меня есть N параметров х (вес, плотность, размер, цвет, объем, имя, фамилия, год рождения, высота над уровнем моря, долгота широта и т.д. и т.п. и много еще чего) и некая универсальная формула F(xi), такая, что возвращаемое ею значение (назовем его kOID -типа концептуальный OID) позволет однозначно отличить один объект от другого . Само это значение не важно - это может быть целое число, строка, UID или что-то еще. Важно, что мы можем эти значения сравнить и получить результат "равно" или "не равно". Это значение я храню в системе, а остальные я могу и не хранить. Это значение - "суррогат"? Ведь оно скорее всего будет бессмысленным само по себе? Но, с другой стороны, оно не суррогат, потому что, подобно плотности, вычисляется на основании множества явно несуррогатных параметров.

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

ИМХО ОО-системы позволяют идти наоборот. Мы не заморачиваемся всеми этими параметрами для определния kOID. На самом делемы их уже оценили(возможно неявно и неосознанно) и пришли к выводу, что имеем дело с разными объектами предметной области. И этот факт - "объект другой, разный, новый" - мы сообщаем системе, а она генерит некое уникальное значение sOID (от слова системый). В конце концов это же объектно-ориентированная система - т.е. она под эти заморочки специально заточена. В том числе, она позволяет нам не заморачиваться kOID явно - надо просто указать ей (для ее же целей!) сделать sOID(которым мы явно пользоваться не будем). Вопрос - чем kOID отличается от sOID? Является ли sOID прямо уж таким суррогатным?

В общем в случае с OID ИМХО надо различать суррогатность "смысла" ключа и сурргатность "значений" ключа. Если суррогатные значения позволяют передать естественный смысл - почему бы ими и не воспользоваться?
4 авг 05, 11:01    [1762520]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
U-gene
Member

Откуда: Москва. Россия
Сообщений: 1576
2 Андрей Леонидович
Не хотите отвечать на вопрос, не отвечайте, но зачем "воду мутить" ?....
....
...Невольно возник вопрос: чем "глобально определенная переменная типа-отношения varA2B, возможная [???-А.Л.] РОЛЬ которой будет заключаться в явном [???-А.Л.] представлении связи между объектами класса A и класса B" лучше класса A2B ???
Я тоже буду копипастить
U-gene
А где Вы видели класс А2В? Опишите этот класс и я скажу Вам, чем такая переменная лучше....
...Я повторяю для слепоглухонемых. Я не знаю о каком классе Вы говорите. Здесь была описана переменная с таким именем. Её структуру я знаю. Если Вы хотите что-то узнать об одноименном классе, опишите пожалуста структуру объектов этого класса, потому что это структура может быть совершенно произвольной. Только после и я Вам скажу, чем переменная, лучше чем класс.

И в том, и в другом случае система (НРМ в том числе) НЕ ЗНАЕТ, что это связь
Что значит "система будет знать"? Про типы вы говорить не хотите, считая себя выше этого. Однако "система должна знать". В нормальных системах "система знает" когда мы указываем ей тип. В вашей ОМД системе, где типов нет, а есть одно сплошное "жжжжжж", я не знаю, как она что-то , бедная, будет знать. Наверное Вы ей на ушко нашепчете.

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

Обращает на себя внимангие следующий вопрос
Андрей Леонидович
...Но что значит "яблоко" ?...
...это сильный вопрос!!! Видимо про это тоже "система знает?"

В общем ув.А.Л. ЕСли "система должна знать", то ОМД уже как бы и не концептуальная модель. Соответственно - давайте ка, гоните спецификацию вашей ОМД. Хоть какую. Даю заготовки "в ОМД есть типы для описания сущностей....... типы для описания связей между сущностями..... для для них определный операции....." или "в ОМД нет никаких типов и для них нет никаких операций а есть одно сплошное жжжжжжжжжжжжжж"...... А без спецификации я Вам больше не отвечаю и считаю Ваши попытки сравнить НРМ и ОМД маразматическим флудом.....
4 авг 05, 12:02    [1762954]     Ответить | Цитировать Сообщить модератору
 Re: НРМ  [new]
serg99
Member

Откуда:
Сообщений: 422
ChA
Собственно, отчасти, именно это и подразумевалось, но, кроме того, хотелось подчеркнуть, что если есть необходимость различать объекты, то помимо идентификатора обязательно должен присутствовать некий естественный ключ, позволяющий однозначно соотнести объекты модели с объектами реального мира.

Мне кажется это не нужно. Пусть у меня в предметной области есть зеленые яблоки и красные (другие свойства предположим нас не интересуют). Кладя яблоки в мешок я регистрирую каждое яблоко как объект в БД. Пусть в конкретном мешке у меня 2 красных и 4 зеленых яблока. Благодаря OID система отличает одно красное яблоко от другого (точнее различает описания яблок в БД), но при этом совершенно не важно какому конкретному реальному красному яблоку соответствует конкретное описание красного яблока в БД. Отсутствие возможности поставить в однозначное соответствие реальное яблоко и его "объект" в БД тем не менее не мешает решать практические задачи (скажем посчитать сколько у меня красных яблок в 10 мешках).
4 авг 05, 13:17    [1763409]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 14   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить