我有2个表从业者和分类。在从业者表格中,我的列名称 class_bitmap 包含位图字符串(字符串仅包含'0'或'1' 字符),最大长度为2000.此字符串代表所有分类
例如:如果从业者有20和44级,那么第20和第44位的字符将被设置为'1',其他人仍然是 '0'
id pid … class_bitmap
1 PI7923 … 01101010
2 PI9428 … 00000100
3 PI6646 … 01010101
因为分类的数量现在是2000所以我硬编码字符串 长度为2000,初始所有字符均为默认值“0”。如果为从业者分配了任何分类ID,那么该职位的角色(基于该分类的ID class_id )将设置为'1'。
我不知道这个设计是否好,如果将来分类延伸到2000以上那么这个设计还是不错的?有人可以就这个问题给我一些建议吗?
答案 0 :(得分:0)
这是一个非常糟糕的设计,类似于将逗号分隔值存储为字段。您如何轻松确定谁在20级注册?
您应该在“从业者”之间创建一个链接/联接表。和'类':从业者注册的每个班级的一条记录。