Язык запросов SQL

Язык запросов SQL

Введение
Введение Добро пожаловать в область разработки баз данных, выполняемой с помощью стандартного языка запросов SQL. В системах управления базами данных (СУБД) имеется много инструментов, работающих
Об этой книге

Об этой книге Системы управления базами данных играют жизненно важную роль во многих организациях. Люди часто думают, что создание и поддержание этих систем — очень сложное занятие, удел "
Для кого предназначена эта книга
Для кого предназначена эта книга Если вам надо хранить данные в СУБД или получать их оттуда, то практическое знание SQL поможет вам делать свою работу намного лучше. Чтобы использовать SQL, не н

Язык запросов SQL



Глава 1 Основы реляционных баз данных
В этой главе ...
Работа с данными

Что такое база данных
Размер и сложность базы данных
Что такое система управления базами данных
Схема информационной системы работающей на основе СУБД
Плоские файлы
Модели баз данных
Реляционная модель
Внимание
Почему реляционная модель лучше
Компоненты реляционной базы данных

Родственники и таблицы что общего?
Таблица со статистикой игрока
Каждая строка базы данных содержит
Оцените представление
Представление для главного менеджера
В представлении для регионального
Схемы домены и ограничения
Схемы
Домены
Ограничения

Объектная модель бросает вызов реляционной
Объектнореляционная модель
Соображения по поводу проектирования баз данных

Язык запросов SQL

Глава 2 Основы SQL
В этой главе ...
Чем является SQL и чем он не является
(Очень) Короткая история
Команды SQL
Зарезервированные слова

Типы данных
Точные числовые типы
Тип INTEGER
Тип SMALLINT
Тип BIGINT
Тип NUMERIC
Тип DECIMAL
Приблизительные числовые типы
Тип REAL
Тип DOUBLE PRECISION

Тип FLOAT
Символьные строки
Тип CHARACTER
Тип CHARACTER VARYING
Тип CHARACTER LARGE OBJECT
Типы NATIONAL CHARACTER NATIONAL
Логические данные
Данные типа датывремени
Внимание
Тип DATE

Тип TIME WITHOUT TIME ZONE
Тип TIMESTAMP WITHOUT TIME ZONE
Тип TIME WITH TIME ZONE
Тип TIMESTAMP WITH TIME ZONE
Интервалы
Типы ROW
Типы коллекций
Типы ARRAY
Тип MULTISET
Типы REF

Определяемые пользователем типы
Отдельные типы данных
Структурированные типы
Конструкторы
Мутаторы и наблюдатели
Подтипы и супертипы
Пример структурированного типа
Сводка типов данных
Таблица 2 2 Типы данных
Неопределенные значения

Ограничения
Сервер
Что такое сервер
Что делает сервер
Клиент
Что такое клиент
Что делает клиент
Использование SQL в Intenet/интернет

Язык запросов SQL

Глава 3 Компоненты SQL

В этой главе ...
Язык определения данных
Создание таблиц
Таблица CUSTOMER которую можно
Место для представления
Однотабличное представление
З 2 Создание представления
Создание многотабличного представления
Таблица 3 1 Таблицы базы данных магазина спорттоваров
Структура базы данных магазина спорттоваров

З 4 Создание многотабличного
Сборка таблиц в схемы
Заказ по каталогу
Иерархическая структура типичной базы данных SQL
Знакомство с командами DDL
CREATE
ALTER
DROP
Язык манипулирования данными
Выражения со значениями

Выражения с числовыми значениями
Выражения со строковыми значениями
Таблица 3 2 Примеры конкатенации строк
Внимание
Выражения со значениями датывремени
Выражения с логическими значениями
Выражения со значениями определяемыми пользователем
Выражения со значениями типа записи
Выражения со значениями типа коллекции
Выражения со значениями типа ссылки

Предикаты
Таблица 3 3 Операторы и предикаты сравнения
Логические связки
Итоговые функции
COUNT
MAX
MIN
SUM
AVG

Подзапросы
Язык управления данными
Транзакции
Пользователи и полномочия
Таблица 3 4 Виды защиты
Ограничения ссылочной целостности угрожают вашим данным
Делегирование ответственности за безопасность

Язык запросов SQL

Глава 4 Создание и поддержка простой базы данных

В этой главе ...
Создание простой базы данных с помощью RADинструмента
Правдоподобный сценарий
Экран появившийся при создании
Экран проекта дает полный контроль
Диалоговое окно создания таблицы
Значения по умолчанию для свойств
Диалоговое окно создания таблицы
Текстовое поле Имя таблицы в диалоговом окне Сохранить как
Внимание

Диалоговое окно определения первичного ключа
Изменение структуры таблицы
В определение таблицы PowerDesign вставлена новая строка
Переделанное определение таблицы
Определение первичного ключа
Поле ProposalNumber объявлено первичным ключом
Создание индекса
Диалоговое окно Индексы
Определение индексов для полей LastName и HowKnom
Удаление таблицы

Чтобы удалить таблицу выберите
Создание таблицы Power Design с помощью DDL
Использование языка SQL с приложением Microsoft Access
Создание таблицы
Создание индекса
Изменение структуры таблицы
Удаление таблицы
Удаление индекса
Переносимость

Язык запросов SQL

Глава 5 Создание многотабличной реляционной базы данных
В этой главе ...
Проектирование базы данных
Действие 1 определение объектов
Действие 2 определение таблиц и столбцов
Внимание
Действие 3 точное определение таблиц
Таблица 5 1 Таблицы базы данных VetLab
Таблицы и связи базы данных VetLab

Ускорение работы базы данных с помощью ключей
Первичные ключи
Работа с индексами
Что такое индекс
Таблица 5 2 Таблица CLIENT
Таблица 5 3 Индекс по названию клиента для таблицы CLIENT
Зачем нужен индекс
Поддержание индекса
Обеспечение целостности

Смысловая целостность
Доменная целостность
Ссылочная целостность
Области возможных трудностей
Ввод неправильных данных
Ошибка оператора
Механическое повреждение
Злой умысел
Избыточность данных
Превышение технических возможностей базы данных

Ограничения
Ограничения столбцов
Ограничения таблиц
Нормализация базы данных
Эта таблица SALES ведет к аномалиям изменения
Таблица SALES разбита на две другие
Первая нормальная форма
Вторая нормальная форма
В таблице SALESJRACK составной
Третья нормальная форма

Доменноключевая нормальная форма (ДКНФ)
Ненормальная форма

Язык запросов SQL

Глава 6 Манипуляции данными из базы
В этой главе ...
Получение данных
Создание представлений
Создание представлений из таблиц
Представление ORDERS_BY_STATE
Создание представления с условием выборки

Представление REPORTINGJAG (задержка
Создание представления с модифицированным атрибутом
З Представление созданное
Обновление представлений
Добавление новых данных
Добавление данных в виде отдельных записей
Добавление данных только в выбранные столбцы
Добавление в таблицу группы строк
Копирование из внешнего файла данных
Перенос всех строк из одной таблицы в другую

Перенос выбранных столбцов и строк из одной таблицы в другую
Внимание
Обновление имеющихся данных
Таблица 6 1 Таблица CUSTOMER
Таблица 6 2 Таблица CUSTOMER после
Таблица 6 3 Таблица CUSTOMER после
Таблица 6 4 Таблица CUSTOMER после
Перемещение данных
Удаление устаревших данных

Язык запросов SQL


Глава 7 Определение значений
В этой главе ...
Значения
Значения типа записи
Литеральные значения
Таблица 7 1 Примеры литералов различных типов данных
Переменные
Специальные переменные
Ссылки к столбцам
Выражения со значением

Строковые выражения со значением
Числовые выражения со значением
Выражения со значением датывремени
Интервальные выражения со значением
Условные выражения со значением
Функции
Суммирование с помощью итоговых функций
Таблица 7 2 Питательные компоненты
COUNT
AVG

МАХ
MIN
SUM
Функции значения
Строковые функции
SUBSTRING
UPPER
LOWER
TRIM
TRANSLATE и CONVERT

Числовые функции
POSITION
EXTRACT
CHARACTER_LENGTH
OCTET_LENGTH
CARDINALITY
ABS
MOD
LN...
ЕХР

POWER
SQRT
FLOOR
CEIL или CEILING
WIDTH_BUCKET
Функции значения датывремени

Язык запросов SQL


Глава 8 Сложные выражения со значением
В этой главе ...
Условные выражения GASC
Использование выражения CASE с условиями поиска
Обновление значений на основе условия

Обход условий вызывающих ошибки
Использование выражения CASE со значениями
Специальное выражение CASE — NULLIF
Еще одно специальное выражение CASE — COALESCE
Преобразование типов данных с помощью выражения CAST
Использование выражения CAST внутри SQLкода
Использование выражения CAST при
Выражения со значением типа записи

Язык запросов SQL

Глава 9 "Пристрелка" к нужным данным
В этой главе ...
Уточняющие предложения

Таблица 9 1 Уточняющие предложения и их назначение
Предложения From
Предложения WHERE
Предикаты сравнения
Таблица 9 2 Предикаты сравнения языка SQL
SIMILAR
NULL
Внимание
ALL SOME ANY
EXISTS

UNIQUE
DISTINCT
OVERLAPS
MATCH
Правила ссылочной целостности
Логические связки
AND
OR...
NOT

Внимание
Предложения GROUP BY
Результат выбора информации о
Средний уровень продаж по каждому продавцу
Общие продажи по каждому продавцу
Предложение HAVING
Общие продажи по каждому продавцу за исключением Фергюсона

Язык запросов SQL

Глава 10 Реляционные операторы
В этой главе ...

UNION
Внимание
INTERSECT
EXCEPT
Операторы объединения
Простой оператор объединения
Объединение основанное на равенстве
Перекрестное объединение
Естественное объединение
Условное объединение

Объединение по именам столбцов
Внутреннее объединение
Внешнее объединение
Левое внешнее объединение
Таблица 10 1 LOCATION (представительство)
Таблица 10 2 DEPT (отдел)
Таблица 10 3 EMPLOYEE (сотрудник)
Правое внешнее объединение
Полное внешнее объединение
Объединениеслияние

Таблица 10 4 Таблица EMPLOYEE
Таблица 10 5 Таблица PROJECTS
Таблица 10 6 Таблица SKILLS
Таблица 10 7 Результаты внутреннего объединения
Таблица 10 8 Результат операции union join
Таблица 10 9 Результат применения
Таблица 10 10 Усовершенствованный
ON или WHERE

Язык запросов SQL

Глава 11 Использование вложенных запросов

В этой главе ...
Зачем использовать подзапрос
Что делают подзапросы
Вложенные подзапросы которые возвращают наборы строк
Таблица 11 1 Таблица PRODUCT
Таблица 11 2 Таблица COMPONENT
Таблица 11 3 Таблица COMPOSED
Подзапросы перед которыми стоит ключевое слово IN
Подзапросы перед которыми стоит ключевое слово NOT IN
Вложенные запросы возвращающие одно значение

Таблица 11 4 Таблица CUSTOMER
Таблица 11 5 Таблица CONTACT
Кванторы ALL SOME и ANY
Вложенные запросы которые являются
EXISTS
NОТ EXISTS
Другие коррелированные подзапросы
Коррелированные подзапросы перед
Коррелированные подзапросы перед
Подзапросы в предложении HAVING

Операторы UPDATE DELETE и INSERT

Язык запросов SQL

Глава 12 Рекурсивные запросы
В этой главе ...
Что такое рекурсия
Результат вызова spiral(1)
Маленькие трудности
Сбой недопустим
Что такое рекурсивный запрос
Где можно использовать запрос

Таблица 12 1 Авиарейсы компании Vannevar Airlines
Трудный способ
Экономия времени с помощью рекурсивного запроса
Таблица 12 2 Таблица ReachableFrom
Таблица 12 3 Таблица ReachableFrom
Где еще можно использовать рекурсивный запрос

Язык запросов SQL

Глава 13 Обеспечение безопасности базы данных
В этой главе ...
Язык управления данными как часть SQL

Уровни пользовательского доступа
Администратор базы данных
Владельцы объектов базы данных
"Публика"
Иерархическая структура полномочий доступа
Предоставление полномочий пользователям
Роли
Вставка данных
Просмотр данных
Внимание

Модификация табличных данных
Удаление из таблицы устаревших строк
Ссылки для связанных друг с другом таблиц
Использование доменов наборов
Внимание
Инициирование выполнения операторов SQL
Предоставление полномочий
Аннулирование полномочий

Экономия времени и сил благодаря

Язык запросов SQL


Глава 14 Защита данных
В этой главе ...

Угрозы целостности данных
Нестабильность платформы
Внимание
Аппаратный сбой
Одновременный доступ
Проблемы взаимодействия транзакций
Последовательное выполнение исключает
Внимание Последовательное выполнение
Использование транзакций SQL Одним
Оператор COMMIT Хотя в SQL 2OO3

Блокирование объектов базы данных

Язык запросов SQL

Глава 15 Использование SQL в приложениях
В этой главе ...
SQL в приложении
Внимание
Сильные и слабые стороны SQL
Сильные и слабые стороны процедурных языков
Трудности совместного использования SQL с процедурным языком
Противоположные режимы работы

Несовместимость типов данных
SQL код в программе написанной на процедурном языке
Встроенный SQL
Объявление базовых переменных
Преобразование типов данных
Модульный язык
Объявления модулей
Процедуры модуля
Объектноориентированные RADинструменты

Язык запросов SQL



Глава 16 ODBC и JDBC
В этой главе ...
ODBC
Интерфейс ODBC
Компоненты ODBC
ODBC в среде клиент/сервер
ОDBC и Internet
Система клиент/сервер в сравнении с системой на базе Web
Серверные расширения

Система базы данных на основе Web с серверным расширением
Клиентские расширения
Вспомогательные приложения
Включаемые модули Netscape Navigator
Управляющие элементы ActiveX
Аплеты Java
Webприложение базы данных использующее аплет Java
Сценарии
ODBC и интранет
JDBC

Внимание

Язык запросов SQL

Глава 17 SQL 2003 и XML
В этой главе ...
Как XML связываемся с SQL
Тип данных XML
Когда используются XMLданные
Когда ХМLданные не используются
Преобразование данных из формата SQL в формат XML и наоборот
Преобразование наборов символов
Преобразование идентификаторов

Преобразование типов данных
Преобразование таблиц
Обработка неопределенных значений
Создание XMLсхемы
Получение XML результатов при использовании операторов SQL
Оператор XMLELEMENT
Оператор XMLFOREST
Оператор XMLGEN
Оператор XMLCONCAT
Оператор XMLAGG

Преобразование не предопределенных типов данных в XML
Домены
Отдельные UDTтипы
Строки
Массивы
Мультимножества