修改Web应用程序中的标记。最佳实践

时间:2009-03-10 12:08:47

标签: database schema web-applications tags

当系统在文本框中并排显示时,是否有一种有效的方法来更新项目的标签,类似于StackOverflow?

在我的网络应用程序中,单个项目有标签,我在标签表和项目表之间使用链接表以保持正常性。

这里讨论数据库模式: Is there an agreed ideal schema for tagging 和这里: How to design a database schema to support tagging with categories?

在项目的每次修改中,删除与项目关联的所有标记都很容易,然后根据文本框的内容(用空格分隔的标记)将它们重新添加到数据库中。

但是,即使用户没有进行任何更改,这也可能意味着2/3数据库调用。

我还考虑过根本不允许修改标签。在编辑时,我可以通过每个标记向用户显示一个小十字,允许他们通过AJAX调用删除项目。

此解决方案虽然不会在修改单个标签中的拼写错误等情况下方便用户使用。

1 个答案:

答案 0 :(得分:0)

再次思考,我想我将有一个函数创建标记字符串以便在更新表单上显示。

如果在更新时,我再次调用该函数,并比较字符串,至少我可以通过单个数据库调用过滤掉标记未被更改的位置。

然后,只有标签不同,我才能进行更新。

可能效率很高吗?