- •Базы данных
- •Введение
- •Часть 1. Проектирование баз данных
- •1.1. Некоторые понятия и определения
- •1. 2. Модели данных
- •1.2.1. Иерархическая модель данных
- •1.2.2. Сетевая модель данных
- •1.2.3. Реляционная модель данных Основные определения
- •Типы связей между отношениями
- •1.3. Классификация баз данных
- •1.4. Цели проектирования баз данных
- •1.5. Проектирование баз данных с использованием универсального отношения
- •1.5.1. Универсальное отношение
- •1.5.2. Проблемы, вызываемые использованием универсального отношения
- •Проблема вставки
- •Проблемы обновления
- •Проблемы удаления
- •1.5.3. Нормальная форма Бойса -Кодда
- •Функциональные зависимости
- •Возможный ключ и детерминант
- •Общий подход к декомпозиции
- •Анализ исходных аномалий
- •1.5.4. Возможные потери фз при декомпозиции
- •1.5.5. Избыточные функциональные зависимости
- •Приемы удаления избыточных фз
- •Минимальное покрытие
- •Модернизированный алгоритм проектирования бд
- •1.6. Метод er - проектирования
- •1.6.1. Сущности и связи
- •1.6.2. Степень связи
- •1.6.3. Переход от диаграмм er – типа к отношениям
- •Предварительные отношения для бинарных связей степени 1:1
- •Предварительные отношения для бинарных связей степени 1:n.
- •Предварительные отношения для бинарных связей степени n:m
- •1.6.4. Дополнительные конструкции, используемые в er - методе
- •Необходимость связей более высокого порядка
- •Предварительные отношения для трехсторонних связей
- •Использование ролей
- •1.6.5. Последовательность проектирования бд при использовании er- метода
- •1.6.6. Проверка отношений на завершающейся фазе проектирования
- •1.7. Другие нормальные формы
- •1.8. Контрольные вопросы
- •Часть 2. Специальные аспекты работы с базами данных
- •2.1. Защита данных в базе
- •2.2.1. Общие вопросы защиты данных
- •2.2.2. Реализация защиты данных в различных системах
- •Управление доступом в sql
- •Реализация системы защиты в ms sql Server
- •2.2. Обеспечение целостности данных
- •2.3. Организация параллельных процессов обработки данных
- •2.4. Восстановление бд
- •2.4.1. Уровни восстановления.
- •2.4.2. Восстановление и логический элемент работы
- •Требования к лэр
- •2.4.3. Промежуточное восстановление
- •2.4.4. Длительное восстановление
- •2.5. Математический аппарат, используемый при работе с реляционной базой данных
- •2.5.1. Теоретико-множественные операции реляционной алгебры
- •2.5.2. Специальные операции реляционной алгебры
- •2.6. Контрольные вопросы
- •Часть 3. Разработка приложений для работы с базами данных
- •3.1. Краткий обзор субд
- •3.2. Субд Access
- •3.2.1. Вводные замечания
- •3.2.2. Создание базы данных
- •3.2.3. Создание и работа с таблицами
- •3.2.4. Работа с запросами
- •3.2.5. Создание форм
- •3.2.6. Отчеты в Access
- •3.2.7. Макросы в Access
- •Преобразование макросов в программы на Visual Basic
- •3.2.8. Работа с внешними данными
- •3.3. Программирование в Access
- •3.3.1. Вводные замечания
- •3.3.2. Объявление переменных
- •3.3.3. Константы
- •3.3.4. Тип данных Variant
- •3.3.5. Пользовательские типы данных
- •3.3.5.Операторы, команды и выражения в vba
- •3.3.7. Процедуры vba
- •3.3.8. Управляющие структуры в vba
- •Работа с управляющими структурами
- •3.3.9. Объекты в Access
- •3.3.10. Классы в Access
- •3.3.11. Работа с ошибками в vba
- •3.4.Работа в ms sql –Server
- •3.4.1. Основные количественные показатели системы sql-сервер
- •3.4.2. Создание баз данных
- •3.4.3. Создание таблицы
- •3.4.4. Извлечение данных
- •3.4.5. Добавление данных
- •3.4.6. Изменение данных
- •3.4.7. Удаление данных
- •3.5. Контрольные вопросы
- •Цитированная литература
- •Оглавление
- •Часть 1. Проектирование баз данных 3
- •Часть 2. Специальные аспекты работы с базами данных 71
- •Часть 3. Разработка приложений для работы с базами данных 114
1.6.1. Сущности и связи
Представление о методе можно получить с помощью специально подобранного примера. Предположим, что проектируется БД, предназначенная для хранения информации о преподавателях института и о тех дисциплинах, которые они читают. Двумя главными объектами, или сущностями, представляющими в данном случае интерес, являются ПРЕПОДАВАТЕЛЬ и ДИСЦИПЛИНА. Эти две сущности соотносятся с помощью связи ЧИТАЕТ, что позволяет нам сказать ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА.
Это утверждение может быть представлено графически.
ПРЕПОДАВАТЕЛЬ ЧИТАЕТ ДИСЦИПЛИНА
П1 Д1
П2 Д2
П3 Д3
П4 Д4
Рис. 15. Пример диаграммы ЕR - экземпляров.
Графическое изображение, приведенное на рис.15, называют диаграммой ЕR – экземпляров. Она показывают, какую в точности дисциплину читает каждый преподаватель. В этом примере каждый преподаватель идентифицируется номером преподавателя (нп), и каждая дисциплина - номером дисциплины (нд).
Рис.16. называется диаграммой ЕR - типа и содержит ту же общую информацию, которая содержится на рис.15.
1 1
Преподаватель Дисциплина Читает
нп…. нд….
Рис.16. Пример диаграммы ЕR - типа
В то же время, хотя это может показаться неочевидным на данный момент, рис. 16 содержит всю информацию, необходимую для генерации отношений первого уровня проектирования БД.
Остановимся на некоторых терминах, используемых в дальнейшем.
Сущность. Сущность определяется как некоторый объект, представляющий интерес для пользователя. Этот объект должен иметь экземпляры, отличающиеся друг от друга и допускающие однозначную идентификацию.
Единственный определяющий признак, который может помочь в нахождении сущностей, состоит в том, что сущность - это как правило существительное. Примерами сущностей могут служить машины, банковские счета, институты, школы, служащие, контракты и т.д. На рис. 15 и 16 сущностями являются ДИСЦИПЛИНА и ПРЕПОДАВАТЕЛЬ, в то время как отдельные экземпляры каждой сущности идентифицируются с помощью номера - дисциплины и номера - преподавателя соответственно.
Связь. Связь представляет собой соединение между двумя или более сущностями. При поиске связей в основном следует полагаться на то обстоятельство, что связь обычно выражается глаголом. Типичными примерами связей между двумя сущностями являются: служащие РАБОТАЮТ в отделах, студенты ИЗУЧАЮТ учебные дисциплины, рабочие ОБСЛУЖИВАЮТ механизмы и т. д.
Тесно связано с предыдущими третье важное понятие, обсуждавшиеся ранее, а именно атрибут. Атрибут, есть свойство сущности. Например, атрибутами, могущими быть свойствами сущности ДИСЦИПЛИНА, являются: номер дисциплины, семестр в котором она преподавалась, предыдущая дисциплина, на которую она базируется, число часов на дисциплину и т.д. Атрибутами сущности ПРЕПОДАВАТЕЛЬ являются: номер - преподавателя, ученая степень, ученое звание, стаж работы и т. д.
Возвращаясь к рис. 15 и 16 отметим, что на диаграмме ER - экземпляров названия всех сущностей помещены над экземплярами этих сущностей и в них использованы прописные буквы, в то время как каждый экземпляр сущности идентифицируется значениями атрибута. Так ДИСЦИПЛИНА является сущностью, а Д1 - конкретным экземпляром сущности. Связь также именуется, и ее название, составленное из прописных букв, размещается над экземплярами связи, при этом экземпляр каждой отдельной связи специфицируется линией между теми двумя экземплярами сущностей, которые эта связь соединяет. Экземпляр связи между Д2 и П3, например, означает, что преподаватель с номером П3 читает дисциплину с номером Д2.
В некоторых случаях может понадобиться набор атрибутов для идентификации каждого экземпляра сущности. Атрибут, или набор атрибутов, используемый для идентификации экземпляра сущности, называется ключом сущности. Каждый экземпляр связи однозначно определяется набором ключей сущностей, соединяемых этой связью.
При ER-методе на начальном этапе проектирования естественными требуемыми атрибутами являются те, которые необходимы для формирования ключей сущностей. Другие атрибуты вместе с определенными для них ФЗ потребуются на более поздних этапах проектирования.
На диаграммах ER - типа (рис. 16) сущности представляются в виде прямоугольников, а связи в виде ромбов. Ниже каждой сущности размещается атрибут, или набор атрибутов, являющийся ключом сущности для данной сущности. Значение цифры "1" на диаграмме и маленьких сплошных кружков будут обсуждены далее.
В большинстве случаев для определения набора отношений проектируемой БД используются диаграммы ER - типа, а не диаграммы экземпляров.