Предмет: Информатика, раздел: Базы данных
Задание подразумевает изменение структуры базы данных для учета изменения цен на детали.
1. Анализ текущей структуры:
- Существующая структура включает три основные таблицы:
- Поставщики (состоящая из полей: Код поставщика, Название, Адрес, Телефон).
- Детали (состоящая из полей: Код детали, Название, Артикул, Цена, Примечание).
- Поставки (состоящая из полей: Код поставщика, Код детали, Количество, Дата).
2. Требования к новой структуре:
- Необходимо учитывать изменения цен на детали от поставки к поставке.
- Добавить таблицу для отслеживания изменений цен.
3. Разработка новой структуры базы данных:
- Добавить таблицу История_цен со следующими полями:
- Код_детали: ссылка на Код детали в таблице Детали.
- Дата_изменения: дата, когда изменилась цена.
- Цена: новая цена детали.
4. Модификация существующей таблицы Детали:
- Удалить поле Цена из таблицы Детали, так как цена будет храниться в новой таблице История_цен.
- Добавить ссылку на последнюю цену из Истории_цен.
5. Запросы для использования измененной структуры:
Получение текущей цены детали:
SELECT d.Код_детали, d.Название, i.Цена
FROM Детали d
JOIN История_цен i
ON d.Код_детали = i.Код_детали
WHERE i.Дата_изменения = (SELECT MAX(Дата_изменения)
FROM История_цен
WHERE Код_детали = d.Код_детали);
INSERT INTO История_цен (Код_детали, Дата_изменения, Цена)
VALUES (код_детали, дата, новая_цена);
6. Объяснение:
- Создание таблицы История_цен позволит хранить все изменения цен, что облегчает анализ и отслеживание динамики цен.
- Удаление поля Цена из таблицы Детали и использование последней записи из История_цен позволяет всегда иметь актуальную цену.
- Предложенные запросы позволяют получать текущие цены и вносить изменения в базу данных.