Проектирование общего хранилища данных о доставках для курьеров и менеджеров
NearestUndergroundStation1Distance. NearestUndergroundStation1Distance. Обязательное поле. Обязательное поле. Обязательное поле. Обязательное поле. Обязательное поле. Статус доставки. Статус доставки. Содержание поля. Содержание поля. Содержание поля. Адрес доставки. Адрес доставки. NearestUndergroundStation2. NearestUndergroundStation2. NearestUndergroundStation1. NearestUndergroundStation1… Читать ещё >
Проектирование общего хранилища данных о доставках для курьеров и менеджеров (реферат, курсовая, диплом, контрольная)
Согласно информации, полученной от администрации интернет-магазина «ПрезидентВотчес. Ру», платформой, используемой ими для осуществления дистанционной торговли, в качестве хранилища информации о совершённых покупках используется база данных под управлением MySQL. Она содержит одну из основных таблиц, которая называется «Deliveries». Стоит отметить, что эта таблица не имеет ни одного внешнего ключа, поскольку является суррогатной. Некоторые данные, как например, название и цена товара копируются из другой таблицы во время формирования заказа. Схема таблицы «Deliveries» представлена в табл. 5 ниже:
Таблица 5. Схема отношения «Deliveries» в базе-данных «ПрезидентВотчес. Ру».
Содержание поля. | Имя поля. | Тип, длинна. | Примечание. | |
Номер заказа. | orderNumber. | INT (8). | потенциальный первичный ключ. | |
Имя клиента. | clientName. | CHAR (110). | необязательное поле. | |
Адрес доставки. | deliveryAddress. | CHAR (220). | обязательное поле. | |
Номер телефона клиента. | clientPhoneNumber. | CHAR (9). | обязательное поле. | |
Комментарий. | clientComment. | CHAR (220). | необязательное поле. | |
Ограничение по времени. | deliveryTimelimit. | CHAR (12). | необязательное поле. | |
Наименование товара. | itemName. | CHAR (110). | обязательное поле. | |
Цена товара. | itemPrice. | NUMERIC (8). | обязательное поле. | |
Дата заказа. | orderDate. | CHAR (10). | обязательное поле. | |
Дата доставки. | deliveryDate. | CHAR (10). | необязательное поле. | |
Статус доставки. | deliveryStatus. | NUMERIC (1). | по умолчанию «0», может принимать значения «1» и «2». | |
Согласно функциональной спецификации, для будущего программного обеспечения необходимо расширить существующее отношение «Deliveries» до следующих полей, вынесенных в табл. 6:
Таблица 6. Дополнительные поля, необходимые для взаимодействия программного обеспечения с СУБД.
Содержание поля. | Имя поля. | Тип, длина. | |
Геолокационные координаты доставки (широта, долгота). | latLng. | CHAR (20). | |
Ближайшая станция метро № 1. | nearestUndergroundStation1. | CHAR (50). | |
Ближайшая станция метро № 2. | nearestUndergroundStation2. | CHAR (50). | |
Расстояние от станции метро № 1. | nearestUndergroundStation1Distance. | CHAR (5). | |
Расстояние от станции метро № 2. | nearestUndergroundStation2Distance. | CHAR (5). | |
Идентификатор курьера. | deliveryCourier. | CHAR (110). | |
Необходимость в поле «Геолокационные координаты доставки (широта, долгота)» была определена на этапе разработки программного обеспечения.
Таким образом, содержание общего отношения, необходимого для программного взаимодействия между менеджером и курьерами, может быть представлена в следующем виде:
Таблица 7. Схема отношения в общей базе данных, необходимой для взаимодействия менеджера и курьеров.
Содержание поля. | Имя поля. | Тип, длина. | Примечание. | |
Номер заказа. | orderNumber. | INT (8). | PRIMARY KEY. | |
Имя клиента. | clientName. | CHAR (110). | ||
Адрес доставки. | deliveryAddress. | CHAR (220). | NOT NULL. | |
Геолокационные координаты доставки (широта, долгота). | latLng. | CHAR (20). | NOT NULL. | |
Ближайшая станция метро № 1. | nearestUndergroundStation1. | CHAR (50). | NOT NULL. | |
Ближайшая станция метро № 2. | nearestUndergroundStation2. | CHAR (50). | NOT NULL. | |
Расстояние от станции метро № 1. | nearestUndergroundStation1Distance. | CHAR (5). | NOT NULL. | |
Расстояние от станции метро № 2. | nearestUndergroundStation2Distance. | CHAR (5). | NOT NULL. | |
Номер телефона клиента. | clientPhoneNumber. | CHAR (9). | NOT NULL. | |
Комментарий. | clientComment. | CHAR (220). | ||
Ограничение по времени. | deliveryTimelimit. | CHAR (12). | ||
Наименование товара. | itemName. | CHAR (110). | NOT NULL. | |
Цена товара. | itemPrice. | NUMERIC (8). | NOT NULL. | |
Дата заказа. | orderDate. | CHAR (10). | ||
Дата доставки. | deliveryDate. | CHAR (10). | ||
Статус доставки. | deliveryStatus. | NUMERIC (1). | по умолчанию «0», может принимать значения «1» и «2». | |
Идентификатор курьера. | deliveryCourier. | CHAR (110). | ||
В дальнейшем в разделе «Реализация архитектуры взаимодействия между менеджерами и курьерами» необходимо будет принять решение, клонировать ли с расширением существующую MySQL-таблицу «Deliveries» или же её расширить.