
- •1 Основные понятия и определения
- •1.1Информационные системы и банки данных
- •1.2Назначение и основные компоненты банка данных
- •1.3Трех уровневая архитектура абстракций базы данных.
- •1.4Физическая и логическая независимость данных
- •1.5Администратор базы данных
- •1.6Системы управления базами данных
- •1.7Схема обмена данными при работе с базой данных
- •1.8Локальные информационные системы
- •1.9Информационные системы в сетях
- •2Модели данных концептуального уровня
- •2.1Иерархическая модель данных
- •2.2Сетевая модель
- •2.3Реляционная модель
- •2.4Постреляционная модель
- •2.5Многомерная модель
- •2.6Объектно-ориентированная модель
- •3Физические модели баз данных
- •3.1Файловые структуры, используемые в базах данных
- •3.2 Хешированные файлы
- •3.2.1Стратегия разрешения коллизий с областью переполнения
- •3.2.2Организация стратегии свободного замещения
- •3.3Индексные файлы
- •3.3.1Файлы с плотным индексом, или индексно-прямые файлы
- •3.3.2Файлы с неплотным индексом, или индексно-последовательные файлы
- •3.3.3Организация индексов в виде b-tree (в-деревьев)
- •3.4Моделирование отношений «один-ко-многим» на файловых структурах
- •3.5Инвертированные списки
- •3.6Модели бесфайловой организации данных
- •4Реляционная модель данных
- •4.1Основные определения
- •4.2Соглашения об отношениях в реляционных системах
- •4.3Классы отношений
- •4.3.1Классы отношений с точки зрения способов создания и хранения
- •4.3.2Классификация отношений с точки зрения их содержания
- •4.4Операции реляционной алгебры
- •4.4.1Основные понятия
- •4.4.2Базовые теоретико-множественные операции
- •4.4.3Специальные операции реляционной алгебры
- •4.4.4Связи между отношениями (таблицами)
- •4.5Реляционное исчисление
- •4.6Язык запросов по образцу qbe
- •4.7Структурированный язык запросов sql
- •4.7.1История развития sql
- •4.7.2Общая характеристика языка
- •4.7.3Структура sql
- •4.7.4Оператор выбора select
- •4.7.5Применение агрегатных функций и группировки
- •4.7.6Раздел order by и ключевое слово top
- •4.7.7Вложенные запросы
- •4.7.8Внутренние и внешние объединения
- •4.7.9Перекрестные запросы
- •4.7.10Операторы манипулирования данными
- •4.7.11Запросы на создание таблиц
- •4.7.12Использование языка определения данных
- •4.8Правила Кодда (требования к реляционным бд)
- •5Проектирование баз данных
- •5.1Этапы проектирования бд
- •5.2Проблемы проектирования реляционных баз данных
- •5.3Нормализация отношений
- •5.4Метод сущность-связь
- •5.5Средства автоматизации проектирования
- •5.5.1Основные определения
- •5.5.2Модели жизненного цикла
- •5.5.3Модели структурного проектирования
- •5.5.4Объектно-ориентированные модели
- •5.5.5 Классификация case-средств
- •6Защита информации в базах данных
- •6.1Общие подходы к обеспечению безопасности данных
- •6.2Назначение и проверка полномочий, проверка подлинности
- •6.3Средства защиты базы данных
- •7Базы данных в сетях
- •7.1Организация базы данных в локальной сети
- •7.2Модели архитектуры клиент-сервер
- •7.3Управление распределенными данными
- •8История развития баз данных
ВВЕДЕНИЕ 4
1 Основные понятия и определения 6
1.1 Информационные системы и банки данных 6
1.2 Назначение и основные компоненты банка данных 7
1.3 Трех уровневая архитектура абстракций базы данных. 11
1.4 Физическая и логическая независимость данных 15
1.5 Администратор базы данных 17
1.6 Системы управления базами данных 20
1.7 Схема обмена данными при работе с базой данных 30
1.8 Локальные информационные системы 31
1.9 Информационные системы в сетях 35
2 Модели данных концептуального уровня 39
2.1 Иерархическая модель данных 39
2.2 Сетевая модель 42
2.3 Реляционная модель 44
2.4 Постреляционная модель 45
2.5 Многомерная модель 48
2.6 Объектно-ориентированная модель 54
3 Физические модели баз данных 59
3.1 Файловые структуры, используемые в базах данных 59
3.2 Хешированные файлы 61
3.2.1 Стратегия разрешения коллизий с областью переполнения 62
3.2.2 Организация стратегии свободного замещения 64
3.3 Индексные файлы 66
3.3.1 Файлы с плотным индексом, или индексно-прямые файлы 66
3.3.2 Файлы с неплотным индексом, или индексно-последовательные файлы 71
3.3.3 Организация индексов в виде B-tree (В-деревьев) 74
3.4 Моделирование отношений «один-ко-многим» на файловых структурах 76
3.5 Инвертированные списки 78
3.6 Модели бесфайловой организации данных 81
4 Реляционная модель данных 87
4.1 Основные определения 87
4.2 Соглашения об отношениях в реляционных системах 91
4.3 Классы отношений 93
4.3.1 Классы отношений с точки зрения способов создания и хранения 93
4.3.2 Классификация отношений с точки зрения их содержания 94
4.4 Операции реляционной алгебры 96
4.4.1 Основные понятия 96
4.4.2 Базовые теоретико-множественные операции 98
4.4.3 Специальные операции реляционной алгебры 101
4.4.4 Связи между отношениями (таблицами) 106
4.5 Реляционное исчисление 108
4.6 Язык запросов по образцу QBE 113
4.7 Структурированный язык запросов SQL 115
4.7.1 История развития SQL 115
4.7.2 Общая характеристика языка 116
4.7.3 Структура SQL 118
4.7.4 Оператор выбора SELECT 120
4.7.5 Применение агрегатных функций и группировки 129
4.7.6 Раздел ORDER BY и ключевое слово TOP 133
4.7.7 Вложенные запросы 136
4.7.8 Внутренние и внешние объединения 139
4.7.9 Перекрестные запросы 144
4.7.10 Операторы манипулирования данными 146
4.7.11 Запросы на создание таблиц 150
4.7.12 Использование языка определения данных 151
4.8 Правила Кодда (требования к реляционным БД) 159
5 Проектирование баз данных 162
5.1 Этапы проектирования БД 162
5.2 Проблемы проектирования реляционных баз данных 165
5.3 Нормализация отношений 170
5.4 Метод сущность-связь 183
5.5 Средства автоматизации проектирования 194
5.5.1 Основные определения 194
5.5.2 Модели жизненного цикла 196
5.5.3 Модели структурного проектирования 197
5.5.4 Объектно-ориентированные модели 203
5.5.5 Классификация CASE-средств 207
6 Защита информации в базах данных 210
6.1 Общие подходы к обеспечению безопасности данных 210
6.2 Назначение и проверка полномочий, проверка подлинности 212
6.3 Средства защиты базы данных 214
7 Базы данных в сетях 218
7.1 Организация базы данных в локальной сети 219
7.2 Модели архитектуры клиент-сервер 220
7.3 Управление распределенными данными 225
8 История развития баз данных 233
Заключение 239
Библиографический список 246
ВВЕДЕНИЕ
Современный мир информационных технологий трудно представить себе без использования баз данных. Практически все системы в той или иной степени связаны с функциями долговременного хранения и обработки информации. Фактически использование информации становится фактором, определяющим эффективность любой сферы деятельности. Увеличились информационные потоки и повысились требования к скорости обработки данных, обработка информации требует применения наиболее перспективных компьютерных технологий. Освоение теоретических основ построения баз данных, перспективных моделей данных, различных средств проектирования баз данных, особенностей физической организации баз данных, средств защиты баз данных и обеспечения целостности и сохранности данных является целью данного пособия.
В первой главе учебного пособия изложены базовые понятия теории баз данных, назначение и основные компоненты системы баз данных, уровни представления баз данных, обзор современных систем управления базами данных.
Вторая глава содержит описание основных моделей данных. Рассматриваются классические модели данных и современные модели данных, которые стали активно внедряться в практику использования баз данных.
В третьей главе описывается физическая организация базы данных, файловые структуры, используемые для хранения информации в базах данных, модели бесфайловой физической организации данных.
В четвертой главе приведены теоретические основы построения реляционной модели данных, описание операций реляционной алгебры и стандартного языка работы с базами данных SQL.
Пятая глава посвящена вопросам проектирования баз данных с использованием метода нормальных форм и метода сущность-связь, в том числе с использованием средств автоматизации проектирования.
В шестой главе рассматриваются вопросы защиты информации в базах данных.
В седьмой главе кратко излагаются принципы использования баз данных в локальных сетях.
Учебное пособие полностью соответствует требованиям стандарта по дисциплине «Базы данных» для всех вычислительных специальностей.
1 Основные понятия и определения
1.1Информационные системы и банки данных
Использование автоматизированных систем обработки информации становится неотъемлемой составляющей деловой деятельности современного человека и функционирования преуспевающей организации. В связи с тем, что объемы информации, подлежащей хранению и обработке, растут высокими темпами, производители программного обеспечения вынуждены разрабатывать новые гибкие подходы к управлению большими объемами данных. В таких условиях большую актуальность приобретает освоение принципов построения современных информационных систем и эффективного применения соответствующих технологий и программных продуктов.
В основе решения многих задач лежит обработка информации. Для облегчения обработки информации создаются информационные системы (ИС). Информационная система - по законодательству РФ - организационно упорядоченная совокупность документов (массивов документов) и информационных технологий, в том числе с использованием средств вычислительной техники и связи, реализующих информационные процессы.
Информационные системы предназначены для хранения, обработки, поиска, распространения, передачи и предоставления информации.
Автоматизированная информационная система - совокупность программных и аппаратных средств, предназначенных для хранения и/или управления данными и информацией и производства вычислений.
Большинство существующих ИС являются автоматизированными, поэтому для краткости просто будем называть их ИС.
По области применения ИС разделяют на системы, используемые в производстве, образовании, здравоохранении, науке, военном деле, социальной сфере, торговле и других отраслях.
По целевому назначению ИС можно условно разделить на следующие основные категории: управляющие, информационно-справочные, поддержки принятия решений.
Более узко ИС трактуют как совокупность аппаратно-программных средств, предназначенных для решения некоторой прикладной задачи. В организации, например, могут существовать информационные системы, выполняющие следующие задачи: учет кадров, учет материально-технических средств, расчет с поставщиками и заказчиками, бухгалтерский учет и т.д.
Данные в информационных системах могут быть организованны по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимым от прикладных программ. Такая совокупность связанных данных называется базой данных. База данных - по законодательству РФ - объективная форма представления и организации совокупности данных, систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ. База данных является информационной моделью предметной области.
Банк данных является разновидностью ИС, в которой хранение и накопление обрабатываемой информации, организованной в одну или несколько баз данных. По законодательству РФ Банк данных это совокупность баз данных, а также программные, языковые и другие средства, предназначенные для централизованного накопления данных и их использования с помощью электронных вычислительных машин. В некоторых литературных источниках банк данных называют системой баз данных [1].