|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Тоже, вовсе не глупы вопрос. авторА если у пункта нет подпункта? В случае дерева, сами понимаете, просто заканчивается... В случае другой организации, все равно ничего страшного. Кстати, дерево то хорошо. Но нужно достаточно доводов в его пользу. Все же, работать с ним, получать данные, сложнее. Это не совсем реляционность. Тем не менее, надо, стоит, рассмотреть все варианты. Кстати - любую функциональность. 2 профи, построят совершенно по разному (или могут ) и не докажешь у кого лучше))) Поэтому вариантов построения достаточно сложной системы, всегда больше одного ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 13:21 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitikiЕсли не ясно, приведу пример. Там все простоесли не затруднит, сбросьте простенький примерчик[/quot] Прямо здесь накидаю. 1 поле ид, второе парент, 3- имя 1.1. Дерево 2.1.Ветка1 3.1.Ветка2 4.2.Листок1Ветки1 5.3.Листок1Ветки2 ..... Надеюсь ясно? и так до бесконечности. Для работы с деревом, применяют рекурсию. Проблемы с выборками. Но все равно, иногда это эффективнее. В общем надо тщательно считать) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 13:25 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Еще про буковки. А посмотрите, как там с графами? Может из применить? Попробуйте и в эту сторону подумать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 13:31 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
А вот это сообщение, на сколько не подходит? 19853571 Просто в голове некоторая каша))) Половина забыл, половина и не помнил))) Но ТС очевидно, очень хорошо в теме. Если оно подходит, то там допиливать не сложно. Там главное, 2 уровня. Если по определению, больше уровней невозможно, то это одно. Если уровней может быть любое количество, то все хуже))) (Дерево) Попробуйте ответить на это. И если в общем то подходит, то сразу включайте критику, и ищите что не подходит для вас. Что не сходится. Ошибки проектирования - дорого обходятся в дальнейшем) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 14:10 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Спасибо asdor и Vik_Fix за Ваше время и советы Хочу сначала опробовать 2 варианта предложенных Вами (вариант с таблицей подпункты и вариант с деревом) авторПример "дерева" поняла потом отпишусь вечером командировка и до компа доберусь только в воскресенье вечером на вскидку: вариант с таблицей подпункты - не могу пока представить визуализацию данных (таблица правил) вариант с деревом - визуализация ole объект Treeview Выборка - вариант с таблицей подпункты - будет намного проще В общем пока не попробую ничего сказать не смогу. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2016, 14:46 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki, Мысль пришла. Vik_Fix как то упомянул, что все эти буковки, просто искусственные создания. Так может о них лучше забыть. Как результат - мо должны получить данные в виде приложенных тхт. Т.е. просто набор фраз. Делаем таблицу с этими фразами. Не повторяющимися. id,Name,Фраза А дальше, делаем сколь угодно сложную таблицу (группу таблиц) в которой описаны зависимости. Правила получения этих фраз. Полагаю в этом случае и UI становится понятнее, при внесении нового. Ввел новую фразу. И прописал к ней все условия. Изменилось что то - здесь же поменял(Изменил, добавил, удалил) (условия или фразу) То бишь, на кэйсы я зря направил, тут не БП, а математика. Просто ТС рассказывает логику, исходя из того как это организовано сейчас. А надо от нее отвлечься. И описать ее, забыв о буквах и нд. Просто именно все возможные зависимости. Лучше взять пару абстрактных пунктов (файлов ворд), и начать спускаться вниз, постепенно добавляя, забытые связи. И для тестов, ограничиться минимальным набором. Главное, все правила охватить. А может и сам ворд не нужен... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2016, 11:05 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Всем привет! В общем, на выходных под кружечку пивка меня осенило))) Схема из таблиц "Пункты" и "Под пункты" - не совсем хороша, уж больно мудрено придется логику выстраивать. Но тут же подумав, а чем подпункт отличается от пункта? (да в общем-то ничем), исходя из этого нарисовалась немного другая структура БД. "Таблица пункты и подпункты" ID_dDoc - идентификатор дополнительной записи документа (возможно и не нужен) ID_DOC - идентификатор документа (из таблицы НД) ID_TYPE - идентификатор типа записи (0 - Пункт, 1 - Подпункт) Num_P - номер пункта из документа ("1, 2, 3" и т.д.) Num_PP - номер подпункта из документа ("1, 2, 3" или "а, б, в" и т.д.), у пунктов в данном поле 0 или пусто TEXT_dDoc - текст пункта или подпункта "Таблица типов записи" ID_TYPE NAME_TYPE Дальше строим составные индексы, к примеру так: ID_DOC + NUM_P + NUM_PP. В интерфейсе программы при заполнении полей NUM_P и NUM_PP, необходимо сделать проверку на вводимые данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 08:23 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Привет Вчера поздно добрался 3 дня в голове рисовал схемы до чего дошел 8 таблиц "Таблица категории" Id_Category - идентификатор категории N(2) Name_Cat - название категории C(2) Denotation - описание категории M(4) "Таблица топливо" Id_Fuel - идентификатор топлива N(2) Name_Fuel - название топлива C(20) "Таблица обозначение НД" Id_Sign - идентификатор обозначения N(2) Name_Sign - обозначение НД C(20) "Таблица НД" Id_Regulation - идентификатор НД N(4) Id_Sign - идентификатор обозначения НД Number - номер НД C(20) Denotation - название НД M(4) Date_Begin - дата введение в действие НД D(8) Date_End - дата окончания действие НД D(8) "Таблица сфера применения" Id_Scope - идентификатор сферы применения N(5) Id_Regulation Id_Category Id_Fuel Denotation - сфера применения НД M(4) "Таблица состояния" Id_Condition - идентификатор состояния N(2) Name_Condition - название состояния C(20) "Таблица пунктов" Id_PunktND - идентификатор пункта НД N(3) Denotation - текст пункта НД M(4) ну и в завершении "Таблица правил" Id_Rules - идентификатор правил Id_PunktND Id_Scope или Id_Regulation (еще думаю) Id_Condition Логика такая есть "таблица категорий" - она постоянная есть "таблица топливо" - заполняем по максимуму (здесь пока проблемы с добавлением новой записи) при вводе новой записи в "таблицу НД" сразу заполняем "таблицу сфера применения" - поскольку она не меняется у НД, пока он действует Ну и в конце описываем "таблицу правил" Все вроде просто, но сегодня первый день возле компа, сейчас попробую реализовать интерфейс Пока вижу только проблему с добавлением нового топлива Выслушаю Ваши замечания. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 10:10 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitikiесть "таблица топливо" - заполняем по максимуму (здесь пока проблемы с добавлением новой записи) А в чем именно? Опишите в чем может быть проблема при добавлении новой записи? "Таблица обозначение НД" - что в этой таблице будет? "Таблица пунктов" - тот же самый вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 11:01 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Vik_Fixrikitikiесть "таблица топливо" - заполняем по максимуму (здесь пока проблемы с добавлением новой записи) А в чем именно? Опишите в чем может быть проблема при добавлении новой записи?Предположим заполнили все записи в таблицах, появляется новое топливо "напалм", нужно перебирать все НД куда его добавлять (еще не продумал) Vik_Fix"Таблица обозначение НД" - что в этой таблице будет?поле Name_Sign - (ГОСТ, Правило, ДСТУ, ТУ У, ...) Vik_Fix"Таблица пунктов" - тот же самый вопрос.Просто набор фраз - например (вимоги пунктів 5.1.2; 5.1.4; 5.2.1 R13 щодо конструкції гальмівних систем і системи сигналізації КТЗ, а також вимоги пунктів 1.4.2; 2.1.1; 2.3 додатка 4) как писал asdorМысль пришла. Vik_Fix как то упомянул, что все эти буковки, просто искусственные создания. Так может о них лучше забыть. Как результат - мо должны получить данные в виде приложенных тхт. Т.е. просто набор фраз. Делаем таблицу с этими фразами. Не повторяющимися. id,Name,Фраза ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 11:23 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki У вас будет огромное число таблиц-справочников и вы быстро запутаетесь в обозначениях. У вас объемная работа. Уже сейчас неясно применение таблиц типа "Таблица правил". Вам надо бы привести в порядок нормативную документацию. Что-то типа этого: http://base.garant.ru/179141/ http://mt27.ru/perechen-pravil-eek-oon/ Я бы посоветовал пронумеровать эти нормативы: n01... и o01... и использовать эти обозначения в соответствующих им названиях справочников. Структуру справочников можно взять везде одинаковой, примерно так: idtab, names, values, notes. Это позволит вам в дальнейшем для редактирования справочников использовать единую форму. Различные условия, и не только при добавлении, обычно пишутся в кодах. Вам придется писать свои что-то типа триггеров, т.к. родные триггеры Фокс громоздки. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 12:37 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki, авторПредположим заполнили все записи в таблицах, появляется новое топливо "напалм", нужно перебирать все НД куда его добавлять (еще не продумал) Забей временно. Когда остальное решишь, с этим будет не сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 12:45 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
sg12, sg12Различные условия, и не только при добавлении, обычно пишутся в кодах. Вам придется писать свои что-то типа триггеров, т.к. родные триггеры Фокс громоздки. Ну вот, тут на протяжении 4 страниц боремся, что бы не в коде менять. А тут нате вам - открытие. Не учите плохому. Правила здесь - это не алгоритмы, а связи. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 12:49 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdorsg12, sg12Различные условия, и не только при добавлении, обычно пишутся в кодах. Вам придется писать свои что-то типа триггеров, т.к. родные триггеры Фокс громоздки. Ну вот, тут на протяжении 4 страниц боремся, что бы не в коде менять. А тут нате вам - открытие. Не учите плохому. Правила здесь - это не алгоритмы, а связи. К сожалению, база данных Фокс не очень располагает к этому, запутаетесь уже при числе таблиц больше десяти, и придется переделывать. Коды условий удобнее располагать в формах, но при их большом количестве это удобство исчезает, т.к. они обычно изменчивы. Можно для условий создать глобальный объект типа CUSTOM, а в формах или БД оставить только строки вызова. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 13:34 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
sg12К сожалению, база данных Фокс не очень располагает к этому, запутаетесь уже при числе таблиц больше десяти, и придется переделывать. А вы упорны в своих заблуждениях батенька)))) Ну ОК. Пусть БД MS SQL будет. Что то поменяется? Запутаться легко и в одной таблице. А другие и с сотнями не путаются. sg12Коды условий удобнее располагать в формах, но при их большом количестве это удобство исчезает, т.к. они обычно изменчивы. Вообще то формы, это визуальное представление для пользователя. Конечно, легко запихнуть туда логику. Начинающие часто так делают. Но советовать это как подход... sg12Можно для условий создать глобальный объект типа CUSTOM, а в формах или БД оставить только строки вызова. И зачем?... Вообще в этом топике, пытаются создать разумную схему хранения. Убежден, после ее создания, видно будет, как и что программировать. Что в формах, а что в других объектах. Хранить различные алгоритмы, в одном глобальном объекте... Чем хуже просто набор процедур? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 17:13 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
asdor VFP9 это не досовский Fox и не SQL Server. Если у вас что-то по-другому, то пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2016, 18:00 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Ого, да у Вас тут уже "бойня" )))) пойду по порядку. rikitiki "Таблица НД" Id_Regulation - идентификатор НД N(4) Id_Sign - идентификатор обозначения НД Number - номер НД C(20) Denotation - название НД M(4) Date_Begin - дата введение в действие НД D(8) Date_End - дата окончания действие НД D(8) "Таблица пунктов" Id_PunktND - идентификатор пункта НД N(3) Denotation - текст пункта НД M(4) Не вижу связи между этими таблицами, хотя "пункты" это не неотъемлемая часть НД. rikitikiПросто набор фраз - например (вимоги пунктів 5.1.2; 5.1.4; 5.2.1 R13 щодо конструкції гальмівних систем і системи сигналізації КТЗ, а також вимоги пунктів 1.4.2; 2.1.1; 2.3 додатка 4) как писал Извиняюсь, это я немного "протупил", работаю еще над своей программой и у меня в голове сработало "Пункты" - это "населенные пункты" )))) sg12У вас будет огромное число таблиц-справочников и вы быстро запутаетесь в обозначениях. У вас объемная работа. Уже сейчас неясно применение таблиц типа "Таблица правил". Я бы не сказал, что огромное количество таблиц справочников, возьмите к примеру КЛАДР или ФИАС - это уже 3 справочных таблицы (а их часто используют в своих программах), вот про обозначения не понял. Таблица правил - по логике вещей это вспомогательная таблица для создания связи между пунктами НД (требованиями) и сферой их применения. Не спорю на текущий момент у автора не все гладко, но он стремиться к лучшему. sg12Я бы посоветовал пронумеровать эти нормативы: n01... и o01... и использовать эти обозначения в соответствующих им названиях справочников. Не знаю насколько Вы осилили прочтение данного топика, но прослеживается не понимание сути. Нормативные документы - это куча ГОСТов, Правил, ДСТУ, ТУ У и прочего в которых прописаны всевозможные требования к различным объектам сертификации (фары, ремни, колеса и т.д.). Так же транспортные средства (далее ТС) подразделяются: на категории N, L, M, O (подробней я описывал ранее); по состоянию (новое, б/у, переоборудованное) по топливу на котором работают (бензин, газ, электричество и т.д.) Так вот, автору необходимо зная выше перечисленные 3 составляющие, отобразить НД и их пункты относящиеся именно к такому сочетанию составляющих, бррр... как-то мудрено получилось. Отсюда вопрос: как нумерация нормативов поможет? sg12Различные условия, и не только при добавлении, обычно пишутся в кодах. Вам придется писать свои что-то типа триггеров, т.к. родные триггеры Фокс громоздки. Про триггеры вообще не понял, в моем понимании триггер - это всего лишь событие вызываемое при определенном действии, а код который будет исполнятся при этом можно написать какой угодно. Ой, дальше я даже продолжать не буду, а то от темы уходим. rikitiki - на неделе попробую изобразить свое виденье в виде готовых таблиц, чтоб говорить более предметно. А то на словах уже сам начинаю путаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2016, 06:54 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
Добрый день, Asdor и Vik_Fix дошел до точки кипения Можно сбросить Вам на мыло то, что у меня получилось (поскольку размер 1Мб)? Не могу понять как добавлять и сохранять. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2016, 14:33 |
|
Нужна помощь Collections
|
|||
---|---|---|---|
#18+
rikitiki, kv # abz4.ru Но по мере сил) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2016, 19:39 |
|
|
start [/forum/topic.php?fid=41&msg=39342804&tid=1582034]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 414ms |
0 / 0 |