- Артикул:00822389
- Автор: Кириллов В., Громов Г.
- Тираж: 2000 экз.
- Обложка: Твердая обложка
- Город: СПб
- Страниц: 464
- Формат: 70x100/16
- Год: 2012
- Вес: 1310 г
В книге рассматриваются основные понятия баз данных и систем управления ими (СУБД), моделей данных, положенных в основу баз данных и методов проектирования реляционных баз данных. Обсуждаются реляционные операции и основы теории нормализации отношений и приводятся примеры проектирования баз данных. Большое место уделено подробному описанию языка SQL - международного стандарта языка реляционных баз данных. Рассматриваются основные понятия, необходимые для изучения SQL и применения его на практике. Подробно рассмотрено манипулирование данными в интерактивном режиме, затронуты вопросы обеспечения безопасности хранимых данных, средств оптимизации запросов и создания прикладных программ. На прилагаемом к книге компакт-диске содержатся дистрибутивы СУБД OracleXE, SqlDeveloper, учебные базы данных и дополнительные материалы.
Для студентов и начинающих программистов.
Оглавление
Введение
ЧАСТЬ I. ЧТО ТАКОЕ БАЗА ДАННЫХ И СУБД
Глава 1. Зачем нужны базы данных
1.1. Данные и ЭВМ
1.2. Концепция баз данных
1.3. Архитектура СУБД
Глава 2. Инфологическая модель данных "сущность-связь"
2.1. Основные понятия
2.2. Характеристика связей и язык моделирования
2.3. Классификация сущностей
2.4. О первичных и внешних ключах
2.5. Ограничения целостности
2.6. О построении инфологической модели
Глава 3. Реляционный подход
3.1. Реляционная структура данных
3.2. Реляционная база данных
3.3. Манипулирование реляционными данными
3.3.1. Обновление отношений
3.3.2. Реляционные операции
ЧАСТЬ И. ЯЗЫК SQL. ИЗВЛЕЧЕНИЕ ДАННЫХ
Глава 4. Основы SQL
4.1. Стандарты языка SQL
4.2. Почему SQL?
4.3. Таблицы SQL
1.4. Синтаксические конструкции SQL
2.7. Предложения SQL
2.8. Идентификаторы (имена)
2.9. Константы и M/LL-значения
2.10. Операторы
2.11. Зарезервированные и ключевые слова
2.12. Псевдостолбцы, таблица DUAL и еще о словах, которые нежелательно использовать пользователям
1.5. Типы данных SQL
3.4. Символьные
3.5. Двоичные
3.6. Числовые
3.7. Дата/время
3.8. Связь с данными
3.9. Интервальные
3.10. XML
3.11. Данные, специфичные для СУБД Oracle
1.6. Функции SQL
3.3.3. Числовые функции
3.3.4. Символьные функции
3.3.5. Даты и время
3.3.6. Преобразование данных
3.3.7. Различные функции для работы с одиночной строкой
3.3.8. Агрегатные функции
3.3.9. Функции CASE, CAST и DECODE
Глава 5. Запросы с использованием единственной таблицы
4.4. О предложениях SELECT и SUBQUERY
4.5. Выборка без использования фразы WHERE
5.2.1. Простая выборка
5.2.2. Исключение дубликатов
5.2.3. Выборка вычисляемых значений
4.6. Выборка с использованием фразы WHERE
5.3.1. Использование операторов сравнения
5.3.2. Использование BETWEEN
5.3.3. Использование IN 110
5.3.4. Использование LIKE
4.7. Выборка с упорядочением (ORDER BY)
4.8. Агрегирование данных
5.5.1 Агрегатные SQL-функции
5.5.2. Функции без использования фразы GROUP BY
1.7. Фраза GROUP BY
1.8. Использование фразы HAVING
5.6. Иерархические запросы
Глава 6. Запросы с использованием нескольких таблиц
2.13. О средствах одновременной работы с множеством таблиц
3.12. Использование фразы JOIN
2.14. Запросы, использующие соединения
3.3.10. Декартово произведение таблиц
3.3.11. Эквисоединение таблиц
3.3.12. Естественное соединение таблиц
3.3.13. Композиция таблиц
3.3.14. Тета-соединение таблиц
3.3.15. Соединение таблицы со своей копией
3.3.16. Внешние соединения
2.15. Вложенные подзапросы
4.9. Виды вложенных подзапросов
4.10. Простые вложенные подзапросы
4.11. Использование одной и той же таблицы во внешнем и вложенном подзапросе
4.12. Вложенный подзапрос с оператором сравнения, отличным от IN
4.13. Коррелированные вложенные подзапросы
4.14. Запросы, использующие EXISTS
4.15. Функции в подзапросе
2.16. Фразы для работы с наборами: EXCEPT (MINUS), INTERSECT, UNION
2.17. Заключение
ЧАСТЬ III. ЯЗЫК SQL. ИЗМЕНЕНИЕ ДАННЫХ
Глава 7. Организация доступа к базе данных
5.2.4. О системе баз данных
5.3.5. Данные
5.3.6. Аппаратное обеспечение
5.3.7. Программное обеспечение
5.3.8. Пользователи
5.2.5. Защита данных
5.2.6. Средства языка SQL
7.3.1. Предложение GRANT
7.3.2. Предложение REVOKE
1.9. Синонимы
1.10. Представления
1.11. Разграничение доступа к записям таблицы
Глава 8. Внесение изменений в базу данных
2.18. Особенности и синтаксис предложений модификации
2.19. Предложение DELETE
3.13. Удаление единственной записи
3.14. Удаление множества записей
3.15. Удаление с вложенным подзапросом
2.20. Предложение INSERT
3.3.17. Вставка единственной записи в таблицу
3.3.18. Вставка множества записей
2.21. Предложение UPDATE
4.16. Обновление единственной записи
4.17. Обновление множества записей
4.18. Обновление с подзапросом
4.19. Обновление нескольких таблиц
Глава 9. Транзакции и параллелизм
5.2.7. Что такое транзакция
5.2.8. Предложения COMMIT, ROLLBACK и SAVEPOINT
5.2.9. Многопользовательский режим работы
5.3.9. Параллелизм транзакций
5.3.10. Блокировки
ЧАСТЬ IV. ОСНОВЫ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ
Глава 10. Введение в проектирование
7.3.3. Цели проектирования
7.3.4. Универсальное отношение
7.3.5. Почему проект базы данных может быть плохим?
7.3.6. Процедура проектирования
10.4.1. Этапы проектирования базы данных
Глава 11. Нормализация
11.1.0 нормализации, функциональных и многозначных зависимостях
11.2. Нормальные формы
11.3. Процедура нормализации
11.4. Построение даталогической (табличной) модели
11.5. Различные советы и рекомендации
Глава 12. Пример проектирования базы данных "LIBRARY"
1.12. Назначение и предметная область
1.13. Построение инфологической модели
1.14. Построение даталогической модели
ЧАСТЬ V. ЯЗЫК SQL. СОЗДАНИЕ БАЗЫ ДАННЫХ
Глава 13. Создание базы данных и ее основных объектов 241
13.1.0 языке определения данных (DDL)
2.22. Создание базы данных и схем
2.23. Создание таблиц
3.16. Описание таблицы
3.17. Ограничения целостности
3.18. Комментарии к описанию таблицы
2.24. Изменение таблиц
2.25. Удаление таблиц
2.26. Создание последовательностей
Глава 14. Системный каталог (словарь данных)
3.3.19. Что такое системный каталог
3.3.20. Словарь данных Oracle
4.20. Структура словаря данных
4.21. Краткое содержимое словаря данных
4.22. Примеры использования словаря данПых
Глава 15. Оптимизация SQL-запросов
5.2.10. Введение
5.2.11. Использование индексов
5.3.11. Что такое индексы
5.3.12. Создание индексов
5.3.13. Необходимость использования индексов
ЧАСТЬ VI. СОЗДАНИЕ ПРИЛОЖЕНИЙ НА SQL
Глава 16. Программирование на SQL
7.3.7. Введение
7.3.8. Статический SQL
7.3.9. Динамический SQL
7.3.10. Интерфейс программирования приложений
Глава 17. Процедурные расширения SQL
1.15. Введение
1.16. Основы PL/SQL
2.27. Анонимный блок PL/SQL
1.17. Переменные, константы, записи PL/SQL
1.18. Команды управления ходом выполнения программы
3.19. Команды условного перехода (IF...)
3.20. Метки и оператор безусловного перехода (GOTO)
3.21. Операторы цикла (LOOP, WHILE...LOOP и FOR...LOOP)
3.22. Операторы EXIT, EXIT-WHEN и NULL
1.19. SQL-предложения в PL/SQL
3.3.21. SELECT...INTO
3.3.22. INSERT, UPDATE и DELET
1.20. Обработка ошибок
4.23. Встроенные исключительные ситуации
4.24. Исключительные ситуации, определяемые пользователем
4.25. Обработчик OTHERS
1.21. Курсоры
5.2.12. Связь объектов PL/SQL с таблицами базы данных
5.2.13. Явный курсор
5.2.14. Неявный курсор (SQL-курсор)
1.22. Динамический SQL в PL/SQL
Глава 18. Хранимые процедуры
5.3.14. Введение
5.3.15. Хранимые процедуры
7.3.11. Создание описания процедуры
7.3.12. Удаление описания процедуры
7.3.13. Перекомпиляция процедуры
7.3.14. Пример создания процедуры
5.3.16. Функции
11.6. Создание описания функции
11.7. Удаление описания функции
11.8. Перекомпиляция функции
11.9. Пример создания функции
5.3.17. Триггеры
18.4.1. Создание описания триггера
18.4.2. Изменение описания триггера
18.4.3. Удаление описания триггера
18.4.4. Использование триггера
18.4.5. Изменяющиеся (мутирующие) таблицы
1.23. Пакеты (модули)
2.28. Модули
2.29. Создание описания пакета
2.30. Изменение описания
2.31. Удаление пакета
2.32. Примеры пакетов
1.24. Встроенные пакеты PL/SQL
ЧАСТЬ VII. ПРИМЕР СОЗДАНИЯ БАЗЫ ДАННЫХ "UCHEB"
Глава 19. Описание предметной области "Учебные планы"
3.23. О Государственных образовательных стандартах (ГОС)
3.24. Основные образовательные программы (ООП)
3.3.23. Базовые учебные планы
3.3.24. Индивидуальные учебные планы и планы ускоренного обучения
3.3.25. Рабочие учебные планы
3.3.26. Дисциплины по выбору студента и индивидуальные рабочие планы
3.3.27. Студенческие потоки и группы
3.3.28. Еще о рабочих учебных планах
Глава 20. Построение инфологичеекой модели "Учебные планы"
4.26. Первая попытка проектирования
4.27. Вторая попытка проектирования
5.2.15. Шапки планов
5.2.16. Дисциплины планов
4.28. Инфологическая модель "Учебные планы"
Глава 21. "Итоговая успеваемость"
5.3.18. Описание предметной'области "Итоговая успеваемость"
5.3.19. Инфологическая модель "Итоговая успеваемость"
5.3.20. Объединенная инфологическая модель "UCHEB"
Глава 22. Работаем с SQL
7.3.15. Запросы
7.3.16. Ответы к некоторым запросам
Глава 23. Некоторые приложения базы данных "UCHEB"
1.25. Функции Человек и Decline
1.26. Пакет для просмотра успеваемости
Литература
ПРИЛОЖЕНИЯ
Приложение А. Инструментальные средства разработки и выполнения
А1. Oracle Database Express Edition
А1.1. Общие сведения
А1.2. Состав Oracle Database ХЕ
А1.3. Требования к программному обеспечению
А1.4. Взаимодействие с межсетевыми экранами
А1.5. Требования к надстройкам Oracle Database для платформы .NET
А1.6. Требования к Web-браузеру
А2. Установка сервера Oracle Database ХЕ
АЗ. Русификация Oracle Database ХЕ и создание баз данных "COOK"
и "UCHEB"
А4. SqlDeveloper
А4.1. Введение
А4.2. Краткое руководство по установке и настройке
Приложение Б. Описание содержимого компакт-диска
Предметный указатель