Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
9-91971
Cura
2003-02-25 19:27
2003.08.28
DXDraw Transparent


14-92213
syte_ser78
2003-08-10 16:51
2003.08.28
нелецензионный delphi


3-92023
Anna
2003-08-05 09:42
2003.08.28
Поиск данных


14-92204
Кен
2003-08-09 06:36
2003.08.28
Нарвался на форум на третьей стадии (это когда форум превращается


7-92285
Федя
2003-06-10 15:48
2003.08.28
Не работает ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский