Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 / 2

.docx
Скачиваний:
1
Добавлен:
16.05.2025
Размер:
3.42 Mб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

Кафедра прикладной информатики

ПРЕПОДАВАТЕЛЬ

Канд. техн. наук

Е. Л. Турнецкая

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

Лабораторная работа №2

Реализация БД на сервере MySQL

по курсу: Базы данных

СТУДЕНТКА ГР. №

Z0411

М. В. Карелина

номер группы

подпись, дата

инициалы, фамилия

Номер студенческого билета: 2020/3477

Санкт-Петербург

2023

Цели работы

Даталогическое проектирование реляционной БД в среде MySQL Workbech, физическая реализация БД на основе модели данных, заполнение БД данными.

Последовательность выполнения работы.

  1. Внимательно прочитать методические указания.

  2. Выполнить упражнения:

    • по даталогическому проектированию БД в среде MySQL Workbench,

    • физической реализации БД на сервере на основе модели БД, – заполнению данными БД.

  3. На основании своего варианта реализовать БД на сервере, ориентируясь на этапы разработки БД по упражнениям. Выполнение каждого этапа необходимо зафиксировать на 3-7 скриншотах. Количество записей в каждой таблице от 3 до 5. Задание по лабораторной работе выполняется на основании трех таблиц Приложения А.

Структура первой и второй таблиц варианта вам знакома. По этим таблицам в первой лабораторной работе были реализованы две БД. В данной работе эти справочные таблицы входят в состав реляционной БД. Третья таблица соединяет их между собой связью «один ко многим» и, по сути, является журналом учета операций.

  1. Выполните отчет в соответствие с требованиями ГОСТ 7.32-2017 и ГОСТ 2.105-2019: по оформлению отчетов (https://guap.ru/standart/doc).

Вариант 8.

1. Ткани (Код ткани, Тип ткани, Цвет).

2. Изделия (Код изделия, Вид изделия, Размер).

3. Заказы (Код заказа, Код изделия, Код ткани, Цена изделия, Дата заказа).

Реализация БД на сервере MySQL

На основе анализа предметной области выделено три сущности: ткани (fabrics), изделия (products), заказы (orders) (табл.1-3). Для каждой из них выявлены атрибуты, выделены первичные ключи, определены типы связей.

В таблицах приняты следующие сокращения: NN (Not Null) – поле с обязательным заполнением, AI (Avto Increment) – поле типа счетчик, ПК –

первичный ключ, ВК – внешний ключ.

Таблица 1.

Определение атрибутов сущности fabrics

Атрибуты

Тип данных

Размер (бит)

Комментарии

fabricId

INT

32

ПК, NN, AI

fabricType

VARCHAR

45

Тип такани, NN

fabricColor

VARCHAR

255

Цвет ткани, NN

Таблица 2.

Определение атрибутов сущности products

Атрибуты

Тип данных

Размер (бит)

Комментарии

productId

INT

32

ПК, NN, AI

productName

VARCHAR

255

Вид изделия, NN

productSize

INT

32

Размер

Таблица 3.

Определение атрибутов сущности orders

Атрибуты

Тип данных

Размер (бит)

Комментарии

orderId

INT

32

ПК, NN, AI

productId

INT

32

ВК, NN

fabricId

INT

32

ВК, NN

price

DECIMAL

32

Стоимость,NN

date

DATE

10, 2

NN

Даталогическое проектирование БД

Запустим графический клиент MySQL Workbench. На главном окне клиента подключимся к серверу и создадим новую модель БД: File>New Model (рис.1).

Рисунок 1 - Создание новой модели, подключение к серверу и выбор опции создания New Model

Для того, чтобы отредактировать название, нужно: навести мышку на название>нажать правую кнопку мышки>Edit Schema. Переименуем схему mydb в sales. Выставите кодировку данных charset:utf8, алгоритм сопоставления данных collation:utf8-general-ci (рис.2).

Рисунок 2 - Установка алгоритма сравнения символов utf8-general-ci

Создадим ER-диаграмму: Add Diagram. Нажмем на пиктограмму с изображением таблицы и перетянем таблицу на поле построения ER-диаграммы (рис.3):

Рисунок 3 - Окно проектирования БД

Проектирование таблиц fabrics, products, orders в соответствие с атрибутами каждой сущности представлено на рис.4-6:

Рисунок 4 - Проектирование таблицы fabrics

Рисунок 5 - Проектирование таблицы products

Рисунок 6 - Проектирование таблицы orders

Для проектирования таблицы orders необходимо указать соединения с таблицами products и fabrics по ключевым полям. При этом первичный ключ внешних таблиц станет внешним ключом таблицы orders. Чтобы связать таблицы переходят на вкладку Foreign Keys. Установка связей между таблицами представлена на рисунках 7,8.

Рисунок 7 - Установка связей между таблицами products и orders

Рисунок 8 - Установка связей между таблицами fabrics и orders

Устанавливаемые связи автоматически отображены на модели данных (рис.9).

Рис.9 - ER-диаграмма БД sale

Реализация БД на сервере на основе модели данных

На основе модели данных запустим процесс по реализации БД на сервере. Первым шагом на пути к физической реализации БД станет автогенерация программного кода, которая представлена на рис.10-12.

Запустим команду: File>Export>Forward Engineer SQL CREATE Script… 2. В первой строке даем название скрипта по созданию БД и выбираем место файла сохранения на персональном компьютере (рис.10).

Рисунок 10 - Определение полного имени файла для сохранения скрипта БД

В процессе проектирования разработаны три таблицы – объекты БД. Других объектов не объявлено (рис.11).

Рисунок 11 - Определение объектов БД

В следующем окне проверим код, который был автосгенерирован на основании модели данных (рис.12).

Рисунок 12 - Просмотр сгенерированного программного кода

Далее выполним команду: File>Open SQL script (рис.13).

Рисунок 13 - Выбор местоположения файла для открытия

Программный код в окне редактирования кода MySQL Workbench и результат его выполнения представлены на рисунке 14,15:

Рисунок 14 - Исполнение скрипта на создание БД

Рисунок 15 - Результат выполнения команд

Для просмотра структуры таблицы следует Подвести курсор к ее названию>Нажать правую кнопку мышки>В контекстном меню выбрать опцию Table inspector (рис.16).

Рисунок 16 - Поля в таблице invoice

На рис.17 показана информация об индексируемых полях таблицы.

Рисунок 17 - Вкладка Indexes инспектора таблицы orders

Выполним проверку структуры таблицы и данных (рис. 18):

Рисунок 18 - Результат выполнения запроса на просмотр всех данных таблицы orders

Заполнение данными БД

Для заполнения таблиц fabrics, products и orders создадим новые листы для написания SQL-кода. Заполнение данными таблиц fabrics, products и orders представлены на рис.19-21.

Листинг. Заполнение таблицы fabrics

USE SALES;

insert into fabrics

values

(1, 'Шерсть','Амарантовый'),

(2, 'Шелк', 'Аквамариновый'),

(3, 'Хлопок', 'Бобровый'),

(4, 'Лен', 'Арлекин'),

(5, 'Вискоза', 'Баклажановый'),

(6, 'Ацетат', 'Горчичный');

select * from fabrics;

Рисунок 19 - Заполнение данными таблицы fabrics

Листинг. Заполнение таблицы products.

USE SALE;

insert into products

values

(1, 'Платье','42'),

(2, 'Юбка','44'),

(3, 'Футболка','46'),

(4, 'Шорты','42'),

(5, 'Свитшот','46'),

(6, 'Кардиган','42');

select * from products;

Рисунок 20 - Заполнение данными таблицы products

Листинг. Заполнение таблицы orders.

USE SALE;

insert into orders

values

(1,1,1, 50000, '2022-12-12'),

(2,2,2, 150000, '2021-12-12'),

(3,3,3, 125000, '2020-12-12'),

(4,4,4, 75000, 2019-12-12'),

(5,5,5, 80000, '2018-12-12'),

(6,6,6, 90000, '2017-12-12'),

(7,1,3, 110000, '2016-12-12'),

(8,4,6, 120000, '2015-12-12'),

(9,2,4, 70000, '2014-12-12'),

(10,5,2, 60000, '2013-12-12');

select * from orders;

Рисунок 21 - Заполнение данными таблицы orders

Вывод

В ходе выполнения данной лабораторной работы было реализовано даталогическое проектирование БД, а также БД на сервере на основе модели данных. Далее было произведено заполнение данными БД в соответствие со своим вариантом. Особых проблем при выполнении работы не возникало.

Соседние файлы в папке 1