- •Кафедра экономической информатики
- •Базы данных
- •Содержание
- •Введение
- •Лабораторная работа №1. Логические и физические модели данных
- •Методические указания
- •Задание к работе
- •Раздел I. Создание сущностей в eRwin
- •Раздел II. Создание связей между сущностями, подмножеств модели и хранимых отображений. Переход к физической модели данных
- •Раздел III. Выполнение операции прямого проектирования
- •Раздел IV. Выполнение операции обратного проектирования
- •Лабораторная работа №2. Усложненные диаграммы «сущность-связь»
- •Методические указания
- •Задание к работе
- •Раздел I. Создание сущностей логической модели
- •Раздел II. Создание связей между сущностями и иерархии наследования
- •Раздел III. Выполнение вариантов трансформы категориальной связи
- •Раздел IV. Выполнение методов синхронизации системного каталога базы данных и текущей модели
- •Лабораторная работа №3. Работа в среде субд «ms sql Server 2005»
- •Методические указания
- •Задание к работе
- •Раздел I. Создание базы данных и ее объектов
- •Раздел II. Управление пользователями и правами доступа к данным
- •Лабораторная работа №4. Создание базы данных и ее объектов с помощью команд языка Transact-sql
- •Методические указания и задания к выполнению
- •Раздел I. Создание базы данных и ее объектов
- •Раздел II. Ввод данных в таблицы базы данных
- •Insert into Заказ (КодКлиента, КодТовара, Количество)
- •Inner join Поставщик
- •Inner join Товар
- •Раздел III. Управление пользователями и правами доступа к данным.
- •Раздел IV. Анализ полученных результатов
- •Лабораторная работа №5. Манипулирование данными с помощью команд языка Transact-sql
- •Методические указания
- •Раздел I. Выборка данных из таблиц и представлений.
- •Раздел II. Обновление данных в таблицах и представлениях.
- •Раздел III. Удаление данных из таблиц и представлений.
- •Раздел IV. Изменение структуры таблицы.
- •Раздел V. Удаление таблицы из базы данных.
- •Задание к работе
- •Лабораторная работа №6. Программирование на языке Transact-sql
- •Методические указания
- •Раздел I. Основы программирования на языке Transact-sql.
- •Раздел II. Создание и работа с хранимыми (на сервере) процедурами.
- •If @Страна is not null
- •If @Город is not null
- •If @Город is not null
- •Insert into Валюта
- •Values(@Код, @Имя, @Шаг, @Курс)
- •If @Страна is not null
- •If @Город is not null
- •Into ##Регион
- •Раздел III. Создание и работа с определяемыми пользователем функциями.
- •Insert @rowset (КодРегиона, Страна, Область, Город)
- •Задание к работе
- •Лабораторная работа №7. Курсоры и триггеры в языке Transact-sql
- •Методические указания
- •Раздел I. Использование курсоров в языке Transact-sql
- •If @НачалоИнтервала is null
- •If @КонецИнтервала is null
- •Раздел II. Создание триггеров в языке Transact-sql.
- •If update(ДатаЗаказа)
- •If update(Цена)
- •If update(Цена)
- •Inserted.Цена * Валюта.КурсВалюты
- •Задание к работе
- •Литература Основная
- •Базы данных
- •220013, Минск, п. Бровки, 6.
Задание к работе
Раздел I. Создание сущностей логической модели
1. Создайте в ERwin модель с именем Фирма. Тип модели – Логическая/Физическая, целевая база данных – Access. Логическая модель должна включать в себя следующие 5 сущностей:
Сущность 1: Подразделение |
|
||
Атрибут |
Домен |
Обязательный атрибут |
Первичный ключ |
Номер подразделения Имя подразделения |
Number String |
Да Да |
Да |
Сущность 2: Сотрудник |
|
||
Атрибут |
Домен |
Обязательный атрибут |
Первичный ключ |
Табельный номер ФИО Должность Оклад |
Number String String Number |
Да Да |
Да |
Сущность 3: Приход |
|
||
Атрибут |
Домен |
Обязательный атрибут |
Первичный ключ |
Дата операции Номер документа Код товара Имя товара Ед_измерения Количество Покупная цена |
Datetime Number Number String String Number Number |
Да Да Да
Да |
Да Да |
Сущность 4: Расход |
|
||
Атрибут |
Домен |
Обязательный атрибут |
Первичный ключ |
Дата операции Номер документа Код товара Имя товара Ед_измерения Количество Отпускная цена |
Datetime Number Number String String Number Number |
Да Да Да
Да |
Да Да |
Сущность 5: Перемещение |
|
||
Атрибут |
Домен |
Обязательный атрибут |
Первичный ключ |
Дата операции Номер документа Код товара Имя товара Ед_измерения Количество Учетная цена |
Datetime Number Number String String Number Number |
Да Да Да
Да |
Да Да |
2. Сохраните модель данных на жестком диске в файле Фирма.erwin.
Раздел II. Создание связей между сущностями и иерархии наследования
1. Создайте неидентифицирующую связь один ко многим (1:М) между родительской сущностью Подразделение и дочерней сущностью Сотрудник.
2. Создайте неидентифицирующую рекурсивную связь 1:М для сущности Подразделение. Для этой связи в свойстве Имя роли (Rolename) укажите имя роли как «Вышестоящее». Включите режим отображения полного имени атрибута, состоящего из имени роли и имени атрибута, разделенных точкой.
3. Создайте неидентифицирующую рекурсивную связь 1:М для сущности Сотрудник. Для этой связи в свойстве Имя роли (Rolename) укажите имя роли как «Руководитель».
4. Создайте новую пустую сущность с именем МатОтветственный.
5. Создайте идентифицирующую связь один ко многим (1:М) между родительской сущностью Подразделение и дочерней сущностью МатОтветственный.
6. Создайте идентифицирующую связь 1:М между родительской сущностью Сотрудник и дочерней сущностью МатОтветственный.
7. Создайте иерархию наследования на основе сущностей Приход, Расход и Перемещение. Для этого нужно создать новую пустую сущность Движение, разместив ее над указанными выше сущностями, после чего переместить в новую сущность общие атрибуты сущностей Приход, Расход и Перемещение, оставив в последних только уникальные атрибуты (по одному в каждой сущности). Кроме того, в сущность Движение добавьте новый атрибут Тип документа (домен String), который будет служить в качестве дискриминатора, т.е. отличать одну категориальную сущность от другой. Далее нужно создать категориальную связь (кнопка Complete sub-category) между новой сущностью и сущностью Приход. Затем категориальная связь устанавливается между появившемся на диаграмме значком категории и сущностью Расход, после чего аналогичным образом связывается и сущность Перемещение. В заключение щелкните правой кнопкой мыши по значку категории и выберите в контекстном меню пункт Subtype Relationships, открыв тем самым диалоговое окно Subtype Relationships. Далее в списке Discriminator Attribute Choice укажите атрибут Тип документа в качестве дискриминатора категории.
8. Создайте неидентифицирующую связь 1:М между родительской сущностью МатОтветственный и дочерней сущностью Движение.
9. Создайте неидентифицирующую связь 1:М между родительской сущностью МатОтветственный и дочерней сущностью Перемещение. Для этой связи в свойстве Имя роли укажите имена ролей для атрибутов Номер подразделения и Табельный номер как «Куда» и «К кому» соответственно.
10. Переключившись в режим показа физической модели проверьте и, в случае необходимости, скорректируйте типы и длины полей, ориентируясь на специфику типов данных СУБД Access. В частности, поле Количество должно иметь тип Single, а поля Учетная цена, Отпускная цена, Покупная цена - тип Currency.
11. Сохраните текущую модель данных на жестком диске.