Как правильно работать с Primary Key и Foregrin Key
Добавлено: 04 май 2012, 11:41
Здраствуйте.
Просмотрел статьи на ibase.ru Для новичков, но не нашел там нужной информации
Подскажите пожалуйста.
1) Как в С++ Builder правильно организовать работу с первичными и вторичными ключами, а именно, чтобы в соответствующих полях DB_GRID-a отображалось значение подставляемого поля, а не его идентификатор.
Например есть две таблицы:
TB_1 (таблица справочник)
TB_2 (таблица - например заказы)
2) Подскажите пожалуйста, как при такой связи таблиц правильно делать запрос на выборку, вставку, изменения и удаление данных?
3) Как правильно будет получать сводную информацию по данным, если они находятся в разных таблицах? Создавать временную таблицу и посредством запросов копировать в нее данные из других таблиц или есть уже изобретенный велосипед, который предназначен для подобных действий.
Это требуется для того, чтобы пользователь выдел состояние например по определенному номеру товара видел (из_справочника_номенклатуры - наименование, описание, ...), (из_таблицы_цены - цену), (из_таблицы_остатки - остаток на складах), (из_таблицы_заказы - уже заказаное количество) и т.д.
Никак не могу понять, как это осуществляется в InterBase (после Access-а).
Также не понятно каким образом осуществляется поддержка ссылочной целостности данных, и связи один-один, один-многим ...
Просветите пожалуйста и по возможности дайте ссылку на хорошую книгу где это подробно расписано (касательно InterBase).
Спасибо большое.
С Уважением, Дмитрий.
Просмотрел статьи на ibase.ru Для новичков, но не нашел там нужной информации
Подскажите пожалуйста.
1) Как в С++ Builder правильно организовать работу с первичными и вторичными ключами, а именно, чтобы в соответствующих полях DB_GRID-a отображалось значение подставляемого поля, а не его идентификатор.
Например есть две таблицы:
TB_1 (таблица справочник)
Код: Выделить всё
ID_NOM (Первичный ключ) (автоинкремент - тригер + генератор)
NUMBER_TOVARA (uniq key)
NAME_TOVARA
DESCRIPTION
Код: Выделить всё
ID_ZAK (Первичный ключ) (автоинкремент - тригер + генератор)
NUMBER_ZAKAZ
ID_NOM (Вторичный ключ)
COUNT
SUMMA
3) Как правильно будет получать сводную информацию по данным, если они находятся в разных таблицах? Создавать временную таблицу и посредством запросов копировать в нее данные из других таблиц или есть уже изобретенный велосипед, который предназначен для подобных действий.
Это требуется для того, чтобы пользователь выдел состояние например по определенному номеру товара видел (из_справочника_номенклатуры - наименование, описание, ...), (из_таблицы_цены - цену), (из_таблицы_остатки - остаток на складах), (из_таблицы_заказы - уже заказаное количество) и т.д.
Никак не могу понять, как это осуществляется в InterBase (после Access-а).
Также не понятно каким образом осуществляется поддержка ссылочной целостности данных, и связи один-один, один-многим ...
Просветите пожалуйста и по возможности дайте ссылку на хорошую книгу где это подробно расписано (касательно InterBase).
Спасибо большое.
С Уважением, Дмитрий.