VladBS писал(а):
Хочу задать вопрос для понятия логики работы в ДемоБД, вот у вас в демоБД дублируются таблицы, например, tblProduction и qdfProduction (qdfSales, tblSales и т.д.). Понимаю, что одна физическая таблица, а одна виртуальная. И в основном, когда мы открываем и работаем в демоБД, то мы работаем в виртуальной qdfProduction, а основная tblProduction скрыта от нас. Не могу понять для чего это, хочется создать новую таблицу для своих целей. Также хочу понять, мне нужно тоже так, одну и ту же таблицу создавать в qdf и tbl варианте или нет? И если да, то они между собой связаны как-то?
Они не связаны, но при удалении физ. таблицы перестанет работать его представление. qdf -- это виртуальное (не хранимое как tbl) отражение tbl, но с выводом вычисляемых полей из других таблиц. Если вы хотите только хранить какие-то свои данные, то вам достаточно обычной физической таблицы tbl. Если хотите через ключевое поле в этой таблице вывести поля из других таблиц, то при добавлении первого такого поля создастся автоматом представление qdf, и вот уже с ним просто работать пользователям удобнее, когда видны не числа в полях внешний ключей, а сами значения в вычисляемых полях, но за это приходится расплачиваться быстродействием.
VladBS писал(а):
И ещё один вопрос,
Вопрос насчёт того, как происходит списывание сырья, когда мы добавляем в ручную запись в "Производства"? Я так понял, что это происходит через спец. Триггер, но он активируется только когда вручную мы добавляем запись, а когда запись создана моим триггером из Таблицы "Заказ Клиентов", триггер на списание в Таблице "Производства" не реагирует на запись.
Спасибо за ответ!!!
Вам просто надо немного модифицировать триггер из т.Произведенные товары и добавить его в т.Заказы. Вы все верно поняли: списание сырья происходит созданием записи о товаре в tblRemovalProducts через триггер при добавлении произведенного товара в qdfProductionProducts.
Ну а как конкретно надо модифицировать триггер -- это уже не тема нашего форума, это сами через изучение SQL.