powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильная организация базы данных
3 сообщений из 3, страница 1 из 1
Правильная организация базы данных
    #35363047
Vadimek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как бы вы решили данную задачу?
Есть таблица SalesPersons, которая содержит данные о продавце.
Нужно хранить данные по планам продаж. То есть,данные о том,что конкретный продавец
планирует продать в январе на 100$, в феврале на 200$ и т.д.
Вопрос как лучше организовать базу данных.
Я вижу два решения :
1. Содержать данные в одной таблице
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE TABLE Forecasts
(
SalesPersonId int,
Year int,
AmountJan money,
AmountFeb money,
......
AmountDec money
)
ALTER TABLE Forecasts ADD 
(CONSTRAINT FKY_Forecasts_1
FOREIGN KEY (SalesPersonId )
REFERENCES SalesPersons (SalesPersonId )
)

2.Создать две таблицы :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
CREATE TABLE Forecasts
(
SalesPersonId int,
Year int,
ForecastId int
)
ALTER TABLE Forecasts ADD 
(CONSTRAINT FKY_Forecasts_1
FOREIGN KEY (SalesPersonId )
REFERENCES SalesPersons (SalesPersonId )
)

CREATE TABLE MonthlyForecast
(
ForecastId int,
Month int,
Amount money
)
ALTER TABLE MonthlyForecast ADD 
(CONSTRAINT FKY_MonthlyForecast_1
FOREIGN KEY (ForecastId )
REFERENCES Forecasts (ForecastId )
)

Какие плюсы и минусы у данных подходов ?
...
Рейтинг: 0 / 0
Правильная организация базы данных
    #35363793
Мне больше нравится второй способ, поскольку при первом не будет возможности нормально пользоваться агрегирующими функциями типа sum, max и т.п. И можно также одной таблицей ограничиться:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE TABLE Forecasts
(
SalesPersonId int,
Year int,
Month int,
Amount money,
CONSTRAINT "forecasts_pkey" PRIMARY KEY(SalesPersonId,Year,Month)
)
ALTER TABLE Forecasts ADD 
(CONSTRAINT FKY_Forecasts_1
FOREIGN KEY (SalesPersonId )
REFERENCES SalesPersons (SalesPersonId )
)

P.S. Если это не коммерческая тайна - любопытно, для прогноза какие-то методики используются, или таблица будет заполняться исходя из предположений продавца?
...
Рейтинг: 0 / 0
Правильная организация базы данных
    #35364466
Vadimek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ.

Золотая рыбка
P.S. Если это не коммерческая тайна - любопытно, для прогноза какие-то методики используются, или таблица будет заполняться исходя из предположений продавца?

Будут использоваться разнарядка начальства и прошлогодний опыт.
Начальство даёт разнарядку на год ( продажи за прошлый год + процент роста ).
Продавец же знает как распределяются продажи по месяцам и клиентам
( январь - минимум,декабрь - максимум , Кока-кола - 2М$ в год, Тойота - 3М$ в год).
Вот собственно и вся методика.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Правильная организация базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]