所以我正在制作类似于项目管理工具的东西。首先会有一个客户。
Client
id int(10) auto increment PK
clientName varchar(255)
clientStatus varchar(255)
businessUnit varchar(255)
isDeleted boolean
created_at timestamp
updated_at timestamp
然后客户可以在公司内部建立联系人,所以我在考虑一个Client_Contact表。
Client_Contact
id int(10) auto increment PK
contactName varchar(255)
contactEmail varchar(255)
contactPhone varchar(255)
isDeleted boolean
created_at timestamp
updated_at timestamp
client_id int(10) FK(client_id reference ‘Client’ (‘id’))
因此,当我开始使用该应用程序时,我首先创建一个客户端(如果它们尚不存在)和他们的联系人。 有了客户端,我需要为此客户端创建一个项目。客户可以拥有一个或多个项目 这是我有点卡住的地方。一个项目由几个东西组成,并不是所有的东西都需要做,但是应该选择这样做。首先,项目首先完成项目标识文档。该表格应包括以下内容:
Project_Identification
id int(10) auto increment PK
clientName varchar(255) (should be linked to a Client)
projectInformation text()
projectStartDate datetime
projectDeliveryDate datetime
isDeleted boolean
created_at timestamp
updated_at timestamp
完成上述表格后,需要填写项目简介文件。项目简介应包括
Project_Brief
id int(10) auto increment PK
clientName varchar(255) (should be linked to a Client)
project_id int(10) (should be linked to Project)
projectRoles text()
projectData text()
isDeleted boolean
created_at timestamp
updated_at timestamp
最后,完成项目简报后,需要完成内部简报文档。内部简报略有不同,因为根据内部部门,所需信息不同。所以我想我会创建一个通用表:
Internal_Brief
id int(10) auto increment PK
project_id int(10) (should be linked to Project)
internalDepartment varchar(255)
然后以某种方式将另一张表链接到它。
Internal_Brief_Department
id int(10) auto increment PK
internal_brief_id int(10) (should be linked to Internal Brief)
someDate varchar(255)
不知何故,这些都需要链接到Projects表。
在更多的故事形式中,客户可以拥有许多项目。项目可以包含一到多个文档。每个文件都需要自己的信息。就我的故事而言,这就好了。
我真的在寻找一些关于如何根据我上面提到的设计数据库的建议?