powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / недостатки иерархических баз
11 сообщений из 661, страница 27 из 27
недостатки иерархических баз
    #35481330
_мод onstat-
Ну давайте теперь поломаем копья на тему естественные vs сурагатные ключи.
А не надо ничего ломать, все просто: естественные ключи используются всегда, а суррогатные - только для эмуляция сетевой БД.
Хм? А какая разница для сетевой БД, как организован ключ (ссылка)? Ну пусть он он будет суррогатный или естественный, ведь ссылка остается ссылкой. Или я не прав?

Единственная разница в том, что для естественного ключа я сам должен указать значение, например, номер накладной. Но ведь значение ссылки (ключа) указывает во время создания соответствующей сущности, а вовсе не во время ее использования. Создали новую накладную. Задали для нее значение естественного ключа. А а далее забыли про него и работает с сущностью как будто там суррогатный ключ. Можно даже вообще не знать, какой там ключ: суррогатный или естественный. Правильно?

Например:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
// Использование суррогатного ключа
Document doc = new Document(); // Создали суррогатный ключ
myObj.docRef = doc; // Сохранили суррогатный ключ

// Использование естественного ключа
Document doc = new Document("DOC123456"); // Создали естественный ключ
myObj.docRef = doc; // Сохранили естественный ключ

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

Я уже привел свои соображения, что единственное отличие в том, что суррогатный ключ инициируется автоматически, а естественный вручную. Далее. после создания объекта мы просто не знаем (нам это не нужно для работы) является ли ссылка суррогатной или естественной, поскольку работа со ссылками это присваивание. Точно так же как в обычном программировании мы не знаем какой формат имеют ссылки и собственно не должны и не хотим знать. Но это могут быть естественные ссылки и тогда их надо инициировать вручную и, что важно, они должны сохраняться в качестве значений полей (колонок) и передаваться в стеке и т.д.
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35481741
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)Ключей может быть несколько. Из этогоследует, что для вторго случай Вашего пример ("использование естественног ключа") таки придется программерам реализовывать.
2) Если речь идеь о ключах РМД, то ключи задаются для отношений. Соответсвенно "а-ля ссылка" мы его использовать не можем, потому как ссылка подразумевает, что, по большому счету, ссылатся мы можем на любой объект. Я уж про случаи с наследованием совсем не говорю.
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35481851
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О ссылках в СБД"Какие факторы мешают использовать естественный ключ в качестве ссылки в сетевой модели?"
1. Может меняться
2. М.б. составным
3. Их м.б. несколько
4. Они м.б. не уникальны или содержать null
ну и.т.д.
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35482007
_мод О ссылках в СБД"Какие факторы мешают использовать естественный ключ в качестве ссылки в сетевой модели?"
1. Может меняться
2. М.б. составным
3. Их м.б. несколько
4. Они м.б. не уникальны или содержать null
ну и.т.д.
Все это можно легко запретить (кроме "ну и.т.д.") без большого ущерба для здоровья. Собственно пп. 1, 3 и 4 обычно никто не использует (будучи в здравом уме).

Остается п.2. Почему составной ключ это плохо для ссылки? Например, все документы в фирме могут кодироваться двумя полями: отдел и номер. Тогда при создании документа надо их инициализировать, а далее как обычно забыть про их существование:

Код: plaintext
1.
2.
Document doc = new Document("ОТК", "12345"); // Создали и инициализировали
myObj.doc = doc; // Забыли про ссылку и ее структуру (сохранили два поля в ссылке)
empObj.doc = myObj.doc; // Ссылка нигде не всплывает, но содержит два поля

В чем проблема?

Интересно, а чем ссылки в ООБД отличаются от ссылок в СБД? И вообще, чем эти две модели отличаются?
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35482418
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О ссылках в СБДВсе это можно легко запретить
А зачем создвать проблемы там где их нет.
О ссылках в СБДИнтересно, а чем ссылки в ООБД отличаются от ссылок в СБД? И вообще, чем эти две модели отличаются?
К сожалению я не знаю что такое "ООБД"
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35866100
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
у ИМД с этим типа хуже если не обращать внимание на свежевыявленные дифференцирование и интегрирование для оптимизаторов.

Баян, внимательно читаем
бородатых классиков .
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35866130
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-,

Хорошая трава была у классиков, теперь такой нет...
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35872511
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-vadiminfo
у ИМД с этим типа хуже если не обращать внимание на свежевыявленные дифференцирование и интегрирование для оптимизаторов.

Баян, внимательно читаем
бородатых классиков .
Другой баян: то ли сознание определяет бытие, то ли бытие определяет сознание, но фактом является то, что часто сознание одних определяет бытие других :(.
...
Рейтинг: 0 / 0
недостатки иерархических баз
    #35895782
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подкину дров в топку.

Пример Иерархической БД RAIMA
Мне нравилось с ней работать.

Всё есть и Клиент-Сервер (Сетевая модель поддерживается) и Файл-Сервер (иерархия поддерживается) и Транзакционность и Индексы хоть на все поля.
Кстати, базёнки получаются миллипизерными т.к. индексы для поддержки ссылок держать не надо.
...
Рейтинг: 0 / 0
11 сообщений из 661, страница 27 из 27
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / недостатки иерархических баз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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