- •Проектирование баз данных с помощью case-средства erwin
- •Оглавление
- •Моделирование в eRwin
- •Лабораторная работа №1
- •1.1.Компоненты диаграммы eRwin и основные виды представлений диаграммы
- •1.2.Отображение логического и физического уровня модели данных в eRwin
- •1.3.Инструменты для создания модели в eRwin
- •1.4.Графическое редактирование модели
- •1.5.Хранение информации в модели eRwin
- •1.6.Настройка режимов отображения
- •Упражнение 1.1. Рабочее пространство.
- •Упражнение 1.2. Отображение информации в модели.
- •Упражнение 1.3. Создание предметных областей.
- •Лабораторная работа №2 Цель работы: Сущности в eRwin и их идентификация.
- •2.1. Домены
- •Упражнение 2.1. Создание (добавление) сущностей и атрибутов.
- •Лабораторная работа №3. Цель работы: связи (relationships) в eRwin.
- •3.1. Связи категоризации
- •Упражнение 3.1. Создание связей между сущностями.
- •Лабораторная работа № 4. Цель работы: Индексы.
- •4.1. Унификация атрибутов
- •Упражнение 4.1. Создание альтернативного индекса.
- •Цель работы: Хранимые процедуры и триггеры.
- •6.1. Хранимые процедуры
- •6.2. Триггеры
- •Цель работы: Синхронизация с базой данных.
- •Упражнение 9.1. Синхронизация модели данных и базы данных.
- •Лабораторная работа №10. Цель работы: Генерация отчетов.
- •Лабораторная работа №11 Цель работы: Разработка модели в eRwin на примере.
- •11.1. Интерфейсы к субд
- •Заключение
Упражнение 4.1. Создание альтернативного индекса.
Откройте файл 13-tutor.er1.
Откройте редактор индексов Access Index (Access – в данном случае СУБД). Создайте новый альтернативный индекс с именем Phone.
Установите поле Store_PhoneNumber в качестве альтернативного ключа.
Настройте опцию отображения Alternate Key Designator в Display Options / Tables.
Упражнение 4.2. Унификация атрибутов.
Откройте файл 06-tutor.er1.
В рекурсивной связи сущности Employee найдите внешний ключ.
Откройте редактор связей Relationship Editor. Выберите закладку Rolename/RI Actions. Дайте имя внешнему ключу – chief.
Включите отображение имени роли в настройках экрана.
Лабораторная работа №5.
Цель работы: Проектирование представлений (View).
Представления, или временные, или производные таблицы представляют собой объекты базы данных, данные в которых не хранятся постоянно, как в таблице, а формируются динамически при обращении к представлению. Представление не может существовать само по себе, а определяется только в терминах одной или нескольких таблиц. Применение представлений позволяет разработчику БД обеспечить каждому пользователю или группе пользователей свой взгляд на данные, что решает проблемы простоты использования и безопасности данных.
Когда содержимое базовых таблиц меняется, СУБД автоматически перевыполняет запросы, создающие view, что приводит к соответствующим изменениям в представлениях.
Представление определяется с помощью команды
CREATE VIEW <имя_представления> [<имя_столбца>,...]
AS <запрос>
При этом должны соблюдаться следующие ограничения:
представление должно базироваться на единственном запросе (UNION не допустимо);
выходные данные запроса, формирующего представление, должны быть не упорядочены (ORDER BY не допустимо).
На изменение данных в представлении накладываются ограничения. Кратко о них можно сказать следующее:
Если представление основано на одной таблице, изменения данных в нем допускаются. При этом изменяются данные в связанной с ним таблице.
Если представление основано более чем на одной таблице, то изменения данных в нем не допускаются, т.к. в большинстве случаев СУБД не может правильно восстановить схему базовых таблиц из схемы представления.
Представление реализуется как запрос в терминах SQL. ERwin имеет специальные инструменты для создания и редактирования представлений.
Упражнение 5.1. Проектирование представлений (запросов).
Откройте файл 12-tutor.er1.
Выберите экран View. Выберите представление Overdue Notice. Откройте View Editor.
Создайте новое поле выражением (кнопка New Expression). Назовите его Overdue_charge_rate. В Expression Box наберите movie_rental_rate*1.5.
Найдите новое поле в представлении Overdue Notice.
Лабораторная работа №6.
Цель работы: Хранимые процедуры и триггеры.
6.1. Хранимые процедуры
Практический опыт создания приложений обработки данных показывает, что ряд операций над данными, реализующих общую для всех пользователей логику и не связанных с пользовательским интерфейсом, целесообразно вынести на сервер. Однако для написания процедур, реализующих эти операции, стандартных возможностей SQL не достаточно, поскольку здесь необходимы операторы обработки ветвлений, циклов и т.д. Поэтому многие поставщики СУБД предлагают собственные процедурные расширения SQL (PL/SQL компании Oracle и т.д.). Эти расширения содержат логические операторы (IF ... THEN ... ELSE), операторы перехода по условию (SWITCH ... CASE ...), операторы циклов (FOR, WHILE, UNTIL) и операторы предачи управления в процедуры (CALL, RETURN). С помощью этих средств создаются функциональные модули, которые хранятся на сервере вместе с базой данных. Обычно такие модули называют хранимыми процедурами (Stored Procedure). Они могут быть вызваны с передачей параметров любым пользователем, имеющим на то соответствующие права. В некоторых системах хранимые процедуры могут быть реализованы и в виде внешних по отношению к СУБД модулей на языках общего назначения, таких, как C или Pascal. Вызов созданной функции осуществялется из оператора SELECT (так же, как вызываются функции агрегирования).