powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объектная надстройка над релационной СУБД
25 сообщений из 438, страница 7 из 18
Объектная надстройка над релационной СУБД
    #32854864
Vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Results :

1. No indexes, order_date between 1/1/04 and 12/31/04
optimized uses dynamic hash join
real 0m36.64s
user 0m1.31s
sys 0m0.16s

2. second run with the same parameters:

real 0m38.53s
user 0m2.02s
sys 0m0.21s

---- 3 : indexes on c.customer_id, o.customer_id, o.order_date ,
real 1m13.51s
user 0m1.72s
sys 0m0.14s

----- 4 indexes on c.customer_id, o.(order_date+cutomer_id) ----
real 0m50.93s
user 0m1.64s
sys 0m0.22s

------ 5 (no indexes, order_date between 1.11.04 and 12.31.04)
real 0m9.77s
user 0m0.35s
sys 0m0.06s

------ 6 (all indexes, 1 month)
real 0m9.99s
user 0m0.32s
sys 0m0.08s
--------------------


Что интересно, на данной задаче мне не удалось подобрать индекс(ы), улучшающие результат полученный dynamic hash join (Informix 9.21, Sun).
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32854892
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vybegallo, Вы все пишете абсолютно правильно, я бы даже сказал канонически правильно. ;) Позволю себе тем не менее обратить Ваше внимание на некоторые детали:

> А потом приходит заказчик и закатывает истерику, что все работает недопустимо медленно...

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

> найти сумму отгруженных договоров (order_flag="Y") с 1.1.2004 по 31.12.04 по
> каждому покупателю и описание покупателя.

Не думаю, что такие отчеты - самая типичная задача. Т. е. сравнить-то оно конечно можно, только результат понятен и без сравнения. ;)

Imho проблемы описанных здесь т. н. универсальных хранилищ заключаются отнюдь не в производительности (это следствие), а в абсолютно неправильной интерпретации возможностей реляционных СУБД для таких задач.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32854896
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> но именно из-за своей производительности "база данных в базе данных" смысл
> имеет очень малый.

Хм... imho проблема производительности преувеличена. А вот смысл очень даже имеет. Естественно, не в описанных в этом треде вариантах реализации.

> Опять таки, можно же добавлять данные непосредственно в таблицы словаря БД
> (чур меня) и будет та же "универсальность" ... -:)

К сожалению, не будет. Приложение будет намертво привязано к СУБД.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32854904
Vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621Vybegallo, Вы все пишете абсолютно правильно, я бы даже сказал канонически правильно. ;) Позволю себе тем не менее обратить Ваше внимание на некоторые детали:

> А потом приходит заказчик и закатывает истерику, что все работает недопустимо медленно...

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

> найти сумму отгруженных договоров (order_flag="Y") с 1.1.2004 по 31.12.04 по
> каждому покупателю и описание покупателя.

Не думаю, что такие отчеты - самая типичная задача. Т. е. сравнить-то оно конечно можно, только результат понятен и без сравнения. ;)

Imho проблемы описанных здесь т. н. универсальных хранилищ заключаются отнюдь не в производительности (это следствие), а в абсолютно неправильной интерпретации возможностей реляционных СУБД для таких задач.

1. Горбатого может исправить только могила, а неправильно продуманную базу - только ее полный редизайн. Не нужно надеяться, что железо вытянет все огрехи проектирования - на практике чаще случается выжимать из него все соки.
2. При таком дизайне, придется не только кластер прикупить, но и нанять второго девелопера, поскольку элементарный запрос приходится конструировать несколько дней. А потом пригласить консультанта, который сможет его оптимизировать до приемлимой скорости выполнения.
3. Согласен, это нетипичный отчет. Мои типичные отчеты занимают минимум полстраницы. Предложите "типичный" отчет -проверим на нем
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32854908
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 1. Горбатого может исправить только могила, а неправильно продуманную базу -
> только ее полный редизайн. [...]

Нечего возразить.

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

Рекурсивность и древовидность сильно гадят, а так - не жалуюсь.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32854927
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Это вы на что намекаете ? :-)

Это я пока практически еще и не начал намекать. ;)

> Рекурсивность и древовидность сильно гадят, а так - не жалуюсь.

Практически счастливый человек. ;)

ОК, давайте попробуем решить традиционным образом такую задачу: путь в базе данных есть некоторая сущность, которая может быть связана с любой из других сущностей этой же базы данных отношением n:m. Какую бы схему Вы реализовали? (hint: база данных среднего размера, единицы сотен таблиц; hint2: таких сущностей в общем случае большей одной).
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855033
Фотография adisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
Хочу обратить ваше внимание на хранение информации в компьютере.
Информация располагается в памяти.
Память линейна.
---------------------------------------
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|...
---------------------------------------
Что бы мы не сохраняли, данные лягут в память. 
(виртуальную, но все же линейную. даже на винчестере данные
представлены в виде последовательности битов)

Используется объектная модель, реляционная, древовидная или 
еще какая, любые данные будут отображены в память.
Отображены, как банальная примитивная последовательность байтов.
Информация в памяти однозначно определяется адресом. (адресом
ячейки) 
Адрес – это первичный ключ.

Задача: 
Оптимально отобразить данные в линейную память, чтобы быстро 
получать данные.
Любые данные! Любого типа, любого размера.
Предлагаемое решение:

ID   ID_S ID_P DATA
---- ---- ---- ---------
1    1    1    Иванов
2    1    2    Иван
3    1    3    Иванович
4    2    1    Смирнов
5    2    2    Семен
6    2    3    Семенович

В память данные отобразятся в виде:
1    1    1    Иванов 2    1    2    Иван ...

Имеет ли смысл говорить об объектности или реляционности модели?
Все располагается линейно!

В DBF-файле данные об одном объекте собраны в строки.
Это всем знакомо...
Самая частая задача для СУБД:
вывести одно свойство, зная другое 
(например, имя человека, зная его фамилию)
Как это происходит?
Создаются индексы.
По индексам «делением пополам» происходит поиск.
Определяются строки. Считываются строки. Выводятся 
требуемые поля.

В предлагаемой выше структуре все данные содержатся в одном
поле (в одном месте). Казалось бы, и индекс по полю будет 
огромный. Но! 
Что мешает создать отфильтрованные индексы?
(например, как в FoxPro: 
INDEX ON data TO idx_name_1 FOR id_p = 1
индексируются только записи с id_p = 1)

Да, индексов будет много.
А сколько их в простой реляционной базе?
Ровно столько же!
По индексу на искомое поле. Длина индекса такая же, 
(размер индексного фала тот же). Скорость поиска – такая же!

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

...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855127
Фотография adisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему скромному мнению данные надо хранить так как удобно для
компьютера, а представлять их так как удобно человеку.
То есть планировать, проектировать базу и работать с объектами.
Но хранить в виде удобном для обработки компьютером.

Золотая середина мне представляется в "ОО модели над РБД".
В чем и хочу посоветоваться с Вами, уважаемые...
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855227
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как всегда началось: "Приложение будет намертво привязано к СУБД." Ну и черт ты с ним. Ну это просто мысли вслух. Просьба флейм не начинать.Кстати, где же результат запроса от adisk, а то дальше лозунгов "я думаю с производительностью будет хорошо" дело не идет.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855300
Фотография adisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockКак всегда началось: "Приложение будет намертво привязано к СУБД." Ну и черт ты с ним. Ну это просто мысли вслух. Просьба флейм не начинать.Кстати, где же результат запроса от adisk, а то дальше лозунгов "я думаю с производительностью будет хорошо" дело не идет.

Присылай заархивированную базу на "adisk собака mail.ru".
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855380
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Как всегда началось: "Приложение будет намертво привязано к СУБД." Ну и черт
> ты с ним.

Я бы не был так категоричен. Hint3: решение нужно в общем виде, безотносительно СУБД.

> Ну это просто мысли вслух. Просьба флейм не начинать.

Никакого флейма. Вы предложили возможное решение, я обосновал, почему такое решение неприемлемо.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855502
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам же говорил, флейма не начинать, НО: решение неприемлемо в случае, если в постановке задачи указано "система должна не зависеть от СУБД". В общем виде - так оно и есть в общем виде: использовать словарь БД. Понятно, что в каждой БД он разный, но БД без словаря не бывает -:)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855526
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> решение неприемлемо в случае, если в постановке задачи указано "система
> должна не зависеть от СУБД".

На самом деле такой постановки задачи практически не бывает (по крайней мере, не должно быть). Я бы лучше сформулировал так: программное обеспечение должно функционировать с СУБД x, y, z.

> В общем виде - так оно и есть в общем виде: использовать словарь БД. Понятно,
> что в каждой БД он разный, но БД без словаря не бывает -:)

Это понятно. Нет смысла создавать системные объекты для каждой из возможных СУБД, - думаю, Вы представляете, почему. Хотелось бы решение чуть более высокого уровня абстракции. Есть еще варианты?
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855594
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> Это вы на что намекаете ? :-)

Это я пока практически еще и не начал намекать. ;)

> Рекурсивность и древовидность сильно гадят, а так - не жалуюсь.

Практически счастливый человек. ;)

ОК, давайте попробуем решить традиционным образом такую задачу: путь в базе данных есть некоторая сущность, которая может быть связана с любой из других сущностей этой же базы данных отношением n:m. Какую бы схему Вы реализовали? (hint: база данных среднего размера, единицы сотен таблиц; hint2: таких сущностей в общем случае большей одной).

Ок, давайте вы мне расскажите реальную постановку, а я вам расскажу, почему некая "сущность, связанная отношением м:н к любой другой сущности" вам нахер не нужна.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855609
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
других способов, не зависимых от субд, я не вижу. Что до хранения "постоянно добавляющихся атрибутов", то если это не, как уже говорилось ранее, справочник номенклатурных позиций, надо думать, что проблемы у заказчика. Если есть все-таки желание их хранить, то я в своих задачах выявляю стопроцентные атрибуты и выношу их как поля в таблицах, а если должны появиться вспомогательные новые, то делаю поле типа XML, там все и храню.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855623
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
adiskПо моему скромному мнению данные надо хранить так как удобно для
компьютера, а представлять их так как удобно человеку.
То есть планировать, проектировать базу и работать с объектами.
Но хранить в виде удобном для обработки компьютером.

Золотая середина мне представляется в "ОО модели над РБД".
В чем и хочу посоветоваться с Вами, уважаемые...

Что-то вас мотает из стороны в сторону. То бросаетесь революцию в индексном деле устраивать, то изобретаете очередной "универсальный справочник всего", теперь вот в ООБД ударились... Про них уже насоветовали в соседнем разделе аж на 36 страниц.
Пока что ваши идеи и произведения принадлежат k разряду "компьютерной графомании". Мой вам добрый совет - поработайте с одной из серьезных баз (Оракл, MS SQL, Informix, DB2, Sybase), почитаете документацию, особенно главы про внутреннее устройство - и тогда приходите с идеями. А сейчас лучше не надо. Чтобы не было мучительно стыдно потом, поскольку форум-то нестираемый, и глупости, высказанные публично, имеют свойство всплывать в самый неподходящий момент.
Ну и запрос - я таки жду запрос. Мне очень интересно, как вы сделаете
- join между таблицами
- sum по текстовому полю
- "транспонирование" результата, чтобы две отдельных строки (сумма и описание покупателя) превратились в две колонки в результирующей таблице.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855628
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShtockСам же говорил, флейма не начинать, НО: решение неприемлемо в случае, если в постановке задачи указано "система должна не зависеть от СУБД". В общем виде - так оно и есть в общем виде: использовать словарь БД. Понятно, что в каждой БД он разный, но БД без словаря не бывает -:)

Магические слова : SQL 92.
Чтобы решение было независимо от субд, используйте только средства, входящие в стандарт - и будет вам щасте.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855664
Фотография adisk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Мой вам добрый совет - поработайте с одной из серьезных баз (Оракл, MS SQL, Informix, DB2, Sybase), почитаете документацию, особенно главы про внутреннее устройство - и тогда приходите с идеями. А сейчас лучше не надо. Чтобы не было мучительно стыдно потом, поскольку форум-то нестираемый, и глупости, высказанные публично, имеют свойство всплывать в самый неподходящий момент.

Чего мне стыдится?
Того, что я не дошел до Вашего уровня, уважаемый?
Излагая свое мнения, я ищу единомышленников. Или обоснованную критику.
Если Вы такой граммотный умный человек объясните мне простой способ хранения данных с произвольными свойствами.
Метаясь из стороны в сторону, я использую страрые проверенные реляционные БД, но ищу лучшие варианты. Лучшие способы хранения и обработки данных.
Жизнь не стоит на месте и с этим Вы не можете не согласиться.
автор
Ну и запрос - я таки жду запрос. Мне очень интересно, как вы сделаете
- join между таблицами

Так же как и раньше. Операция пересечения множеств изменилась, что ли?
автор
- sum по текстовому полю

Думаю, Вы ошибочно полагаете, что я собираюсь хранить все данные в одном ТЕКСТОВОМ поле? Сказывается многолетняя работа с таблицами вроде DBF, где поля строго типизированы.
А вы думали как таблицы хранятся на диске или в памяти? там есть тип?

Замечу, что ОО поверх СУЩЕСТВУЮЩИХ РБД сделать сложно. (как раз из-за таких ограничений)
автор
- "транспонирование" результата, чтобы две отдельных строки (сумма и описание покупателя) превратились в две колонки в результирующей таблице.
Как прикладная программа Вам показывает на экране таблицу (Grid, browse или еще что...)
Какие чудеса происходят с данными полученными от SQL-сервера или считанными с диска?
Никаких. Отображение информации нужном месте в нужное время.
что в этом сложного?
Вы справшиваете как сделать это средствами MS SQL или Oracl?
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855678
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
adisk автор
Мой вам добрый совет - поработайте с одной из серьезных баз (Оракл, MS SQL, Informix, DB2, Sybase), почитаете документацию, особенно главы про внутреннее устройство - и тогда приходите с идеями. А сейчас лучше не надо. Чтобы не было мучительно стыдно потом, поскольку форум-то нестираемый, и глупости, высказанные публично, имеют свойство всплывать в самый неподходящий момент.

Чего мне стыдится?
Того, что я не дошел до Вашего уровня, уважаемый?
Излагая свое мнения, я ищу единомышленников. Или обоснованную критику.
Если Вы такой граммотный умный человек объясните мне простой способ хранения данных с произвольными свойствами.
Метаясь из стороны в сторону, я использую страрые проверенные реляционные БД, но ищу лучшие варианты. Лучшие способы хранения и обработки данных.
Жизнь не стоит на месте и с этим Вы не можете не согласиться.


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

adisk автор
Ну и запрос - я таки жду запрос. Мне очень интересно, как вы сделаете
- join между таблицами

Так же как и раньше. Операция пересечения множеств изменилась, что ли?


Для вас -да. Вы же все таблицы слили в одну - вот и изобразите нам операцию пересечения множеств в вашей "постреляционной" алгебре.

adisk автор
- sum по текстовому полю

Думаю, Вы ошибочно полагаете, что я собираюсь хранить все данные в одном ТЕКСТОВОМ поле? Сказывается многолетняя работа с таблицами вроде DBF, где поля строго типизированы.
А вы думали как таблицы хранятся на диске или в памяти? там есть тип?


Как данные хранятся на диске - я не думаю, я знаю. Мне интересно, как ВЫ их собираетесь хранить, а главное - обрабатывать. Поскольку чтобы обработать, субд должна знать, что именно там хранится. Традиционно это организовано как таблица syscolumns, где есть поле "тип колонки". Выши предложения ?
Или ваша система в принципе не реализуема на существующих СУБД, а представляет собой некий маниловский проджект ?

adisk
Замечу, что ОО поверх СУЩЕСТВУЮЩИХ РБД сделать сложно. (как раз из-за таких ограничений)


То, что вы предлагаете ("универсальный справочник") никоим боком не касается ООБД.

adisk автор
- "транспонирование" результата, чтобы две отдельных строки (сумма и описание покупателя) превратились в две колонки в результирующей таблице.
Как прикладная программа Вам показывает на экране таблицу (Grid, browse или еще что...)
Какие чудеса происходят с данными полученными от SQL-сервера или считанными с диска?
Никаких. Отображение информации нужном месте в нужное время.
что в этом сложного?
Вы справшиваете как сделать это средствами MS SQL или Oracl?

Именно. Я именно это и спрашиваю. Нарисуйте мне запрос, чтобы я мог его запустить из excel и получить вместо вашей длинной и узкой таблицы - широкую и короткую, как этого хотят все нормальные пользователи.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855682
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Ок, давайте вы мне расскажите реальную постановку, а я вам расскажу, почему
> некая "сущность, связанная отношением м:н к любой другой сущности" вам нахер
> не нужна.

Да нет проблем. Например, есть словари. Толковый, технический, иностранный, - неважно, может, их несколько или они все вместе. Например, есть стандарты, согласно которым проектируются структуры данных. Две сущности - достаточно? Буквосочетание "семантик веб" ни о чем не говорит?

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

На самом деле задача абсолютно реальна. И "нахер нужна". Приводить ТЗ я не буду, - незачем, и денег оно стоило, придется верить на слово. Замечу однако, что решение у этой задачи есть.

> Что до хранения "постоянно добавляющихся атрибутов", то если это не, как
> уже говорилось ранее, справочник номенклатурных позиций, надо думать, что
> проблемы у заказчика.

Вы представляете себе разницу между детерминированными системами и адаптивными? Это не проблемы заказчика, это абсолютно нормально.

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

Это Ваше решение. На мой взгляд, оно не оптимально. Вы не сможете манипулировать атрибутами, описанными в xml полях так же, как и "стопроцентными" атрибутами. Да и СУБД, поддерживающие т. н. "xml поля" можно по пальцам одной руки перечесть. ;)

> Магические слова : SQL 92.
> Чтобы решение было независимо от субд, используйте только средства,
> входящие в стандарт - и будет вам щасте.

Крайне важное замечание. ;)
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855688
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> Ок, давайте вы мне расскажите реальную постановку, а я вам расскажу, почему
> некая "сущность, связанная отношением м:н к любой другой сущности" вам нахер
> не нужна.

Да нет проблем. Например, есть словари. Толковый, технический, иностранный, - неважно, может, их несколько или они все вместе. Например, есть стандарты, согласно которым проектируются структуры данных. Две сущности - достаточно? Буквосочетание "семантик веб" ни о чем не говорит?

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

На самом деле задача абсолютно реальна. И "нахер нужна". Приводить ТЗ я не буду, - незачем, и денег оно стоило, придется верить на слово. Замечу однако, что решение у этой задачи есть.

> Что до хранения "постоянно добавляющихся атрибутов", то если это не, как
> уже говорилось ранее, справочник номенклатурных позиций, надо думать, что
> проблемы у заказчика.

Вы представляете себе разницу между детерминированными системами и адаптивными? Это не проблемы заказчика, это абсолютно нормально.

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

Это Ваше решение. На мой взгляд, оно не оптимально. Вы не сможете манипулировать атрибутами, описанными в xml полях так же, как и "стопроцентными" атрибутами. Да и СУБД, поддерживающие т. н. "xml поля" можно по пальцам одной руки перечесть. ;)

> Магические слова : SQL 92.
> Чтобы решение было независимо от субд, используйте только средства,
> входящие в стандарт - и будет вам щасте.

Крайне важное замечание. ;)

1. Попытайтесь не приписывать мне чужих цитат.
2. Сочетание "семантик веб" мне ни о чем не говорит
3. "Техзадание стоит денег" - это пять ! "У нас есть такие системы, но мы вам о них не расскажем" :-) Ну хоть суть-то проблемы изложить можете ? Что там со словарями не втискивается в релятивистскую модель ? Отношение "слово - значение", что ли ? Типа слово может иметь много значений, и значение может описываться синонимами ? Так это стандартное отношение м:н, разрешается вводом промежуточной таблицы.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855707
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 1. Попытайтесь не приписывать мне чужих цитат.

И не думал. Ответил на два сообщения сразу одним, - подумал, что каждый из авторов разберется, что кому предназначено. Если это не удобно, буду отвечать постатейно.

> 2. Сочетание "семантик веб" мне ни о чем не говорит

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

> 3. "Техзадание стоит денег" - это пять ! "У нас есть такие системы, но мы вам о
> них не расскажем" :-)

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

> Ну хоть суть-то проблемы изложить можете?

Ну так я и изложил: "в базе данных есть некоторая сущность, которая может быть связана с любой из других сущностей этой же базы данных отношением n:m".

> Что там со словарями не втискивается в релятивистскую модель ? Отношение
> "слово - значение", что ли ? Типа слово может иметь много значений, и
> значение может описываться синонимами ? Так это стандартное отношение
> м:н, разрешается вводом промежуточной таблицы.

Все правильно. Теперь считаем. Как я и говорил, база данных среднего размера (единицы сотен таблиц; для определенности примем 500). Пусть это отношение имеет смысл для половины сущностей (опустили служебные таблицы и связи). Получаем 250 (двести пятьдесят) промежуточных таблиц. Создали таблицы, заполнили их. Теперь выбираем сущности, связанные с определенным словом. Как по-Вашему, какие проблемы меня здесь ждут?

И еще: по-Вашему, каково максимальное количество сущностей, к которым я могу построить такие связи (напомню, СУБД не конкретизирована)?
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855729
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... прошу прощения, уточнение. Увидел требуемое n:m, а сообщение прочел по диагонали. :( Как организован справочник (справочники) - дело десятое. Факт в том, что с ним (с ними) может быть связана любая сущность. Отсюда и количество таблиц.
...
Рейтинг: 0 / 0
Объектная надстройка над релационной СУБД
    #32855737
vybegallo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Зачем вам пятьсот однотипных таблиц словарей?
2. Вас что, двести пятьдесят промежуточных таблиц пугает ? Тогда вы внутрь SAPов/Peoplesoftов/JDEdvardсов лучше не смотрите, чтоб кондратий не хватил - там счет таблицам идет на тысячи. Причем, что характерно, работают на любой промышленной БД - Oracle, MS SQL, Informix, DB2, Sybase...
...
Рейтинг: 0 / 0
25 сообщений из 438, страница 7 из 18
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Объектная надстройка над релационной СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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