Форум: "Базы";
Текущий архив: 2003.08.28;
Скачать: [xml.tar.bz2];
ВнизМногие ко многим? Хранение и редактирование. Найти похожие ветки
← →
Ш-К (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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c