Главная страница
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.018 c
4-92316
Fdu4
2003-06-24 21:11
2003.08.28
подмена параметров в CallNextHookEx


6-92163
Fareader
2003-06-22 14:18
2003.08.28
TWebBrowser и картинки


14-92195
Карелин Артем
2003-08-11 09:57
2003.08.28
Ну и как теперь просмотреть свои вопросы??


14-92231
ed_209
2003-08-09 14:12
2003.08.28
глюк со строками...


3-91977
zzzrrv
2003-07-31 16:31
2003.08.28
B INTERBASE пропадают данные