我运营(目前正在彻底检修)一个与戏剧相关的网站(njtheater.com,如果您感兴趣的话)。
当我从数据库中查询戏剧列表时,我希望将“威尼斯商人”排序在“M”下。当然,当我显示剧名时,我需要在前面加上“The”。
设计数据库来处理这个问题的最佳方法是什么?
(我使用的是 MS-SQL 2000)
最佳答案
您的两列是正确的,但我建议将整个可显示标题存储在一列中,而不是连接列。另一列纯粹用于排序。这为您提供了排序和显示方面的完全灵 active ,而不是受制于简单的前缀。
这是搜索时相当常见的方法(与排序相关)。一列(带有索引)是大小写折叠、不标点符号等。在您的情况下,您还可以将删除主要文章的语法约定应用于该字段中的值。然后将该列用作搜索或排序的比较键。另一列未建立索引,并保留原始键用于显示。
关于sql-server - 在数据库中存储标题以允许在没有前导 "The"、 "A"的情况下进行排序的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/278758/