我正在编写一个在线项目资产跟踪器,但我是MySQL的新手。对于像这样的事情,跟踪项目,用户和资产的最佳方法是什么?我有3个资产,用户和项目表。用户应拥有项目和资产。资产可以是多个项目的成员,项目应该能够被多个用户看到。
我想到的第一种方法是在每个项目上都有一个中间文本字段,其中包含与其链接的每个资产的ID。每个资产也有一个中间文本,它将链接到每个项目ID。这是一个问题,因为我不能真正进行搜索而不必解析文本以找出它所附加的项目/资产。
没有解析的另一个解决方案是为链接信息提供单独的表,因此例如会有一个资产表,其中包含资产ID,项目ID和用户ID,以及它是否被分配给另一个项目或者用户,该表中会有另一个条目。但是,此解决方案将具有包含多个条目的资产。
另一种方法是让网站在创建项目时创建一个表,并存储资产和用户信息。由于可能有数千个项目,这将很快占用数据库,据我所知,创建表格在MySQL上比条目更重。
我倾向于第二种解决方案。有谁知道更好的方法吗?
答案 0 :(得分:2)
引用:
每个都有一个中等文本字段 每个资产都带有id的项目 它与
相关联
这是最糟糕的设计......也许永远!阅读database relations。紧急情况crash course。看一些example databases; MS Access有一些你可以检查的相当不错的模板。
您所描述的内容看起来可以用这些关系建模:
project --- inf:inf --- users
asset --- 1:1 --- users
asset --- inf:inf --- projects
多对多关系将放在一个单独的表格中。