|
Тема
|
DB_Design
|
|
Автор | Someone (Нерегистриран) |
Публикувано | 09.02.03 18:58 |
|
Edno taka da se kaze design pitane. Imam table s users i table sas grupi, koito si imat opredeleni atributi toest stojnosti. I za wseki user zapiswam w koia grupa e, no ima user izkluchenia - te ne popadat w nikoia grupa zashoto imat razlichni stojnosti za atrubutite ot tezi na wsichki grupi. Kakwo da naprawia? Za wseki user izkluchenie nowa grupa ??? Ili druga tablica w koiato da sa samo izklucheniata?
| |
|
както и да го измислиш ще има недостатъци...
ако варианта нова група за всеки различен юзер те устройва - нищо не губиш, направи го...
| |
Тема
|
Re: DB_Design
[re: Someone]
|
|
Автор | бaй Любo (Нерегистриран) |
Публикувано | 10.02.03 15:18 |
|
По-интересен е въпроса как са свързани групите и атрибутите.
Аз не бих правил разлика м/у юсер и група освен по юзер-ид. Например усерите са 1 до 2^16, групите са на 2^16 (като в мс сял сержер sysusers):
create table users (
uid int
,gid int -- group id
--- whatever else you need to describe a user
)
create table attr (
aid int
, --- whatever else you need
)
усерс и аттрибуте имат мани-то-мени релация, която се решава с междинна таблица:
create table user-attr (
uid int
,aid int
)
По тоя начим можеш да присвояваш неогр. брой аттрибити както на усер, така и на група.
даден усер може да принадлежи на не повече от една група, което е малко кофти.
Добре е да създадеш форин кий на междинната таблица за да не може да се въвеждат лайна в нея:
alter table user-attr
add constraint valid_user foreign key (uid) reference users (uid)
alter table user-attr
add constraint valid_attr foreign key (aid) reference attr (aid)
| |
|
най разумно ми изглежда да се използва системата за регистрация и раздаване на права на самата операционна система....ако няма други ограничения де...))
| |
Тема
|
Re: по таз логика....
[re: Topбaлaн]
|
|
Автор | Baj L\bo (Нерегистриран) |
Публикувано | 10.02.03 23:33 |
|
Аз само давам за пример как подобна задача е решена в определена СУ база данни.
Атрибутите, за които говори човека едва ли са разрешения за достъп до БД обекти (таблици, процедури, тригери и т.н.), така че вероятно ще трябва да си направи собствена системка за управление на юзерите, групите и аттрибутите.
Ако пък ли не -- разбира се че е по-гот да използва нещо дето е готово, било то узерите на ОС или усерите на субд.
| |
|
както е при мен на работа
Windows + MS SQL Server
и всичко се управлява от едно място
| |
|
|
|
|