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

Откуда:
Сообщений: 349
shuklin
ModelR
Неужели это нужно столько раз повторять?

С такой точки зрения в этом и есть ее (РМД) главная проблема, т.к. отличие идентичности от равенства имеет место быть независимо от декларации обратного в РМД.
Мммда. Объекты, даже абсолютно одинаковые, в любой базе данных должны иметь свой идентификатор. Если это именно база данных. Совсем необязательно в РБД явно придумывать и задавать идентификатор. Можно использовать генератор ключей, например.

Не уверен, что использование ссылок (адресов) вместо ключей (идентификаторов) имеет какие-либо плюсы (особенно в поисково-запросных системах). Это как с автомобилем, который я приводил в пример, кажется Ugen. Как ваша система позволяет обратиться к механизму, например винтику, по его относительному расположению относительно других механизмов? Винтик справа. Винтик слева…. Очевидно в вашем случае «справа», «слева», это некоторые ссылки, постоянные относительно заданного объекта. Ну и что? В любом случае если вы можете описать пространственное отношение словами, этого достаточно чтобы хранить такое отношение в РБД и обращаться при этом не по идентификатору. Чтобы поменять местами винтики в РБД достаточно изменить значения двух полей. Имена атрибутов, как и ваши ссылки, останутся неизменными.
30 ноя 06, 14:26    [3473284]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
мод
Guest
shuklin
отличие идентичности от равенства имеет место быть

Намекаете на то, что Иванов равен Иванов но не идентичен если это разные люди. Но для этого и используются уникальные неизменяемые ID, они гарантируют неидентичность независимо от равенства. Можете считать это усовершенствованием РМД.
30 ноя 06, 14:35    [3473362]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
"Кто ж не дает тебе выдумать порох непромокаемый?" /Козьма Прутков
Скрестить например C++ с SQL :

table* tabPointer;
Select from tabPointer ...
30 ноя 06, 14:48    [3473474]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
2 Мод
Я думаю, намек на другое. В языках программирования (С, Java ) различают равенство пойнтеров (ссылаются на разные адреса памяти, но содержащие одинаковые значения) и идентичность (ссылаются на один и тот же адрес).
30 ноя 06, 14:54    [3473542]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
мод
shuklin
отличие идентичности от равенства имеет место быть

Намекаете на то, что Иванов равен Иванов но не идентичен если это разные люди. Но для этого и используются уникальные неизменяемые ID, они гарантируют неидентичность независимо от равенства. Можете считать это усовершенствованием РМД.


Поддерживаю.
Когдато на форуме пробегала ссылка на статью
о сурагатных и естественных ключах.
Там это аспект очень подробно рассматривается.
Думаю субд любого типа должна иметь ограничение на уникальность
атрибутов, чем и есть на самом деле PK.
Тогда принятие решения о идентичности и равенстве будет переложено на
прикладной уровень, а БД должна обеспечивать инструменты
поддержки логической целостности данных, что РСУБД с успехом и делают.
30 ноя 06, 15:00    [3473588]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
!
Обьясните пожалуйста Ваше понимание
отличий между идентичностью от равенством.

Мое понимание этой разницы аналогично ее трактовке в C#. Рекомендую ознакомиться с спецификацией C# раздел 7.9.6 Reference type equality operators. Гдето у них еще были документы про это дело, но тратить время на поиск жалко.
30 ноя 06, 15:28    [3473830]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
ModelR
2 Мод
Я думаю, намек на другое. В языках программирования (С, Java ) различают равенство пойнтеров (ссылаются на разные адреса памяти, но содержащие одинаковые значения) и идентичность (ссылаются на один и тот же адрес).


Мне кажется вы слишком буквально восприяли намек.
Связи есть логические и физические.
БД должна скрывать от приклдного уровня физические всязи обьектов(адреса)

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

А вот сам принцип преобразования физических связей в логические и наоборот
(я раньше по топику назвал это таблицей переходов состояния обекта)
может стать очень интресной темой для дальнейшего обсуждения.
30 ноя 06, 15:37    [3473920]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
Все Права на использование понятия
Таблица переходов состояния обьекта
Официално передаются общественности и не подлежат
патентированию, Использование поянтия
с целью получения прибыли разрешается только со ссылкой на
первоисточник его появления, а именно на этот топик.
30 ноя 06, 16:14    [3474257]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
!
А вот сам принцип преобразования физических связей в логические и наоборот
может стать очень интресной темой для дальнейшего обсуждения.


В разработанном ядре СООБЗ имеется 2 уровня абстрагирования логических указателей от физических и 4 вида собственно указателей. Дополнительно имеются 2 вида указателей (один можно не считать), поддерживаемые .NET, и это при 3х сборщиках мусора.

Вся эта механика скрыта от пользователя. Он работает только с двумя видами указателей. Один Cerebrum.ObjectHandle (PlasmaHandle) предоставляется ядром СООБЗ и один System.Object предоставляется .NET

Преобразование указателей по двум уровням абстрагирования выполняется за один поиск в индексе, это 3 обращения к узлам индекса, что обеспечивает константное время поиска экземпляра по его Cerebrum.ObjectHandle не зависимо от колличества экземпляров в БД.
1 дек 06, 14:52    [3480013]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
!
ModelR
2 Мод
Я думаю, намек на другое. В языках программирования (С, Java ) различают равенство пойнтеров (ссылаются на разные адреса памяти, но содержащие одинаковые значения) и идентичность (ссылаются на один и тот же адрес).


Мне кажется вы слишком буквально восприяли намек.
Да вроде нет
shuklin
Мое понимание этой разницы аналогично ее трактовке в C#.
1 дек 06, 15:19    [3480270]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
Если ближе к теме, то что все же понимается под типом связи? А то как то незаметно съехали на указатели.
1 дек 06, 15:56    [3480608]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
ModelR
Если ближе к теме, то что все же понимается под типом связи? А то как то незаметно съехали на указатели.

Указатель это и есть однонаправленная связь. Если нужна типизированная - есть типизация указателей. См. первый пост о двунаправленных связях.
1 дек 06, 16:20    [3480792]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
ModelR
Member

Откуда: Нижний Новгород
Сообщений: 1798
shuklin
Указатель это и есть однонаправленная связь.
В смысле они равны или идентичны? Или "Указатель" есть значение переменной "однонаправленная связь" ? или наоборот?
1 дек 06, 16:55    [3481082]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
ModelR
shuklin
Указатель это и есть однонаправленная связь.
В смысле они равны или идентичны? Или "Указатель" есть значение переменной "однонаправленная связь" ? или наоборот?

ИМХО: В данном контексте термины "указатель" и "однонаправленная связь" я считаю синонимами. Это одна и та же концепция. Это если запрещена "арифметика указателей". Я считаю что в данном контексте она запрещена.
1 дек 06, 17:14    [3481227]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
ModelR
shuklin
Указатель это и есть однонаправленная связь.
В смысле они равны или идентичны? Или "Указатель" есть значение переменной "однонаправленная связь" ? или наоборот?


Связь не может быть значением(с точки зрения обрабатываемых БД данных)
или множеством значений.
Это принципиально другой тип.
Он должен однозначно идентефицировать связываемый обьект.
Равенство и идентичность здесь тождественны.
И говорят о том что две связи установлены на один
конкретный экземпляр обьекта.

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

Я во всяком случае понял так.

зы Если понял не правильно то поправьте.
1 дек 06, 17:22    [3481300]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
shuklin
ModelR
shuklin
Указатель это и есть однонаправленная связь.
В смысле они равны или идентичны? Или "Указатель" есть значение переменной "однонаправленная связь" ? или наоборот?

ИМХО: В данном контексте термины "указатель" и "однонаправленная связь" я считаю синонимами. Это одна и та же концепция. Это если запрещена "арифметика указателей". Я считаю что в данном контексте она запрещена.


А почему должна быть запрещена "арифметика указателей"?

Давайте стандартизуем понятия.
указатель - средство доступа к обьекту на уровне языка програмирования мотора СУБД.
Связь - средство доступа к обьекту на уровне модели(схемы) данных СУБД.

Иначе путаница в терминологии сведет на нет весь конструктивизм дискусии.

согласны?
1 дек 06, 17:33    [3481373]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
shuklin
Member

Откуда: Харьков
Сообщений: 799
!
Иначе путаница в терминологии сведет на нет весь конструктивизм дискусии.

согласны?

согласен. Предлагаю вместо указателей тогда использовать термин "ссылка (reference)" - однонаправленная связь, аналог указателя на уровне модели данных. Арифметика типа += 1 , >, < на ссылке запрещена.
1 дек 06, 18:50    [3481815]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
Ничего не понял.

shuklin

согласен. Предлагаю вместо указателей
!

указатель - средство доступа к обьекту на уровне языка програмирования мотора СУБД.

тогда использовать термин "ссылка (reference)" - однонаправленная связь
!
Связь - средство доступа к обьекту на уровне модели(схемы) данных СУБД.

, аналог указателя на уровне модели данных.


Можно другими словами сформулировать?

shuklin

Арифметика типа += 1 , >, < на ссылке запрещена.

Ну вот почалось, по ссылке в терминах языка программирования
или схемы данных?

Считаю что схему данных нельзя ограничивать таким драконовским
условием, так как если связь есть отдельным типом,
тем самым усложняется задача поиска данных этого типа по диапазону
значений.
1 дек 06, 19:36    [3481969]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
47-ой
Guest
Вот именно, ModelR, неужели это нужно столько раз повторять?
"Ключи" - это не просто "ограничения целостности" (см. п. 9 на стр. 362 и второй абзац на стр. 539 в 8-м издании Дейта), и именно вынужденная концепция. Уберите "ключи" совсем и тогда занимайтесь на здоровье "чисто математическими упражнениями с данными".
А если Вы, все-таки, используете "ключи", то негоже не понимать их назначение (как, впрочем, и "назначение" кортежей).
1 дек 06, 20:57    [3482156]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
мод
Guest
Есть сущность1
У нее есть атрибут A1 типа "ссылка на сущность2"
Тем самым автоматически устанавливается связь типа A1 между сущностями 1 и 2. направление связи: от 2 к 1 т.е. против ссылки:
сущность2 -> сущность1
Все это на уровне концептуальной модели, реализация в СУБД м.б. любой.
Такое вот МСМ
4 дек 06, 11:21    [3485987]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
okdoky
Member

Откуда:
Сообщений: 349
47-ой
Уберите "ключи" совсем и тогда занимайтесь на здоровье "чисто математическими упражнениями с данными".
Ключи, это те самые идентификаторы. Ваше замечание по смыслу выглядит примерно так
Уберите "цифры" совсем и тогда занимайтесь на здоровье "чисто математическими упражнениями с числами".
47-ой
А если Вы, все-таки, используете "ключи", то негоже не понимать их назначение (как, впрочем, и "назначение" кортежей).
Даже кортежи (или ряд их элементов), это также идентификаторы...
4 дек 06, 11:59    [3486327]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
мод
Есть сущность1
У нее есть атрибут A1 типа "ссылка на сущность2"
Тем самым автоматически устанавливается связь типа A1 между сущностями 1 и 2. направление связи: от 2 к 1 т.е. против ссылки:
сущность2 -> сущность1
Все это на уровне концептуальной модели, реализация в СУБД м.б. любой.
Такое вот МСМ


Это мы проехали на первых страницах.
Людям хочется придумать механизм упрощения хранения
и обработки связей.

Если уж придумывать велосипед, то для езды по кольцам сатурна,
а может там дешевле перемещаться на лыжах?
Может мы придумываем не совсем то что будет реално полезно?

Без конкретизации задач по хранению связей смысла
в дальнейшей дискуссии я не вижу.

ИХМО нужно сконцентрироваться на типах задач,
где это необходимо. а потом упрощать.
Например:
Одна из задач - хранение и обработка графов.
4 дек 06, 12:15    [3486522]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
Мой последний пост обращен не лично к мод,
а ко всем обсуждающим.
4 дек 06, 12:35    [3486712]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
мод
Guest
!
Это мы проехали на первых страницах.

проехали в смысле да или в смысле нет ?
!

Людям хочется придумать механизм упрощения хранения
и обработки связей.

Этим-то разные СУБД и отличаются - выбирайте какая вам больше нравится.
!

Одна из задач - хранение и обработка графов.

Решенная задача как в сетевых так и реляционных (например BOM)
4 дек 06, 12:39    [3486745]     Ответить | Цитировать Сообщить модератору
 Re: О типах связей в сетевой модели данных.  [new]
!
Guest
мод

Решенная задача как в сетевых так и реляционных (например BOM)


Так и я о том же.
4 дек 06, 12:41    [3486772]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8 9 10 .. 31   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить