От автора.		1		
	Благодарности.		1		
	Введение.		3		
	Как устроена эта книга.		4		
	Как выполнять примеры SQL-выражений.		6		
	Работа с Microsoft SQL Server 2000.		7		
	Работа с Microsoft Access 2003.		11		
	Глава 1. Основы реляционных баз данных.		17		
	Множества.		17		
	Отношения.		29		
	Общие сведения.		29		
	Способы представления отношений.		32		
	Операции над отношениями.		35		
	Декомпозиция отношений.		42		
	Корректная декомпозиция.		43		
	Пример некорректной декомпозиции.		44		
	Зависимости между атрибутами.		45		
	Правила вывода зависимостей.		55		
	Ключи.		57		
	Ограничения целостности отношений.		60		
	Семантическая целостность.		60		
	Доменная целостность.		61		
	Ссылочная целостность.		61		
	Нормализация таблиц.		63		
	Первая нормальная форма.		65		
	Вторая нормальная форма.		66		
	Третья нормальная форма.		67		
	Доменно-ключевая нормальная форма.		67		
	Денормализация.		68		
	Глава 2. Основы SQL.		69		
	Что такое SQL.		69		
	Типы данных.		73		
	Строки.		76		
	Числа.		77		
	Логические данные.		80		
	Дата и время.		80		
	Интервалы.		83		
	Специальные типы данных.		84		
	Пользовательские типы данных.		86		
	Неопределенные значения.		90		
	Преобразование типов.		91		
	Глава 3. Простые выборки данных.		93		
	Основное SQL-выражение для выборки данных.		94		
	Уточнения запроса.		98		
	Оператор WHERE.		102		
	Оператор GROUP BY		109		
	Оператор HAVING.		111l		
	Оператор ORDER BY.		112		
	Логические операторы.		113		
	Задачи.		114		
	Задача 3.1.		115		
	Задача 3.2.		115		
	Задача 3.3.		115		
	Глава 4. Вычисления.		117		
	Итоговые функции.		117		
	Функции обработки значений.		121		
	Строковые функции.		121		
	Числовые функции.		123		
	Функции даты-времени.		125		
	Вычисляемые выражения.		126		
	4.4. Условные выражения с оператором CASE.		129		
	Оператор CASE со значениями.		129		
	Оператор CASE с условиями поиска.		130		
	Функции NULL IF yl COALESCE.		132		
	Глава 5. Сложные запросы.		135		
	Подзапросы.		136		
	Простые подзапросы.		136		
	Связанные подзапросы.		142		
	Теоретико-множественные операции.		147		
	Декартово произведение наборов записей.		147		
	Объединение наборов записей (UNION).		149		
	Пересечение наборов записей (INTERSECT).		152		
	Вычитание наборов записей (EXCEPT).		153		
	Операции соединения.		154		
	Естественное соединение (NATURAL JOIN).		155		
	Условное соединение (JOIN ON).		157		
	Соединение по именам столбцов (ОЖ USING).		157		
	Внешние соединения.		159		
	Рекурсивные запросы.		164		
	Задачи.		167		
	Задача 5.1.		167		
	Задача 5.2.		170		
	Задача 5.3.		170		
	Задача 5.4.		171		
	Задача 5.5.		171		
	Глава 6. Добавление, удаление и изменение данных в таблицах.		173		
	Добавление новых записей.		173		
	Удаление записей.		176		
	Изменение данных.		178		
	Проверка ссылочной целостности.		182		
	Глава 7. Создание и модификация таблиц.		185		
	Создание таблиц.		185		
	Ограничения для столбцов.		187		
	Ограничения для таблиц.		190		
	Внешние ключи.		192		
	Удаление таблиц.		195		
	Модификация таблиц.		196		
	Представления.		200		
	Что такое представление.		200		
	Создание представлений.		203		
	Изменение данных в представлениях.		206		
	Задачи.		207		
	Задача 7.1.		207		
	Задача 7.2.		208		
	Задача 7.3		208		
	Задача 7.4.		208		
	Глава 8. Транзакции.		209		
	Как устроена транзакция.		210		
	Определение параметров транзакции.		212		
	Уровни изоляции транзакций.		213		
	Неподтвержденное чтение.		213		
	Подтвержденное чтение.		214		
	Повторяющееся чтение.		214		
	Последовательное выполнение.		215		
	Субтранзакции.		215		
	Ограничения в транзакциях.		216		
	Глава 9. Курсоры и применение SQL в приложениях.		221		
	Объявление курсора.		224		
	Чувствительность.		224		
	Перемещаемость.		225		
	Выражение запроса.		226		
	Сортировка.		226		
	Разрешение обновления.		227		
	Открытие и закрытие курсора.		228		
	Работа с отдельными записями.		229		
	SQL в приложениях.		232		
	Глава 10. Постоянно хранимые модули.		237		
	Составные команды.		238		
	Атомарность.		239		
	Переменные.		240		
	Оглавление.		VII		
	Обработка состояния.		241		
	Операторы условного перехода.		244		
	Оператор IF.		244		
	Оператор CASE... END CASE.		245		
	Операторы цикла.		247		
	Оператор LOOP...END LOOP.		247		
	Оператор WHILE... DO ... END WHILE.		248		
	Оператор REPEAT... UNTIL ... END REPEATE.		249		
	Оператор FOR ... DO ... END FOR.		249		
	Оператор ITERATE.		251		
	Хранимые процедуры и функции.		252		
	Хранимые модули.		255		
	Глава 11. Управление правами доступа.		257		
	Пользователи.		257		
	Администратор базы данных.		258		
	Владелец объектов базы данных.		258		
	Другие пользователи.		259		
	Создание пользователей.		259		
	Предоставление привилегий.		260		
	Роли и группы.		262		
	Право просмотра данных.		263		
	Право изменять данные.		263		
	Право удалять записи.		264		
	Право на использование ссылок.		264		
	Право на домены.		265		
	Право предоставлять права.		266		
	Отмена привилегий.		267		
	Приложение. Зарезервированные слова SQL.		271		
	Предметный указатель.		275