Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Cannot update read-only view RASXODDOC




INSERT INTO Rasxod (KOD_RASH,DATA_RASH,KOLVO,STOIM,KOD_TOVAR,KOD_POKUP)

VALUES (20,'23.05.02',110,1100,4,5);

SELECT * FROM RasxodDoc ORDER BY KOD_RASH;

См. результат RDOC.DOC

 

SELECT * FROM Rasxod ORDER BY KOD_RASH;

KOD_RASH DATA_RASH KOLVO STOIM KOD_TOVAR KOD_POKUP

=========== =========== =========== =========== =========== ===========

2 12-APR-1998 10 120 1 6

5 12-JUL-2000 12 120 4 5

6 13-SEP-2000 5 25 2 2

7 15-SEP-2000 1 10 6 6

8 16-JUL-2000 7 70 6 1

9 23-MAY-2000 11 110 4 1

11 12-APR-2003 10 50 2 6

20 23-MAY-2002 110 1100 4 5

 

CREATE VIEW RasxodNoKz

AS SELECT * FROM RASXOD WHERE

('Казань'<>(SELECT GOROD FROM POKUPATELI

WHERE (RASXOD.KOD_POKUP=POKUPATELI.KOD_POKUP)));

SELECT * FROM RasxodNoKz ORDER BY KOD_RASH;

 

KOD_RASH DATA_RASH KOLVO STOIM KOD_TOVAR KOD_POKUP

=========== =========== =========== =========== =========== ===========

2 12-APR-1998 10 120 1 6

5 12-JUL-2000 12 120 4 5

6 13-SEP-2000 5 25 2 2

7 15-SEP-2000 1 10 6 6

11 12-APR-2003 10 50 2 6

20 23-MAY-2002 110 1100 4 5

INSERT INTO RasxodNoKz (KOD_RASH,DATA_RASH,KOLVO,STOIM,KOD_TOVAR,KOD_POKUP)

VALUES (21,'23.05.02',120,1200,4,5);

 

SELECT * FROM RasxodNoKz ORDER BY KOD_RASH;

KOD_RASH DATA_RASH KOLVO STOIM KOD_TOVAR KOD_POKUP

=========== =========== =========== =========== =========== ===========

2 12-APR-1998 10 120 1 6

5 12-JUL-2000 12 120 4 5

6 13-SEP-2000 5 25 2 2

7 15-SEP-2000 1 10 6 6

11 12-APR-2003 10 50 2 6

20 23-MAY-2002 110 1100 4 5

21 23-MAY-2002 120 1200 4 5

SELECT * FROM Rasxod ORDER BY KOD_RASH;

KOD_RASH DATA_RASH KOLVO STOIM KOD_TOVAR KOD_POKUP

=========== =========== =========== =========== =========== ===========

2 12-APR-1998 10 120 1 6

5 12-JUL-2000 12 120 4 5

6 13-SEP-2000 5 25 2 2

7 15-SEP-2000 1 10 6 6

8 16-JUL-2000 7 70 6 1

9 23-MAY-2000 11 110 4 1

11 12-APR-2003 10 50 2 6

20 23-MAY-2002 110 1100 4 5

21 23-MAY-2002 120 1200 4 5

 

EXIT;

¨ Представление RasxodDoc для каждого документа о покупке содержит полную пользовательскую информацию – включает реквизиты покупателя и товара вместо их кодов. Отметим, что реквизит «стоимость покупки» вычислим и определен в этом представлении (KOLVO_ZENA)... использование хранимого значения этого реквизита в поле STOIM таблицы RASXOD требует обоснования...

К сожалению, так определенное представление не является модифицируемым, сообщение об ошибке к первому INSERT это иллюстрирует. Второй оператор INSERT иллюстрирует специфику представлений – изменение внесено в таблицу Rasxod, но оно отобразилось и в RasxodDoc.

¨ Представление RasxodNoKz имеет такие же поля, как и таблица Rasxod, но оно включает строки только о покупках не Казанских покупателей. RasxodNoKz – модифицируемое представление, это иллюстрирует третий INSERT, который добавляет строку в RasxodNoKz. Эта строка появляется и в таблице Rasxod, что опять же иллюстрирует специфику представлений.

 


3.Администрирование базы данных.
BDE. Создание псевдонима.

Мощность и гибкость Delphi при работе с базами данных основана на низкоуровневом ядре - процессоре баз данных Borland Database Engine (BDE). BDE представляет собой совокупность динамических библиотек и драйверов, позволяющих осуществлять доступ к данным как с использованием традиционного record-ориентированного (навигационного) подхода (обрабатывается отдельно каждая запись таблицы), так и с использованием set-ориентированного подхода, используемого в SQL-серверах баз данных(одновременно обрабатывается группа записей). Приложение через BDE передает запрос к базе данных и получает требуемые данные.

Кроме BDE, Delphi позволяет осуществлять доступ к базам данных, используя технологию (и, соответственно, драйверы) Open DataBase Connectivity (ODBC) фирмы Microsoft. Но, как показывает практика, производительность систем с использованием BDE гораздо выше, чем оных при использовании ODBC. ODBC драйвера работают через специальный «ODBC socket», который позволяет встраивать их в BDE.

Все инструментальные средства баз данных Borland - Paradox, dBase, Database Desktop - используют BDE. Все особенности, имеющиеся в Paradox или dBase, «наследуются» BDE, и поэтому этими же особенностями обладает и Delphi.

Таблицы сохраняются в базе данных. Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов, представляющих собой таблицы (в основном, все локальные СУБД), в то время как другие состоят из одного файла, который содержит в себе все таблицы и индексы. InterBase сохраняет все таблицы в одном файле, имеющем расширение .GDB, поэтому этот файл и есть база данных InterBase.

Удобно не указывать путь доступа к таблицам базы данных, а использовать для этого некий заменитель - псевдоним, называемый алиасом. Он сохраняется в отдельном конфигурационном файле и позволяет исключить из программы прямое указание пути доступа к базе данных. Такой подход дает возможность располагать данные в любом месте, не перекомпилируя при этом программу. Кроме пути доступа, при алиасе указываются тип базы данных, языковый драйвер и много другой управляющей информации. Поэтому использование алиасов позволяет легко переходить от локальных баз данных к SQL-серверным базам (естественно, при выполнении требований разделения приложения на клиентскую и серверную части).

Для создания алиаса необходимо запустить утилиту конфигурации BDE (BDE administrator, программу BDEADMIN.EXE), находящуюся в директории, в котором располагаются динамические библиотеки BDE. После запуска необходимо выбрать режим создания нового алиаса (пункт меню Object\New), выбрать в появившемся списке драйверов драйвер IntrBase и настроить следующие пункты появившейся формы:

¨ LangDriverPdox Ansi Cyrillic(определяет драйвер языка, для кодировки символов, для обработки русской кириллицы в Ansi-кодировке необходимо использовать драйвер Pdox Ansi Cyrillic)

¨ Server Name - C:\UCHBASE\SKLAD\Ib_sklad.gdb(полный путь к базе данных)

¨ User Name – SYSDBA(системное имя пользователя)

В правой части экрана необходимо заменить стандартный алиас (псевдоним) IntrBase на свой (в примере использован алиас Al_Sklad).

 

После настройки параметров необходимо подтвердить или отменить сделанные изменения, с использованием команд Apply и Cancel главного или контекстного меню. Слева от объектов, имеющих неутвержденные изменения, загорается зеленый треугольник.


Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...