![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Идеология справочников,... [dBase, FoxPro]
ddenisv © (2003-04-04 19:07:00)Допустим есть такая вещь как справочник и документ(с многострочной частью)
Классическая схема таблиц выглядит примерно так:
1. Справочник "Товары":
ID
NAME
2. Документ "Накладная":
ID
NUMDOC
DATEDOC
3. Многострочная часть документа "Накладная":
PARENTID -> ID "Накладная"
IDTOVAR -> ID "Товары"
KOL
COST
SUMMA
Может я в чемто не прав или мои взгляды устарели...
Вообщем в этой схеме есть два вопроса:
1. Контроль удаления используемых элементов одной таблицы в другой, ну эту проблему я решил за шет таблицы в которой хранится схема ссылок. (Есть ли другие способы?)
2. Когда отображается третья таблица в grid нужно както отображать поле NAME из первой таблицы. Есть два способа:
1. Через Query. Недостатки: Нельзя редактировать данные в gride
И если по какойто причине в первой таблице нет ID который есть в третьей то эта строка не попадает DS.
2. Через CalcField. Недостатки: Медленная скорость.
Мне кажется по этим вопросам уже давно есть готовые решения.
Может кто присоветует книгу или сайт?
ddenisv (2003-04-05 21:31:00) [1]2Johnmen: вроде четко указанно [dBase, FoxPro]
kaif (2003-04-05 16:10:00) [2]Помнится, кто-то говорил, что в последних версиях FoxPro или dBase существуют foreign key (ссылочная целостность). Или надо переходить на клиент-серверную организацию, например, InterBase. Там с этим делом проблем нет. И со скоростью SQL-запросов все в порядке.
Johnmen (2003-04-05 03:06:00) [3]В приличном обществе принято указывать тип БД.
>Может кто присоветует книгу или сайт?
А что, поисковые сервера в ауте ?
ddenisv (2003-04-04 21:44:00) [4]А По подробней про LookUp-поля можно.
И что, такое КССУБД?
MsGuns (2003-04-04 19:50:00) [5]>ddenisv (04.04.03 19:07)
СПРАВОЧНИКИ - это нормативная информация, используемая для унификации данных в разлных таблицах БД.
Документы (накладные, счета, платежки, договор и т.д. есть информация оперативная, но никак не справочная.
1. Есть очень хорошее средство ForeignKey.
2. Можно показывать любое поле связанного справочника используя LookUp-поля (Mike Kouzmine © (04.04.03 19:18), но ГРАМОТНО уйти от TTable и использовать TQuery, а редактировать либо отдельными запросами, либо через TUpdateSQL.
Еще лучше перейти на КССУБД ;)))
Mike Kouzmine (2003-04-04 19:18:00) [6]2. Lookup, создать поле наме и заносить его туда.