
- •В чем суть теории нормализации реляционной модели данных.
- •Почему схемы реляционных баз данных могут быть плохими. Примеры
- •Сложные домены и первая нормальная форма. Примеры
- •Функциональная зависимость. Основные определения. Примеры
- •Ключи отношения с точки зрения функциональной зависимости. Примеры
- •Свойства функциональных зависимостей. Примеры.
- •Логическое следование функциональных зависимостей. Примеры
- •Замыкание, полнота, эквивалентность и минимальное покрытие функциональных зависимостей. Примеры
- •Неполная (частичная) функциональная зависимость и вторая нормальная форма. Примеры
- •Транзитивная зависимость и третья нормальная форма. Примеры.
- •Усиленная третья нормальная форма и нормальная форма Бойса-Кодда. Примеры
- •Четвертая нормальная форма. Примеры.
- •Связь зависимостей по соединению и многозначных зависимостей.
- •Формальная постановка задачи проектирования реляционной схемы
- •Декомпозиция схемы реляционного отношения
- •Эквивалентность схем отношений по зависимостям
- •Эквивалентность схем отношений по данням
- •Эквивалентность нормальных форм.
- •Этапы жизненного цикла разработки бд
- •Методология проектирования бд
- •Этап определения стратегии автоматизации по
- •Этап системного анализа по
- •Этап концептуального моделирования по
- •Этап логического и физического проектирования
- •28) Язык er-моделирования. Сущности. Примеры
- •29) Язык er-моделирования. Атрибуты. Примеры
- •30) Язык er-моделирования. Связи. Примеры
- •31) Язык er-моделирования. Допустимые и недопустимые связи. Примеры.
- •32) Язык er-моделирования. Подтипы и супертипы. Примеры.
- •33) Язык er-моделирования. Разрешение связей многие-ко-многим. Примеры
- •39) Язык er-моделирования. Представление уникальных идентификаторов столбцами-заменителями
32) Язык er-моделирования. Подтипы и супертипы. Примеры.
Язык ER-моделирования - это язык определения информационной модели ПО. Базируется на концепции, согласно которой информационная модель ПО может быть описана в терминах: сущность, атрибут, связь. Используется на этапе анализа и прежде всего – концептуального моделирования. Язык является существенно графическим.
Подтип - это разновидность сущности. Подтип неявно наследует все атрибуты и связи супертипа. Подтипы могут обладать собственными атрибутами и/или связями и, в свою очередь, разделяться на подтипы более низких уровней. Супертип - это систематизация сущностей с общими подтипами. Одна и та же сущность может являться супертипом и, в то же время, представлять собой подтип другой сущности. Подтипы сущности образовывают полную систему множеств.
Пример типа/супертипа
НЕРЕГУЛЯРНЫЙ ПОЛЕТ и РЕГУЛЯРНЫЙ РЕЙСОВЫЙ ПОЛЕТ имеют один и тот же атрибут – НОМЕР (наследуется из супертипа РЕЙСОВЫЙ ПОЛЕТ), но отличаются связями!
Сущность является простой, если она не является подтипом или сама не имеет подтипов.
33) Язык er-моделирования. Разрешение связей многие-ко-многим. Примеры
Язык ER-моделирования - это язык определения информационной модели ПО. Базируется на концепции, согласно которой информационная модель ПО может быть описана в терминах: сущность, атрибут, связь. Используется на этапе анализа и прежде всего – концептуального моделирования. Язык является существенно графическим.
Разрешение связей многие-ко-многим
Связи многие-ко-многим часто встречаются на ранних этапах анализа ПО. Это, как правило, свидетельствует о том, что опущена сущность. Разрешение достигается введением новой переходной сущности, разделяющей окончания такой связи.
34) Язык ER-моделирования. Взаимоисключающие связи. Свойства. Примеры.
Язык ER-моделирования - это язык определения информационной модели ПО. Базируется на концепции, согласно которой информационная модель ПО может быть описана в терминах: сущность, атрибут, связь. Используется на этапе анализа и прежде всего – концептуального моделирования. Язык является существенно графическим.
Взаимоисключающие связи
Две или более связей одной и той же сущности могут оказаться взаимоисключающими (либо-либо).
Этот факт представляется поперечной дугой, пересекающей окончания всех соответствующих связей, с небольшими точками или кружками в местах пересечения.
Свойства взаимоисключающих свіязей
Окончания связей, которые пересекает попереч- ная дуга, должны быть либо все обязательными, либо все факультативными.
Окончание связи может пересекать только одна поперечная дуга.
Поперечные дуги не могут пересекать связи, идущие от разных сущностей
Поперечные дуги не могут пересекать связи, исходящие из подтипа и его супертипа.
Окончания связей, которые пересекает попереч- ная дуга, должны быть либо все входить в уника- льный идентификатор, либо не входить.
35) Язык ER-моделирования. Пребразование связей один-к-одному во внешние ключи
Первичный ключ любой сущности используется в качестве внешнего ключа другой сущности.
Внешний ключ становится NOT NULL.
Обязательность связи со стороны первичного ключа поддерживается с помощью триггера.
Первичный ключ любой сущности используется в качестве внешнего ключа другой сущности, как и в предыдущем случае.
Первичный ключ сущности ЧЕЛОВЕК используется в качестве внешнего ключа в сущности АВТОБИОГРАФИЯ.
Внешний ключ становится NOT NULL.
CREATE TABLE PERSON ( PrsID NUMBER(3) PRIMARY KEY, ... );
CREATE TABLE AUTOBIOGRAPHY ( ... PrsID NOT NULL REFERENCES PERSON, ...);
36) Язык ER-моделирования. Пребразование связей один-ко-многим во внешние ключи
Язык ER-моделирования - это язык определения информационной модели ПО. Базируется на концепции, согласно которой информационная модель ПО может быть описана в терминах: сущность, атрибут, связь. Используется на этапе анализа и прежде всего – концептуального моделирования. Язык является существенно графическим.
Пребразование связи один-ко-многим во внешний ключ
Ключ сущности у окончания «один» используется в качестве внешнего ключа сущности у окончания «много».
Если окончание «много» является обязательным, то внешний ключ имеетограничение NOT NULL
Если окончание «один» является обязательным, то это поддерживается соответствующим триггером.
CREATE TABLE TICKET ( TickID NUMBER(3) PRIMARY KEY, ... );
CREATE TABLE COUPON ( ... TickID NOT NULL REFERENCES TICKET, ...);
37) Язык ER-моделирования. Преобразование связей многие-ко-многим в сущности-связки
Язык ER-моделирования - это язык определения информационной модели ПО. Базируется на концепции, согласно которой информационная модель ПО может быть описана в терминах: сущность, атрибут, связь. Используется на этапе анализа и прежде всего – концептуального моделирования. Язык является существенно графическим.
Преобразование связей многие-ко-многим в сущности-связки
Каждая из сущностей порождает базовое отношение.
Создается третья сущность-связка, которая содержит внешние ключи, ссылающиеся на созданные базовые отношения и не содержит никаких других атрибутов.
Если окончание связи является обязательным, то это поддерживается соответствующим триггером.
Пара внешних ключей сущности-связки образует ее первичный ключ.
CREATE TABLE TICKET ( TickID NUMBER(3) PRIMARY KEY, ... );
CREATE TABLE FLIGHT ( FlhtID NUMBER (3) PRIMARY KEY, ...);
CREATE TABLE LINK ( TickID REFERENCES TICKET, FlhtID REFERENCES FLIGHT, CONSTRAINT prk PRIMARY KEY (TickID, FlhtID);
38) Язык ER-моделирования. Представление уникальных идентификаторов ключами таблиц
Язык ER-моделирования - это язык определения информационной модели ПО. Базируется на концепции, согласно которой информационная модель ПО может быть описана в терминах: сущность, атрибут, связь. Используется на этапе анализа и прежде всего – концептуального моделирования. Язык является существенно графическим.
Представление уникальных идентификаторов ключами таблиц
Уникальнй идентификатор составляет первичный ключ.
Если в состав уникального идентификатора входит кончание связи, то первчный ключ содержит соответствующий внешний ключ
CREATE TABLE AIRCRAFT ( AirNo NUMBER(3) PRIMARY KEY, ... ); CREATE TABLE OFFICE ( OffID NUMBER (3) PRIMARY KEY, ...); CREATE TABLE SERVICE ( SrvDate DATE NOT NULL, Result CHAR(50), AirNo NOT NULL REFERENCES AIRCRAFT, OffID NOT NULL REFERENCES OFFICE, CONSTRAINT prk PRIMARY KEY (SrvDate, AirNo, OffID);