假设我正在为在线商店建立一个网站并拥有一个产品数据库。所有这些产品都有自己的页面,并有各自的URL。
如果URL总是可以从数据库中的其他数据派生(让我们假装每个产品都可以在http://example.com/ [PRODUCT.CATEGORY]找到?prod = [SHA1(PRODUCT.NAME)]) ,将URL存储在表的另一个字段中是否明智?
一方面,它是重复数据(可以很容易地从表中的其他现有字段派生)。另一方面,这些URL在任何地方都可以使用,而且每次需要时都会重新导出这些URL。
这种情况是否有最佳做法?
答案 0 :(得分:0)
您不应在数据库中存储任何网址。
您应该根据您要查找的数据在运行时创建网址。
显示产品的页面可以忽略它所需的任何字段。
您还应该使用ID字段而不是product.name。除非您试图向用户隐藏某些产品,否则没有理由将密钥丢弃。
请记住,使用主键查找记录是获取该记录的最快方法。