Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.28;
Скачать: CL | DM;

Вниз

Многие ко многим? Хранение и редактирование.   Найти похожие ветки 

 
Ш-К   (2003-08-04 13:36) [0]

Есть список пользователей, имеющих доступ к генерации отчетов. Причем, для каждого пльзователя определяется свой набор отчетов (объединения пользователей в группы не желательно). Типы и количество отчетов величина не постоянная. Юзера тоже приходят и уходят.

Как организуется хранение данных (флаги у юзера на тот или иной отчет) и пользовательский интерфейс редактора этих флагов?


 
Danilka ©   (2003-08-04 13:51) [1]

а в чем проблема?
делаешь таблицу с двумя полями: "id юзера", "id отчета" и все.
при желании, через нее можно вытащить как все отчеты юзера, так и всех юзеров для данного отчета.


 
Сидидомов & Кудатамдобаб   (2003-08-04 14:02) [2]

-- Пользователи
CREATE TABLE USER_LIST
(ID INTEGER NOT NULL,
NAME VARCHAR(64),
PRIMARY KEY (ID));

-- Отчеты
CREATE TABLE REPORT_LIST
(ID INTEGER NOT NULL,
NAME VARCHAR(64),
PRIMARY KEY (ID));

-- Наборы отчетов для пользователей
CREATE TABLE USER_REPORT
(USER_ID INTEGER NOT NULL,
REPORT_ID INTEGER NOT NULL,
PRIMARY KEY(USER_ID, REPORT_ID),
CONSTRAINT USER_REF FOREIGN KEY (USER_ID) REFERENCES USER_LIST (ID) ON DELETE CASCADE,
CONSTRAINT REPORT_REF FOREIGN KEY (REPORT_ID) REFERENCES REPORT_LIST (ID) ON DELETE CASCADE);

Интерфейс:
Окно с текущим пользователем и DBCtrlGrid с перечнем отчетов и DBCheckBox"ами - для выставления признака доступности.

ЗЫ: Это как бы сделал я. И данные в упрощенном виде.


 
chexum   (2003-08-04 14:04) [3]

1. Справочник пользователей
UserId, ...
Первичный ключ UserId
2. Справочник отчетов
ReportId, ...
Первичный ключ ReportId
3. Права доступа
UserId, ReportId, ...
Первичный ключ UserId+ReportId
Интерфейс:
Два DataSource для спрюпользователей и для прав доступа
Для ПраваДоступа MasterSource - СписокПользователей
Делаешь Luckup-поле, значения для которого берутся из СправочникаОтчетов.
Вроде как никаких проблем


 
chexum   (2003-08-04 14:05) [4]

1. Справочник пользователей
UserId, ...
Первичный ключ UserId
2. Справочник отчетов
ReportId, ...
Первичный ключ ReportId
3. Права доступа
UserId, ReportId, ...
Первичный ключ UserId+ReportId
Интерфейс:
Два DataSource для CправочникПользователей и для ПраваДоступа
Для ПраваДоступа MasterSource = СписокПользователей
Делаешь Luckup-поле, значения для которого берутся из СправочникаОтчетов.
Вроде как никаких проблем


 
chexum   (2003-08-04 14:07) [5]

Заикаюсь :))))



Страницы: 1 вся ветка

Текущий архив: 2003.08.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
1-92111
Olexandr
2003-08-15 13:21
2003.08.28
Заморочка с потоками


1-92098
Viktor Kushnir
2003-08-15 15:29
2003.08.28
Нажание клавиши


3-92072
Sword
2003-08-01 17:34
2003.08.28
Печать DBTree


3-92016
Haba
2003-08-05 10:03
2003.08.28
Формат DataSet.Data


9-91971
Cura
2003-02-25 19:27
2003.08.28
DXDraw Transparent