- •Цель работы
- •Описание предметной области
- •Набор сущностей
- •Ход работы
- •Подготовка к переносу данных в среде Access
- •Создание бд средствами MySql-сервера
- •Запуск графического клиента MySql WorkBench
- •Перенос таблиц из Access в среду MySql
- •Запросы для проверки корректности переноса
- •Заключение
- •Список использованных источников
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
КАФЕДРА 41
|
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
канд.тех.наук, доцент |
|
|
|
Е. Л. Турнецкая |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ №3
|
МИГРАЦИЯ БАЗЫ ДАННЫХ В СРЕДУ MySQL
|
по дисциплине: Базы данных |
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
Z9411 |
|
|
|
Р. С. Кафка |
|
номер группы |
|
подпись, дата |
|
инициалы, фамилия |
Студенческий билет № |
2019/3603 |
|
|
|
Санкт-Петербург 2023
СОДЕРЖАНИЕ
1. Цель работы 3
2. Описание предметной области 3
2.2. Схема данных 3
3. Ход работы 4
3.1. Подготовка к переносу данных в среде Access 4
3.2. Создание БД средствами MySQL-сервера 4
3.3. Запуск графического клиента MySQL WorkBench 5
3.4. Перенос таблиц из Access в среду MySQL 5
4. Запросы для проверки корректности переноса 9
ЗАКЛЮЧЕНИЕ 10
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 11
Цель работы
Произвести связь базы данных в MySQL и Python, извлечь данные из таблиц базы данных и выполнить анализ данных в БД с помощью визуализации в Python.
Описание предметной области
При обращении в медицинское учреждение в электронную амбулаторную карту пациента вносят сведения о фамилии, имени, отчестве и годе рождения. Врач фиксирует дату приема, заносит информацию о поставленном диагнозе, составляет план лечения и определяет стоимость лечения. Пациент может обращаться за помощью к медицинский специалистам разных специализаций.
Набор сущностей
Пациенты (Код, Фамилия, Имя, Отчество, Год рождения)
Врачи (Код врача, Фамилия, Специализация, Категория)
Обращения (Код обращения, Код пациента, Код врача, Диагноз, Дата обращения, Стоимость лечения)
Схема данных
Схема данных базы данных представлена на рисунке 1.
Рисунок 1 – Схема данных
Ход работы
Подготовка к переносу данных в среде Access
Перевёл названия каждой таблицы и полей на английский язык.
Создал новую схему данных для проверки правильности соединения таблиц между собой. На рисунке 2 приведена схема данных подготовленной для переноса базы данных.
Рисунок 2 – Схема данных подготовленной для переноса базы данных
Создание бд средствами MySql-сервера
Запустил приложение MySQL Command Line Client UNICODE, ввёл пароль, который был определен в момент инсталляции сервера, в рассматриваемом случае admin (рис.3).
Рисунок 3 – Запуск MySQL-сервера из командной строки
Создал базу данных, в которую будут переданы данные из Access – «MedCenter.sql» и разрешил ее редактировать. Для этого в командной строке написал код: mysql> create database MedCenter; нажал ENTER (рис.4). После выполнения команды на создание БД написал код подключения к ней: mysql> use MedCenter;
Рисунок 4 – Создание БД на сервере
Запуск графического клиента MySql WorkBench
Запустил с Рабочего стола приложение MySQL Workbench. Осуществил подключение к серверу, убедился что база данных была создана. Результат представлен на рисунке 5.
Рисунок 5 – Элементы БД в MySQL
Перенос таблиц из Access в среду MySql
Открыл подготовленную для переноса БД в Access
Выделил таблицу для переноса - объект Doctors. В контекстном меню объекта выбрал Экспорт>База данных ODBC.
Задал имя для создаваемой таблицы «Doctors».
Определил источник данных компьютера. Для этого нажал кнопку Создать. Выбрал «Пользовательский» -> MySQL ODBC 8.0 Unicode Driver -> Готово (рис. 6-9).
-
Рисунок 6 – Источник данных компьютера
Рисунок 7 – Создание нового источника данных
Рисунок 8 – Выбор драйвера для связи с источником
Рисунок 9 – Переход к определению дополнительных параметров связи
Определил конфигурацию драйвера (рис.10) и проверил корректность соединения (рис.11).
Рисунок 10 – Определение параметров связи
Рисунок 11 – Тестирование связи
После определения требуемых параметров связи в исходном окне Выбор источника данных появился новый источник данных Access->MySQL. Выбрал его и сохранил шаги экспорта для переноса других таблиц (рис. 12-13).
Рисунок 12 – Новый источник данных Access->MySQL
Рисунок 13 – Сохранение шагов экспорта
Перешёл в MySQL Workbench и обновил соединения (рис.14). Раскрыл список и посмотрел правильность отображения названий полей. Затем открыл таблицу для проверки корректности переноса данных.
Выполнил аналогичные шаги для переноса всех таблиц из Access (рис.15).
Рисунок 14 – Структура перенесенной таблицы Doctors в Workbench
Рисунок 15 – Перенесенные таблицы из Access
Результат запроса на выборку всех полей из таблицы Doctors показан на рис.16, выполнение этого запроса доказывает, что настройки экспорта данных были выполнены корректно
Рисунок 16 – Результат запроса на выборку всех полей таблицы Doctors
После переноса таблиц обновил информацию о первичном и внешних ключах каждой таблицы с применением операторов языка SQL.Код представлен в листинге 1 и листинге 2.
Листинг 1 – Определение поля первичного ключа каждой таблицы БД.
-
ALTER TABLE doctors ADD PRIMARY KEY (doc_id);
ALTER TABLE patients ADD PRIMARY KEY (pat_id);
ALTER TABLE requests ADD PRIMARY KEY (req_id);
Листинг 2 – Определение связей между таблицами по внешним ключам.
-
ALTER TABLE requests ADD FOREIGN KEY (doc_id) REFERENCES doctors (doc_id) ON UPDATE CASCADE;
ALTER TABLE requests ADD FOREIGN KEY (pat_id) REFERENCES patients (pat_id) ON UPDATE CASCADE;
Реализованная в Workbench модель данных (рис.17) доказывает, что перенос БД из среды Access на сервер MySQL прошел успешно.
Рисунок 17 – Модель данных в среде MySQL Workbench