Database design 用于存储搜索词和产品的数据库设计是什么?
我正在制作一个Android应用程序,我正在使用SQLite,但我很难弄清楚如何设计数据库 我所做的是按搜索词显示商店中的产品。我想不出设计db的最佳方法,这样当应用程序离线时,用户搜索某个内容时,就会显示正确的产品。每个产品可以有多个搜索词 这就是我到目前为止的想法Database design 用于存储搜索词和产品的数据库设计是什么?,database-design,sqlite,relational-database,foreign-key-relationship,Database Design,Sqlite,Relational Database,Foreign Key Relationship,我正在制作一个Android应用程序,我正在使用SQLite,但我很难弄清楚如何设计数据库 我所做的是按搜索词显示商店中的产品。我想不出设计db的最佳方法,这样当应用程序离线时,用户搜索某个内容时,就会显示正确的产品。每个产品可以有多个搜索词 这就是我到目前为止的想法 Product(int id, String productName, String image) Search(int id, String term, int productID) 因此,我将保存产品表中的所有产品,然后针对
Product(int id, String productName, String image)
Search(int id, String term, int productID)
因此,我将保存产品表中的所有产品,然后针对每个产品,我将在搜索表中创建一个条目。这意味着产品可能有多个搜索词
这是一个好的策略吗?我会将您的表格设计得稍有不同,但概念很好。这是您正在应用的规范化的第二条规则,例如,请参见 我已经稍微改写了你的设计:
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)
);
那就行了。我使用名称类别进行搜索,并使用名称products而不是product。表名通常是复数形式,我已经习惯了