ПР№8 Заполнение БД с помощью запросов на языке SQL. Импорт данных из Excel.
1. Откройте ранее созданную базу данных FurnitureStore.
2. Добавьте в каждую таблицу по одной записи с помощью конструкции INSERT INTO.
Данные для вставки:
- таблица Categories
| id | 1 |
| name | Кухни |
| parent_id | Null |
| description | Кухонные гарнитуры и модули |
| image_url | /images/categories/kitchen.jpg |
3. После заполнения и выполнения данной строки выполните импорт оставшихся данных в таблицу. Файл с sql-запросами сохраните в своей папке.
Для этого нажмите ПКМ в дереве объектов на FurnitureStore, выберите Tasks, затем Import Data…
У вас появится окно приветствия Мастера Импорта/Экспорта данных:
Нажимаете Next. В открывшемся окне выберите источник для импорта Microsoft Excel, укажите путь к файлу и укажите версию Excel - Microsoft Excel 2013. Нажмите Next.
В появившемся окне в Destination выберите SQL Server Native Client 11.0, проверьте название БД, в которую будет производиться импорт данных. Нажмите Next.
Выбираем вариант импорта Copy data from one or more tables or views. Нажмите Next.
В появившемся окне указываем в какую таблицу будет производиться Импорт данных. Нажмите Next.
Изменяем On Error(global) и On Truncation (global) на Ignore. Нажмите Next.
Нажимаем Next пока не появится кнопка Finish.
В результате успешного импорта появится окно:
Проверьте наличие импортированных в таблицу данных:
4. Повторите пункты 2-3 для оставшихся таблиц.
Примечание: если при создании таблиц вы указали ключевое слово IDENTITY, то при заполнении через SQL данный столбец вводиться не будет.
- таблица Products
| id | 1 |
| sku | KITCH-001 |
| name | Кухня "Милан" белая |
| category_id | 7 |
| description | Современная кухня в стиле модерн с фасадами из МДФ |
| material | МДФ, ДСП, пластик |
| color | белый |
| dimensions | 300x220x60 см |
| weight | 250.5 |
| price | 85000.00 |
| cost_price | 55000.00 |
| warranty_months | 24 |
Остальные данные импортируйте.
- таблица Product_Images
| id | 1 |
| product_ id | 1 |
| image_url | /images/products/kitchen-milan-1.jpg |
| sort_order | 1 |
| is_main | 1 |
Остальные данные импортируйте.
- таблица Warehouse
| id | 1 |
| product_id | 1 |
| quantity | 3 |
| location | A-12-3 |
| min_stock_level | 2 |
| last_restock_date | 2024-01-15 |
Остальные данные импортируйте.
- таблица Customers
| id | 1 |
| first_name | Иван |
| last_name | Петров |
| | ivan.petrov@email.com |
| phone | +7 (912) 345-67-89 |
| address | г. Москва, ул. Ленина, д. 10, кв. 25 |
| registration_date | 2023-11-15 |
| loyalty_points | 150 |
Остальные данные импортируйте.
- таблица Orders
| id | 1 |
| order_number | ORD-2024-001 |
| customer_id | 1 |
| order_date | Выставляется автоматически, в sql-запросе не указываем это поле |
| delivery_address | г. Москва, ул. Ленина, д. 10, кв. 25 |
| delivery_date | 2024-01-15 |
| status | доставлен |
| total_amount | 32000.00 |
| payment_method | карта |
| payment_status | оплачен |
Остальные данные импортируйте.
Примечания к заказам (notes) – ввести вручную в таблицу:
ORD-2024-001: "Доставить до 18:00"
ORD-2024-002: "Позвонить за час до доставки"
ORD-2024-003: "Клиент просил доставить в выходные"
ORD-2024-004: нет примечаний
ORD-2024-005: "Нужен подъем на 4 этаж"
- таблица Order_Items
| id | 1 |
| order_id | 1 |
| product_id | 6 |
| quantity | 1 |
| unit_price | 32000.00 |
| discount_percent | 0 |
Остальные данные импортируйте.
- таблица Suppliers
| id | 1 |
| name | ООО "МебельПроф" |
| contact_person | Сергей Иванов |
| phone | +7 (495) 123-45-67 |
| | info@mebelprof.ru |
| address | г. Москва, ул. Промышленная, д. 15 |
| inn | 7712345678 |
Остальные данные импортируйте.
- таблица Shipments
| id | 1 |
| shipment_number | SHIP-2024-001 |
| supplier_id | 1 |
| shipment_date | 2024-01-05 |
| expected_date | 2024-01-05 |
| status | получена |
| total_cost | 165000.00 |
Остальные данные импортируйте.
- таблица Shipment_Items
| id | 1 |
| shipment_id | 1 |
| product_id | 1 |
| quantity | 2 |
| unit_cost | 55000.00 |
Остальные данные импортируйте.
- таблицу Users импортируем без sql-запроса
- таблица Employees
| id | 1 |
| first_name | Александр |
| last_name | Иванов |
| position | Администратор |
| phone | +7 (916) 111-22-33 |
| | admin@store.ru |
| hire_date | 2023-01-15 |
| salary | 80000.00 |
| user_id | 1 |
Остальные данные импортируйте.
- таблица Deliveries
| id | 1 |
| order_id | 1 |
| courier_id | 4 |
| planned_date | 2024-01-15 |
| actual_date | 2024-01-15 |
| status | доставлена |
| tracking_number | TRACK-001 |
| delivery_cost | 1500.00 |
Остальные данные импортируйте.
- таблицу Reviews импортируем без sql-запроса
- таблицу Promotions импортируем без sql-запроса
- таблицу Promotion_Products импортируем без sql-запроса
Контрольные вопросы:
1) Как открыть для просмотра таблицу?
2) Как импортировать данные из Excel?




