Главная страница
Навигация по странице:

  • Подготовка файлов к импорту

  • Таблица «Пользователи»

  • Таблица «Товары»

  • Таблица «Пункт выдачи»

  • Таблица «Заказы»

  • Таблица «Состав заказа»

  • Таблица «Роль»

  • Импорт таблиц

  • пыывп. Методические указания по практической работы. Нормализация базы данных Восстановление таблиц базы данных из скрипта в папке с заданием есть папка Скрипт, в ней находится файл под названием mssql script trade


    Скачать 6.87 Mb.
    НазваниеНормализация базы данных Восстановление таблиц базы данных из скрипта в папке с заданием есть папка Скрипт, в ней находится файл под названием mssql script trade
    Анкорпыывп
    Дата19.01.2023
    Размер6.87 Mb.
    Формат файлаdocx
    Имя файлаМетодические указания по практической работы.docx
    ТипПрактическая работа
    #893585

    1. Практическая работа:

    Нормализация базы данных

      1. Восстановление таблиц базы данных из скрипта

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

    1. Открыть MS SQL.

    2. Нажать ПКМ по нашей базе данных и выбрать «Создать запрос».



    1. Перенести файл скрипта восстановления БД в открывшееся окно.



    Изначально скрипт выглядит вот так:



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

    При изменении скрипта нужно убрать первые две строки и после «use» написать название нашей базы данных. В итоге скрипт должен выглядеть вот так:



    1. После этого нужно нажать на кнопку «Выполнить» или на клавишу F5:



    1. Для того, чтобы все созданные таблицы отобразились в базе данных, нужно выбрать БД и нажать на кнопку «Обновить» или клавишу F5



    1. После обновления БД в ней появились таблицы, созданные из скрипта:



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

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



    В появившемся окне выбрать все предложенные таблицы и нажать «Добавить». После загрузки всех таблиц нажать «Закрыть».



    После чего следует выбрать все таблицы, нажать на одну из них ПКМ-Вид таблицы-Стандартное



    После этого нажать ПКМ в любом месте и выбрать «Упорядочить таблицы»:



    Теперь наша диаграмма выглядит вот так:



      1. Подготовка файлов к импорту

    В папке «Импорт» есть четыре файла с данными для импорта таблиц



    Для удобства следует создать новый файл Excel, в котором будут все три исправленные таблицы. После создания файла Excel нужно добавить страницы и переименовать их по названиям таблиц, чтоб не запутаться:



    Таблица «Пользователи»

    Для начала нужно перенести все данные из файла импорта таблицы «User» в наш файл Excel:



    Можно заметить, что имя и отчество пользователей находятся в одном столбце, такого быть не должно. Для начала в названии столбца между именем и отчество нужно убрать запятую и вставить новый столбец на страницу:



    После этого выбираем весь столбец, переходим во вкладку «Данные» и нажимаем на кнопку «Текст по столбцам»:



    В первом окне нажимаем кнопку «Далее»:



    В следующем окне нужно выбрать, что символом-разделителем является пробел и нажать «Далее»:



    В последнем окне нажимаем «Готово»:



    Теперь таблица пользователей выглядит вот так:



    Также в первом столбце должен быть ID. Для этого следует добавить пустой столбец в начало и наполнить его значениями для всех пользователей:



    Таблица «Товары»

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



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



    Также в файле «Сессия 1» написано, что данная таблица должна иметь еще атрибуты «Количество в упаковке» и «Минимальное количество». Их нужно тоже добавить в таблицу, при этом поставить на них нулевые значения, так как у нас нет данных на существующие записи. После добавления данных атрибутов таблица выглядит вот так:



    Также нужно поменять тип данных у атрибута «ProductImage» на «nvarchar», но если просто попытаться поменять, то выдаст ошибку, поэтому сначала нужно удалить этот атрибут:



    После чего добавить его с нужным типом данных:



    После добавления атрибута его нужно вернуть в изначальное положение, для этого заходим в «Проект» таблицы:



    И переставляем атрибут как показано на рисунке:



    После этого сохраняем таблицу ctrl+S.

    Таблица в Excel должна выглядеть так:



    Таблица «Пункт выдачи»

    Первым этапом подготовки таблицы к импорту будет также перенести все данные из файла в подготовленный нами Excel файл. После этого в таблицу нужно добавить ID. После изменений таблица должна выглядеть вот так:



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



    Ввести название «PickupPoint» и нажать «ОК».



    После добавления нужных атрибутов, установки первичного ключа и смены типов данных таблица должна выглядеть вот так:



    В таблице «Заказы» у атрибута «OrderPickupPoint» нужно поменять тип данных на «int»:



    После чего установить связь между таблицами «Заказы» и «Пункт выдачи», потянув от «ID» пункта выдачи к атрибуту «OrderPickupPoint» таблицы заказов. В появившихся окнах нажать «ОК»:



    В итоге диаграмма должна выглядеть вот так:



    Таблица «Заказы»

    Для начала также переносим все данные из файла импорта таблицы в наш файл Excel и ставим все столбцы по порядку в соответствии с таблицей на диаграмме БД. Должно получится вот так:



    У нас остались лишние столбцы, которые тоже нужно добавить в таблицу БД. После изменений таблица в базе данных должна выглядеть так:



    В Excel:



    Атрибут «Состав заказа» стоит отдельно, потому что пойдет в промежуточную таблицу между «Заказы» и «Товары».

    Таблица «Состав заказа»

    Для начала нужно разделить данные из столбца «Состав заказа» по нескольким столбцам (символ-разделитель – запятая). Можно заметить, что у одного заказа идет по два товара, поэтому продублировать цифры от 1 до 10. После этого перенести все артикулы к номерам соответствующих заказов. Для удобства можно создать отдельный лист под данную таблицу:



    Таблица «Роль»

    Последней таблицей для импорта является «Роль». В задании определены 3 вида ролей для пользователей: «Клиент», «Менеджер» и «Администратор». Эти данные нужно будет занести на новый лист с таблицами.



    После определения ролей следует вернуться к таблице пользователей. В ней указаны роли в типе данных nvarchar, их нужно исправить на int, так как атрибут имеет связь с таблицей ролей в базе данных. Сделать это можно с помощью функции «ПРОСМОТР» («LOOKUP») прямо в Excel.

    Сначала удаляем строку с названиями столбцов в таблице «Роли»:



    После чего на странице с таблицей «Товары» в отдельной ячейке прописываем следующую функцию:



    И растягиваем ее на все ячейки с данными о товарах. В итоге должно получиться так:



    Выделяем полностью этот столбец и копируем, потом с помощью специальной вставки вставляем данные в столбец «Role»:



    И получается такая таблица:



    На данном этапе подготовка таблиц завершена, можно приступать к импорту в базу данных.

      1. Импорт таблиц

    Первой таблицей импорта будет «Роль», для этого копируем все данные из файла Excel:



    Открывает таблицу в MS SQL:



    После чего выбираем всю строку, нажимаем ПКМ по ней и выбираем «Вставить»:



    Данные в таблицу успешно добавились:



    Следующей таблицей для импорта будет «Пользователи». Также копируем всю информацию из файла Excel, но без первой строки:



    В MS SQL открываем таблицу:



    Выделяем строку, нажимаем на нее ПКМ и вставляем данные:



    Данные в таблицу успешно добавились:



    По аналогии добавьте все данные в оставшиеся таблицы.

    P.S. Данные с листа «Состав заказа» добавляются в таблицу «OrderProduct» только после добавления данных в таблицы «Order» и «Product». А данные в таблицу «Order» заносятся только после заполнения таблицы «PickupPoint».


    написать администратору сайта