Организация Web-доступа к базам данных с использованием SQL-запросов

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

?ой записи

 

Изменить название блюда с кодом БЛ=5 на Форшмак, увеличить его выход на 30 г и установить NULL-значение в столбец Труд.

 

UPDATE Блюда

SETБлюдо = Форшмак, Выход = (Выход+30), Труд = NULL

WHERE БЛ = 5;

 

Обновление множества записей

Утроить цену всех продуктов таблицы поставки (кроме цены кофе ПР = 17).

 

UPDATE Поставки

SETЦена = Цена * 3

WHERE ПР <> 17;

 

Обновление с подзапросом

Установить равной нулю цену и К_во продуктов для поставщиков из Паневежиса и Резекне.

 

UPDATE Поставки

SETЦена = 0, К_во = 0

WHERE ПС IN

(SELECT ПС

FROMПоставщики

WHERE Город IN (Паневежис, Резекне));

 

Обновление нескольких таблиц

Изменить номер продукта ПР = 13 на ПР = 20.

 

UPDATEПродуктыUPDATEСостав

SETПР = 20SETПР = 20

WHEREПР = 13;WHEREПР = 13;

 

UPDATEПоставкиUPDATEНаличие

SETПР = 20SETПР = 20

WHEREПР = 13;WHEREПР = 13;

К сожалению в единственным запросе невозможно обновить более одной таблицы, а так как код продукта входит в четыре таблицы, то пришлось выдать четыре сходных запроса. Это может привести к противоречию базы данных (нарушению целостности по ссылкам), поскольку после выполнения первого предложения таблицы Состав, Поставки и Наличие ссылаются на уже несуществующий продукт. База становится непротиворечивой только после выполнения четвертого запроса.

 

О конструировании предложений модификации

Для тех, кто достаточно хорошо понял предложение SELECT, несложно овладеть конструированием предложений DELETE, INSERT и UPDATE. Но в процессе такого конструирования следует учитывать, что:

  1. Если в WHERE фразе предложений DELETE и UPDATE используется вложенный подзапрос, то во фразе FROM этого подзапроса не должна упоминаться таблица, из которой удаляются (в которой обновляются) строки. Аналогично, в подзапросе предложения INSERT не должна упоминаться таблица, в которую загружаются данные.

Так, SQL отвергнет предложение

 

INSERT

INTOВыбрано

SELECT(33), Т, БЛ

FROMВыбрано

WHEREСМ = 17;

позволяющее ввести информацию о том, что отдыхающий, сидящий на 33-м месте, выбирает тот же набор блюд, что и отдыхающий, сидящий на 17-м месте. Ввод придется осуществить через какую-либо промежуточную таблицу, например, таблицу Выбор:

 

DELETE

FROMВыбор;

 

INSERT

INTOВыбор (СМ, Т, БЛ)

SELECT(33), Т, БЛ

FROMВыбрано

WHEREСМ = 17;

 

INSERT

INTOВыбрано

SELECTСМ, Т, БЛ

FROMВыбор;

  1. Составляя предложения модификации данных, необходимо все время помнить о сохранении непротиворечивости базы данных. Об этом упоминалось ранее и подробно говорилось в литературе.

2.3. Обзор основных SQL-серверов.

2.3.1. SQL-сервер Oracle.

Общая характеристика продуктов Oraсle

Все продукты Oracle (СУБД, средства разработки, средства для конечного пользователя, сетевые компоненты) являются открытыми, масштабируемыми и программируемыми. Они позволяют разрабатывать приложения, как уровня небольшой рабочей группы, так и уровня огромного предприятия с тысячами пользователей, террабайтными базами, размещенными в различных зданиях и даже странах.

Средства Oracle позволяют надежно защитить эти данные, обеспечить их целостность и непротиворечивость. Продукты Oracle работают более чем на ста вычислительных платформах (компьютер + операционная система), поддерживают все основные промышленные сетевые протоколы и графические оконные среды. Это позволяет с минимальными затратами переносить готовые приложения с одной платформы на другую. Например, разработав приложение на однопроцессорном персональном компьютере с MS Windows, Вы можете далее выполнять его на Unix машинах, больших IBM машинах, SMP и MPP архитектурах, высоко надежных и кластерных архитектурах.

При повышении нагрузки на приложение, можно заменить сервер на более мощный, добавить еще один сервер, вынести часть обработки в другой узел и т. д. Если клиент работал через терминал, а затем решил перейти к архитектуре клиент сервер или даже переместился в другой город, он сможет продолжать работать с теми же БД Oracle. Все это не потребует модификации кода приложений.

С помощью средств Oracle можно реализовать оперативную обработку (OLTP системы), системы поддержки принятия решений (DSS системы) и системы накопления и анализа больших объемов данных (Data Warehouse и OLAP системы). Oracle поддерживает все основные стандарты:

  • FIPS 127-2, ANSI X3-135.1992 для БД;
  • NCSC TDI C2, B1, ITSEC F C2/E3, F B1/B3 по защите данных;
  • OSI, DNSIX (MaxSix), SNMP для сети;
  • ODBC, TSIG, X/Open, DCE, DDE, OLE, OCX, VBX для взаимодействия приложений.

Классификация продуктов Oracle

Все многообразие продуктов фирмы Oracle можно разделить на следующие группы:

  • Oracle7 Server ядро СУБД и дополнительные компоненты ядра (опции). Они необходимы для хранения, поиска, извлечения, обработки и администрирования данных;
  • инструментальные средства разработки приложений. Это, в первую очередь, набор средств разработчика Developer/2000, а также прекомпиляторы с языков 3GL и библиотека CALL-интерфейса;
  • средства автоматизации проектирования и разработки (CASE-средства) Designer/2000;
  • средства для конечных пользователей. Это набор средств Descoverer/2000, офисная система Oracle Office, средства хранения и обработки текстов Text Server (c Context и CoAutor);
  • средства для анализа данных и создания OLAP (online analyse processing) приложений Express продукты;
  • средства для обеспечения работы продуктов Oracle в компьютерной сети. Это SQL*Net с драйверами различных сетевых протоколов,