【问题标题】:What database design to use for storing search terms and products?使用什么数据库设计来存储搜索词和产品?
【发布时间】:2015-07-01 22:49:37
【问题描述】:

我正在制作一个 Android 应用程序并且我正在使用 SQLite,但我很难弄清楚如何设计数据库。

我正在做的是按搜索词显示商店中的产品。我想不出设计数据库的最佳方式,以便当应用程序离线并且用户搜索某些内容时,会显示正确的产品。每个产品可以有多个搜索词。

这是我目前想到的。

Product(int id, String productName, String image)
Search(int id, String term, int productID)

因此,我将在产品表中保存所有产品,然后对于每个产品,我将在搜索表中创建一个条目。这意味着该产品可能有多个搜索词。

这是个好策略吗?

【问题讨论】:

    标签: database-design sqlite relational-database foreign-key-relationship


    【解决方案1】:

    我会设计你的桌子有点不同,但这个概念很好。这是您应用的第二条规范化规则(例如,参见 http://databases.about.com/od/specificproducts/a/normalization.htm.

    我已经稍微改写了你的设计:

    CREATE TABLE Products(
      ID int primary key, 
      productname text, 
      image text);
    
    CREATE TABLE Categories(
     ID int primary key, 
     term text, 
     productid int,
     FOREIGN KEY(productid) REFERENCES products(id)
    );
    

    然后它会工作。我使用名称类别进行搜索,并使用名称产品而不是产品。表名通常是复数,我已经习惯了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 2018-08-27
      • 2011-02-26
      • 1970-01-01
      • 2018-04-18
      • 1970-01-01
      • 2014-02-12
      相关资源
      最近更新 更多