- •Введение
- •Глава 1 информационные системы
- •1.1 Информация как ресурс
- •1.2 Файловые системы
- •1.3 Информационные системы, использующие базы данных
- •1.3.1 Иерархические и сетевые модели данных
- •1.3.2 Реляционные системы управления базами данных
- •1.4 Компоненты информационных систем
- •1.4.1 Технические средства
- •1.4.2 Программное обеспечение
- •1.4.3 Данные
- •1.4.4 Пользователи
- •1.4.5 Организационное обеспечение
- •1.4.6 Отношения между компонентами системы
- •1.5 Основы проектирования информационных систем
- •1.5.1 Жизненный цикл программного обеспечения
- •1.5.2 Модели жизненного цикла по
- •1.5.3 Подходы к проектированию ис
- •1.6 Задания и вопросы для повторения
- •2.2 Подходы к проектированию баз данных
- •2.3 Создание базы данных
- •2.4 Основы концептуального проектирования баз данных
- •Объекты и отношения
- •2.3.2. Атрибуты
- •2.3.3 Ключи
- •2.3.4 Наследование
- •2.3.5 Составные объекты
- •2.3.6 Моделирование концептуальных и физических объектов
- •2.4 Реляционная модель данных
- •2.4.1 Поддержка целостности данных
- •Процесс нормализации таблиц
- •2.4.3 Пример построения нормализованной базы данных
- •2.4.4 Преобразование концептуальной модели в реляционную
- •2.5 Элементы er-моделирования
- •2.5.1 Основные понятия модели «сущность-связь»
- •2.5.2 Основные графические обозначения элементов модели
- •2.6 Заключительный этап проектирования
- •2.7 Сравнение концептуального и реляционного моделирования
- •2.8 Вопросы и задания для повторения
- •2.9 Упражнения и задачи
- •2.10 Проекты и профессиональные вопросы
- •Глава 3 реляционная алгебра и реляционное исчисление
- •3.1 Реляционная алгебра
- •3.1.1 Обзор реляционной алгебры
- •3.1.2 Теоретико-множественные операторы
- •3.1.3 Специальные реляционные операторы
- •3.1.4 Зависимые реляционные операторы
- •3.1.5 Примитивные реляционные операторы
- •3.2 Реляционное исчисление
- •3.2.1 Целевой список и определяющее выражение
- •3.2.2 Квантор существования
- •3.2.3 Квантор всеобщности
- •3.3 Заключение
- •3.4 Вопросы на повторение
- •3.5 Упражнения и задачи
- •Глава 4 управление реляционной базой данных с помощью sql
- •4.1 Элементы Transact-sql
- •Комментарии
- •4.1.2 Алфавит
- •4.1.3 Идентификаторы
- •Выражения
- •4.1.5 Ключевые слова
- •Операторы
- •4.1.7 Логические операторы
- •Типы данных
- •- Функции Transact-sql
- •4.2 Выборка данных из таблиц
- •4.2.1 Структура команды select
- •Результаты выборки
- •Отбор столбцов
- •Select Фамилия, Город from Гостиница.Dbo.Клиент
- •4.2.4 Определение заголовков столбцов
- •Выражения в выборках
- •Отбор записей
- •Порядок вывода данных
- •Котов Кузьма Кузьмич
- •Группировка данных
- •Отбор данных для групп
- •4.2.10 Директива compute
- •Выборка данных из нескольких таблиц
- •Объединение с помощью предложения where
- •Внутреннее объединение
- •4.2.14 Объединение и опция join
- •Оператор union
- •Подзапросы и структурированные запросы
- •Создание таблицы на основе выборки
- •Предложение for browse
- •4.3 Модификация данных
- •Добавление данных
- •Изменение данных
- •Удаление строк
- •Управляющие конструкции
- •Создание таблиц базы данных
- •4.6 Транзакции и блокировки
- •4.6.1 Понятие транзакций и блокировок
- •Управление транзакциями
- •Явные транзакции
- •Автоматические транзакции
- •Неявные транзакции
- •Управление блокировками
- •4.7 Хранимые процедуры
- •4.7.1 Типы хранимых процедур
- •Создание хранимых процедур
- •4.8 Триггеры
- •Создание триггера
- •Ограничения при создании триггеров
- •Использование триггеров
- •Вопросы на повторение
- •4.10 Упражнения и задачи
- •4.11 Проекты и профессиональные вопросы
- •Заключение
- •Приложение а sql скрпит, для создания таблиц согласно модели бд "Университет"
- •Литература
1.3 Информационные системы, использующие базы данных
Информационные системы на основе баз данных позволили преодолеть ограничения файловых систем. Они позволили избавиться от проблем избыточности и слабого контроля данных.
Системы управления базами данных в настоящее время интенсивно развиваются. За несколько десятилетий последовательно появились системы, основанные на трех базовых моделях данных. Модель данных – концептуальный способ структурирования данных. К этим трем моделям относятся: иерархическая, сетевая и реляционная.
1.3.1 Иерархические и сетевые модели данных
Первая информационная система, использующая базы данных, появилась в середине шестидесятых годов и была основана на иерархической модели. Иерархическая модель – модель данных, в которой связи между данными имеют вид иерархий.
На рисунке 1.1 показан пример иерархической модели данных.
Рисунок 1.1 – Структура изделия
Изделие включает в себя детали и сборочные единицы (ДСЕ). Каждая сборочная единица может включать в себя другие ДСЕ.
В иерархической базе данных записи связаны между собой с помощью указателей. Указатель – это физический адрес, обозначающий место хранения записи на диске. Начиная с корневой вершины дерева, с помощью указателей можно определить спецификацию изделия. Однако у такой модели есть некоторые существенные ограничения, поскольку не все отношения можно представить в виде иерархии. Например, предприятие со сборочным характером производства выпускает множество изделий. Детали и сборочные единицы, входящие в них, можно разделить на две группы:
уникальные ДСЕ, входящие только в одно изделие или только в одну сборочную единицу;
ДСЕ общего применения, которые могут входить в разные изделия или другие ДСЕ (например, гайки, винты, шайбы).
В этом случае состав изделий может быть представлен сетевой моделью данных (рисунок 1.2).
Рисунок 1.2 – Пример сетевой модели данных
Сетевые системы управления базами данных появились в конце шестидесятых годов. Как и в иерархических, в сетевых системах управления базами данных для связывания данных использовались указатели.
Примером иерархической СУБД может служить система IMS фирмы IBM, созданная в середине шестидесятых годов. В конце шестидесятых -начале семидесятых были созданы и завоевали рынок несколько сетевых СУБД.
1.3.2 Реляционные системы управления базами данных
Использование указателей было одновременно и сильной и слабой стороной иерархических и сетевых СУБД. Достоинство указателей состоит в том, что они позволяли быстро извлекать данные, связанные определенными отношениями. Недостаток заключался в том, что это отношения должны быть определены до запуска системы. Извлечь данные на основе других отношений было сложно, если вообще возможно.
В 1970 году Е. Кодд (E. Codd) опубликовал статью, в которой он выдвинул идею о том, что данные нужно связывать в соответствии с их внутренними логическими взаимоотношениями, а не физическими указателями. Таким образом, пользователи смогут комбинировать данные из разных источников на основе логических зависимостей между ними. Это открыло новые возможности для информационных систем, поскольку запросы к базам данных перестали быть ограничены физическими указателями.
В своей статье Кодд предложил простую модель данных, согласно которой все данные хранятся в таблицах, состоящих из строк и столбцов. Эти таблицы получили название реляций, а модель данных стала называться соответственно реляционной. Кодд также предложил пользоваться для работы с данными двумя средствами: реляционной алгеброй и реляционным исчислением, которые обеспечивают работу с данными на основе логических характеристик, а не физических указателей.
Еще одна идея Кодда состояла в том, что в реляционных системах баз данных целые файлы могут обрабатываться одной командой, тогда как в ранее существовавших системах за один раз обрабатывалась только одна запись. Это чрезвычайно повысило эффективность программирования.
Публикация работ Кодда в начале семидесятых годов явилась толчком к созданию реляционной системы управления базами данных. Во второй половине семидесятых появились реляционные СУБД, которые поддерживали такие языки, как Structured Query Language (SQL, язык структурированных запросов), Query Language (Quel, язык запросов) и Query-by-Example (QBE, запросы по образцу). С широким распространением персональных компьютеров в восьмидесятые годы появились реляционные СУБД для микрокомпьютеров. Наибольшее распространение в нашей стране получили СУБД семейства xBase (Clipper, dBase, FoxPro).
Введенные новшества существенно расширили возможности СУБД. Сегодня реляционные базы данных рассматриваются как стандарт для современных коммерческих систем для работы с данными. Следует отметить, что файловые, иерархические и сетевые базы данных все еще встречаются на практике, поскольку их применение для решения определенных классов задач оказывается выгодным.
Реляционные СУБД продолжают развиваться, предоставляя пользователю возможность решать все более сложные задачи. Наиболее существенные из таких перемен происходят в области объектно-ориентированных баз данных. Еще одним очень важным направлением является переход к работе с базами данных на технологию клиент/сервер.
