- •Введение
- •Глава 1. Основные понятия баз данных
- •1.1. История возникновения баз данных
- •1.2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель базы данных
- •1.2.3. Реляционная модель базы данных
- •1.2.4. Другие модели баз данных (ООСУБД)
- •2.1. История появления и развития SQL
- •Глава 2. SQL
- •2.2. Стандарты SQL
- •2.2.1. Стандарты ANSI/ISO
- •2.2.2. ODBC и консорциум SQL Access Group
- •2.2.3. JDBC и серверы приложений
- •2.3. SQL и переносимость
- •2.4. SQL и сети
- •2.4.1. Централизованная архитектура
- •2.4.2. Архитектура файлового сервера
- •2.4.3. Архитектура “клиент/сервер”
- •2.4.4. Многоуровневая архитектура
- •2.4.5. SQL и мэйнфреймы
- •2.4.7. SQL и UNIX
- •2.4.8. SQL и персональные компьютеры
- •2.4.9. SQL, хранилища данных и интеллектуальные ресурсы предприятия
- •2.4.10. SQL и интернет-приложения
- •2.5. Основы SQL
- •2.5.1. Использование SQL для извлечения информации из таблиц
- •2.5.2. Команда SELECT
- •2.5.3. Создание более сложных предикатов в предложении SELECT
- •2.5.4. Формирование вывода запросов
- •2.5.5. Агрегатные группы
- •2.6. Запросы к нескольким таблицам
- •2.6.1. Подзапросы
- •2.6.2. Использование операторов ANY, ALL и SOME
- •2.6.3. Использование предложения UNION
- •2.6.4. Ввод, удаление и изменение значения поля
- •2.7. DDL (Язык описания данных)
- •2.7.1. Создание таблиц
- •2.7.2. Индексы
- •2.7.3. Изменение структуры таблицы после ее создания
- •2.8. Ограничение данных
- •2.8.1. Ограничение таблиц
- •2.8.2. Установка значений по умолчанию
- •2.9. Поддержка целостности данных
- •2.9.1. Первичные ключи
- •2.9.2. Пользовательские представления
- •2.10. Модификация данных с помощью представлений
- •2.11. Разграничение доступа в базе данных
- •Глава 3. Математические основы реляционных баз данных
- •3.1. Отношения и их схемы
- •3.2. Реляционные операторы
- •3.2.1. Булевы операции
- •3.2.2. Оператор выбора
- •3.2.3. Оператор проекции
- •3.2.4. Оператор соединения
- •3.2.5. Другие операции на отношениях
- •3.2.6. Оператор деления
- •3.2.7. Оператор переименования атрибутов
- •3.2.8. Оператор эквисоединения
- •3.2.9. Расширения для сравнения на доменах
- •3.2.9.1. Расширение выбора
- •3.3. Реляционная алгебра
- •3.3.1. Дополнительные операторы
- •3.3.1.1. Оператор расщепления
- •3.3.1.2. Оператор FACTOR
- •3.4. Функциональные зависимости
- •3.4.1. Определение
- •3.4.2. Аксиомы вывода
- •3.4.3. Применение аксиом вывода
- •3.4.4. Выводы на основе аксиом вывода
- •3.4.6. Направленные ациклические графы вывода
- •3.4.7. Проверка принадлежности к замыканию множества функциональных зависимостей
- •3.5. Покрытия функциональных зависимостей
- •3.5.1. Покрытия и эквивалентность
- •3.5.2. Неизбыточные покрытия
- •3.5.3. Редуцированные покрытия
- •3.5.3.1. Посторонние атрибуты
- •3.5.3.3. Алгоритм построения редуцированного покрытия
- •3.5.3.4. Канонические покрытия
- •3.5.3.5. Структура неизбыточных покрытий
- •3.5.4. Минимальные покрытия
- •3.5.4.1. Прямая определяемость
- •3.5.4.2. Вычисление минимальных покрытий
- •3.5.4.3. Оптимальные покрытия
- •3.5.5. Составные функциональные зависимости
- •3.5.6. Кольцевые покрытия
- •3.6. Многозначные зависимости и зависимости соединения
- •3.6.1. Многозначные зависимости
- •3.6.2. Многозначные и функциональные зависимости
- •3.6.3. Аксиомы вывода для многозначных зависимостей
- •3.6.4. Только многозначные зависимости
- •3.6.5. Функциональные и многозначные зависимости
- •3.6.6. Зависимости соединения
- •3.7. Синтез схем реляционных баз данных
- •3.7.1. Базы данных и их схемы
- •3.7.2. Нормальные формы баз данных
- •3.7.2.1. Первая нормальная форма
- •3.7.2.2. Вторая нормальная форма
- •3.7.2.4. Нормальная форма Бойса - Кодда (НФБК)
- •3.7.2.5. Четвертая нормальная форма
- •3.7.2.3. Третья нормальная форма
- •3.8. Алгоритмы синтеза схем баз данных
- •3.8.1. Нормализация через декомпозицию
- •3.8.2. Недостатки нормализации через декомпозицию
- •3.8.3. Нормализация посредством синтеза
- •Глава 4. Система управления базами данных PostgreSQL
- •4.1. Установка
- •4.2. Запуск и останов сервера PostgreSQL
- •4.2.1. Утилита psql
- •4.2.2. Создание базы данных
- •4.3. Объекты базы данных
- •4.4. Функции и операторы
- •4.4.1. Логические операторы
- •4.4.2. Операторы сравнения
- •4.5. Клиентские приложения PostgreSQL
- •4.5.1. clusterdb
- •4.5.2. createdb
- •4.5.3. createuser
- •4.5.4. dropdb
- •4.5.5. dropuser
- •4.5.6. ecpg
- •4.5.7. pg_basebackup
- •4.5.8. pgbench
- •4.5.9. pg_config
- •4.5.10. pg_dump
- •4.5.11. pg_dumpall
- •4.5.12. pg_isready
- •4.5.13. pg_receivewal
- •4.5.14. pg_restore
- •4.5.15. psql
- •4.5.16. reindexdb
- •4.5.17. vacuumdb
- •4.6. Серверные приложения PostgreSQL
- •4.6.1. initdb
- •4.6.2. pg_archivecleanup
- •4.6.3. pg_checksums
- •4.6.4. pg_controldata
- •4.6.6. pg_resetwal
- •4.6.7. pg_rewind
- •4.6.8. pg_test_fsync
- •4.6.9. pg_test_timing
- •4.6.10. pg_upgrade
- •4.6.11. pg_waldump
- •4.6.12. postgres
- •4.6.13. postmaster
- •4.7. Серверное программирование
- •4.7.1. Расширение SQL
- •4.7.2. Триггеры
- •Заключение
- •Библиографический список
- 158 -
Контрольные вопросы
1.Какую модель данных поддерживает СУБД PostgreSQL?
2.Что такое кластер баз данных PostgreSQL?
3.Как происходит процесс инициализации базы данных в PostgreSQL?
4.Как запустить сервер PostgreSQL?
5.Как проверить, что сервер PostgreSQL запущен?
6.Что такое язык макрокоманд PostgreSQL?
7.Как создать базу данных в PostgreSQL?
8.Перечислите основные объекты базы данных PostgreSQL.
9.Приведите пример предиката сравнения.
Заключение
Внастоящем учебном пособии автор попытался найти наиболее доступные формы изложения достаточно сложного материала, познакомить с объективностью информационных связей между данными и показать необходимость их познания.
Вкаждом из разделов в доступной форме кратко представлен конкретный теоретический материал, даются контрольные вопросы для проверки знаний.
Учебное пособие написано и построено таким образом, чтобы студент самостоятельно мог разобраться в терминах, понятиях, теории вопроса и других нюансах предмета.
Данное учебное пособие поможет студентам овладеть методологией проектирования современных баз данных. Автор надеется, что пособие вызовет у студентов научный интерес и пробудит в них творческий подход к освоению теории реляционных баз данных.
Учебное пособие предназначено главным образом для студентов вузов и лиц, изучающих теорию баз данных. Оно может также оказаться полезным преподавателям, руководителям предприятий и специалистам в области информационных технологий.
Библиографический список
1. Дейт, К. Дж. Введение в системы баз данных / К. Дж. Дейт. – 8- изд. – М.: Вильямс, 2008. – 1328 с.
-159 -
2.Гарсиа-Молина, Г. Системы баз данных: полный курс / Г. Гарсиа-Молина, Дж. Ульман, Дж. Уидом. – М.; СПб.; Киев: Вильямс, 2003.
3.Пушников, А. Ю. Введение в системы управления базами данных. 1999 /А.Ю.Пушников //CITForum.ru: Центр информационных технологий. – URL: http://citforum.ru/database/dblearn/ (дата обращения: 12.12.2011).
4.Кузнецов, С. Д. Основы баз данных / С. Д. Кузнецов. – 2-е изд.
–М.: Бином, 2007. – 484 с.
5.Кузнецов, С.Д. Базы данных: Вводный курс. 2008. / С.Д. Кузнецов. – CITForum.ru: Центр информационных технологий. - URL: http://citforum.ru/ database/ advanced_intro/ (дата обращения: 12.12.2011).
6.Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Коннолли, К. Бегг. – 3-е изд. – М.: Вильямс, 2003. – 1440 с.
7.Марков, А. С. Базы данных: учебник / А. С. Марков, К. Ю. Лисовский. – М.: Финансы и статистика, 2004. – 512 с.
8.Грофф, Дж. Р. SQL: Полный справочник / Дж Р. Грофф, П. Н. Вайнберг, Э. Дж. Оппель. – 3-е изд. – М.: Вильямс, 2011. – 960 с.
9.Кригель, А. SQL. Библия пользователя / А. Кригель, Б. Трухнов. – 2-е изд. – М.: Вильямс, 2010. – 752 с.
10.Кириллов,В.В. Введение в реляционные базы данных / В. В. Кириллов, Г. Ю. Громов. – СПб.: BHV, 2009. – 464 с.
11.Карпова, Т. С. Базы данных: модели, разработка, реализация: учебник / Т. С. Карпова. – СПб.: Питер, 2001. – 304 с.
12.SQL.ru : все про SQL, базы данных, программирование и разработку информационных систем.– URL: http://sql.ru (дата обращения: 12.12.2011).
13.Рогов, Е. В. PostgreSQL 15 изнутри. — М.: ДМК Пресс, 2023.
— 662 с.
14.Лузанов, П. В., Рогов, Е. В., Лёвшин, И. В. Postgres. Первое знакомство. - URL: http://edu.postgrespro.ru/introbook_v5.pdf (дата обращения: 12.12.2022).
15.Моргунов, Е. П. PostgreSQL. Основы языка SQL: учеб. пособие / Е. П. Моргунов; под ред. Е. В. Рогова, П. В. Лузанова. — СПб.: БХВ-Петербург, 2018. — 336 с.: ил.
16.Новиков, Б. А. Основы технологий баз данных: учеб. пособие / Б. А. Новиков, Е. А. Горшкова, Н. Г. Графеева; под ред. Е. В. Рогова. — 2-е изд. — М.: ДМК Пресс, 2020. — 582 с.
-160 -
17.Зафиевский, А. В. Базы данных: учеб. пособие / А. В. Зафиевский, А. А. Короткин, А. Н. Лататуев; Яросл. гос. ун-т им. П. Г. Демидова. – Ярославль : ЯрГУ, 2012. – 164 с.
Оглавление |
|
Введение........................................................................................................ |
3 |
Глава 1. Основные понятия баз данных..................................................... |
3 |
1.1. История возникновения баз данных.............................................. |
4 |
1.2. Модели данных................................................................................ |
7 |
Глава 2. SQL................................................................................................ |
11 |
2.1. История появления и развития SQL............................................. |
11 |
2.2. Стандарты SQL.............................................................................. |
13 |
2.3. SQL и переносимость.................................................................... |
15 |
2.4. SQL и сети...................................................................................... |
17 |
2.5. Основы SQL................................................................................... |
24 |
2.6. Запросы к нескольким таблицам.................................................. |
31 |
2.7. DDL (Язык описания данных)..................................................... |
41 |
2.8. Ограничение данных..................................................................... |
44 |
2.9. Поддержка целостности данных.................................................. |
48 |
2.10. Модификация данных с помощью представлений................... |
54 |
2.11. Разграничение доступа в базе данных....................................... |
57 |
Глава 3. Математические основы реляционных баз данных.................. |
60 |
3.1. Отношения и их схемы.................................................................. |
61 |
3.2. Реляционные операторы................................................................ |
66 |
3.3. Реляционная алгебра..................................................................... |
77 |
3.4. Функциональные зависимости..................................................... |
80 |
3.5. Покрытия функциональных зависимостей................................. |
95 |
3.6. Многозначные зависимости и зависимости соединения......... |
114 |
3.7. Синтез схем реляционных баз данных...................................... |
123 |
3.8. Алгоритмы синтеза схем баз данных......................................... |
134 |
Глава 4. Система управления базами данных PostgreSQL................... |
143 |
4.1. Установка...................................................................................... |
144 |
4.2. Запуск и останов сервера PostgreSQL........................................ |
145 |
4.3. Объекты базы данных................................................................. |
149 |
4.4. Функции и операторы.................................................................. |
149 |
4.5. Клиентские приложения PostgreSQL......................................... |
151 |
4.6. Серверные приложения PostgreSQL.......................................... |
154 |
4.7. Серверное программирование.................................................... |
156 |
Заключение................................................................................................ |
158 |
Библиографический список..................................................................... |
158 |
