0

我们现在正在制定计划,所以在我开始进步之前,我想确保我以最好的方式处理事情。

我们有一个产品表,我们正在向其中添加一个名为“格式”的新字段,它将是产品的结构(袋子、盒子等)。这没有设置值,用户可以在该字段中输入他们喜欢的任何内容,但是我们希望显示用户已经输入的所有格式的下拉列表。

我可以想到两种方法:在 products 表上使用基本的 SELECT DISTINCT 来获取用户已经填写的所有格式;或存储格式并由产品链接到的单独表。

本能地我想使用 SELECT DISTINCT,因为它会让我的生活更轻松。但是,假设一张表有十亿个产品,那么最好的方法是什么?

4

3 回答 3

2

我想我会选择第二个选项(如果你想添加约束,附加表 + 外键),只是因为数量,并且因为你可以拥有合并类似产品形式的管理。

于 2012-05-25T21:50:11.257 回答
1

如果您决定将所有内容保存在一个表中,请在该列上建立索引。这应该加快在用户应用程序中创建列表的处理。

我有点不知道哪种方法是最好的。通常,在设计用户界面时,您想尝试不同的东西。必须进行数据库更改会阻碍构建应用程序的创造性过程。

另一方面,通常当用户从应用程序的下拉框中选择事物时,这些“事物”是“实体”的极好示例——这就是表打算存储的内容。

最后,我会说在开发应用程序时做最方便的事情。当您接近完成时,请考虑将这些内容存储在单独的表中是否更好。最大的问题之一是您是否想知道所有已经使用过的格式,即使当前没有用户定义它们。

于 2012-05-26T01:55:29.960 回答
0

由于您让用户输入他们想要的任何内容,因此我会选择第二个选项。

创建一个新表并在其中插入所有新的“格式”并链接到产品表。

确保在创建代码以添加用户输入的格式时,检查数据库中是否存在相等的值,这样您就不需要区分它们。

此外,保持一致,或者只将每个单词的第一个字母大写。

于 2012-05-25T21:49:52.693 回答