powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Удобная система связей и уникальность объектов в Распределенной БД
38 сообщений из 38, показаны все 2 страниц
Удобная система связей и уникальность объектов в Распределенной БД
    #37407140
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Занимаюсь помаленьку проектированием БД, необходимо организовать удобную систему связей объектов бд, а также их уникальность. БД MySQL, производительность важна.

Возникли вопросы:

1. Как лучше организовать систему ссылок (база будет распределенной, необходимо поддерживать уникальность объектов), думаю сделать отдельную таблицу с гуидами (обеспечат уникальность по всей ИС) во всех ключах указывать ID гуида. Ну а при обмене данными работать с гуидами. Но этот метод мне кажется будет не очень удобным, да и ресурсы пострадают (связей будет много, и все в 1 таблице).

2. Как лучше поступить в случае, когда необходимо организовать возможность указывать в поле одной таблицы, ключи на записи разных таблиц:

табл 1 (поле 1 содержит ключ на таблицы 2 и 3)
ИД Поле1
1 2_4
2 2_5
3 3_6

табл 2
ИД имя
4 Вася
5 Петя

табл 3
ИД имя
6 Маня


Думаю это можно решить используя дополнительную таблицу (с гуидом как в п1 описано).
Запросы будут выглядеть примерно так: ВЫБРАТЬ т1.ИД, вз.имя ИЗ табл1 ЛЕВОЕ СОЕД (таблсгуидом левое соединение (Табл2 объединить Табл3 )) КАК вз ПО Табл1.Поле1=вз.ИД

Результат :
ИД Имена,Прицепленные из двух таблиц
1 Вася
2 Петя
3 Маня

Такой запрос тоже не очень мне нравится.

Поделитесь опытом кто над такими вопросами уже озадачивался.)

Спасибо!
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407218
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэкон,

честно говоря абсолютно не понял, что мешает использовать в таблицах вместо ключа непосредственно гуид. Зачем нужна отдельная таблица_с_гуидами?
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407295
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в принципе ничего не мешает, но гуид строковый, места занимает поболее чем число, если все ссылки буду так указывать накладно получится
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407304
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если все гуиды вынести в отдельную таблицу и связи между объектами делать через нее, получиться экономия места, но скорость выборки упадет. к томуже таким методом можно обеспечить уникальность в пределах всей ИС
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407474
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэконв принципе ничего не мешает, но гуид строковый, места занимает поболее чем число, если все ссылки буду так указывать накладно получится
Во-первых - никакой он не строковый, а вполне себе бинарный. Ну и во-вторых- сделайте в объекте 2 поля - int и GUID. Связи внутри базы стройте по интам, а для синхронизации баз используйте гуид. А уникальность гуидов и так практически гарантирована.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407514
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а гуид в поле с каким типом хранить? а так идея ясна.

Как быть с вопросом №2?. Не могу додумать как такие связки делать, фактически вместо 1 левого соединения надо организовать 2, причем в 1 поле. Можно с помощью "объединить" а можно левым вытащить 2 поля из разных таблиц и потом рассчитать третье, в котором будут данные из обоих таблиц, но это вообще печальный вариант.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407582
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэкона гуид в поле с каким типом хранить? а так идея ясна.
В некоторых СУБД есть специальный тип, а так - binary(16).
ЖэконКак быть с вопросом №2?. Не могу додумать как такие связки делать, фактически вместо 1 левого соединения надо организовать 2, причем в 1 поле. Можно с помощью "объединить" а можно левым вытащить 2 поля из разных таблиц и потом рассчитать третье, в котором будут данные из обоих таблиц, но это вообще печальный вариант.

У вас задача какая? Приведите постановку задачи, а не ваше представление о решении.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407667
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача примерна такова: реализовать в проектируемой БД возможность, в реквизитах объектов указывать ИД не из конкретной таблицы, а из произвольной. В примере выше ИД может указывать на табл2 или табл3.

Подобная фишка есть в 1с.

Вот как то так
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407682
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэкон2. Как лучше поступить в случае, когда необходимо организовать возможность указывать в поле одной таблицы, ключи на записи разных таблиц:

табл 1 (поле 1 содержит ключ на таблицы 2 и 3)
ИД Поле1
1 2_4
2 2_5
3 3_6

табл 2
ИД имя
4 Вася
5 Петя

табл 3
ИД имя
6 Маня

Думаю это можно решить используя дополнительную таблицу (с гуидом как в п1 описано).
Запросы будут выглядеть примерно так: ВЫБРАТЬ т1.ИД, вз.имя ИЗ табл1 ЛЕВОЕ СОЕД (таблсгуидом левое соединение (Табл2 объединить Табл3 )) КАК вз ПО Табл1.Поле1=вз.ИД

Результат :
ИД Имена,Прицепленные из двух таблиц
1 Вася
2 Петя
3 Маня


Ваш пример не выдерживает критики - вы распихали однообразные данные по раличным таблицам и потом хотите динамически менять таблицу подставновки FK.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407692
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖэконЗадача примерна такова: реализовать в проектируемой БД возможность, в реквизитах объектов указывать ИД не из конкретной таблицы, а из произвольной. В примере выше ИД может указывать на табл2 или табл3.

Подобная фишка есть в 1с.

Вот как то так
Смысл в этом какой? Ваши разные таблицы - это подвиды одной сущности? Или так, по приколу?
PS В 1с много че есть, но в основном всякая хрень от безграмотности и последующей безысходности.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407752
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
П-Л :
Согласен пример не удачный, он лишь показывает что есть и что надо получить.


iljy :
Сущности разные, но имеют что то общее. В 1с это Наименование у справочников

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

"Такую технику" и динамический SQL вообще, генерируемый с клиента, до смерти боятся дба и чистые эскуэльщики. Очень многое при этом отходит под контроль клиента. Если решение о таких нечетких, "слабых" связях взвешено и оправдано, кто запретит его вам применить ?

"Универсальный справочник" считаю злом. ЕАВешные подходы применяю только в интерфесах - для "однообразного" редактирования разных данных, сидящих строго по своим таблицам.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407785
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэконiljy :
Сущности разные, но имеют что то общее. В 1с это Наименование у справочников

Меня в общем то интересует организация такой техники, а именно не жесткой завязкой полей содержащих ключи на таблицы с данными, а динамической, позволяющей указывать разные объекты
Ради бога, вот вам сходу 2 варианта:
1. Наследование таблиц (классический)
Есть базовая таблица, содержащая ключевую информацию (ид, гуид, вид сущности) и общие для всех сущностей поля. На нее (по ид) ссылаются внешние ключи. Плюс для каждого вида сущности создается отдельная таблица, содержащая ид из основной + информацию, специфическую для конкретного вида.
2. Указание вида сущности непосредственно в ссылающейся таблице.
Применим, когда таких таблиц и типов сущностей очень немного (1-2-3), а от сущностей-потомков растет большая иерархия и лень городить триггеры на корректное удаление-изменение. В этом случае в ссылающейся таблице делается 2 поля данных (тип сущности, ид сущности), на которых создается несколько вычисляемых полей, которые и являются ВК на конкретные таблицы сущностей. При этом не NULL из них всегда только одно.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407873
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дык это от безграмотности моей) на форуме новичок ))

А по сути то мне надо удобство для себя организовать, а ДБА и прочие пока что в сторонке. Думаю, иной раз лучше что то эдакое сделать, чтобы второй раз легче. Основная задача - поиметь хорошую динамику базы, но и производительность не забывать.

Взвесить и определить какие связи лучше и как их организовать я пока не в состоянии, т.к. нет большого опыта. Поэтому и обратился к Вам, умудренным спеца.

iljy : что то вроде первого варианта я и хочу реализовать, поэтому то и задался вопросом, "а как левое соединение делать в БД, где ссылки не на конкретную таблицу идут?".

Пока что вариант с объединением только есть у меня
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407896
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэконiljy : что то вроде первого варианта я и хочу реализовать, поэтому то и задался вопросом, "а как левое соединение делать в БД, где ссылки не на конкретную таблицу идут?".
Если не использовать ГУИД или какие-то соглашения о диапазонах автосчетчиков во внешних таблицах, то придется хранить не только ссылку на ID внешней таблицы, но и какой-то код, на какую таблицу ссылается данный ID. Тогда левый джоин со всеми внешними таблицами:

Код: plaintext
1.
2.
3.
4.
SELECT ...
FROM tblMain
LEFT JOIN dic1 ON tblMain.FK = dic1.PK AND tblMain.код = <конкретное значение  1 > 
LEFT JOIN dic2 ON tblMain.FK = dic2.PK AND tblMain.код = <конкретное значение  2 > 
LEFT JOIN dic3 ON tblMain.FK = dic3.PK AND tblMain.код = <конкретное значение  3 >


Чтобы выстроить атрибуты из всех внешни таблиц в один столбец придется написать CASE:

Код: plaintext
1.
2.
3.
4.
Attribute = CASE tblMain.код
   WHEN <конкретное значение  1 >  THEN dic1.Attribute 
   WHEN <конкретное значение  2 >  THEN dic2.Attribute  
   WHEN <конкретное значение  3 >  THEN dic3.Attribute  
END

Либо собрать все внешние таблицы в один юнион, добавив к каждой свое <конкретное значение> и затем джоинить с этим набором по условиям
ON tblMain.FK = <union набор>.PK AND tblMain.код = <union набор>.<конкретное значение>.
Тогда кейза можно избежать.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407956
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если с гуидом тогда последний вариант без "AND tblMain.код = <union набор>.<конкретное значение>" можно делать.

Думаю он всяко лучше чем с кейсом. Или я не прав?
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37407984
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критерий лучшести и правильности ?
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408004
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖэконДумаю он всяко лучше чем с кейсом. Или я не прав?
Вовсе не обязательно. Во-первых - тут никак не получится сделать ВК, соответсвенно никакой проверки целостности. А во-вторых - оптимизатор может на таких запросах себя вести не очень хорошо.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408009
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэкон,

и кстати, вместо case тут вполне подойдет coalesce.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408015
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
П-ЛКритерий лучшести и правильности ?

в данном случае, то что быстрее работает то для меня и лучше))
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408024
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖэконП-ЛКритерий лучшести и правильности ?
в данном случае, то что быстрее работает то для меня и лучше))
Какова мощность данных ? Сколько будет аналогичных внешних таблиц ? При ограниченном количестве записей во внешних таблицах почему бы не сделать диапазонные автосчетчики ?

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

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


coalesce я прогуглю.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408057
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖэконНасчет ВК это да казус, целостность организовать в программе можно.

Это порочный путь
Жэкон А может можно вьхами делать? Тогда и ВК получиться если я не ошибаюсь
Вьюхами делать что?
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408098
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
П-ЛКакова мощность данных ? Сколько будет аналогичных внешних таблиц ? При ограниченном количестве записей во внешних таблицах почему бы не сделать диапазонные автосчетчики ?

И вы все-таки не описали первоначальную задачу в бизнес-терминах. Мы обсуждаем только с ваш подход к ее решению. Не факт, что он правильный.

Мощность данных не очень большая, порядка 100 документов в день, иногда очень большие, с 1000 позиций, загрузка номенклатуры с характеристика, порядка несколько десятков тысяч. Аналогичных таблиц внешних в принципе не будет, некоторые могут иметь одинаковые поля.

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

Вообще замысел, реализовать систему, с повышенной гибкостью, не такой как у 1с, но и не как у самописок. Нечто среднее. Где то упростить, где то организовать готовый функционал, чтобы в последствии оперативно работать. Первая задача организация структуры данных грамотная. На данный момент база 1с 10 гб, все нужно и все жалко удалять. Поэтому есть куда стремиться и развиваться.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408108
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iljyЖэконНасчет ВК это да казус, целостность организовать в программе можно.

Это порочный путь
Жэкон А может можно вьхами делать? Тогда и ВК получиться если я не ошибаюсь
Вьюхами делать что?

Во вьюхе делать объединение. и на вьюху ВК цеплять. Или это тоже некашерно?
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37408155
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖэконМощность данных не очень большая, порядка 100 документов в день, иногда очень большие, с 1000 позиций, загрузка номенклатуры с характеристика, порядка несколько десятков тысяч. Аналогичных таблиц внешних в принципе не будет, некоторые могут иметь одинаковые поля.

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

Вообще замысел, реализовать систему, с повышенной гибкостью, не такой как у 1с, но и не как у самописок. Нечто среднее. Где то упростить, где то организовать готовый функционал, чтобы в последствии оперативно работать. Первая задача организация структуры данных грамотная. На данный момент база 1с 10 гб, все нужно и все жалко удалять. Поэтому есть куда стремиться и развиваться.
Тогда воспользуйтесь старым правилом - не умножайте сущности без необходимости. По-русски еще говорят "не изобретайте велосипед". Вам нужна возможность хранить дополнительные данные, различные для экземпляров? Есть сразу 4 стандартных пути:
1. EAV
2. Наследование таблиц
3. XML-поля
4. SPARSE-поля

Это примерно в порядке убывания гибкости.
ЖэконВо вьюхе делать объединение. и на вьюху ВК цеплять. Или это тоже некашерно?

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

Каким образом будут проявляться эти характеристки товаров ? При выборе и заказе товара ? В финансовых отчетах о купле/продаже товаров за период в разрезе этих характеристик ?

Смотрите различные реализации ЕАВ. Изобрести что-то новое трудно. "Все велосипеды уже изобретены и ждут своих седаков" (С) SQL.RU
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409021
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iljy,
эти темы прочитаю, на счет вьюх это я перегнул) а так думаю былобы не плохо)
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409022
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
П-Л,

Вы тоже про ЕАВ говорите, неужели это панацея от всех проблем) буду читать про это.

---

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

А вы как думаете лучше большие таблицы, или много мелких?
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409114
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖэконП-Л,

Вы тоже про ЕАВ говорите, неужели это панацея от всех проблем) буду читать про это.
Отнюдь, создает она проблем тоже прилично. Просто это очень гибкая система, но за все приходится платить.
ЖэконА вы как думаете лучше большие таблицы, или много мелких?
Все хорошо в меру. Работать с таблицей в 30000 полей ничуть не удобнее, чем с 10000 мелких таблиц по 10 полей.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409143
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЖэконПервая задача организация структуры данных грамотная.
тогда второй может и не быть )))
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409208
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iljy,

нужно к консенсусу стремиться). До таких количеств полей пожалуй не дойду (уйду в монастырь скорей))).

а можете подсказать ссылку на описание ЕАВ, а то в основном хвалебные отзывы одни а примера не могу найти
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409213
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
koJIo6ok,

именно, чем дальше в лес, тем больше дров. Поэтому то и хочу сейчас решить какую модель использовать, и в дальнейшем следовать ей. Тогда больше шансов на успех
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409235
koJIo6ok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жэкон,
а у вас уже есть постановка задачи? точнее вы определили тот необходимый минимум в вашей системе который надо реализовать чтобы можно было ее использовать?
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409263
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почитал про ЕАВ, мне кажется это слишком, все таки по моему лучше значения (строки, числа, ключи) хранить в таблице объекта, а не распихивать все по разным таблицами. Такой подход должен быстродействие улучшить.

и к тому же ЕАВ как я понял не решит сути моего вопроса:

В одной таблице указан ключ на внешние таблицы (неважно как достигаем уникальность но она есть). Требуется левым соединением прицепить значения конкретного поля (в 2х табл одинаковое поле ) к первой таблицы в 1 поле (2 поля + case или сoalesce = результируеще поле, как варианты описали, но думаю ими не стоит злоупотреблять).


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

Хотя в последнем возможно и нет необходимости.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409314
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
koJIo6ok,

Пока что очень расплывчато. основная идея - обеспечить если и не динамику, то хорошую гибкость организации данных и работу с ними.
Правильная структура БД серьезно облегчит обработку данных.

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

Быстродействие - улучшит. Но основное преимущество EAV как раз во всегда фиксированном числе таблиц фиксированной структуры и, как следствие, фиксированных запросах.

Жэкони к тому же ЕАВ как я понял не решит сути моего вопроса:

В одной таблице указан ключ на внешние таблицы (неважно как достигаем уникальность но она есть). Требуется левым соединением прицепить значения конкретного поля (в 2х табл одинаковое поле ) к первой таблицы в 1 поле (2 поля + case или сoalesce = результируеще поле, как варианты описали, но думаю ими не стоит злоупотреблять).
EAV решает задачу, а не воплощает ваше видение решения. Вы определитесь, чего вам больше хочется - задачу решить или сделать по-своему.

ЖэконЕще думаю можно например вынести общие поля (у всех справочников есть реквизиты номер, описание ...) в одну таблицу, но тогда во первых при обращении к маленькой части данных (выборка 1 справочника) потянуться куча левых данных (остальные справочники рядышком лежать будет). Это проблема хранилища, и для ее решения существуют индексы.
Жэкон во вторых это не решит проблему в корне, а лишь отчасти, т.к. позволит указыватье лишь объекты справочников, а не любые объекты системы.

Хотя в последнем возможно и нет необходимости.
По-моему вы явно нарушаете последовательность действий. У вас нет четкого представления о задаче, а вы уже за реализацию бьетесь. Ничего хорошего из этого не выйдет. Вам весь топик твердят, что надо сначала понять, что вы будете там хранить и что вы хотите с сохраненными данными делать.
...
Рейтинг: 0 / 0
Удобная система связей и уникальность объектов в Распределенной БД
    #37409525
Жэкон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iljyБыстродействие - улучшит. Но основное преимущество EAV как раз во всегда фиксированном числе таблиц фиксированной структуры и, как следствие, фиксированных запросах.

Данные перемешаны до безобразия будут, а запросы, хмм будут фиксированные, но гораздо сложнее, с бесконечными связями и условиями.

iljyEAV решает задачу, а не воплощает ваше видение решения. Вы определитесь, чего вам больше хочется - задачу решить или сделать по-своему.

Рещить задачу наилучшим образом - вот мое желание. Если бы я хотел делать "по-своему", а не "как лучше" наверно даже этой темы небылобы)) Поэтому думаю

iljyПо-моему вы явно нарушаете последовательность действий. У вас нет четкого представления о задаче, а вы уже за реализацию бьетесь. Ничего хорошего из этого не выйдет. Вам весь топик твердят, что надо сначала понять, что вы будете там хранить и что вы хотите с сохраненными данными делать.
Хранить данные буду, с которыми, будет работать пользователь через объектную модель реализованную в программе.

На мой взгляд ЕАВ неплохо выглядит, но все делать на ней думаю смысла нет, а вот в разумных пределах, где действительно выгодна такая реализация стоит ее использовать.
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Удобная система связей и уникальность объектов в Распределенной БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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