Лабораторная работа №1
Тема. Построение модели БД с использованием средств автоматизации
Цель. Построение физической модели данных. Генерация схемы базы данных.
Ход работы
1 Повторить теоретическую часть
2 Ответить на контрольные вопросы
3 Выполнить практическое задание
Контрольные вопросы
1 Поясните, в чем отличие логического и физического уровня моделирования?
2 Опишите окно редактора сущностей
3 Что происходит при установке указующей связи между сущностями?
4 Какую информацию о связи можно указать в редакторе связей
5 В каком случае логическая модель требует нормализации?
6 Поясните назначение валидации данных
7 Охарактеризуйте известные вам виды представлений?
8 Охарактеризуйте правила ссылочной целостности?
Практическое задание
Построить физическую модель проектируемой БД средствами Erwin. Сгенерировать схему базы данных для СУБД Access.
Последовательность выполнения работы
Знакомство с пользовательским интерфейсом
Загрузите программу Erwin.
В появившемся диалоговом окне установите переключатель Crеаte а New Model. На экране появится диалог Create Model – Select Template, где необходимо выбрать уровень моделирования.
Установите переключатель Logical/Physical для создания модели с логическим или физическим уровнями.
В полях DataBase и Version указывается тип и версия сервера, для которого создается модель. Выберите в списке Access. Нажмите кнопку ОК.
На экране появится основное окно программы.
Рассмотрите рабочую область, в которой создается ER-диаграмма. Запишите назначение кнопок панели инструментов
Таблица 1.1–Кнопки, расположенные на панели инструментов программы Erwin.
Кнопка |
Назначение |
|
Создание, открытие, сохранение и печать модели |
|
Вызов диалога Report Browser для генерации отчетов |
|
Изменение уровня просмотра модели: уровень сущностей, уровень атрибутов, уровень определений |
|
Изменение масштаба просмотра модели |
|
Генерация схемы БД, выравнивание схемы с моделью и выбор сервера (доступны только на уровне физической модели) |
|
Переключение между областями модели Subject Area |
В результате проделанной работы физическая модель будет иметь вид:
Рисунок 1.1 – Уровень Сущьностей
Рисунок 1.2 – Уравень атрибутов
Ответы на контрольные вопросы
-
Логический уровень проектирования представляет собой детализацию элементов концептуальной схемы: описание характеристик элементов (атрибутов) и связей между элементами. Именно на этом уровне могут появиться новые сущности, и нам придется возвратиться к концептуальному уровню проектирования базы данных. Логический уровень проектирования уже весьма близок к схеме реляционной базы данных. Именно здесь мы должны определиться с первичными ключами, обозначить типы связи их имена и характеристики, определить ограничения, накладываемые на хранимые в базе данные.
На физическом уровне проектирования логическая модель данных преобразуется к реляционной базе данных конкретной СУБД. Происходит преобразование сущностей логической модели в конкретные таблицы, атрибуты сущностей в атрибуты (столбцы) таблицы, связи между сущностями в связи между таблицами, первичные ключи сущностей в первичные ключи таблиц. Кроме этого создаются индексы таблиц, а также реализуются ограничения целостности базы данных средствами конкретной СУБД. Заметим также, что возможно на данном этапе может потребоваться нормализация некоторых таблиц.
Командой Model/Entity/Attribute Editor можно создать (кнопка Add) новые, откорректировать (Update) или удалить (Delete) существующие сущности и атрибуты. Например, добавим сущность «Справочник подразделений» (рисунок 3.5.2.1) и в сущность «Выпуск изделий» добавим новый атрибут «Код подразделения» с кодом подразделения, выпустившего изделие. В полях Entity и Attribute указываются имена создаваемых сущностей или атрибутов соответственно. Командой Arrow Data из контекстного меню стрелки можно связать стрелку с атрибутами сущностей.
Экспорт данных из BPWin в ERWin реализуется командой File/Export/ERWin (BPX).
Импорт данных в ERWin из BPWin реализуется командой File/Import/ERWin. В окне ERWin/BPWin Import (рисунок 3.5.2.2) отображаются новые сущности и атрибуты, отсутствующие в модели ERWin, и нужно выбрать импортируемые сущности и атрибуты из модели BPWin в модель ERWin.
Далее можно доработать полученную модель ERWin.
Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Зависимая сущность изображается прямоугольником со скругленными углами (сущность "Служащий", справа на рис. 16). Экземпляр зависимой сущности определяется только через отношение к родительской сущности, то есть в структуре на рис.16 информация о служащем не может быть внесена и не имеет смысла без информации об отделе, в котором он работает. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности переносятся в состав первичного ключа дочерней сущности (миграция атрибутов). В дочерней сущности они помечаются как внешний ключ - (FK). При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав неключевых компонентов родительской сущности.
Каждый атрибут хранит информацию об определенном свойстве сущности. Каждый экземпляр сущности должен быть уникальным. Атрибут или группа атрибутов, которые идентифицируют сущность, называется первичным ключом. Для описания атрибутов следует, кликнув правой кнопкой по сущности, выбрать в появившемся меню пункт Attribute Editor. Появляется диалог Attribute Editor.
К модели данных предъявляются определенные требования, называемые нормальными формами. Процесс приведения к нормальным формам называется нормализацией. Так, первая нормальная форма требует, чтобы все атрибуты были атомарными .Вторая нормальная форма требует, чтобы каждый неключевой атрибут зависел от всего первичного ключа, не должно быть зависимости от части ключа. Для приведения ко второй нормальной форме необходимо создать новую сущность, перенести в нее атрибуты, зависящие от части ключа, сделать часть ключа первичным ключом новой сущности и установить идентифицирующую связь от новой сущности к старой.
Но если всё-таки проверка нужна, логика подсказывает, что удобно проверять данные в том месте, где они попадают в программу из внешнего мира. После такой проверки можно быть уверенным, что в программу попадают правильные данные и в дальнейшем они могут использоваться без дополнительных проверок.
Стандартные представления - Сочетание данных из одной или нескольких таблиц с помощью стандартного представления позволяет использовать почти все преимущества представлений. Сюда входит фокусировка на конкретных данных и упрощение управления ими.
Индексированные представления - Индексированным называется материализованное представление. Это значит, что оно вычислено и сохранено. Индексировать представление можно, создав для него уникальный кластеризованный индекс.
Секционированные представления - Секционированным называется представление, соединяющее горизонтально секционированные данные набора базовых таблиц, находящихся на одном или нескольких серверах. При этом данные выглядят так, как будто находятся в одной таблице.
Стандартные представления - Сочетание данных из одной или нескольких таблиц с помощью стандартного представления позволяет использовать почти все преимущества представлений. Сюда входит фокусировка на конкретных данных и упрощение управления ими.
Индексированные представления - Индексированным называется материализованное представление. Это значит, что оно вычислено и сохранено. Индексировать представление можно, создав для него уникальный кластеризованный индекс.
Секционированные представления - Секционированным называется представление, соединяющее горизонтально секционированные данные набора базовых таблиц, находящихся на одном или нескольких серверах. При этом данные выглядят так, как будто находятся в одной таблице.
1. RESTRICT — запрещает удаление экземпляра родительской сущности, пока в дочерней сущности есть экземпляры, зависящие от него.
2. CASCADE— удаление экземпляра родительской сущности приводит у удалению всех экземпляров дочерней сущности, зависящих от него.
3. SET NULL— при удалении экземпляра родительской сущности значение связанного поля во всех экземплярах дочерней сущности, зависящих от него, заменяются значением NULL.
4. SET DEFAULT— при удалении экземпляра родительской сущности значение связанного поля во всех экземплярах дочерней сущности, зависящих от него, заменяются значением по умолчанию.
5. NONE— при удалении экземпляра родительской сущности значение связанного поля во всех экземплярах дочерней сущности остается неизменным.
Лабораторная работа №2
Тема. Создание таблиц и схемы БД
Цель. Научиться создавать таблицы базы данных, задавать их структуру, выбирать типы полей и управлять их свойствами, определять ключевые поля , создавать связи между таблицами и определять правила, гарантирующие, что связи всегда будут корректными.
Задание
Создать в режиме конструктора таблицы разработанной БД.
Таблицы в режиме конструктора создаются следующим образом
Для каждой таблицы определить свойства данных. Для каждой таблицы определить ключевые поля(результат записать в виде: имя таблицы, имя поля, свойства поля, ..)
Таблица 1.1 – Человек
Таблица 1.2 - Квартиры
Создать схему БД
Рисунок 1.1 – Схема БД
