|
Тема |
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)
|
| |
|
|
|