КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Глава 4.3. Операторы манипулирования даннымиМодификация данных может выполняться с помощью предложений UPDATE (обновить), INSERT (вставить) и DELETE (удалить). Запросы на обновление Предложение UPDATE имеет формат: UPDATE (базовая таблица | представление} SET столбец = значение [, столбец = значение] ... [WHERE фраза] где значение – это: столбец | выражение | константа | переменная и может включать столбцы лишь из обновляемой таблицы, т.е. значение одного из столбцов модифицируемой таблицы может заменяться на значение ее другого столбца или выражения, содержащего значения нескольких ее столбцов, включая изменяемый. При отсутствии WHERE фразы обновляются значения указанных столбцов во всех строках модифицируемой таблицы. WHERE фраза позволяет сократить число обновляемых строк, указывая условия их отбора. Пример: Изменить написание единицы измерения «л» на «литр» для продуктов, имеющих эту единицу измерения UPDATE Продукты SET ЕдИзм = 'литр' WHERE ЕдИзм= 'л';
Запросы на добавление записей Предложение INSERT имеет следующий формат: INSERT INTO {базовая таблица | представление} [(столбец [,столбец] ...)] подзапрос; Сначала выполняется подзапрос, т.е. по предложению SELECT в памяти формируется рабочая таблица, а потом строки рабочей таблицы загружаются в модифицируемую таблицу. При этом i-й столбец рабочей таблицы (i-й элемент списка SELECT) соответствует i-му столбцу в списке столбцов модифицируемой таблицы. Пример: Добавить в таблицу Продукты новые продукты из таблицы НовыеПродукты с кодами продукта > 21 INSERT INTO Продукты (КодПрод, Продукт, ЕдИзм, [СрокХран(дней)], УсловияХран) SELECT КодПрод, Продукт, ЕдИзм, [СрокХран(дней)], УсловияХран FROM НовыеПродукты WHERE НовыеПродукты.КодПрод > 21;
Запросы на удаление Предложение DELETE имеет формат DELETE FROM базовая таблица | представление [WHERE фраза]; и позволяет удалить содержимое всех строк указанной таблицы (при отсутствии WHERE фразы) или тех ее строк, которые выделяются WHERE фразой. Пример 1: Удаление всех записей таблицы Удалить все записи из таблицы НовыеПродукты DELETE НовыеПродукты.* FROM НовыеПродукты;
Пример 2: Удаление выборочных записей Удалить заказы за период с 1 января 2004г. по 31 января 2004г. DELETE ДатаЗаказа FROM Заказы WHERE ДатаЗаказа Between #1-1-2004# And #1-31-2004#;
Заключение. Направления развития баз данных
Несмотря на всю их привлекательность, классические реляционные системы управления базами данных являются ограниченными. Они идеально походят для таких традиционных приложений, как системы резервирования билетов или мест в гостиницах, а также банковских систем, но их применение в системах автоматизации проектирования, интеллектуальных системах обучения и других системах, основанных на знаниях, часто является затруднительным. Это, прежде всего, связано с примитивностью структур данных, лежащих в основе реляционной модели данных. Плоские нормализованные отношения универсальны и теоретически достаточны для представления данных любой предметной области. Однако в нетрадиционных приложениях в базе данных появляются сотни, если не тысячи таблиц, над которыми постоянно выполняются дорогостоящие операции соединения, необходимые для воссоздания сложных структур данных, присущих предметной области. Другим серьезным ограничением реляционных систем являются их относительно слабые возможности по части представления семантики приложения. Самое большее, что обеспечивают реляционные СУБД, - это возможность формулирования и поддержки ограничений целостности данных. Осознавая эти ограничения и недостатки реляционных систем, исследователи в области баз данных выполняют многочисленные проекты, основанные на идеях, выходящих за пределы реляционной модели данных. По всей видимости, какая-либо из этих работ станет основой систем баз данных будущего.
|