Формируем структуру на лету..

Модераторы: kdv, CyberMax

Ответить
Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Формируем структуру на лету..

Сообщение Тимофей » 16 окт 2007, 09:47

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 окт 2007, 11:54

"хранить", "формировать", "на лету"...

?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 16 окт 2007, 12:05

Типа, как в 1С - перестройка метаданных на ходу (с сохранением данных) согласно конфигурации?
Нет, это фантастика :lol:

Может, MSSQL такое с собой делать и позволяет, хотя и его база частенько от "работы" 1С разваливается, а в FB... Наверное, реализовать возможно, но мне страшно представить, со сколькими трудностями и граблями придётся столкнуться.

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 16 окт 2007, 12:14

Занимаюсь документооборотом
Стадия проектирования системы
Имею след таблицы:
__ __ и таблицу ассоциаций __
TabDoc FieldDoc Assoc
-- -- --
pkDoc pkField pk
Name Name fkDoc
__ __ fkField
--

На основе данных, хранящихся в таблицах TabDoc и FieldDoc предлагаю генерить физические таблицы.
На сколко это правильно?

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 16 окт 2007, 12:18

Имею след таблицы:
__
TabDoc
--
pkDoc
Name
--
__
FieldDoc
--
pkField
Name
--
__

таблицу ассоциаций
__
Assoc
--
pk
fkFeild
fkDoc
--
__

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 окт 2007, 12:41

предлагаю генерить физические таблицы.
не пойдет.

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 16 окт 2007, 12:55

Тогда подскажите как живут квазиструктурированные данные, причем типы этих данных не определены?
см:

http://www.osp.ru/text/print/302/181940.html
Рис. 2.


Там описана схема в которой не определено количество типов.
Это количество и сами типы я предполагаю определять в мета табличках...
Тогда при этом надо формировать физические таблички на лету

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 окт 2007, 13:12

ну и делай так. можешь еще почитать ООП в РСУБД, статью Котляревского на сайте.
как живут квазиструктурированные данные, причем типы этих данных не определены?
системы такие есть, их мало, но они есть. И как правило они оперируют не очень большим объемом данных. В отношении документооборота пытаться сделать динамическое хранение любых атрибутов любых документов, да еще не зная типов данных - утопия.
Если ты не знаешь типов данных, что ты с ними будешь делать? Т.е. зачем ты их хранишь как атрибуты?
Кроме этого у тебя и приложение должно быть как "универсальный конструктор". На 1С 8 тебе уже намекнули, если хочешь окунуться в этот омут - дерзай. Я бы посоветовал подумать сначала.

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 16 окт 2007, 13:42

Не у меня все проше, я с типами определился. Тут вопросов нет
Я не определился со структурой докуменов.
На приведенном рисунке вместо tbl_var_char c типами я предлагаю хранить документы, состав которых описан во второй мета табличке...

К сожалению не сталкивался я в свое практике с 1С... :(
а может это и хорошо:)

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 16 окт 2007, 15:08

STWF на тему "структура имени Тенцера". Тормоза жуткие, но тем не менее - в точности как ты описываешь: хранение произвольного числа произвольных атрибутов произвольных документов.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 окт 2007, 15:42

Я не определился со структурой докуменов.
так определяйся. это базовая структура, динамически ее хранить никакого смысла нет.
состав которых описан во второй мета табличке...
предлагаешь себе? предлагай. я это все проходил в 1991 году, мне больше не надо.

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 16 окт 2007, 15:46

Верю, поэтому и обратился за помощью :)

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 16 окт 2007, 15:52

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

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

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

Поэтому и пришел к мысле что для каждоко раздела формировать таблицу с определенными полями

Вот в кратце как родилась такая идея у меня.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 16 окт 2007, 20:09

с полным перечнем разделов и полей я не могу по объективным причинам (сами предметники не знаю точно что за поля должны быть
то есть, на данный момент ни одного реального документа, подлежащего хранению, нет?
я еще раз спрашиваю, что ты собираешься делать с неизвестными атрибутами неизветного типа - искать по ним, суммировать, и т.п.?
Может, они тебе вообще не нужны, тогда просто храни документ в blob.

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 17 окт 2007, 09:56

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

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 17 окт 2007, 10:12

И еще если хранить документы в BLOB-е то тогданадо будет знать как этот документ разбирать для просмотра... Так?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 17 окт 2007, 11:28

Я пока не понял как в качестве значения атрибутов хранит значения, взятые их справочников те надо хранить само значение или класскод этого значения...
что-что?
тогданадо будет знать как этот документ разбирать для просмотра
что значит "разбирать"? Если ты имеешь в виду типы документов, то есть логические типы - приказ, счет, накладная, объяснительная... -, и есть физические типы - doc, xls, txt и так далее.
если закидываешь док в блоб, ну так и укажи что это док. а при чтении из блоба сохрани его и вызови word.
Еще я бы посоветовал хранить реальные имена документов, как они были залиты в систему.

в общем, велосипед все это. кроме того, на рынке есть много аналогичных систем, от простых до сложных.

Тимофей
Сообщения: 10
Зарегистрирован: 16 окт 2007, 09:39

Сообщение Тимофей » 17 окт 2007, 12:11

Да я знаю, что систем много, но задача стоит именно разработать :)

Сбасибо что подсказали, по крайней мере я получил направление в котором двигаться :)

Благодарю всех, кто принял участие в моем обучении :)

Ответить