- •Технологии бд
- •1. Теоретические основы организации бд. Реляционная модель данных. 2
- •2. Технологии проектирования реляционных бд 24
- •Теоретические основы организации бд. Реляционная модель данных.
- •Подходы к организации баз данных
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •12 Правил Кодда:
- •Введение в реляционную модель данных
- •Основные понятия реляционной модели данных
- •Тип данных
- •Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
- •Первичный ключ и интуитивная интерпретация реляционных понятий
- •Фундаментальные свойства отношений
- •Отсутствие кортежей-дубликатов, первичный и возможные ключи отношений
- •Отсутствие упорядоченности кортежей
- •Отсутствие упорядоченности атрибутов
- •Атомарность значений атрибутов, первая нормальная форма отношения
- •Реляционная модель данных
- •Общая характеристика
- •Целостность реляционных данных
- •Null-значения
- •Трехзначная логика (3vl)
- •Потенциальные ключи
- •Целостность сущностей
- •Внешние ключи
- •Целостность внешних ключей
- •Замечания к правилам целостности сущностей и внешних ключей
- •Операции, могущие нарушить ссылочную целостность
- •Стратегии поддержания ссылочной целостности
- •Технологии проектирования реляционных бд
- •Этапы разработки базы данных
- •Критерии оценки качества логической модели данных
- •Адекватность базы данных предметной области
- •Легкость разработки и сопровождения базы данных
- •Скорость операций обновления данных (вставка, обновление, удаление)
- •Скорость операций выборки данных
- •Проектирование реляционных баз данных на основе принципов нормализации
- •Понятие метода нормализации отношений
- •Декомпозиция без потерь и функциональные зависимости
- •Корректные и некорректные декомпозиции отношений. Теорема Хеза
- •Теорема Хеза.
- •Диаграммы функциональных зависимостей
- •Первая нормальная форма
- •Минимальные функциональные зависимости и вторая нормальная форма
- •Аномалии обновления, возникающие из-за наличия неминимальных функциональных зависимостей
- •Возможная декомпозиция
- •Вторая нормальная форма
- •Нетранзитивные функциональные зависимости и третья нормальная форма
- •Аномалии обновлений, возникающие из-за наличия транзитивных функциональных зависимостей
- •Возможная декомпозиция
- •Третья нормальная форма
- •Независимые проекции отношений. Теорема Риссанена
- •Перекрывающиеся возможные ключи и нормальная форма Бойса-Кодда
- •Аномалии обновлений, связанные с наличием перекрывающихся возможных ключей
- •Нормальная форма Бойса-Кодда
- •Всегда ли следует стремиться к bcnf?
- •Необходимость дальнейшей нормализации
- •Многозначные зависимости и четвертая нормальная форма
- •Аномалии обновлений при наличии многозначных зависимостей и возможная декомпозиция
- •Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма
- •Лемма Фейджина
- •Теорема Фейджина
- •Зависимости проекции/соединения и пятая нормальная форма
- •N-декомпозируемые отношения
- •Зависимость проекции/соединения
- •Аномалии, вызываемые наличием зависимости проекции/соединения
- •Устранение аномалий обновления в 3-декомпозиции
- •Пятая нормальная форма
- •Заключение
- •Проектирование реляционных баз данных с использованием семантических моделей: er-диаграммы
- •Ограниченность реляционной модели при проектировании баз данных
- •Семантические модели данных
- •Семантическая модель Entity-Relationship (Сущность-Связь)
- •Основные понятия er-модели
- •Уникальные идентификаторы типов сущности
- •Нормальные формы er-диаграмм
- •Первая нормальная форма er-диаграммы
- •Вторая нормальная форма er-диаграммы
- •Третья нормальная форма er-диаграммы
- •Более сложные элементы er-модели
- •Наследование типов сущности и типов связи
- •Взаимно исключающие связи
- •Получение реляционной схемы из er-диаграммы
- •Базовые приемы
- •Представление в реляционной схеме супертипов и подтипов сущности
- •Представление в реляционной схеме взаимно исключающих связей
- •Виды нотаций er-диаграмм
- •Метод Баркера
- •Методология idef1x
- •Заключение
Наследование типов сущности и типов связи
Сущность может быть расщеплена на два или более взаимно исключающих подтипов, каждый из которых включает общие атрибуты и/или связи. Эти общие атрибуты и/или связи явно определяются один раз на более высоком уровне. В подтипах могут определяться собственные атрибуты и/или связи. В принципе, подтипизация может продолжаться на более низких уровнях, но опыт использования ER-модели при проектировании баз данных показывает, что в большинстве случаев оказывается достаточно двух-трех уровней.
Если у типа сущности Aимеются подтипыB1, B2,..., Bn, то:
любой экземпляр типа сущности B1, B2,..., Bnявляется экземпляром типа сущностиA(включение);
(b) если aявляется экземпляром типа сущностиA, тоaявляется экземпляром некоторого подтипа сущностиBi (i = 1, 2, ..., n)(отсутствие собственных экземпляров у супертипа сущности);
(c) ни для каких подтипов BiиBj (i, j = 1, 2, ..., n)не существует экземпляра, типом которого одновременно являются типы сущностиBiиBj(разъединенность подтипов).
Тип сущности, на основе которого определяются подтипы, называется супертипом. Как мы видели выше, подтипы должны образовывать полное множество, т. е. любой экземпляр супертипа должен относиться к некоторому подтипу. Иногда для обеспечения такой полноты приходится определять дополнительный подтипПРОЧИЕ.
Пример супертипа ЛЕТАТЕЛЬНЫЙ АППАРАТи его подтиповАЭРОПЛАН,ВЕРТОЛЕТ,ПТИЦЕЛЕТиПРОЧИЕпоказан на Рис. 38. У подтипаАЭРОПЛАНимеются два собственных подтипа –ПЛАНЕРиМОТОРНЫЙ САМОЛЕТ. Для супертипа сущностиЛЕТАТЕЛЬНЫЙ АППАРАТопределен атрибутмаксимальная дальность полетаи необязательная связь «многие ко многим» с типом сущностиПИЛОТ. Эти атрибут и связь наследуется всеми подтипами этого супертипа сущности. У непосредственного подтипа сущностиАЭРОПЛАНопределяется один дополнительный атрибут, так что в совокупности у данного типа сущности имеются два атрибутамаксимальная дальность полетаиразмах крыльеви одна унаследованная связь с типом сущностиПИЛОТ. У подтипа второго уровняМОТОРНЫЙ САМОЛЕТсупертипаАЭРОПЛАНопределяется один дополнительный атрибутмощность мотораи одна дополнительная (обязательная) связь с типом сущностиАЭРОПОРТ. Тем самым, у типа сущностиМОТОРНЫЙ САМОЛЕТимеются три атрибута: два унаследованных –максимальная дальность полетаиразмах крыльеви один собственный –мощность мотора, а также две связи: одна унаследованная – с типом сущностиПИЛОТи одна собственная – с типом сущностиАЭРОПОРТ. И так далее. Понятно, что для типа сущностиПРОЧИЕ, скорее всего, бессмысленно определять собственные атрибуты и связи, так что свойства этого типа будут совпадать со свойствами его супертипа.
Рис. 38. Супертипы и подтипы сущности
Как же следует понимать диаграмму, представленную на Рис. 38? Если начинать от супертипа, то диаграмма изображает ЛЕТАТЕЛЬНЫЙ АППАРАТ, который должен бытьАЭРОПЛАНОМ,ВЕРТОЛЕТОМ,ПТИЦЕЛЕТОМилиДРУГИМ ЛЕТАТЕЛЬНЫМ АППАРАТОМ. Если начинать от подтипа (например, сущностиВЕРТОЛЕТ), то этоВЕРТОЛЕТ, который относится к типуЛЕТАТЕЛЬНОГО АППАРАТА. Если начинать от подтипа, который является одновременно супертипом, то этоАЭРОПЛАН, который относится к типуЛЕТАТЕЛЬНОГО АППАРАТАи должен бытьПЛАНЕРОМилиМОТОРНЫМ САМОЛЕТОМ.
В механизме наследования ER-модели допускается наличие двух или более разбиений сущности на подтипы. Например, тип сущности ЧЕЛОВЕКможет быть расщеплен на подтипы по профессиональному признаку (ПРОГРАММИСТ,ДОЯРКАи т. д.), а может быть расщеплен и по половому признаку (МУЖЧИНА,ЖЕНЩИНА).