Главная страница
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.011 c
14-92193
` frizZ. `
2003-08-10 19:46
2003.08.28
Задачка


14-92261
panov
2003-08-08 23:34
2003.08.28
to Mihey.


14-92186
SeAl
2003-08-10 15:15
2003.08.28
Прокся


3-92021
Sergant
2003-08-05 10:59
2003.08.28
Изменение структуры БД в формате dbf


14-92209
wm.warring
2003-08-10 20:57
2003.08.28
php.ini