
- •Кафедра экономической информатики
- •Базы данных
- •Содержание
- •Введение
- •Лабораторная работа №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 модель с именем Firma. Тип модели – Логическая/Физическая, целевая база данных – Access. В качестве шрифта по умолчанию установите любой кириллический шрифт, например Arial CYR (команда меню Format►Default Fonts & Colors, далее вкладки: General и Drawing Object Text). Логическая модель должна включать в себя следующие 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. Сохраните модель данных на жестком диске в файле Firma.er1.
Раздел 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. Сохраните текущую модель данных на жестком диске.