Напомню, что
для каталога право выполнения — это право просмотра оглавления
каталога.
Приложение 3
Основы SQL
П3.1. Немного истории
В далеком 1970 году компания IBM разработала экспериментальную систему
управления базами данных System R. В ее основе лежал язык SEQUEL
(Structured English Query Language— структурированный английский язык
запросов). Чуть позже этот язык по юридическим и политическим
соображениям был переименован в просто SQL (Structured Query Language).
Разработкой SQL занимались Дональд Чэмбэрлин (Donald Chamberlin) и Рэй
Бойс (Ray Boyce). Кроме них над SQL вели работу Пэт Селинджер (Pat
Selinger), которая разрабатывала оптимизатор, и Рэймонд Лори (Raymond
Lorie), который создавал компилятор запросов. Их главной целью было
создание языка запросов к базе данных, с которым мог бы разобраться любой
пользователь, не имеющий никаких навыков программирования.
В 1986 году Американским национальным институтом стандартизации
(ANSI, American National Standards Institute) был принят первый стандарт
языка SQL. Принятие стандарта должно было способствовать дальнейшему
развитию языка запросов. В 1987 году стандарт был уточнен (появился так
называемый SQL level 1). Еще одно изменение в стандарте произошло в
1989 году (SQL level 2).
Развитие и совершенствование систем управления базами данных (СУБД)
послужило причиной принятия в 1992 году следующего стандарта (он
назывался ANSI SQL-92, или просто SQL2). Последующие стандарты были
приняты в 1999 (SQL: 1999, или SQL3), 2003 (SQL:2003) и 2006 (SQL:2006)
годах.
Приложение 3. Основы SQL
321
П3.2. Преимущества SQL
Как уже было отмечено, основное преимущество SQL— простота его
использования. Предположим, что SQL нет. Но нам необходима база данных.
Что делать? Сначала нужно разработать формат двоичного файла (с
двоичным файлом операции поиска выполняются быстрее, чем с текстовым):
продумать заголовок файла, разделители полей и индексы. На все это уйдет
много времени. Еще больше времени займет разработка набора функций,
которые будут работать с нашим двоичным форматом. Спустя какое-то время
этот набор функций мы создадим. Затем напишем приложение с их
использованием. Допустим, нам потребуется просмотреть весь файл данных и
выбрать из него записи с определенным значением поля, например, чтобы поле
«Количество» было больше нуля. Алгоритм обработки будет следующим:
нужно в цикле пересмотреть все записи и вывести только те, которые не
содержат нуль в поле «Количество». Не очень удобно, но все же выполнимо. Но
вот незадача: а что делать, если возникнет необходимость радикально
изменить формат файла? Ведь при разработке мы могли допустить ошибку,
точнее, недоработку, которая «всплыла» несколько месяцев спустя. Тогда нам
придется заново переделывать весь наш набор функций. Причем делать все
так, чтобы это не затронуло работу уже существующих приложений, иначе
нужно будет переписывать и эти приложения.
В случае с SQL все гораздо проще. Вам не нужно изобретать велосипед
заново: забудьте о формате данных и наборе функций — для вас этих проблем
просто не существует. Все, что вам необходимо знать, — это то, что есть база
данных, которая выполнит любой ваш «приказ», сформулированный по
правилам языка SQL. Программировать вам тоже ничего не придется — зачем
циклы, если можно попросить SQL: «Просмотри все записи и выбери те, у
которых поле «Количество» равно нулю». Даже если возникнет
необходимость перейти на другую систему управления базами данных, SQL-запросы
останутся прежними.
Таким образом, преимущества SQL следующие:
? независимость от системы управления базами данных — благодаря тому,
что приняты стандарты SQL, его запросы будут одинаково выполняться
что в Oracle, что в MySQL. Конечно, есть определенные отличия
синтаксиса некоторых СУБД, но они, как правило, незначительны;
? полноценность SQL как языка управления данными — с помощью SQL
можно не только производить выборку данных, но и полноценно управ-
322
Приложения
лять ими: добавлять новые данные, изменять и удалять уже имеющиеся,
создавать базы данных.
5th Фев 2011
|
Теги:
|