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

6 СЕМЕСТР / ЛР / ЛР3 / ЛР_№3_БД_2семестр_Миграция

.pdf
Скачиваний:
11
Добавлен:
25.06.2023
Размер:
3.06 Mб
Скачать

Упражнение. Перенос таблиц из Access в среду MySQL

1.Откройте подготовленную для переноса БД в Access. Где взять подготовленную БД:

можно реализовать на основе данных курсовой по ИСИТ; разработать заново на основе заданий по БД, использую Access.

Количество таблиц в БД от трех до пяти. Наборы данных для каждой таблицы – не менее 7 строк.

2.Выделите таблицу для переноса, например объект Clients. В контекстном меню объекта, которое отроется по щелчку на ПКМ, выберите

Экспорт>База данных ODBC (рис.16).

Рис.16. Определение типа базы данных для экспорта

3. Задайте имя создаваемой таблицы (рис.17). Как правило, оно совпадает с именем переносимой таблицы.

Рис.17. Название экспортируемой таблицы

11

4.Определите источник данных компьютера. Для этого нажмите кнопку Создать. В списке источников присутствуют интерфейсы для взаимодействия между Access и Excel. Другие источники отсутствуют. В ходе определения источника данных появится предупреждение Системного DNS для ODBC, которое можно проигнорировать.

5.Создание нового источника данных начинают с определения пользовательского источника данных, который будет актуален только для компьютера пользователя (рис.18,19).

6.Затем выбирают драйвер, для которого задается источник (рис.20,21). На этом шаге может возникнуть проблема, связанная с программным обеспечением компьютера пользователя. В последних версиях дистрибутивов не предусмотрено драйверов, которые позволят без установок дополнительных программных библиотек или обновления имеющихся, осуществить корректную связь с сервером MySQL. Как правило, производители ПО – компания Oracle, предлагают драйвер Access for Oracle, корректная работа которого требует специализированного программного окружения. Выходом из этого положения является удаление драйвера и установка нового ODBC-коннектора более старой версии через Установку/удаление программ средствами ОС. Установка драйвера осуществляют через повторный запуск инсталлятора MySQL InstallerCommunity (рис.3). Если при установке заранее была выбрана версия с понижением, например MySQL ODBC 5.3 Driver, то рассматриваемой проблемы не возникнет. Драйверы поддерживают две кодировки таблиц ASCII и UNICODE. Так как кириллические символы входят в таблицу кодировок UNICODE, то следует выбирать драйвер MySQL ODBC 5.3 UNICODE Driver. Иначе данные в перенесенной таблице будут отображены неправильно.

12

Рис.18. Источник данных

Рис.19. Создание нового источника

компьютера

данных

Рис.20. Выбор драйвера для связи с

Рис.21 Переход к определению

источником

дополнительных параметров связи

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

Data Source Name: Access->MySQL

TCP/IP Server: 127.0.0.1

User: root

Password: admin

Из выпадающего списка выбирают базу данных: tourist.sql. Для проверки правильности соединения с базой данных нажимают на кнопку Test.

13

Рис.22. Определение параметров Рис.23. Тестирование связи связи

8. После определения требуемых параметров связи в исходном окне Выбор источника данных появится новый источник данных Access->MySQL

(рис.24)

Рис.24. Новый источник данных Access->MySQL

9. Сохраните шаги экспорта для переноса других таблиц (рис.25).

14

Рис.25. Сохранение шагов экспорта

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

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

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

15

Рис. 26. Структура перенесенной

Рис.27. Перенесенные таблицы из

таблицы Clients в Workbench

Access

Вышеприведенные скриншоты подтверждают корректность миграции

данных. Косвенным подтверждением правильности действий при переносе таблиц является результат однотабличного запроса (рис.28).

16

Рис.28. Результат запроса на выборку всех полей таблицы Clients

После переноса таблиц следует обновить информацию о первичном и внешних ключах каждой таблицы с применением операторов языка SQL. Синтаксис SQL-команд:

ADDимяновогостолбцасвойновогостолбцаваFIRST|AFTER

имясуществующегостолбца.добавление//новогостолбцатаблицу

ADD PRIMARY KEY (имястолбца).доб//первичноговлениеключатаблицу

CHANGE имястолбцановоеимястолбцасвойствастолбцаизменение//описания столбца

DROP имястолбцаудаление//столбцаизтаблицы

DROP PRIMARY KEY //удаленпервключатаблицыечного

RENAME новоеимятаблицыпереименование// таблицы

Листинг 1. Определение поля первичного ключа каждой таблицы БД.

ALTER TABLE clients ADD PRIMARY KEY (IdClients);

ALTER TABLE country ADD PRIMARY KEY (IDCountry);

ALTER TABLE routes ADD PRIMARY KEY (IdRoutes);

ALTER TABLE vouchers ADD PRIMARY KEY (IdVoucher);

Листинг 2. Определение связей между таблицами по внешним ключам.

ALTER TABLE vouchers ADD FOREIGN KEY (Clients) REFERENCES clients (IdClients) ON UPDATE CASCADE;

ALTER TABLE vouchers ADD FOREIGN KEY (IDRouters) REFERENCES routes (IdRoutes) ON UPDATE CASCADE;

ALTER TABLE routes ADD FOREIGN KEY (Country) REFERENCES country (IDCountry) ON UPDATE CASCADE;

17

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

Рис. 29. Модель данных в среде MySQL Workbench

Порядок выполнения работы

1.В личных файлах найдите базу данных, реализованную в среде access в прошлом семестре. Если БД утеряна, то создайте новую в соответствие с вариантом задания (предметной области). Заполните таблицы 7-10 правдоподобными записями.

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

3.Перенесите БД из среды Access в программную среду MySQL.

4.Восстановите связи между таблицами.

5.Выполните два запроса для проверки корректности переноса (миграции) данных. Запросы сформулируйте самостоятельно.

Структура отчета

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

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

3.Схема данных БД в Access.

4.Последовательность выполнения переноса таблиц БД, зафиксировав ключевые точки переноса на скриншотах. Не забывайте делать текстовые пояснения к графическим материалам.

5.Скриншот модели данных в среде MySQL.

18

6.Программный код восстановления связей между таблицами.

7.Модель данных после установления связей.

8.Запросы в текстовом формате и в формате SQL-кода с результатом выполнения, показанным на скриншотах.

9.Выводы о проделанной работе в формате эссе (делаем самостоятельно, друг у друга не копируем). Отчеты с дубликатами выводов будут приняты с понижением оценки на 1-2 балла.

10.Список использованных источников.

19

Соседние файлы в папке ЛР3