Главная
страница 1

Методические материалы к практическому занятию по дисциплине «Современные информационные технологии в социальных науках»

Проектирование базы данных Интернет-закупки

Пусть для удовлетворения заявок от клиентов интернет-магазин осуществляет оптовые закупки товаров с торговых баз Москвы и близлежащих регионов. При закупке больших партий некоторые торговые базы на отдельные товары предоставляют интернет-магазину скидки.


Требуется разработать базу данных "Интернет-закупки".

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

Анализ показывает, что требуется разработать 3 таблицы - "Товары", "Базы" и "Закупки". Они должны содержать ряд обязательных полей.

Таблица "Товары":


Наименование

Марка

Цена (за единицу)

Изображение

Описание

Телевизор

Sony 2161p

27200




Плазменный экран

Мобильный телефон

Nokia 7777

8600




Корпус по выбору


Таблица "Базы":


Наименование

Адрес

Телефон

Metro

Москва, пр.Мира, 165

8 (903) 786-55-55

Опт-продажа

Клин, ул. Весенняя, 12

8 (916) 700-45-77



Таблица "Закупки":


Дата закупки

Код товара

Количество

Процент скидки

20/02/09




100

5%

21/02/09




65

2%


Для примера поля таблиц частично заполнены.

В проектируемых таблицах требуется определить ключевые поля. В таблице "Товары" таким полем может быть поле "Код товара". В таблице "Базы" - "Код (номер) базы". В таблице "Закупки" - "Номер закупки".

Учитывая, что проектируемые таблицы должны быть связаны между собой по ключевым полям - первичным и внешним, добавим в таблицу "Закупки" поле "Код базы".

Теперь структура таблиц базы данных должна выглядеть следующим образом.


Таблица "Товары":


Код товара

Наименование

Марка

Цена (за единицу)

Изображение

Описание


Таблица "Базы":


Код базы

Наименование

Адрес

Телефон


Таблица "Закупки":


Номер закупки

Дата закупки

Код товара

Код базы

Количество

Процент скидки


Возможные связи между таблицами по полям:

  • "Код товара" таблицы "Товары" с полем "Код товара" таблицы "Закупки"

  • "Код базы" таблицы "Базы" с полем "Код базы" таблицы "Закупки"

После запуска Access

В дальнейшем требуется описать таблицы базы данных в бланке Конструктора Access в указанной нами последовательности - задать имена полей таблиц (они у нас уже есть), выбрать из списка тип каждого поля, отметить ключевые поля, а также - где это требуется - изменить параметры полей: задать маску ввода (для телефона), значение по умолчанию (Москва для поля "Адрес"), процентный формат числа с плавающей точкой (для поля "Процент скидки") и т.д.

Для поля "Наименование товара" целесообразно сформировать с помощью Мастера подстановок список товаров.

Таблицы необходимо сохранить под своими именами.

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


  • "Код товара" таблицы "Закупки" на поля "Код товара", Наименование" и "Марка" таблицы "Товары"

  • "Код базы" таблицы "Закупки" на поля "Код базы" и "Наименование" таблицы "Базы"

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

И только после сохранения схемы данных таблицы базы данных можно заполнять. Вначале таблицы "Товары" и "Базы" (все равно в какой последовательности). И только потом - таблицу "Закупки". Последнюю обязательно заполнять построчно слева направо, чтобы в записи первичный и внешние ключи были указаны.



Описание таблицы "Товары"



Описание таблицы "Базы"




Описание таблицы "Закупки"



Схема базы данных



Ввод данных в таблицы БД


Примеры ввода информации в Таблицы База, Товары, Закупки

Работа с базой данных




Фильтрация данных


  1. Найти информацию о закупках телефонов (в таблицах Закупки и Товары).

  2. Найти информацию о закупленных товарах с 29.02.2008 по 7.04.2008 г.

  3. То же, что и 2, но на базе Южная

  4. Выполнить сортировку по полю Цена (в таблице Закупки)
  1. Запросы на выборку


  1. Простые запросы на выборку:

    • выдать информацию о закупленных товарах

Команда Создать  Кнопка Конструктор запросов

Удерживая [Ctrl], выделить таблицы Товары, Закупки, Базы Кнопка Добавить

Добавить в Бланк Конструктора требуемые поля (рис.1)

Рис.1. Вид Бланка Конструктора формирования запроса о закупленных товарах по датам

Для просмотра результатов запроса выберем кнопку Выполнить. Результат показан на рис. 2.

Сохраним запрос, присвоив ему имя Закупленные товары по датам.

Создадим новый запрос. Добавим те же поля, кроме даты.

Выполним по полю Наименование товара сортировку по возрастанию (рис. 3).

Посмотрим результат выполнения запроса.

Сохраним данный запрос под именем Закупленные товары.

Рис. 2. Результат выполнения запроса о всех закупленных товарах по датам

Рис.3. Вид Бланка Конструктора формирования запроса о закупленных товарах


    • Выдать информацию о всех закупленных телефонах

Создадим запрос, включив него поля Наименование, Марка, Цена из таблицы Товары, поле Скидка из таблицы Закупки и поле Наименование из таблицы Базы.

В строке Условие отбора для поля Наименование товара введем слово Телефон.

Если бы требовалось выбрать все товары, начинающиеся сочетание Теле (например, для телефонов, телевизоров), можно было бы ввести Теле*.

Рис.4. Вид Бланка Конструктора формирования запроса о закупленных телевизорах


    • О товарах, закупленных на базе Калужская в марте 2008 г.

Рис.5. Вид Бланка Конструктора формирования запроса о закупках в марте 2008 г. на Калужской базе

Условие отбора по дате: >=#01.03.2008# And <=#31.03.2008#




  1. Запросы на выборку с группировкой:

    • О суммарном количестве закупленных товаров на каждой базе (без учета наименования товара)

Рис.5. Вид Бланка Конструктора формирования запроса о суммарных закупках на базах

Для включения групповой операции следует воспользоваться правой кнопкой мыши или выбрать кнопку Итоги.

Для вычисляемых полей в строке Групповая операция следует выбрать статистическую функцию из списка (выбрана функция Sum).


    • О средней стоимости товаров (без учета марки и скидки)

Смотри Рис. 6.

Использована Группировка и функция Avg.


Рис. 6. Средняя цена товаров

  1. Запросы на выборку с вычисляемым полем:

    • Стоимость товаров с учетом скидки

Вычисляемое поле формируется в новом столбце бланка Конструктора с помощью кнопки Построитель… (или команды меню правой кнопки мыши Построить) –см. рис. 7.
Рис. 7. Формирование вычиляемого поля – цены со скидкой

Дополнительно следует выполнить сортировку по наименованию товара – по возрастанию (в алфавитном порядке) и по цене (по убыванию).

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

1 ПКМ по полю в бланке Конструктора  СвойстваФормат

 Выбрать или установить формат


    • Средняя скидка на телефоны

Рис. 8. Средний размер скидки на телефоны

Использованы условие отбора, групповая операция и функция Avg, а также сформировано вычисляемое поле:



Размер скидки: [Товары]![Цена]*[Закупки]![Скидка]

  1. Параметрические запросы на выборку:

    • Запрос о товаре, наименование которого задается параметром

Создаем запрос на выборку с требуемыми полями – Наименование и Марка товара, Цена, Скидка, Наименование базы.

Выполняем сортировку по полю Наименование товара и Цена.

В строке Условие отбора поля Наименование товара формируем вопрос параметра:

[Введите наименование параметра]

Если запрос сохранить, а потом выполнить, то надо будет ввести в ответ на вопрос параметра наименование товара (например, Фен), после чего будет получен результат.



Самостоятельное задание:

Для поля цена введите 2-й параметр:



[Не дороже?]

Появится возможность не только задавать товар параметром, но и выбирать из базы товары, не дороже указанной суммы.


Рис. 9. Формирование параметрического запроса


  1. Перекрестные запросы на выборку:

    • О количестве товаров, закупленных на различных базах

Создаем запрос на выборку с полями Наименование и Марка из таблицы Товары, Количество из таблицы Закупки и Наименование из таблицы Базы.

Зададим сортировку по возрастанию для полей Наименование товара и Наименование базы.

Выполним группировку (кнопка Итоги).

Для поля Количество зададим функцию Sum.

Посмотрим результат запроса – простого на выборку с группировкой. Если все хорошо, возвратимся в режим Конструктора и выберем кнопку Перекрестный.

Для полей Наименование и Марка из таблицы Товары в строке Перекрестная таблица выберем значение Заголовки строк.

Для поля Наименование базы в строке Перекрестная таблица выберем значение Заголовки столбцов.

Для поля Количество в строке Перекрестная таблица выберем параметр Значение.

Результат перекрестного запроса на рис. 10.
Рис. 10. Результат перекрестного запроса «Суммарные закупки товаров по базам»


    • О суммарной стоимости товаров, закупленных на различных базах

Запрос формируется аналогично.
  1. Запросы на изменение


  1. Запрос на создание таблицы

    • Создание копии таблицы Товары

Создайте запрос на выборку, добавив в него все поля таблицы Товары.

Преобразуйте запрос в запрос на создание таблицы Товары1 (рис. 11).

Сохраните запрос под именем Создание копии Товары 1.

Посмотрите перечень таблиц базы данных.

Выполните запрос Создание копии Товары 1.

Снова посмотрите перечень таблиц базы данных. Таблица Товары 1 появилась.



Рис.11.Формирование запроса на создание копии таблицы


    • Создание таблицы Закупки на Южной в 1-м полугодии

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

Откройте запрос. Выполните замену наименования базы Южная на Воронежская. Сохраните изменения в таблице.



  1. Запрос на обновление записей таблицы.

    • Запрос на обновление цены в таблице Товары 1

Создайте запрос на выборку по всем данным, используя таблицу Товары1.

Введите условие отбора Телевизор.

Преобразуйте запрос в запрос на обновление.

Используя Построитель, для поля Цена в строке Обновление введите формулу новой цены с учетом 3% скидки (рис. 12).

Выполните запрос. Убедитесь, что цена на телевизоры изменилась.


    • Редактирование таблицы Товары1

Откройте таблицу Товары 1.

Соблюдая осторожность, введите новые уникальные значения ключевого поля Код Товара (чтобы не было совпадений с таблицей Товары).

Убедитесь в режиме Конструктора, что установлен признак ключа для поля Код Товара.

Сохраните изменения.




Рис.12. Формирование запроса на обновление таблицы

    • Запрос на замену наименования Телевизор на Телефон в таблице Товары 1

Выполнить по аналогии.

  1. Запрос на добавление записей в таблицу.

    • Запрос на добавление записей в таблицы Товары из таблицы Товары 1

Разработайте запрос на выборку всех записей таблицы Товары 1 с наименованием Телефон. Посмотрите результат запроса.

Преобразуйте запрос в запрос на добавление (Кнопка Добавление) – рис. 13.


Рис.13. Формирование запроса на добавление записей в таблицу

Сохраните запрос. Выполните запрос.

Убедитесь, что в таблице Товары появились новые записи о телефонах.


  1. Запрос на удаление записей из таблицы.

    • Удаление записей из таблицы Товары1.

Создайте запрос на выборку всех данных таблицы Товары 1 с наименованием Телефон.

Преобразуйте запрос в запрос на удаление записей из таблицы.

Сохраните и выполните запрос.

Убедитесь, что в таблице Товары 1исчезли записи о телефонах.


  1. Разработка SQL-запросов.


    • Товары стоимостью больше средней цены

Создадим запрос на выборку, выбрав поля Наименование товара и Цена.

Выполним сортировку. Зададим группировку.

Для поля Цена в строке Условие отбора введем SQL-инструкцию (рис. 14).

Сохраним и выполним запрос.



Рис. 14. Бланк формирования SQL-запроса

    • Товары стоимостью больше минимальной цены

Выполняется по аналогии

Домашнее задание.



  1. Изучить на сайте кафедры в разделе дисциплины материалы по Access.

  2. Проработать тесты.



Смотрите также:
Проектирование базы данных Интернет-закупки
98.86kb.
1 стр.
Ссылки на ресурсы интернет Базы данных производителей товаров и услуг в Интернет Пресса
27.58kb.
1 стр.
Дипломная работа: Выявление сетевой атаки типа «прослушивание»
37.49kb.
1 стр.
Практические занятия к теме №3 задача 1 Задание Создание базы данных
83.93kb.
1 стр.
Материал из Semantic Future
425.22kb.
2 стр.
Темы дипломных проектов специальности 230105 Базы данных
122.96kb.
1 стр.
Отчет по результатам работы по программе усовершенствования базы данных по сортам растений и изложить предложения по усовершенствованию базы данных по сортам растений
712.53kb.
4 стр.
Проектирование, создание и использование базы данных
67.83kb.
1 стр.
Доклад февраль Подготовка материалов по описанию базы данных проекта с использованием anova
38.33kb.
1 стр.
Лекция №1 по дисциплине «Базы данных» базы данных и системы управления базами данных план лекции
219.44kb.
1 стр.
Исследование архитектуры базы данных Oracle Архитектура базы данных Oracle Взаимодействие с базой данных Oracle
107.74kb.
1 стр.
Дисциплина. «Базы данных и субд»
127.3kb.
1 стр.