Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Переменное количество аналитик / 12 сообщений из 12, страница 1 из 1
04.09.2013, 22:49
    #38387263
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
Всем здравствуйте,
возник такой вопрос по проектированию. Предположим, у нас есть таблица договоров
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE dbo.Agrees
(
  Agree_ID INT NOT NULL IDENTITY(1,1) NOT NULL PRIMARY KEY,
  AgreeNumber VARCHAR(50)NOT NULL,
  StartAgreeDate DATE NOT NULL,
  StopAgreeDate DATE NOT NULL,
  Contragent_ID INT NOT NULL

)


Привязываем к этому договору признак/аналитику например, "кредит/депозит", т.е. таблица становится такой
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE TABLE dbo.Agrees
(
  Agree_ID INT NOT NULL IDENTITY(1,1) NOT NULL PRIMARY KEY,
  AgreeNumber VARCHAR(50)NOT NULL,
  StartAgreeDate DATE NOT NULL,
  StopAgreeDate DATE NOT NULL,
  Contragent_ID INT NOT NULL,
  AgreeType_ID TINYINT NOT NULL

)



Для двоичных (т.е. только значения "да"/"нет") признаков/аналитик я придумал такую схему
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
CREATE TABLE dbo.Agrees
(
  Agree_ID INT NOT NULL IDENTITY(1,1) NOT NULL PRIMARY KEY,
  AgreeNumber VARCHAR(50)NOT NULL,
  StartAgreeDate DATE NOT NULL,
  StopAgreeDate DATE NOT NULL,
  Contragent_ID INT NOT NULL

)

CREATE TABLE dbo.Analytics
(
  Analytic_ID SMALLINT NOT NULL IDENTITY(1,1)PRIMARY KEY,
  AnalyticDescription VARCHAR(100)NOT NULL
)

CREATE TABLE dbo.LinkAgreeAnalytic
(
  Link_ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  Agree_ID INT NOT NULL,
  Analytic_ID SMALLINT NOT NULL
)
ALTER TABLE dbo.LinkAgreeAnalytic ADD CONSTRAINT FK_LinkAgrAnalytAgree FOREIGN KEY(Agree_ID )
REFERENCES dbo.Agrees(Agree_ID);
ALTER TABLE dbo.LinkAgreeAnalytic ADD CONSTRAINT FK_LinkAgrAnalytAnalytic FOREIGN KEY(Analytic_ID)
REFERENCES dbo.Analytics(Analytic_ID)


Возникло затруднение, как расширить мою схему на аналитики, у которых есть не только значения "да"/"нет", но целый список возможных значений

Прошу прощения, если объяснил непонятно.

С уважением, Londinium
...
Рейтинг: 0 / 0
04.09.2013, 23:02
    #38387266
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
londiniumПрошу прощения, если объяснил непонятно.
Угу, непонятно. Расскажи точно что ты называешь "договором", "признаком" и "аналитикой".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.09.2013, 23:20
    #38387269
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
так и знал :-)
Договор - надеюсь, понятно. У него есть номер, дата начала и окончания, контрагент, с которым этот договор заключен.
Теперь нужно, например, повесить признак "большая сумма денег по договору"/"средняя сумма денег по договору"/"маленькая сумма денег по договору". Второй признак - "договор подлежит пролонгации" (возможные значения "да"/нет).
Завтра появится еще какаой-нибудь признак.
Пытаюсь придумать систему, с помощью которой можно будет гибко рулить всеми существующими сейчас и возможными в будущем признаками договоров без необходимости бесконечного расширения таблицы договоров или создания бесконечного количества подчиненных таблиц

Так яснее?
...
Рейтинг: 0 / 0
04.09.2013, 23:30
    #38387274
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
То есть вы заново изобретаете EAV
Кстати битовые поля в SQL Server хранятся довольно компактно.
Что именно вас напрягает?
Незнание будущих требований и богатая фантазия постановщиков увы неизменный факт.
...
Рейтинг: 0 / 0
04.09.2013, 23:39
    #38387278
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
авторТо есть вы заново изобретаете EAV
Пока от изобретения Бог миловал. Только разнюхиваю ситуацию. Спасибо за аббревиатуру
...
Рейтинг: 0 / 0
04.09.2013, 23:45
    #38387281
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
londiniumпризнак "большая сумма денег по договору"/"средняя сумма денег по
договору"/"маленькая сумма денег по договору". Второй признак - "договор подлежит
пролонгации" (возможные значения "да"/нет).
Это выглядит скорее как условия запроса, чем атрибут договора.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.09.2013, 00:04
    #38387289
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
авторЭто выглядит скорее как условия запроса, чем атрибут договора
Ну прежде, чем запрашивать, нужно же это где-то сохранить. Вот я и пытаюсь изобрести или переизобрести, как тут было сказано выше, структуру, которая позволит с минимумом затрат это делать
...
Рейтинг: 0 / 0
05.09.2013, 01:21
    #38387318
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
londiniumНу прежде, чем запрашивать, нужно же это где-то сохранить.
Что "это"? Сумму по договору? Она у тебя, типа, сейчас не хранится?.. Или дату окончания
договора? А сейчас её нет?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.09.2013, 11:57
    #38387646
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
londinium,

сделайте Analytics двухуровневой (либо разделите на 2 таблицы) - т.е. для аналитики из 4 возможных значений создаете 1 родительскую и 4 дочерние записи в Analytics, к договору привязываете одну из дочерних, constraint-ом или триггером проверяете, чтобы не было привязано 2 различных значения одной и той же аналитики
...
Рейтинг: 0 / 0
06.09.2013, 10:24
    #38388753
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
Подсказка: аналитика может зависеть от даты. Типа "Периодический реквизит".
...
Рейтинг: 0 / 0
06.09.2013, 12:56
    #38388998
londinium
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
авторПодсказка: аналитика может зависеть от даты. Типа "Периодический реквизит".
Спасибо. Согласен. Изменения аналитик во времени - святое дело
...
Рейтинг: 0 / 0
21.09.2013, 21:04
    #38403640
morzhuk1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Переменное количество аналитик
Спасибо
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Переменное количество аналитик / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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