
- •1 Введение 2
- •2 Выборка информации из базы данных 3
- •3 Команды модификации таблиц 15
- •4 Создание таблиц 17
- •1Введение
- •2Выборка информации из базы данных
- •2.1Базовый синтаксис оператора select
- •2.7Поиск по подстрокам (like)
- •2.8Сортировка данных и другие методы выбора. Группировка данных
- •2.8.1Полный синтаксис оператора select
- •2.8.2Упорядочивание результатов
- •2.8.3Устранение повторяющихся строк
- •2.8.4Агрегирующие функции
- •2.8.5Группировка данных
- •2.9Соединение таблиц и сложный анализ данных
- •2.9.1Соединение
- •2.9.2Внешнее соединение
- •2.9.3Операции над множествами (объединение, пересечение, разность)
- •2.10Структурированные запросы и подзапросы
- •2.10.1Подзапросы в предложении where
- •2.10.1.1Подзапросы, не возвращающие значений или возвращающие несколько значений
- •2.10.1.2Подзапросы, возвращающие единственное значение
- •2.10.1.3Подзапросы, выполняющие проверку на существование
- •2.10.2Подзапросы в предложении from
- •2.10.3Подзапросы в предложении select
- •3.1.3Ввод, удаление, и изменение значений полей
- •3.2Удаление строк из таблиц
- •3.3Изменение значений поля
- •3.4Использование подзапросов с командами модификации
- •4Создание таблиц
- •4.1Команда создания таблицы
- •4.2Создание индекса
- •4.3Удаление индексов
- •4.4 Изменение таблицы после создания
- •4.5Удаление таблиц
- •4.6Ограничение значений данных
- •4.6.1Ограничение таблиц
- •4.6.2Объявление ограничений
- •4.6.2.1Уникальность как ограничение столбца
- •4.6.2.2Уникальность как ограничение таблицы
- •4.6.2.3Ограничение первичных ключей
- •4.6.2.4Проверка значений полей
- •4.6.2.5Установка значений по умолчанию
СТРУКТУРИРОВАННЫЙ ЯЗЫК ЗАПРОСОВ (SQL). МЕТОДЫ ПОВЫШЕНИЯЭФФЕКТИВНОСТИ SQL
1 Введение 2
2 Выборка информации из базы данных 3
2.1 Базовый синтаксис оператора SELECT 3
2.2 Соглашение об именовании 4
2.3 Порядок выполнения логических операторов 4
2.4 Диапазоны (BETWEEN и NOT BETWEEN) 4
2.5 Списки (IN и NOT IN) 5
2.6 Выбор неопределенных значений 5
2.7 Поиск по подстрокам (LIKE) 6
2.8 Сортировка данных и другие методы выбора. Группировка данных 7
2.9 Соединение таблиц и сложный анализ данных 10
2.10 Структурированные запросы и подзапросы 13
3 Команды модификации таблиц 15
3.1 Ввод значений 15
3.2 Удаление строк из таблиц 16
3.3 Изменение значений поля 16
3.4 Использование подзапросов с командами модификации 17
4 Создание таблиц 17
4.1 Команда создания таблицы 17
4.2 Создание индекса 18
4.3 Удаление индексов 18
4.4 Изменение таблицы после создания 19
4.5 Удаление таблиц 19
4.6 Ограничение значений данных 19
1Введение
Одним из основных преимуществ реляционного подхода к организации баз данных (БД) является то, что пользователи реляционных БД получают возможность эффективной работы в терминах простых и наглядных понятий таблиц, их строк и столбцов без потребности знания реальной организации данных во внешней памяти. Реляционная модель данных, содержащая набор четких предписаний к базовой организации любой реляционной системы управления базами данных (СУБД), позволяет пользователям работать в ненавигационной манере, т.е. для выборки информации из БД человек должен всего лишь указать список интересующих его таблиц и те условия, которым должны удовлетворять выбираемые данные. СУБД скрывает от пользователя выполняемые ей последовательные просмотры таблиц, выполняя их наиболее эффективным образом. Основная особенность реляционных систем состоит в том, что результатом выполнения любого запроса к таблицам БД является также таблица, которую можно сохранить в БД и/или по отношению к которой можно выполнять новые запросы.
Очень важным требованием к реляционным СУБД является наличие мощного и в тоже время простого языка, позволяющего выполнять все необходимые пользователям операции. В последние годы таким повсеместно принятым языком стал язык реляционных БД SQL (Structured Query Language – язык структурированных запросов).
До появления SQL в СУБД (независимо от того, на какой модели они основывались) приходилось поддерживать по крайней мере три языка, которые обычно имели мало общего:
язык определения данных (Data Definition Language – DDL), служащий для спецификации структур БД (обычно общую структуру БД называют схемой БД);
язык манипулирования данными (Data Manipulation Language –DML), позволяющий создавать прикладные программы, взаимодействующие с БД;
язык администрирования БД (Data Administration Language), с помощью которого можно было выполнять служебные действия (например, изменять структуру БД или производить ее настройку с целью повышения эффективности).
Кроме того, если требовалось предоставить пользователям СУБД интерактивный доступ к БД, приходилось вводить еще один язык, операторы которого выполняются в диалоговом режиме. Язык SQL позволяет решать все эти задачи.
Следует отметить, что к достоинствам языка SQL относится наличие международных стандартов. Первый международный стандарт был принят в 1989 г., и соответствующая версия языка называется SQL-89. Этот стандарт поддерживается практически во всех современных коммерческих реляционных СУБД (например, в Informix, Sybase, Ingres и т.д.). Второй международный стандарт был принят в 1992 г. – SQL-92. Этот вариант языка существенно шире, чем SQL-89. К настоящему времени основные компании-производители СУБД только частично поддерживают этот стандарт. Тем не менее, он является исключительно важным документом как для реально практикующих разработчиков программного обеспечения, так и для специалистов, связанных с подбором аппаратно-программных средств.
Необходимо подчеркнуть, что SQL – очень объемный язык. Документ по его стандарту содержит более 600 страниц.
Одновременно с завершением работ по определению стандарта SQL2 была начата разработка стандарта SQL3. Принятие стандарта произошло в 2003 г.
Итак, помимо операторов формулирования запросов и манипулирования БД язык содержит:
средства определения схемы БД (Data Definition Language – DDL) и манипулирования схемой (Data Manipulation Language – DML);
операторы для определения ограничений целостности и триггеров;
средства определения представлений БД;
средства авторизации доступа к отношениям и их полям;
средства управления транзакциями.