Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Структура документа в БД [D6, WinXP]


Groove ©   (2003-01-09 12:28:00) 

Господа, есть вопрос...
У меня структура моего документа составляется из двух таблиц
[b]документ[/b]
[CODE]IDDocument
Name[/CODE]
[b]пункт[/b]
[CODE]IDDocItem
Name
IDDocument
NumberItem[/CODE]

Все было хорошо и понятно, у одного документа может быть несколько пунктов (один ко многим), но в процессе работы стало получаться много пунктов и меня попросили сделать группы пунктов

[b]группы пунктов[/b]
[CODE]IDGroutItem
Name
NumberGroup[/CODE]

Вопрос заключается в том, как связать эти таблицы друг с другом, если
* допускается вложение групп друг в друга
* должна быть нумерация пунктов? согласно ГОСТу об оформлении текстовых документов

Документ
******1 Группа
***********1.1 Пункт
***********1.2 Пункт
***********1.3 Пункт
******2 Группа
***********2.1 Группа
********************2.1.1 Пункт
********************2.1.1 Пункт
********************2.1.1 Пункт
***********2.2 Группа
*******************2.2.1 Пункт
*******************2.2.2 Пункт
*******************2.2.3 Пункт
***********2.3 Группа
******3 Пункт

ЗарБлаг!!!


Тормоз   (2003-01-09 14:08:00) [1]

У меня работает примерно такая же программка.
Для обозначения иерархии типа пункт/подпункт и т.д. я создал специальную таблицу по типу индексной. Для Вашего примера
IdxTable
ParentID-ключ верхнего уровня иерархии (надпункта).
IDDocItem-ключ связи с Вашей таблицей пунктов.

Можно индексную таблицу и не создавать, а включить поле ParentID прямо в таблицу пунктов.


Наверх

Титульная страница Поиск, карта сайта Написать письмо