- •Введение в базы данных
- •Основные понятия и определения
- •Традиционные файловые системы
- •Системы с базами данных
- •История развития субд
- •Обзор современных субд
- •Основные термины:
- •Архитектура баз данных
- •Уровни представления баз данных
- •Схемы и подсхемы бд
- •Независимость от данных
- •Модели данных
- •Архитектура баз данных и субд
- •Функции и компоненты субд
- •Понятие целостности данных
- •Компоненты субд
- •Многопользовательские субд и языки баз данных
- •Архитектура многопользовательских субд
- •Языки баз данных
- •Реляционные базы данных
- •Используемая терминология
- •Структуры данных
- •Свойства отношений
- •Реляционные ключи
- •Манипулирование данными
- •5.5.1. Специальные реляционные операции
- •5.5.2. Традиционные операции над множествами
- •Пример манипулирования данными
- •Реляционная алгебра
- •Реляционное исчисление
- •Нормализация отношений в реляционных базах данных
- •Нормализация отношений
- •Аномалии вставки
- •Аномалии удаления
- •Аномалии обновления
- •Функциональные зависимости
- •Процесс нормализации
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Проектирование реляционных баз данных
- •Подходы к проектированию бд
- •Понятия er- модели
- •Использование case-инструментов
- •Методология проектирования бд с помощью Case-инструментов silverrun
- •8.1.1. Использование silverrun-bpm
- •8.1.2. Контекстная диаграмма
- •Детализирующая диаграмма
- •8.1.4. Порядок работы с silverrun-врм
- •8.1.5. Использование silverrun-erx
- •8.1.6. Использование silverrun-rdm
- •Реляционные базы данных и субд InterBase
- •Субд InterBase, ее основные возможности и область применения
- •Типы данных
- •9.2.1. Целочисленные типы
- •9.2.2. Вещественные типы данных
- •Типы данных с фиксированной точкой
- •9.2.4. Типы данных для хранения текста
- •Типы для хранения даты и времени
- •Тип данных blob
- •Массивы
- •Язык реляционных баз данных sql
- •Sql и его история
- •Объекты реляционной базы данных
- •Операторы манипулирования данными
- •Агрегирование данных при выборке
- •Представления
- •Новые встроенные функции
- •Диалект базы данных
- •Типы с фиксированной точкой
- •Принципы физической организации баз данных
- •Безопасность данных и субд
- •Безопасность в операционной среде
- •Защита сервера
- •Безопасность на уровне базы данных
- •Файл конфигурации Firebird
- •Объектные субд
- •Сильные стороны реляционной модели субд
- •Недостатки реляционных субд
- •Недостатки оосубд
- •Заключение
- •Список литературы
Четвертая нормальная форма (4нф)
4НФ связана с понятием многозначной зависимости, которая так же, как и функциональная зависимость, может приводить к аномалиям.
Таблица 19 Отношение Отделение
Отделение Сотрудники Клиенты
BrNo |
SName |
CName |
B3 B3 B3 B3 |
Ann David Ann David |
Alina Alina Mike Mike |
В данном отношении (табл.19) существует многозначная зависимость, так как в нем содержится две независимые связи 1: М.
В случае многозначной зависимости, существующей между атрибутами А, В и С некоторого отношения, для каждого значения А имеется набор значений атрибута В и набор значений атрибута С. Однако, входящие в эти наборы значения атрибутов В и С не зависят друг от друга.
Branch_No → SName
Branch_No → CName
Таблица 20 Отношение SName
Branch_No |
SName |
B3 B3 |
Ann David |
Таблица 21 Отношение CName
Branch_No |
CName |
B3 B3 |
Aline Mike |
Четвёртая нормальная форма – отношение в нормальной форме Бойса-Кодда, которое не содержит многозначных зависимостей (табл.20, 21).
Пятая нормальная форма (5нф)
5НФ основана на понятии зависимость соединений.
При декомпозиции отношения на два других отношения полученные отношения обладают свойством соединения без потерь. Это значит, что полученные отношения можно снова соединить и получить прежние отношения в исходном виде.
Однако бывают случаи, когда требуется разделить отношения на более чем два отношения. В таких (достаточно редких) случаях обратное соединение этих отношений может вызвать генерацию ложных строк - возникает зависимость соединения.
Проектирование реляционных баз данных
Подходы к проектированию бд
Существует два подхода к проектированию БД – подход, основанный на принципах нормализации, и подход, основанный на использовании моделей «сущность- связь».
Ранее был рассмотрен подход, основанный на нормализации отношений. Теперь рассмотрим второй подход.
Модель «сущность-связь» представляет собой концептуальную модель данных, которая была предложена в 1976 году Ченом. Данная модель данных основана на наборе понятий (концепций), с помощью которых можно представить структуру базы данных. Основная цель разработки концептуальной модели заключается в создании пользовательского восприятия данных, не зависимого от конкретного типа СУБД.
Понятия er- модели
Основные понятия модели «сущность- связь» включают типы сущностей, типы связей и атрибуты.
Типы сущностей – объекты или понятия, которые характеризуются на данном предприятии как имеющие независимое существование. Тип сущности представляет множество объектов реального мира с одинаковыми свойствами. Тип сущности может быть объектом с физическим существованием или объектом с абстрактным существованием.
Примеры типов сущностей приведены в таблице 22.
Таблица 22 Примеры типов сущностей
-
Работник
Выдача книг в библиотеке
Клиент
Читатель, берущий книги в библиотеке
Книга
Собственность библиотеки
Формуляр
Записи о выдаче книги
Автор
Автор(ы) книги
Сущность - экземпляр типа сущности, который может быть идентифицирован уникальным образцом.
Некоторые авторы вместо понятий тип сущности и сущность используют понятия сущности и экземпляр сущности.
Каждый тип сущности идентифицируется именем и списком свойств. База данных обычно содержит много разных типов сущностей. Каждая сущность с другой стороны имеет собственные значения для каждого свойства. Типы сущностей можно классифицировать на сильные и слабые (родительские и зависимые).
Слабый тип сущности - тип сущности, существование которого зависит от какого-то другого типа сущности.
Сильный тип сущности- тип сущности существование которого не зависит от какого-то другого типа сущности.
Книга - сильная сущность, формуляр (на каждый экземпляр книги) - слабая сущность.
На диаграмме сущности представляются в виде прямоугольников (рис.23).
-
КНИГА
ФОРМУЛЯР |
Рис. 23 Представление сущностей на диаграмме
Атрибуты - свойство типа сущности или типа связи.
Отдельные свойства сущностей называются атрибутами. Например, сущность книга может быть описана автором, издательством, количеством страниц, ценой и пр.
Атрибуты сущности содержат значения, описывающие каждую сущность. Значение атрибутов представляют основную часть сведений, сохраняемых в базе данных.
Каждый атрибут связан с набором значений, который называется доменом.
Атрибуты могут быть потенциальными ключами, первичными ключами.
Ключи могут быть составными.
Книга |
Автор Название Цена |
Р
ис.24
Сущность Отношение
На диаграммах атрибуты представляются своими именами (рис.24).
Типы связей - осмысленная ассоциация между сущностями разных типов.
Каждому типу связей присваивается имя, которое должно описывать его функцию.
Например, книга связанна с автором связью «Написана». Книга связана с формуляром связью «Имеет».
Связь - ассоциация между сущностями, включающая по одной сущности из каждого участвующего в связи типа сущности
Представление связей на диаграммах: каждая связь изображается в виде ромба с указанным на нем именем связи (рис.25).
.
Рис.25. Представление связей на диаграммах
Степень связи - количество сущностей, которые охвачены данной связью.
Охваченные некоторой связью сущности называются участниками. Связь со степенью два называется бинарной. Связь со степенью три называется тернарной (рис.26).
Работник
Рис.26. Пример тернарной связи
Рекурсивная связь - в которой одни и те же сущности участвуют несколько раз и в разных ролях (рис.27).
Рис.27. Рекурсивная связь
Связи могут иметь атрибуты (рис. 28):
Рис. 28. Атрибуты связи
Показатель кардинальности связи описывает количество возможных связей для каждой из сущностей-участниц.
Наиболее распространенными являются бинарные связи с показателями кардинальности 1:1, 1:N и M:N.
Показатели кардинальности определяются производственными правилами (бизнес-правилами), установленные на данном предприятии (рис. 29).
Рис. 29. Связь с показателем кардинальности 1:1
Сильная Слабая
Рис. 30. Примеры связей с различными показателями кардинальности
Каждая книга может иметь несколько экземпляров, т.е несколько формуляров. Но каждый формуляр связан только с одним экземпляром (рис.30).
Рис. 31.Показатели кардинальности
Степень участия - определяет, зависит ли существование некоторой сущности от участия в связи с некоторой другой сущностью.
Существует два варианта участия сущности в связи: полное (обязательное) и частичное (необязательное) – рисунки 31,32.
Рис. 32. Степень участия
Сотрудник не обязательно работает в одном из отделов. В каждом отделе работает как минимум S сотрудников.
Следует отметить, что некоторые нотации располагают показателем кардинальности на противоположных строках дуг.
Вместо
Рис. 33. Показатель кардинальности 1:N относительно объекта
Используется
Рис. 34. Показатель кардинальности 1:N относительно дуги
Первая нотация рассматривает связанности со стороны объекта (рис.33), а не дуги (связи). Объект 1 связан только с одним объектом, а объект 2 связан с N объектами 1.
Вторая нотация рассматривает связанности относительно дуги (рис. 34).
Дуга может быть связана c N объектами 1 и с одним объектом 2.
