Страница 1 из 1
Формируем структуру на лету..
Добавлено: 16 окт 2007, 09:47
Тимофей
Добрый. Подскажите, плиз...
Предлагается хранить мета часть БД описывающую структуру этой БД.
и формировать эту структуру на лету...
правильно ли это?
Заранее спасибо

Добавлено: 16 окт 2007, 11:54
kdv
"хранить", "формировать", "на лету"...
?
Добавлено: 16 окт 2007, 12:05
WildSery
Типа, как в 1С - перестройка метаданных на ходу (с сохранением данных) согласно конфигурации?
Нет, это фантастика
Может, MSSQL такое с собой делать и позволяет, хотя и его база частенько от "работы" 1С разваливается, а в FB... Наверное, реализовать возможно, но мне страшно представить, со сколькими трудностями и граблями придётся столкнуться.
Добавлено: 16 окт 2007, 12:14
Тимофей
Занимаюсь документооборотом
Стадия проектирования системы
Имею след таблицы:
__ __ и таблицу ассоциаций __
TabDoc FieldDoc Assoc
-- -- --
pkDoc pkField pk
Name Name fkDoc
__ __ fkField
--
На основе данных, хранящихся в таблицах TabDoc и FieldDoc предлагаю генерить физические таблицы.
На сколко это правильно?
Добавлено: 16 окт 2007, 12:18
Тимофей
Имею след таблицы:
__
TabDoc
--
pkDoc
Name
--
__
FieldDoc
--
pkField
Name
--
__
таблицу ассоциаций
__
Assoc
--
pk
fkFeild
fkDoc
--
__
Добавлено: 16 окт 2007, 12:41
kdv
предлагаю генерить физические таблицы.
не пойдет.
Добавлено: 16 окт 2007, 12:55
Тимофей
Тогда подскажите как живут квазиструктурированные данные, причем типы этих данных не определены?
см:
http://www.osp.ru/text/print/302/181940.html
Рис. 2.
Там описана схема в которой не определено количество типов.
Это количество и сами типы я предполагаю определять в мета табличках...
Тогда при этом надо формировать физические таблички на лету
Добавлено: 16 окт 2007, 13:12
kdv
ну и делай так. можешь еще почитать ООП в РСУБД, статью Котляревского на сайте.
как живут квазиструктурированные данные, причем типы этих данных не определены?
системы такие есть, их мало, но они есть. И как правило они оперируют не очень большим объемом данных. В отношении документооборота пытаться сделать динамическое хранение любых атрибутов любых документов, да еще не зная типов данных - утопия.
Если ты не знаешь типов данных, что ты с ними будешь делать? Т.е. зачем ты их хранишь как атрибуты?
Кроме этого у тебя и приложение должно быть как "универсальный конструктор". На 1С 8 тебе уже намекнули, если хочешь окунуться в этот омут - дерзай. Я бы посоветовал подумать сначала.
Добавлено: 16 окт 2007, 13:42
Тимофей
Не у меня все проше, я с типами определился. Тут вопросов нет
Я не определился со структурой докуменов.
На приведенном рисунке вместо tbl_var_char c типами я предлагаю хранить документы, состав которых описан во второй мета табличке...
К сожалению не сталкивался я в свое практике с 1С...

а может это и хорошо:)
Добавлено: 16 окт 2007, 15:08
Dimitry Sibiryakov
STWF на тему "структура имени Тенцера". Тормоза жуткие, но тем не менее - в точности как ты описываешь: хранение произвольного числа произвольных атрибутов произвольных документов.
Добавлено: 16 окт 2007, 15:42
kdv
Я не определился со структурой докуменов.
так определяйся. это базовая структура, динамически ее хранить никакого смысла нет.
состав которых описан во второй мета табличке...
предлагаешь себе? предлагай. я это все проходил в 1991 году, мне больше не надо.
Добавлено: 16 окт 2007, 15:46
Тимофей
Верю, поэтому и обратился за помощью

Добавлено: 16 окт 2007, 15:52
Тимофей
в моем понимании документ - состоит из разделов (их количество не определено) и каждый раздел состоит из полей (их количество тоже не определно).
К сожалению определиться с полным перечнем разделов и полей я не могу по объективным причинам (сами предметники не знаю точно что за поля должны быть, а базу под них делать надо...)
Соответственно документов может быть сколь угодно много и езе больше экземпляров раздела...
Поэтому и пришел к мысле что для каждоко раздела формировать таблицу с определенными полями
Вот в кратце как родилась такая идея у меня.
Добавлено: 16 окт 2007, 20:09
kdv
с полным перечнем разделов и полей я не могу по объективным причинам (сами предметники не знаю точно что за поля должны быть
то есть, на данный момент ни одного реального документа, подлежащего хранению, нет?
я еще раз спрашиваю, что ты собираешься делать с неизвестными атрибутами неизветного типа - искать по ним, суммировать, и т.п.?
Может, они тебе вообще не нужны, тогда просто храни документ в blob.
Добавлено: 17 окт 2007, 09:56
Тимофей
Все же как мало я знаю!!!!
Не реальные доки существуют. Просто их нельзя четко формализовать

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

Я пока не понял как в качестве значения атрибутов хранит значения, взятые их справочников те надо хранить само значение или класскод этого значения...
Добавлено: 17 окт 2007, 10:12
Тимофей
И еще если хранить документы в BLOB-е то тогданадо будет знать как этот документ разбирать для просмотра... Так?
Добавлено: 17 окт 2007, 11:28
kdv
Я пока не понял как в качестве значения атрибутов хранит значения, взятые их справочников те надо хранить само значение или класскод этого значения...
что-что?
тогданадо будет знать как этот документ разбирать для просмотра
что значит "разбирать"? Если ты имеешь в виду типы документов, то есть логические типы - приказ, счет, накладная, объяснительная... -, и есть физические типы - doc, xls, txt и так далее.
если закидываешь док в блоб, ну так и укажи что это док. а при чтении из блоба сохрани его и вызови word.
Еще я бы посоветовал хранить реальные имена документов, как они были залиты в систему.
в общем, велосипед все это. кроме того, на рынке есть много аналогичных систем, от простых до сложных.
Добавлено: 17 окт 2007, 12:11
Тимофей
Да я знаю, что систем много, но задача стоит именно разработать
Сбасибо что подсказали, по крайней мере я получил направление в котором двигаться
Благодарю всех, кто принял участие в моем обучении
