Материал: Проектирование баз данных. метод. указания к выполнению лабораторных работ. Ошивалов А.В., Акамсина Н.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Рис. 20. Окно редактирования сущности, редактирование атрибутов

Для добавления нового атрибута служит кнопка (10), для редактирования (11), для удаления (12). Также можно изменить порядок следования атрибутов в сущности с помощью кнопок (15, 16). Для существующего атрибута можно задать или изменить ряд параметров:

  • Определить атрибут как первичный ключ (PK) (1).

  • Определить атрибут как вторичный ключ (FK) (2).

  • Задать наименование атрибута (3).

  • Задать тип атрибута из набора (4).

  • Задать размер типа атрибута (5).

  • Запретить или разрешить значение NULL (6).

  • Определить атрибут как автоинкрементный (7).

  • Задать описание атрибута (8).

  • Задать значение по-умолчанию для атрибута (9).

Для сохранения всех изменений необходимо нажать кнопку (13), для отмены (14).

При добавлении нового атрибута (10) появляется окно задания свойств атрибута (Рис. 21).

Рис. 21. Окно задания свойств атрибута

В этом окне можно задать те же свойства атрибута, что и в окне редактирования сущности:

  • Задать наименование атрибута (1).

  • Задать уникальный идентификатор атрибута (2).

  • Задать тип атрибута из набора (3).

  • Задать размер типа атрибута (4).

  • Определить атрибут как первичный ключ (PK) (5).

  • Определить атрибут как вторичный ключ (FK) (6).

  • Запретить или разрешить значение NULL (7).

  • Определить атрибут как автоинкрементный (8).

  • Задать значение по-умолчанию для атрибута (9).

  • Задать описание атрибута (10).

Для сохранения всех изменений необходимо нажать кнопку (11), для отмены (12).

Для установления связи между двумя сущностями необходимо в панели основных элементов (1) выбрать требуемый тип связи, нажать лево кнопкой мыши на начальную сущность и, не отпуская, протянуть связь до конечной сущности, после чего отпустить кнопку мыши. В результате между двумя сущностями будет отображена выбранная связь (Рис. 22).

Рис. 22. Окно редактирования диаграммы, добавление связи

Для изменения формы связи, в нее могут быть добавлены дополнительные точки. Для этого достаточно левой кнопкой мыши щелкнуть по месту, где должна быть добавлена дополнительная точка, и, не отпуская, протянуть эту точку в другое место диаграммы (Рис. 23).

Рис. 23. Окно редактирования диаграммы, изменение формы связи

Для задания или изменения свойств связи служит окно редактирования свойств доступное из контекстного меню. Для открытия этого окна необходимо нажать правой клавишей мыши на связи и выбрать пункт меню «Properties». После этого появится окно редактирования свойств связи (Рис. 24).

Рис. 24. Окно редактирования свойств связи

Свойства связи можно задать в закладке (1) данного окна. В списке (2) можно определить множественность начала связи, в списке (3) – множественность окончания. В списке (4) можно выбрать атрибут начала связи, в списке (5) – атрибут окончания. Также с помощью кнопки (6) можно добавить связь, а с помощью (7) – удалить.

Для сохранения всех изменений необходимо нажать кнопку (8), для отмены (9).

Полученную диаграмму можно экспортировать в графический файл для дальнейшего использования в различных документах. Для этого необходимо щелкнуть правой клавишей мыши на пустом месте рабочего пространства (4) окна редактирования диаграммы и выбрать пункт меню «Export Diagramm» (Рис. 25).

Рис. 25. Контекстное меню экспорта диаграммы

После выбора данного пункта меню появится окно параметров экспорта (Рис. 26). В этом окне можно задать размеры изображения и другие параметры.

Рис. 26. Окно параметров экспорта диаграммы

  1. Занятие 3 (2ч): Разработка er-диаграммы логической модели бд

    1. Требуемые ресурсы и инструменты

Установленный программный продукт Software Ideas Modeler.

Описание предметной области - Вуз осуществляет образовательную деятельность. В вузе имеются кафедры с преподавателями. У кафедры есть наименование, телефон, список сотрудников. У преподавателя есть ФИО, должность. В вузе есть факультеты со списком кафедр и специальностей. У факультета есть название. У специальности есть наименование, шифр и список групп. У группы есть наименование и список студентов. У студента есть ФИО, номер зачетки, год поступления. Учебный процесс описывается указанием группы, преподавателя, дисциплины, объема.

    1. Порядок действий

Ознакомится с описанием предметной области, приведенным в разделе 4.1.

Разработать логическую модель и оформить ее в виде ER-диаграммы, используя инструменты, описанные в разделе 3.

  1. Создать проект «ВУЗ-логическая модель».

  2. Добавить ER-диаграмму.

  3. Добавить сущность «Должность».

  4. В сущность «Должность» добавить атрибут «Наименование».

  5. Добавить сущность «Факультет».

  6. В сущность «Факультет» добавить атрибут «Наименование».

  7. Добавить сущность «Специальность».

  8. В сущность «Специальность» добавить атрибуты «Наименование», «Шифр», «Факультет» - для указания принадлежности специальности к факультету.

  9. Добавить сущность «Кафедра».

  10. В сущность «Кафедра» добавить атрибуты «Наименование», «Телефон», «Факультет» - для указания принадлежности кафедры к факультету.

  11. Добавить сущность «Преподаватель».

  12. В сущность «Преподаватель» добавить атрибуты «Фамилия», «Имя», «Отчество», «Должность», «Кафедра» - для указания принадлежности преподавателя к кафедре.

  13. Добавить сущность «Группа».

  14. В сущность «Группа» добавить атрибуты «Наименование», «Специальность» - для указания принадлежности группы к специальности.

  15. Добавить сущность «Студент».

  16. В сущность «Студент» добавить атрибуты «Фамилия», «Имя», «Отчество», «Номер_зачетки», «Год_поступления», «Группа» - для указания принадлежности студента к группе.

  17. Добавить сущность «Дисциплина».

  18. В сущность «Дисциплина» добавить атрибут «Наименование».

  19. Добавить сущность «Учебный_план».

  20. В сущность «Учебный_план» добавить атрибуты «Группа», «Дисциплина», «Преподаватель», «Объем».

  21. Задать связь «Один-ко-многим» для сущностей «Факультет» и «Специальность», «Факультет» и «Кафедра», «Специальность» и «Группа», «Кафедра» и «Преподаватель», «Должность» и «Преподаватель», «Группа» и «Студент», «Группа» и «Учебный_план», «Дисциплина» и «Учебный_план», «Преподаватель» и «Учебный_план».

Разместить на диаграмме сущности и связи таким образом, чтобы связи не пересекались и располагались только под прямым углом к сущностям. Для этого в связи добавить, при необходимости, дополнительные точки.

Пример выполнения работы приведен на рисунке (Рис. 27).

Рис. 27. ER-диаграмма логической модели

  1. ЗАНЯТИЕ 4-5 (4ч): Разработка ER-диаграммы логической модели БД

    1. Требуемые ресурсы и инструменты

Установленный программный продукт Software Ideas Modeler

    1. Порядок действий

Ознакомится с описанием предметной области, приведенным в разделе 6 в соответствии с заданным вариантом.

Разработать логическую модель и оформить ее в виде ER-диаграммы, используя инструменты, описанные в разделе 3.

  1. ЗАНЯТИЕ 6 (2ч): Разработка ER-диаграммы физической модели БД

    1. Требуемые ресурсы и инструменты

Установленный программный продукт Software Ideas Modeler.

Разработанная на занятии 3 ER-диаграмма логической модели

    1. Порядок действий

Разработать физическую модель на основе ранее разработанной логической и оформить ее в виде ER-диаграммы, используя инструменты, описанные в разделе 3.

  1. Открыть проект «ВУЗ».

  2. Переименовать проект «ВУЗ - логическая модель» в «ВУЗ - физическая модель».

  3. В сущности «Должность» добавить атрибут «Код».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибута «Наименование» задать тип «String».

  4. В сущность «Факультет» добавить атрибут «Код».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибута «Наименование» задать тип «String».

  5. В сущность «Специальность» добавить атрибут «Код», переименовать атрибут «Факультет» в «Код_факультета».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибута «Код_факультета» задать тип «Integer», установить вторичным ключом.

    3. Для атрибутов «Наименование» и «Шифр» задать тип «String».

  6. В сущность «Кафедра» добавить атрибут «Код», переименовать атрибут «Факультет» в «Код_факультета».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибута «Код_факультета» задать тип «Integer», установить вторичным ключом.

    3. Для атрибутов «Наименование» и «Телефон» задать тип «String».

  7. В сущность «Преподаватель» добавить атрибут «Код», переименовать атрибуты «Должность» в «Код_должности», «Кафедра» в «Код_кафедры».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибутов «Код_ должности» и «Код_ кафедры» задать тип «Integer», установить вторичным ключом.

    3. Для атрибутов «Фамилия», «Имя», «Отчество» задать тип «String».

  8. В сущность «Группа» добавить атрибут «Код», переименовать атрибут «Специальность» в «Код_специальности».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибута «Код_ специальности» задать тип «Integer», установить вторичным ключом.

    3. Для атрибута «Наименование» задать тип «String».

  9. В сущность «Студент» добавить атрибут «Код», переименовать атрибут «Группа» в «Код_группы».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибута «Код_ группы» задать тип «Integer», установить вторичным ключом.

    3. Для атрибутов «Фамилия», «Имя», «Отчество», «Номер_зачетки» задать тип «String».

    4. Для атрибута «Год_поступления» задать тип «Integer».

  10. В сущность «Дисциплина» добавить атрибут «Код».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибута «Наименование» задать тип «String».

  11. В сущность «Учебный_план» добавить атрибут «Код», переименовать «Группа» в «Код_группы», «Дисциплина» в «Код_дисциплины», «Преподаватель» в «Код_преподавателя».

    1. Для атрибута «Код» задать тип «Integer», установить автоинкрементным полем, первичным ключом и запретить значение NULL.

    2. Для атрибутов «Код_ группы», «Код_ дисциплины», «Код_ преподавателя» задать тип «Integer», установить вторичным ключом.

    3. Для атрибута «Объем» задать тип «Integer».

Разместить на диаграмме сущности и связи таким образом, чтобы связи не пересекались и располагались только под прямым углом к сущностям. Для этого в связи добавить, при необходимости, дополнительные точки.

Пример выполнения работы приведен на рисунке (Рис. 28).

Рис. 28. Физическая модель. ER-диаграмма

  1. ЗАНЯТИЕ 7-8 (6ч): Разработка ER-диаграммы физической модели БД

    1. Требуемые ресурсы и инструменты

Установленный программный продукт Software Ideas Modeler

    1. Порядок действий

Ознакомится с описанием предметной области, приведенным в разделе 6 в соответствии с заданным вариантом.

Разработать физическую модель и оформить ее в виде ER-диаграммы, используя инструменты, описанные в разделе 3.

  1. Варианты заданий для занятий

Вариант 1

Существует некий банк. В банке имеются отделы, у каждого отдела существует номер телефона, к каждому отделу привязаны сотрудники. О сотрудниках есть следующая информация: ФИО, Дата рождения, должность. Сотрудник может работать с несколькими клиентами, о клиенте существует следующая информация: ФИО, Дата рождения, Выдать(не выдать) кредит, его кредитная история – Дата взятия, Дата окончания, дата полной выплаты, сумма кредита, так же клиент может иметь счета и сумму на счете.

Вариант 2

Есть служба такси. Имеются сотрудники, должности. Сотрудник содержит ФИО, паспортные данные, пол, должность и автомобиль. В должностях указывается наименование, тип работы (дневной или ночной) и оклад. Информация об автомобиле содержат: марку, пробег, прохождение Т/О, вместимость, тип (груз/обычное). Стоимость перевозки формируется в прейскуранте с учетом времени, зоны и предпочтений. Заказ содержит кол-во человек или вес, время вызова, время подачи, тарифную зону, предпочтения и исполняющего сотрудника. Время, зоны и предпочтения должны иметь записи о модификации базовой ставки.

Вариант 3

Авто – Сервис занимается ремонтом автомобилей. Имеются сотрудники с ФИО, должности с окладом. При ремонте должна учитываться информация о клиентах (ФИО, адрес, телефон), заказах (дата, сотрудник, клиент, автомобили, неисправности). Также должна быть информация о смете.

Вариант 4

Фирма по продаже компьютерных комплектующих. В базе данных должна содержаться информация о сотрудниках, должностях, товарах, типах товара, клиентах, заказах, отделах и должностях, складах. Сотрудник принадлежит к одному отделу. В должности указывается оклад. В информацию о клиентах входят фио, контактные данные. Сотрудник может иметь много заказов. В заказе должна быть информация о выполняющем его сотруднике, о клиенте, дате заказа, дате окончания выполнения заказа и дате фактического окончания заказа. Смета содержит информацию о заказанных комплектующих и их количестве.

Вариант 5

Фирма занимается продажей сантехники. В базе данных должна содержаться информация о сотрудниках, должностях, товарах, категориях товара, клиентах, заказах, отделах и должностях, складах. Сотрудник принадлежит к одному отделу. В должности указывается оклад. В информацию о клиентах входят наименование, контактные данные. Товар может быть на нескольких складах. Заказ содержит информацию о сотруднике, оформившем заказ, клиенте, дате начала и окончания работ и дате фактического окончания работ. Должна быть информация о смете.

Вариант 6

Существует туристическое агентство. Агентство имеет свою клиентскую базу, содержащую информацию о клиентах: ФИО, контактный телефон, паспортные данные. Заказы клиента оформляет сотрудник туристического агентства. Заказ содержит в себе информацию: наименование заказа, его стоимость, рейс. Стоимость заказа зависит от тура: страна, тип тура, дата отправки, дата приезда. Информация о сотрудниках: ФИО, год рождения, должность, оклад.

Вариант 7

Источник: https://studfile.net/preview/16567647/