- •1. Основные понятия теории баз данных 1.1. Понятие базы данных
- •1.2. Модели организации данных
- •1.3. Реляционная модель данных
- •1.4. Язык sql
- •1.5. Программные системы управления базами данных
- •1.6. Применение субд в экономике
- •2. Субд ms Access и ее основные возможности 2.1. Общая характеристика субд ms Access
- •2.2. Основные этапы разработки базы данных в среде ms Access
- •2.3. Экономические приложения субд ms Access
- •2.4. Создание таблиц и схем данных
- •7.2.5. Создание схемы данных
- •2.6. Разработка запросов к базе данных
- •2.7. Конструирование экранных форм для работы с данными
- •2.8. Конструирование отчетов
- •2.9. Средства макропрограммирования в ms Access
- •2.10. Разработка программных приложений для ms Access.
- •3. Организация взаимодействия между системами управления данными 3.1. Проблема форматно независимого доступа к данным и технология odbc
- •3.2. Доступ из ms Access к источникам данных в формате других программных приложений
- •7.3.3. Технологические решения по организации доступа к данным.
- •4. Организация многопользовательского доступа к данным 4.1. Проблема многопользовательского доступа и параллельной обработки данных в автоматизированных информационных системах.
- •4.2. Основные направления развития технологии клиент-сервер
- •4.3. Организация защиты данных в субд ms Access.
1.4. Язык sql
В разработанной Коддом реляционной модели были определены как требования к организации таблиц, содержащих данные, так и язык, позволяющий работать с ними. Впоследствии этот язык получил название SQL (Structured Query Language - структурированный язык запросов). SQL был впервые реализован фирмой I в начале 70-х годов двадцатого века под названием Structures English Query Language (SEQUEL). Он был ориентирован на управление прототипом реляционной базы данных IBM-System R. В дальнейшем SQL стал стандартом de facto языка работы с реляционными базами данных. Этот его статус был впервые зафиксирован в 1986 году Американским национальным институтом стандартов (ANSI). Другими достаточно известными стандартами SQL стали стандарты ANSI SQL-92 ISO SQL-92, X/Open. В составе SQL могут быть выделены следующие группы инструкций:
- язык описания данных - DDL (Data Definition Language); - язык манипулирования данными - DML (Data Manipulation Language); - язык управления транзакциями. Инструкции DDL предназначены для создания, изменения и удаления объектов базы данных. Их описание приведено в табл. 1.
Таблица 1. Инструкции языка определения данных (DDL)
Инструкция |
Назначение |
CREATE |
Создание новых объектов (таблиц, полей, индексов и т. д.) |
DROP |
Удаление объектов |
ALTER |
Изменение объектов |
Например, нам необходимо создать таблицу, содержащую данные по каталогу фирм, каждая фирма в котором характеризуется кодом, наименованием, MCCTOJV расположения штаб-квартиры, размером уставного фонда. Данной операции со ответствует SQL-выражение
CREATE TABLE Фирмы ( КодФирмы TEXT (5), НазвФирмы TEXT (30), АдресФирмы TEXT (40), УстФонд DOUBLE );
Отметим, что допустимые имена полей создаваемой таблицы и типы содержащихся в них данных могут варьироваться для различных версий и диалектов SQL Если нам понадобится изменить структуру таблицы Фирмы - допустим, добавит! к ней еще одну колонку с фамилией директора, то сделать это можно с помощью SQL-инструкции:
ALTER TABLE Фирмы ADD COLUMN Директор TEXT.(30);
а выражение, дающее Команду на уничтожение таблицы, будет выглядеть так:
DROP TABLE Фирмы;
Инструкции DML (табл. 2) позволяют выбирать данные из таблиц, а также добавлять, удалять и изменять их.
Таблица 2. Инструкции языка манипулирования данными (DML)
Инструкция |
Назначение |
SELECT |
Выполнение запроса к базе данных с целью отбора записей, удовлетворяющих заданным критериям |
INSERT |
Добавление записей в таблицы базы данных |
UPDATE |
Изменение значений отдельных записей и полей |
DELETE |
Удаление записей из базы данных |
SELECT - команда на выборку записей из базы данных - является наиболее часто используемой SQL-инструкцией. Сфера данных, которыми она манипулирует, определяется с помощью специальных предложений. Перечень основных предложений языка SQL приведен в табл. 3.
Таблица 3. Основные предложения языка SQL
Инструкция |
Назначение |
FROM |
Указывает имя таблицы, из которой должны быть отобраны данные |
WHERE |
Специфицирует условия, которым должны удовлетворять выбираемые данные |
GROUP BY |
Определяет, что выбираемые записи должны быть сгруппированы |
HAVING |
Задает условие, которому должна удовлетворять каждая группа отобранных записей |
ORDER BY |
Специфицирует порядок сортировки записей |
Примером простейшего применения инструкции SELECT может служить команда на выборку всех данных из таблицы Фирмы:
SELECT * FROM Фирмы;
Однако, вообще говоря, данная инструкция представляет собой весьма мощный инструмент манипуляции с содержимым баз данных. Так, выражение
SELECT Int([УстФонд]/500)*500 AS Диапазон, Count(КодФирмы) AS ЧислоФирм FROM Фирмы GROUP BY Int([УстФонд]/500)*500;
задает команду на вывод данных о распределении значений уставных фондов фирм по интервалам длиной 500 денежных единиц (д. е.), то есть сколько фирм имеют уставный фонд менее 500 д. е., от 500 до 1000 д. е. и т. д. Третьей составной частью SQL является язык управления транзакциями. Транзакция - это логически завершенная единица работы, содержащая одну или более элементарных операций обработки данных. Все действия, составляющие транзакцию, должны либо выполниться полностью, либо полностью не выполниться. Инструкции языка управления транзакциями приведены в табл. 4.
Таблица 4. Инструкции языка управления транзакциями
Инструкция |
Назначение |
COMMIT |
Фиксация в базе данных всех изменений, сделанных текущей транзакцией |
SAVEPOINT |
Установка точки сохранения (начала транзакции) |
ROLLBACK |
Откат изменений, сделанных с момента начала транзакции |
В большинстве СУБД элементарные команды, составляющие тело транзакции, выполняются над некоторой буферной копией данных, и только если их удается успешно довести до конца, происходит окончательное обновление основной базы. Транзакция начинается от точки сохранения, задаваемой инструкцией SAVEPOINT, и может быть завершена по команде COMMIT или прервана по команде ROLLBACK (откат). Также в современных системах управления данными предусмотрены средства автоматического отката транзакций при возникновении системных сбоев. Таким образом, механизм управления транзакциями является важнейшим инструментом поддержания целостности данных.