- •В данном файле представлены следующие лекции по дисциплине базы данных: 3, 4, 6, 8-15
- •6. Основные области внешней памяти
- •7. Хранение таблиц
- •8.Управление буферами
- •9. Структура встроенного языка
- •10. Общая характеристика языка sql
- •13. Проблема параллелизма
- •14. Блокирование информационных объектов базы данных
- •18. Хранилища данных
- •19. Медиаторы
- •Лекция 9 20. Olap - системы
- •Многомерное представление данных в виде куба
- •«Разрезание» куба
- •22. Некоторые особенности субд oracle
- •23. Краткая характеристика настольной субд Access 2002
- •24. Использование языка qbe в субд Acces
- •25. Использование внешних данных в бд Access
- •26. Использование гиперссылок в бд Access
- •27. Публикация бд Access в интернете
- •28. Совместное использование баз данных Access
- •29. Проблемы внедрения баз данных
- •30. Администрирование баз данных
10. Общая характеристика языка sql
Этот язык был разработан в конце 70-х годов и впервые был представлен в реляционной СУБД R фирмы IBM.
В дальнейшем этот язык широко применялся во многих коммерческих СУБД и постепенно стал стандартом “де-факто” для языков манипулирования данными в реляционных СУБД.
Первый международный стандарт языка SQL был принят в 1989 г (SQL/89 или SQL1).
В 1992 был принят новый стандарт SQL/92 или SQL2.
В 1999 был принят стандарт SQL3.
Язык SQL является полным языком, т.е. в нем присутствуют не только операторы, реализующие запросы к БД, но и операторы описания данных БД.
Ниже указаны группы операторов языка SQL и в каждой группе представлены ее основные операторы.
Операторы описания данных (используются администратором)
CREATE TABLE Создать таблицу
CREATE INDEX Создать индекс
CREATE VIEW Создать представление
2) Операторы администрирования данных (используются администратором)
CREATE DBAREA Создать область хранения
CREATE DATABASE Создать БД
GRANT Предоставить права
Операторы манипулирования данными (используются пользователем в режиме диалога или в прикладных программах)
SELECT Выбрать (найти) данные
UPDATE Обновить данные
DELETE Удалить строки данных
INSERT Вставить строку данных
4) Операторы управления транзакциями (используются в прикладных программах)
COMMIT Завершить транзакцию
ROLLBACK Откатить транзакцию
5) Операторы встроенного SQL (используются в прикладных программах для обработки результатов исполнения запросов)
DECLARE Определить курсор
OPEN Открыть курсор
FETCH Считать строку из множества строк,
определенных курсором
CLOSE Закрыть курсор
Язык SQL предназначен для организации доступа к базам данных
При этом доступ к БД может быть осуществлен в двух режимах: в режиме диалога или в режиме выполнения прикладных программ.
В явном виде SQL не является языком программирования. В нем отсутствуют традиционные операторы организации циклов, ветвлений, присваиваний. В общем случае можно назвать SQL подъязыком, который служит исключительно для создания и поддержки БД.
Отметим также, что в распоряжении программиста или конечного пользователя сравнительно немного операторов. Это операторы манипулирования данными и операторы встроенного SQL.
Поясним использование операторов манипулирования данными в режиме диалога простыми примерами.
Пусть в БД имеется таблица Поставщик (Supplier), содержащая следующие данные:
SUPPLIER (поставщик)
SUPPLIER_ID |
COMPANY_NAME |
ADDRESS |
COST_SUP |
01 |
ABC |
Киев |
100 |
03 |
A2 |
Минск |
200 |
07 |
KM |
Москва |
150 |
10 |
KMC |
Москва |
120 |
25 |
A5 |
Москва |
100 |
Оператор SELECT
Оператор обеспечивает выборку данных из полей таблицы, указанных в предложении SELECT, в соответствии с условиями, заданными в предложении WHERE .
Пример : Выдать коды и адреса поставщиков, коды которых меньше 7.
SELECT SUPPLIER_ID, ADDRESS
FROM SUPPLIER WHERE SUPPLIER_ID <7;
Результат:
SUPPLIER_ID |
ADDRESS |
01 |
Киев |
03 |
Минск |
Оператор UPDATE
Оператор служит для обновлений значений указанных столбцов применительно к тем строкам, которые удовлетворяют условиям отбора, заданным предложением WHERE.
Пример. Изменить адрес компаний, которые имеют название КМ на Воронеж.
UPDATE SUPPLIER
SET ADRESS=”Воронеж”
WHERE COMPANY NAME=КМ;
В результате таблица SUPPLIER примет вид:
SUPPLIER_ID |
COMPANY_NAME |
ADDRESS |
COST_SUP |
01 |
ABC |
Киев |
100 |
03 |
A2 |
Минск |
200 |
07 |
KM |
Воронеж |
150 |
10 |
KMC |
Москва |
120 |
25 |
A5 |
Москва |
100 |
Оператор INSERT
Оператор осуществляет вставку строки в конец указанной таблицы.
Пример.
1) INSERT INTO SUPPLIER
VALUES (12,”A6”,”Орёл”, 100);
В результате таблица SUPPLIER примет вид:
SUPPLIER_ID |
COMPANY_NAME |
ADDRESS |
COST_SUP |
01 |
ABC |
Киев |
100 |
03 |
A2 |
Минск |
200 |
07 |
KM |
Воронеж |
150 |
10 |
KMC |
Москва |
120 |
25 |
A5 |
Москва |
100 |
12 |
А6 |
Орел |
100 |
Оператор DELETE
Оператор служит для удаления одной или нескольких строк таблицы, определенных в предложении WHERE.
Если предложение WHERE отсутствует, то удаляются все строки таблицы.
Пример. Удалить из таблицы те строки, которые содержат информацию о поставщиках из Киева.
DELETE
FROM SUPPLIER
WHERE ADRESS=”Киев”;
В результате таблица SUPPLIER примет вид:
SUPPLIER_ID |
COMPANY_NAME |
ADDRESS |
COST_SUP |
03 |
A2 |
Минск |
200 |
07 |
KM |
Воронеж |
150 |
10 |
KMC |
Москва |
120 |
25 |
A5 |
Москва |
100 |
12 |
А6 |
Орел |
100 |
Лекция 6