数据库设计重复列-websafe网址

时间:2011-09-25 00:26:16

标签: php sql regex .htaccess database-design

为了良好的关系数据库设计:

数据库中当前有两列:“GroupName”和“WebGroupName”。第二列用于简单地访问配置文件。例如:www.example.com/myWebGroupName这样做的原因是它避免了在URL中传递空格,例如: www.example.com/my Web Group Name无效

重新迭代数据库结构;第1列将存储“我的组名”,第2列将存储“MyGroupName”。

可能的解决方案可能会错误地存储没有空格的组名,然后使用一些正则表达式来添加空格。 我的问题的重点是如何消除存储近似重复日期的两列的需要。

感谢您的时间

1 个答案:

答案 0 :(得分:0)

假设你确实在URL中存在空格问题(正如Larry Lustig所指出的那样不一定是个问题) - 那么关系数据库设计中有两列通常具有非常类似的信息也不错。

要避免的重复类型(规范化)处理多行重复。如果你有两列意味着包含不同但相关的信息,那么这两列完全没问题,你没有违反任何规则。有时这两列相等(巧合)的事实不是问题。

你说:

  

可能的解决方案可能会在存储组名时出错   没有空格然后使用一些正则表达式来添加空格   背部。我的问题的焦点是如何消除对两个人的需求   存储近似重复日期的列。

由此我假设对您的系统最重要的是Web组名。如果组名是驱动程序,那么编写一个删除空格的表达式将是微不足道的。如果Web组名称​​是可以根据组名任意设置的内容,那么您应该使用空格存储名称,并在需要Web组名称时将其替换为空字符串。如果Web组名称不是完全任意的,那么您确实有两个独立的数据点,并且需要存储在两个单独的列中。