繁体   English   中英

不同类别的数据库结构设计

[英]Database structure design for different categories

我的数据库中有两个表...第一个名为categories表包含所有父类别和子类别...如下图所示...

    Categories_id   name            Parent_Categories
    1               art                 0
    2               entertainment       0
    3               music               2
    4               dance               3
    5               songs               3

现在我必须创建一个第二个表名,如Users_table但条件是... 1)我们可以为每个用户分配多个类别ID ... 2)多个用户可以具有相同类别。 下图是当前的数据库结构。还有其他更好的方法吗?

 User_Id        Categories_id
    1           4,5
    2           1,2
    3           1,2,4
    4           1,5,4

用户:

- UserID

UserCategory:

- UserID
- CategoryID

类别:

- CategoryID
- ParentID
create table Users_table (User_Id integer,Categories_id integer, primary key(User_Id,Categories_id), foreign key (Categories_id) references categories(Categories_id);

...

primary key(User_Id,Categories_id) <-可以为每个用户分配多个类别ID,并且仅限制具有相同值的行的重复。因此,您可以有多个具有相同类别的用户和一个具有多个类别ID的用户。 2行具有相同的用户ID和相同的类别ID

foreign key (Categories_id) references categories(Categories_id) <-,此类别ID引用类别表

在这种情况下使用规范化,如下所示:

1)用户表 -ID-用户名

2)分类表 -ID-parent_category_id

3)user_categories表 -id-user_id-Categories_id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM