1. Теоретична част
1. Таблици за категории и продукти
Категориите и продуктите се съхраняват в две отделни таблици, за да не се повтаря името на категорията във всеки продукт. Таблицата Categories е главна, а Products е свързана с нея чрез външен ключ.
- Първичен ключ (PRIMARY KEY) – CategoryID в Categories и ProductID в Products; уникално идентифицира всеки запис.
- Външен ключ (FOREIGN KEY) – CategoryID в Products; сочи към CategoryID в Categories и показва към коя категория принадлежи продуктът.
2. Извличане на данни от таблица
Данните от таблицата Products се извличат с команда SELECT. Редовете се ограничават с WHERE, подреждат се с ORDER BY, а повторенията се премахват с DISTINCT.
- Пример:
SELECT ProductName, Price FROM Products WHERE Price > 50 ORDER BY Price DESC; - Пример:
SELECT DISTINCT CategoryID FROM Products;връща всяка стойност само веднъж.
2. Практическо задание
Тема: Практическо упражнение: база данни за продукти и категории.
Време за работа: 35 минути
Условие 1: В SQL Server Management Studio създайте база данни ShopDB с таблици Categories и Products. Свържете таблиците и въведете дадените данни.
- Таблица Categories: CategoryID (INT, първичен ключ), CategoryName (NVARCHAR(50), задължително). Таблица Products: ProductID (INT, първичен ключ), ProductName (NVARCHAR(100)), Price (DECIMAL(10,2)), Quantity (INT), CategoryID (INT, външен ключ към Categories).
- Въведете в Categories записите: 1 – Лаптопи, 2 – Периферия, 3 – Аксесоари. Въведете в Products (ProductID, ProductName, Price, Quantity, CategoryID): 1, Lenovo IdeaPad, 1199.00, 5, 1; 2, HP 250, 899.00, 8, 1; 3, Мишка Logitech, 35.00, 25, 2; 4, Клавиатура Genesis, 79.00, 12, 2; 5, Слушалки Sony, 59.00, 7, 3; 6, USB кабел, 9.90, 40, 3.
Условие 2: В нов прозорец за заявки (New Query) напишете и изпълнете SQL заявки към таблицата Products. Запишете заявките във файл Products_queries.sql.
- Изведете ProductName и Price на продуктите с цена над 50 лв., подредени по цена от най-високата към най-ниската. Изведете и ProductName и Quantity на продуктите с количество под 10 бр.
- Изведете уникалните стойности на CategoryID от Products с DISTINCT. Проверете дали резултатът съдържа точно три реда.
Цел: Учениците упражняват създаването на две свързани таблици с първичен и външен ключ и въвеждането на данни в тях. Те прилагат SELECT, WHERE, ORDER BY и DISTINCT за извличане на справки за продукти.
3. Критерии за оценяване
| Критерий | Точки |
|---|---|
| 1. Спазване на правилата за здравословни и безопасни условия на труд и опазване на околната среда | 10 т. |
| 2. Ефективна организация на работното място | 10 т. |
| 3. Спазване на технологичната последователност на операциите според индивидуалното задание | |
| 3.1 Създадени са базата ShopDB и таблиците Categories и Products с правилни полета, типове данни и първични ключове | 20 т. |
| 3.2 Зададен е външен ключ между Products и Categories и са въведени всички записи | 20 т. |
| 3.3 Написани са заявките с WHERE, ORDER BY и DISTINCT според условието | 20 т. |
| 3.4 Резултатите от заявките са верни и заявките са записани във файла Products_queries.sql | 20 т. |
| Общо: | 100 т. |
4. Оценъчна скала
| Оценка | Точков диапазон |
|---|---|
| Отличен (6) | 90–100 т. |
| Много добър (5) | 80–89 т. |
| Добър (4) | 70–79 т. |
| Среден (3) | 60–69 т. |
| Слаб (2) | под 60 т. |
ПРОФЕСИОНАЛНА ДЪРЖАВСКА ТЪРГОВСКА ГИМНАЗИЯ „ДИМИТЪР ХАДЖИВАСИЛЕВ“ – СВИЩОВ
УЧЕБНА ПРАКТИКА – Предмет: Бази от данни
Изготвил: Цветелин Борисов