Добавил:
t.me Установите расширение 'SyncShare' для решения тестов в LMS (Moodle): https://syncshare.naloaty.me/ . На всякий лучше отключить блокировщик рекламы с ним. || Как пользоваться ChatGPT в России: https://habr.com/ru/articles/704600/ || Также можно с VPNом заходить в bing.com через Edge браузер и общаться с Microsoft Bing Chat, но в последнее время они форсят Copilot и он мне меньше нравится. || Студент-заочник ГУАП, группа Z9411. Ещё учусь на 5-ом курсе 'Прикладной информатики' (09.03.03). || Если мой материал вам помог - можете написать мне 'Спасибо', мне будет очень приятно :) Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс 1 семестр / Лабораторные / Z9411_КафкаРС_БД_ЛР3.docx
Скачиваний:
5
Добавлен:
24.10.2023
Размер:
450.27 Кб
Скачать

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

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

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

ИНСТИТУТ НЕПРЕРЫВНОГО И ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

КАФЕДРА 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

  1. Цель работы

Произвести связь базы данных в MySQL и Python, извлечь данные из таблиц базы данных и выполнить анализ данных в БД с помощью визуализации в Python.

  1. Описание предметной области

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

    1. Набор сущностей

Пациенты (Код, Фамилия, Имя, Отчество, Год рождения)

Врачи (Код врача, Фамилия, Специализация, Категория)

Обращения (Код обращения, Код пациента, Код врача, Диагноз, Дата обращения, Стоимость лечения)

    1. Схема данных

Схема данных базы данных представлена на рисунке 1.

Рисунок 1 – Схема данных

  1. Ход работы

    1. Подготовка к переносу данных в среде Access

      1. Перевёл названия каждой таблицы и полей на английский язык.

      2. Создал новую схему данных для проверки правильности соединения таблиц между собой. На рисунке 2 приведена схема данных подготовленной для переноса базы данных.

Рисунок 2 – Схема данных подготовленной для переноса базы данных

    1. Создание бд средствами MySql-сервера

      1. Запустил приложение MySQL Command Line Client UNICODE, ввёл пароль, который был определен в момент инсталляции сервера, в рассматриваемом случае admin (рис.3).

Рисунок 3 – Запуск MySQL-сервера из командной строки

      1. Создал базу данных, в которую будут переданы данные из Access – «MedCenter.sql» и разрешил ее редактировать. Для этого в командной строке написал код: mysql> create database MedCenter; нажал ENTER (рис.4). После выполнения команды на создание БД написал код подключения к ней: mysql> use MedCenter;

Рисунок 4 – Создание БД на сервере

    1. Запуск графического клиента MySql WorkBench

Запустил с Рабочего стола приложение MySQL Workbench. Осуществил подключение к серверу, убедился что база данных была создана. Результат представлен на рисунке 5.

Рисунок 5 – Элементы БД в MySQL

    1. Перенос таблиц из Access в среду MySql

      1. Открыл подготовленную для переноса БД в Access

      2. Выделил таблицу для переноса - объект Doctors. В контекстном меню объекта выбрал Экспорт>База данных ODBC.

      3. Задал имя для создаваемой таблицы «Doctors».

      4. Определил источник данных компьютера. Для этого нажал кнопку Создать. Выбрал «Пользовательский» -> MySQL ODBC 8.0 Unicode Driver -> Готово (рис. 6-9).

Рисунок 6 – Источник данных компьютера

Рисунок 7 – Создание нового источника данных

Рисунок 8 – Выбор драйвера для связи с источником

Рисунок 9 – Переход к определению дополнительных параметров связи

      1. Определил конфигурацию драйвера (рис.10) и проверил корректность соединения (рис.11).

        Рисунок 10 – Определение параметров связи

        Рисунок 11 – Тестирование связи

      2. После определения требуемых параметров связи в исходном окне Выбор источника данных появился новый источник данных Access->MySQL. Выбрал его и сохранил шаги экспорта для переноса других таблиц (рис. 12-13).

        Рисунок 12 – Новый источник данных Access->MySQL

        Рисунок 13 – Сохранение шагов экспорта

      3. Перешёл в MySQL Workbench и обновил соединения (рис.14). Раскрыл список и посмотрел правильность отображения названий полей. Затем открыл таблицу для проверки корректности переноса данных.

      4. Выполнил аналогичные шаги для переноса всех таблиц из Access (рис.15).

        Рисунок 14 – Структура перенесенной таблицы Doctors в Workbench

        Рисунок 15 – Перенесенные таблицы из Access

      5. Результат запроса на выборку всех полей из таблицы Doctors показан на рис.16, выполнение этого запроса доказывает, что настройки экспорта данных были выполнены корректно

Рисунок 16 – Результат запроса на выборку всех полей таблицы Doctors

      1. После переноса таблиц обновил информацию о первичном и внешних ключах каждой таблицы с применением операторов языка 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;

      1. Реализованная в Workbench модель данных (рис.17) доказывает, что перенос БД из среды Access на сервер MySQL прошел успешно.

Рисунок 17 – Модель данных в среде MySQL Workbench

Соседние файлы в папке Лабораторные