我目前负责为我工作的部门创建一个基于 Web 的项目管理应用程序。每个项目都有一堆不同的数据点来描述它,我的第一个计划是在 mysql 数据库中建立一个表,然后一个 html 表单来管理该表中的数据。
我的经理只是让我知道他们需要能够为项目添加/删除数据点,以防他们的工作流程和项目跟踪发生变化。 (如果有的话,这可能一年会发生几次)
因此,我试图找出将这些数据存储在 MySQL 中的最佳方法。我想到的第一个方法是为他们提供一个界面,允许他们将列添加到“项目”表中。并有一个跟踪所有列名和数据类型的“主”表。但这感觉像是一个非常糟糕的主意,而且维护起来有点像噩梦。
另一种可能的选择是让界面添加一个新表,该表存储该数据点的所有信息以及使用该数据的项目的 ID。
我知道这两种做事方式都可能非常古怪。如果有更好的方法,我很想听听。如果我需要澄清一些事情,请告诉我。
谢谢你的时间
最佳答案
CREATE TABLE projects (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL
)
CREATE TABLE datapoints (
id INT PRIMARY KEY AUTO_INCREMENT,
projectid INT NOT NULL,
name VARCHAR(50) NOT NULL,
value VARCHAR(250) NOT NULL,
INDEX(projectid),
INDEX(name)
)
如果你想要更花哨,做一个或多个
- 将数据点名称放在表中,引用它们而不是在表数据点中命名
- 让数据点为数字、坑、文本、长文本中的每一个都有一个字段,或者使用不同的表
关于php - 使用表单和 mysql 进行动态项目数据管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022834/