- •Оглавление
- •1. Основные понятия информационных систем
- •1.1. История возникновения информационных систем
- •1.2. Современное понятие информационной системы
- •2. Автоматизированные информационные системы
- •2.1. Преимущества автоматизированных информационных систем
- •2.2. Классификация аис
- •2.2.1. Классификация по типу хранимых данных.
- •2.2.2. Классификация по характеру обработки данных.
- •2.2.3. Классификация по степени интеграции данных и автоматизации управления.
- •2.2.4. Классификация по степени распределенности.
- •2.2.5 Классификация аис по другим признакам
- •3. Банки данных
- •3.1. Понятие банка данных
- •3.2. Преимущества банков данных
- •3.3. Предпосылки широкого использования банков данных
- •3.4. Общие требования к банкам данных
- •3.5. Компоненты банка данных
- •3.5.1. Информационная компонента
- •3.5.2. Программные средства банков данных
- •3.5.3. Языковые средства БнД
- •3.5.4. Технические средства банков данных
- •3.5.5. Организационно-методические средства.
- •4. Виды банков данных
- •4.1. Банки документов
- •4.2. Банки знаний
- •4.3. Экспертные системы
- •4.4. Хранилища данных
- •5. Системы управления базами данных (субд)
- •5.1. Назначение и состав субд
- •5.2. Классификация субд
- •5.3. Архитектура субд
- •5.4. Функции субд
- •5.5. Основные распространенные субд
- •6. Основы проектирования баз данных
- •6.1. Основные понятия в теории баз данных
- •6.2. Связи между сущностями
- •6.3. Этапы проектирования базы данных
- •6.3.1. Инфологическое моделирование
- •6.3.2. Даталогическое моделирование
- •6.3.3. Физическое моделирование
- •7. Модели данных
- •7.1. Иерархическая модель данных
- •7.2. Сетевая модель данных
- •7.3. Понятие реляционной модели данных
- •7.3. Постреляционная модель данных
- •7.4. Объектно-ориентированная модель данных
- •7.5. Объектно-реляционная модель данных
- •8. Реляционная модель данных
- •8.1. Понятие «отношения» в реляционной модели данных
- •8.2. Свойства отношений
- •8.3. Требования к реляционным базам данных
- •8.4. Основные математические понятия
- •9. Нормализация баз данных
- •9.1. Первая нормальная форма
- •9.2. Вторая нормальная форма
- •9.3. Третья нормальная форма
- •9.4. Нормальная форма Бойса – Кодда
- •9.5. Многозначные зависимости
- •9.6. Четвертая нормальная форма
- •9.7. Пятая нормальная форма
- •9.8. Принципы выбора нормальной формы для проектируемой базы данных
- •10. Введение в язык запросов sql
- •10.1. Назначение языка sql
- •10.2. Достоинства языка sql
- •10.3. Состав языка sql
- •10.4. Трехзначная логика
- •10.5. Основные типы данных языка sql
- •11. Sql. Некоторые Операторы языка определения данных
- •11.1. Оператор create table
- •11.2. Оператор alter table
- •11.3. Оператор drop table
- •12. Sql. Операторы изменения данных
- •12.1. Оператор insert into
- •12.2. Оператор update
- •12.3. Оператор delete from
- •13. Sql. Выбор информации из базы данных
- •13.1. Общее описание оператора select
- •13.1.1. Назначение оператора select
- •13.1.2. Синтаксическая диаграмма оператора select
- •13.2. Обязательные предложения оператора select
- •13.2.1. Предложение select.
- •13.2.2. Предложение from.
- •13.2.3. Примеры простейших запросов на выборку.
- •13.3. Отбор строк (предложение where)
- •13.3.1. Сравнение
- •13.3.2. Проверка на принадлежность диапазону значений (between)
- •13.3.3. Проверка на членство во множестве (in)
- •13.3.4. Проверка на соответствие шаблону (like)
- •13.3.5. Отслеживание отсутствия значений (null)
- •13.3.6. Составные условия отбора строк
- •13.4. Сортировка результатов запроса (предложение order by)
- •13.5 Примерный порядок выполнения простых однотабличных запросов
- •13.6. Многотабличные запросы
- •13.6.1. Полные имена столбцов.
- •13.6.2. Псевдонимы таблиц.
- •13.6.3. Особенности многотабличных запросов.
- •13.6.4. Примеры многотабличных запросов.
- •13.6.5. Соединение таблиц в предложении from.
- •13.6.6. Примерный порядок выполнения многотабличных запросов
- •13.7. Итоговые запросы на чтение
- •13.7.1. Агрегатные функции.
- •13.7.2. Группировка строк (предложение group by)
- •13.7.3. Отбор групп строк (предложение having)
- •13.7.4. Примерный порядок выполнения итоговых запросов
- •13.8. Вложенные запросы на чтение (подзапросы)
- •13.8.1. Использование вложенных запросов
- •13.8.2. Сравнение с результатом вложенного запроса
- •13.8.3. Проверка на принадлежность результатам вложенного запроса
- •13.8.4. Проверка на существование (exists)
- •13.8.5. Многократное сравнение (any, all)
- •13.9. Объединение результатов нескольких запросов
7.2. Сетевая модель данных
Сетевая модель данных является расширением иерархической модели.
Сетевая модель представляет собой набор записей и связей между ними. В отличие от иерархической модели в сетевой модели запись-потомок может иметь произвольное число записей-предков, т.е. каждая запись может быть связана с любой другой записью, что позволяет создавать схемы любой сложности.
Достоинства сетевой модели: возможность реализации связей типа «многие-ко-многим» без дублирования данных; улучшенные показатели затрат памяти и оперативности.
Недостатки сетевой модели: сложность и жесткость схемы базы данных; сложность для понимания обычным пользователем; слабый контроль целостности связей.
7.3. Понятие реляционной модели данных
Реляционная модель данных предложена сотрудником фирмы IBM Эдгаром Коддом и основывается на понятии «отношение» (relation). Отношение представляет собой множество элементов, называемых кортежами. Наглядной формой представления отношения является двумерная таблица. Подробно реляционная модель данных будет рассмотрена в разделе 8.
Важнейшей особенностью классической реляционной модели является то, что в каждой ячейке таблицы может быть только одно значение.
7.3. Постреляционная модель данных
Постреляционная модель представляет собой расширенную реляционную модель, снимающую ограничение неделимости данных, и допускает многозначные поля, значения которых состоят из подзначений, другими словами, в ячейке таблицы может быть набор значений.
Достоинством постреляционной модели является возможность представления совокупности связанных реляционных таблиц одной постреляционной таблицей. Это обеспечивает высокую наглядность представления информации и повышение эффективности ее обработки.
Недостатком постреляционной модели является сложность решения проблем обеспечения целостности и непротиворечивости хранимых данных.
7.4. Объектно-ориентированная модель данных
Объектно-ориентированная модель данных базируется на основных понятиях и методах, разработанных в объектно-ориентированном программировании и представленных в широко используемых языках программирования, таких, как С++, Java и др.
Принципиальные отличия от реляционной модели: возможность более адекватного отображения предметной области; объекты можно хранить без использования таблиц; можно определять свои типы данных.
7.5. Объектно-реляционная модель данных
Объектно-реляционная модель данных использует базовую реляционную модель, но при этом допускает использование не только простых, но и составных, а также абстрактных типов данных. Таким образом, эта модель сочетает в себе преимущества современных объектно-ориентированных языков программирования с функциями реляционных баз данных. Сегодня практически все известные фирмы используют объектные технологии.
8. Реляционная модель данных
Недостатки иерархической и сетевой моделей привели к появлению новой, реляционной модели данных, созданной Коддом в 1970 году. Реляционная модель была попыткой упростить структуру базы данных.
Реляционная модель данных представляется табличным способом, где каждой сущности соответствует таблица. При этом столбцы таблицы представляют собой атрибуты, а строки таблицы – экземпляры сущности. Например, если в предметной области определена сущность «сотрудник» с атрибутами «ФИО», «Дата рождения», «Отдел», то соответствующая реляционная база данных может выглядеть так, как показано на рисунке 8.1.
Основным преимуществом реляционной модели данных является ее универсальность, т.е. при помощи этой модели можно представить сколь угодно сложные взаимосвязи между объектами предметной области без дублирования данных, как это происходит в иерархической модели.
С другой стороны реляционная модель данных не менее наглядна, чем иерархическая, и значительно более наглядна, чем сетевая, что позволяет существенно сократить затраты на разработку прикладных программ, сопровождение и модернизацию структуры базы данных, по сравнению с сетевой моделью.
Рис. 8.1. Вид реляционной базы данных