
- •Кафедра аису
- •Часть 1 Методическое пособие для студентов специальности
- •Лекция №1 Понятие проектирования информационной системы. Основные этапы разработки. Парадигма программирования
- •Лекция №2 Модели проектирования ис
- •Каскадная модель
- •Спиральная модель
- •Преимущества спиральной модели
- •Недостатки спиральной модели
- •Область применения спиральной модели
- •Итеративная модель
- •Преимущества V-образной модели
- •Недостатки V-образной модели
- •Область применения V-образной модели
- •Лекция №3 Основы бизнес-моделирования
- •Лекция №4. Нотация epc в моделировании бизнес-процессов.
- •Главный «стержень» нотации eEpc
- •Элементы логики в схемах нотации eEpc
- •Расширение нотации собственными элементами
- •Лекция №5 Методологии моделирования бизнес-процессов
- •Лекция № 6 Методологии проектирования ис
- •6.1. Методология rup
- •6.2. Методология msf
- •Модель проектной группы
- •Ролевые кластеры
- •Масштабирование модели проектной группы
- •Модель процессов
- •Вехи и фазы
- •Итеративный подход
- •Фазы и вехи модели процессов msf
- •Фаза выработки концепци (Envisioning)
- •Фаза планирования (Planning)
- •Фаза разработки (Development)
- •Фаза стабилизации (Stabilizing)
- •Фаза внедрения(Deploying)
- •Дисциплина управления проектами
- •Дисциплина управления рисками
- •6.3. Гибкие методологии разработки
- •6.3.1 Метод экстремального программирования.
- •6.3.2. Методология scrum
- •Скрам Мастер (Scrum Master)
- •Команда (Team)
- •Артефакты
- •Спринт (Sprint)
- •Остановка спринта (Sprint Abnormal Termination)
- •Демо и ревью спринта
- •Лекция №7 Этап анализа требований
- •Лекция №8 erd-моделирование
- •Получение реляционной схемы из er-диаграммы. Базовые приемы
- •Получение реляционной схемы из er-диаграммы. Представление в реляционной схеме супертипов и подтипов сущности
Получение реляционной схемы из er-диаграммы. Базовые приемы
Опишем типовую многошаговую процедуру преобразования ER-диаграммы в реляционную (более точно, в SQL-ориентированную) схему базы данных.
Каждый простой тип сущности превращается в таблицу. (Простым типом сущности называется тип сущности, не являющийся подтипом и не имеющий подтипов.) Имя сущности становится именем таблицы. Экземплярам типа сущности соответствуют строки соответствующей таблицы.
Каждый атрибут становится столбцом таблицы с тем же именем; может выбираться более точный формат представления данных. Столбцы, соответствующие необязательным атрибутам, могут содержать неопределенные значения; столбцы, соответствующие обязательным атрибутам, — не могут.
Компоненты уникального идентификатора сущности превращаются в первичный ключ таблицы. Если имеется несколько возможных уникальных идентификаторов, для первичного ключа выбирается наиболее характерный. Если в состав уникального идентификатора входят связи, к числу столбцов первичного ключа добавляется копия уникального идентификатора сущности, находящейся на дальнем конце связи (этот процесс может продолжаться рекурсивно, и в общем случае может привести к зацикливанию). Для именования этих столбцов используются имена концов связей и/или имена парных типов сущностей.
Связи «многие к одному» (и «один к одному») становятся внешними ключами, т. е. образуется копия уникального идентификатора сущности на конце связи «один», и соответствующие столбцы составляют внешний ключ таблицы, соответствующей типу сущности на конце связи «многие». Необязательные связи соответствуют столбцам внешнего ключа, допускающим наличие неопределенных значений; обязательные связи — столбцам, не допускающим неопределенных значений. Если между двумя типами сущности A и B имеется связь «один к одному», то соответствующий внешний ключ по желанию проектировщика может быть объявлен как в таблице A, так и в таблице B. Чтобы отразить в определении таблицы ограничение, которое заключается в том, что степень конца связи должна равняться единице, соответствующий (возможно, составной) столбец должен быть дополнительно специфицирован как возможный ключ таблицы (в случае использования языка SQL для этого служит спецификация UNIQUE — см. лекцию 12).
Для поддержки связи «многие ко многим» между типами сущности A и B создается дополнительная таблица AB с двумя столбцами, один из которых содержит уникальные идентификаторы экземпляров сущности A, а другой — уникальные идентификаторы экземпляров сущности B. Обозначим через УИД(с) уникальный идентификатор экземпляра некоторого типа сущности C. Тогда, если в экземпляре связи «многие ко многим» участвуют экземпляры a1, a2,..., an типа сущности A и экземпляры b1, b2,..., bm типа сущности B, то в таблице AB должны присутствовать все строки вида < УИД(ai), УИД(bj)> для i = 1, 2,..., n, j = 1, 2,..., m. Понятно, что, используя таблицы A, B и AB, с помощью стандартных реляционных операций можно найти все пары экземпляров типов сущности, участвующих в данной связи.
Индексы создаются для первичного ключа (уникальный индекс), внешних ключей и тех атрибутов, на которых предполагается в основном базировать запросы. (Как отмечалось в начале лекции 6, вопросы определения индексов и других вспомогательных структур данных относятся к этапу физического, а не логического проектирования данных. Конечно, на практике эти этапы часто перекрываются во времени. Заметим, кстати, что в SQL-ориентированных СУБД индексы для всех возможных и внешних ключей, как правило, создаются системой автоматически.)