Разработать базу данных с нуля. I. Создание базы данных интернет-магазин. интернет-магазин закупает товары у производителей и продает их клиентам. Товары поставляются несколькими фирмами-производителями. Каждая фирма-производитель поставляет товары нескольких видов. При этом товар каждого вида выпускается только одной фирмой. Продажи оформляются в виде заказов. Исполнением заказов занимаются продавцы. Основу базы данных составляют пять таблиц: • Производители, содержащая данные о фирмах-производителях и связанная с таблицей Товары в отношении «один-ко-многим» (одна фирма-производитель выпускает товары нескольких видов) • Товары, содержащая данные о товарах и связанная с таблицей Заказы в отношении «один-ко-многим» (товар одного вида может входить в несколько заказов) • Продавцы, содержащая данные о продавцах торгового дома и связанная с таблицей Заказы в отношении «один-ко-многим» (один продавец исполняет несколько заказов) • Клиенты, содержащая данные о клиентах и связанная с таблицей Заказы в отношении «один-ко-многим» (один клиент может заказать товары нескольких видов) • Заказы, содержащая данные о заказах: вид и количество товара, клиент, продавец Создать таблицы базы данных: 1. В режиме Конструктора создать таблицу Производители с полями: • Название фирмы – ключевое поле; тип: короткий текс ; • Телефон – тип: короткий текст; для удобства ввода телефонов задать маски вво а • Адрес – тип: короткий текс . В режиме таблицы ввести в таблицу 3 записи (строки). 2. В режиме Конструктора создать таблицу Товары с полями: • Наименование товара – ключевое поле, тип: короткий текс ; • Название фирмы – список, связанный с полем Название фирмы таблицы Производители (для создания списка использовать Мастер подстановок ; • Розничная цена – тип: денежный; формат: денежны ; • Оптовая цена – тип: денежный; формат: денежны ; В режиме таблицы ввести в таблицу 5 записей (строк). 3. В режиме Конструктора создать таблицу Продавцы с полями: • Фамилия продавца – ключевое поле; тип: короткий текс ; • Имя – тип: короткий текс ; • Отчество – тип: короткий текс ; • Дата рождения – тип: Дата/время; формат поля длинный формат даты; маска ввода – краткий формат даты; правило проверки: дата рождения должна соответствовать возрасту от 18 лет1; задать текст сообщения об ошибке («приём на работу от 18 лет ); • Место рождения – тип: короткий текст; задать значение по умолчанию (Москва . Ввести в таблицу 5 записей. 4. Создать таблицу Клиенты из 8 записей с полями Фамилия клиента (ключевое поле), Адрес, Телефон. Для удобства ввода телефонов задать маски ввода. 5. В режиме Конструктора создать таблицу Заказы с полями: • Номер заказа – ключевое поле, счетчи ; • Наименование товара – список, связанный с соответствующим полем таблицы Товары (использовать Мастер подстановок ; • Количество – тип: числово ; • Клиент – список, связанный с полем Фамилия клиента таблицы Клиенты (использовать Мастер подстановок ; • Продавец – список, связанный с полем Фамилия продавца таблицы Продавцы (использовать Мастер подстановок . Ввести в таблицу 15 записей. 6. Закрыть и сохранить все таблицы. Проверить связи между таблицами (Схема данных): • таблицы Производители и Товары связаны по полям Название фирмы в отношении «один-ко-многим» • таблицы Товары и Заказы связаны по полям Наименование товара в отношении «один-ко-многим» • таблицы Клиенты и Заказы связаны по полям Фамилия клиента и Клиент в отношении «один-ко-многим» • таблицы Продавцы и Заказы связаны по полям Фамилия продавца и Продавец в отношении «один-ко-многим» 7. Установить поддержку целостности данных, каскадное обновление связанных полей и каскадное удаление связанных записей. Для изменения существующей связи в окне Схема данных дважды щелкнуть по линии связи (или правой кнопкой мыши), включить все галочки. Запросы на выборку 1. Создать запрос о заказах на заданный товар. Запрос должен содержать поля: номер заказа, наименование товара, клиент, продавец. Сортировка – по номерам заказов 2. Создать запрос о заказах на товары с ценой выше заданной. Поля запроса: номер заказа, наименование товара, розничная цена. Сортировка – по возрастанию цены 3. Создать запрос о заказах, выполненных одним из двух заданных продавцов. Запрос должен содержать все поля таблицы заказы. Сортировка – по номерам заказов 4. Создать запрос о заказах на товары, производимые заданной фирмой. Поля запроса, выводимые на экран: номер заказа, наименование товара, клиент, продавец. Поле название фирмы использовать для задания условия отбора. Сортировка – по номерам заказов 5. Создать запрос о продавцах с датой рождения в заданном диапазоне. Сортировка – по дате рождения 6. Создать запрос о заказах на товары заданной фирмы с розничной ценой в заданном диапазоне. Сортировка – по фирмам Параметрические запросы 7. Создать параметрический запрос о заказах на заданный товар. Поля, выводимые на экран: номер заказа, название фирмы, клиент, продавец. Параметр – наименование товара 8. Создать запрос с двумя параметрами о заказах, сделанных заданным клиентом на товар заданной фирмы. Поля запроса: номер заказа, наименование товара, продавец. Параметры – клиент и название фирмы Запросы с вычисляемыми полями 9. Создать запрос расчет стоимости по рознице. Стоимость вычисляется как произведение розничной цены товара на количество. Поля запроса: номер заказа, наименование товара, количество, розничная цена, стоимость заказа. Сортировка записей – по номерам заказов 10. Создать запрос расчет стоимости по условию. Если количество товара меньше заданного (например, 10 шт.), то берется розничная цена, иначе – оптовая. Для расчета цены использовать функцию iif. Поля запроса: номер заказа, наименование товара, количество, розничная цена, оптовая цена, стоимость заказа. Сохраните запрос под именем стоимость заказа10. Он нам пригодится в дальнейшем 11. Создать запрос о продавцах с полями фамилия продавца, возраст, место рождения. Возраст вычисляемое поле (рассчитывается как частное от целочисленного деления разности между текущей датой и датой рождения на 365). Сортировка – по возрасту Итоговые запросы 12. Создать запрос, вычисляющий суммарную стоимость заказов на товары каждой фирмы. Группировка – по полю фирма-производитель. Суммирование – по полю стоимость заказа. Сортировка – по названиям фи м. 13. Создать запрос, вычисляющий суммарную стоимость заказов на каждый товар заданной фирмы. Группировка – по полю наименование товара, условие – по полю название фирм . 14. Создать запрос, вычисляющий суммарное количество проданных товаров. В ответе одно число 15. Создать запрос, вычисляющий суммарную стоимость всех заказов. В ответе одно число. Перекрестные запросы 16. Создать перекрестный запрос, подсчитывающий количество товаров каждой фирмы, заказанных каждым клиентом. Использовать в качестве заголовков строк фамилии клиентов, заголовков столбцов– названия фирм. Суммирование – по полю количеств . 17. Создать перекрестный запрос, вычисляющий количество заказов на товары каждой фирмы, выполненных каждым продавцом. Использовать в качестве заголовков столбцов фамилии продавцов, заголовков строк – названия фирм. Для подсчета количества заказов применить функцию count к полю номер заказа Запрос на создание таблицы 18. Создать запрос на создание таблицы стоимость заказов с полями номер заказа, наименование товара, название фирмы, количество, цена (использовать iif (если количество больше 10, то берется оптовая цена, иначе – розничная)), стоимость заказа, клиент, продавец. Выполнить запрос. Появится новая таблица среди таблиц Запрос на обновление таблицы 19. Создать запрос на обновление таблицы товары: задать снижение розничных цен на товары заданного производителя на 5%, а оптовых – на 10%. Выполнить этот запрос. Для внесения соответствующих изменений в таблицу стоимость заказов повторно выполнить запрос на создание этой таблицы Запрос на добавление записей 20. Составить запрос на добавление записей о заказах, сделанных более двух месяцев назад. Для этого: • Добавить новое поле дата заказа в таблицу заказы (тип поля дата/время) и внести в него значения как более, так и менее двух месяцев назад. Сохранить, закрыть • Cкопировать структуру таблицы заказы под именем архив заказов: в контекстном меню таблицы выбрать команду копировать, затем команду вставить, в открывшемся диалоговом окне выбрать параметр вставки только стр ктуру. • Составить запрос на добавление записей о заказах, сделанных более двух месяцев назад из таблицы заказы в таблицу архив заказов; выполнить этот запрос.