- •Введение
- •Глава 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 скрпит, для создания таблиц согласно модели бд "Университет"
- •Литература
2.5.1 Основные понятия модели «сущность-связь»
Моделирование структуры базы с использованием строгих правил и алгоритмов нормализации имеет свои недостатки. Поэтому в реальном проектировании архитектуры БД чаще применяется семантическое моделирование. Такое моделирование представляет собой моделирование структуры данных исходя из смысловой нагрузки на эти данные. При таком моделировании в качестве инструмента используются различные варианты ER моделирования – моделирования сущность-связь. Разработка базы данных основывается на методе проектирования с помощью диаграмм «сущность-связь» (E/R - диаграмм).
ER-диаграмма – это графическое представление предметов и отношений между ними. Ее цель – точно представить на логическом уровне данные, которые необходимо хранить и обрабатывать.
Атрибуты. Атрибуты представляют данные об объектах, которые необходимо хранить. Атрибуты представляются именами существительными, которые описывают характеристики сущностей.
Сущность – это множество экземпляров реальных или абстрактных объектов, обладающих атрибутами или характеристиками. Имя сущности отображает тип объекта (обычно имя существительное).
Связь – это некоторая ассоциация между двумя и более сущностями, которая показывает взаимосвязь между ними. Характеризуется типами связей (1:1, 1:n, n:m). Если экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем, то связь называется идентифицирующей, в противном случае - неидентифицирующей. Связь может дополнительно определяться с помощью указания степени или мощности (количества экземпляров сущности-потомка, которое может существовать для каждого экземпляра сущности-родителя). Могут быть выражены следующие мощности связей:
каждый экземпляр сущности-родителя может иметь ноль, один или более связанных с ним экземпляров сущности-потомка;
каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра сущности-потомка;
каждый экземпляр сущности-родителя должен иметь не более одного связанного с ним экземпляра сущности-потомка;
каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка.
2.5.2 Основные графические обозначения элементов модели
Создание ER модели на примере предметной области «Университет» (упрощенная модель).
Модель предметной области (логического уровня).
Каждой сущности присваивается уникальное имя и номер, разделяемые косой чертой "/" и помещаемые над блоком. Сущности E/1 и E/2 – родительские, сущность E/3 – дочерняя. Результат представлен на рисунке 2.15.
Рисунок 2.15 - Логическая модель БД «Университет»
Таблица 2.5 - Описание сущностей и их атрибутов
Название сущности |
Название атрибута |
Характеристика атрибута |
Disp (описывает понятие "Дисциплина" в предметной области "Университет") |
Cafedra |
Название кафедры, на которой читается дисциплина |
Disp_Name |
Название дисциплины |
|
ID_Cat (FK) |
Ссылка (внешний ключ) на тип дисциплины (на практике это может быть, например, лекция, лабораторная работа и т.д.) |
|
Person (описывает понятие "Человек", который ведет занятия в предметной области "Университет") |
Tab_N |
Табельный номер сотрудника |
Academic_Degree |
Ученая степень сотрудника |
|
FIO |
Фамилия имя отчество сотрудника |
|
Categories (описывает понятие "Категория дисциплины" в предметной области "Университет") |
ID_Cat |
Идентификатор категории |
Cat |
Тип (категория) занятия |
|
Teach (описывает понятие "Учебная нагрузка" в предметной области "Университет") |
Teach_ID |
Ссылка (внешний ключ) по идентификатору на сотрудника |
Start_Of_Work |
Начало работы |
|
ID_Disp |
Ссылка (внешний ключ) на тип (категорию) занятия, включенного в нагрузку |
|
Tab_N |
Ссылка на табельный номер сотрудника |
Атрибуты изображаются в виде списка имен внутри блока сущности. Атрибуты, определяющие первичный ключ, размещаются наверху списка и отделяются от других атрибутов горизонтальной чертой. Идентифицирующая связь между сущностью-родителем и сущностью-потомком изображается сплошной линией. Сущность-потомок в идентифицирующей связи является зависимой от идентификатора сущностью. Пунктирная линия изображает неидентифицирующую связь. Сущность-потомок в неидентифицирующей связи будет независимой от идентификатора. Сущности могут иметь также внешние ключи (Foreign Key), которые могут использоваться в качестве части или целого первичного ключа или неключевого атрибута. Внешний ключ изображается с помощью помещения внутрь блока сущности имен атрибутов, после которых следуют буквы FK в скобках.
Результат преобразования модели из логического уровня в физический уровень моделирования представлен на рисунке 2.16. Из характерных особенностей модели данного уровня следует отметить две важные особенности:
1) модель содержит в себе те же сущности, что были заложены в модель на логическом уровне;
2) каждый атрибут сущности строится на конкретном типе данных, поддерживаемым СУБД.
Рисунок 2.16 - Физическая модель БД «Университет»
По модели "сущность-связь" физического уровня легко перейти к описанию ее структуры на языке SQL конкретной СУБД. Процедура прямого моделирования и проектирования структуры БД называется "forward-engineering". Результатом "forward-engineering" модели БД "Университет" будет SQL скрипт, представленный в приложении А. На практике иногда выполняют обратную процедуру, когда по известному SQL описанию генерируют модель в понятиях методологии "сущность-связь" для ее дальнейшего анализа и развития. Подобные процедуры называются "reverse-engineering" и реализованы почти во всех CASE средствах моделирования, например в ERWin.
