我需要为唯一ID分配多个标签。最终目标是使用某些标签搜索ID。
我应该如何存储标签? 这不是一个大数据库,一个简单的解决方案是最好的。
ID | Tags
-----------------------------------------------
b6e490a44fcd5cc92f3d0f97a23f1c83 | foo bar bla
d41d8cd98f00b204e9800998ecf8427e | ble blu bla
答案 0 :(得分:1)
您可以保留当前的表格设计,并使用全文搜索在export class AppComponent{
styleObject(): Object {
if (/** YOUR CONDITION TO SHOW THE STYLES*/ ){
return {height: this.height,width: this.width}
}
return {}
}
}
列中查找单个标记。但如果搜索术语和/或标签可能跨越多个单词,则可能会出现问题。
更安全的选择可能是规范化您的表格,并在表格中为每个标记分别添加一条记录,如下所示:
Tags
现在,如果您想知道哪些ID包含ID | Tags
-----------------------------------------------
b6e490a44fcd5cc92f3d0f97a23f1c83 | foo
b6e490a44fcd5cc92f3d0f97a23f1c83 | bar
b6e490a44fcd5cc92f3d0f97a23f1c83 | bla
d41d8cd98f00b204e9800998ecf8427e | ble
d41d8cd98f00b204e9800998ecf8427e | blu
d41d8cd98f00b204e9800998ecf8427e | bla
或foo
标记,则可以使用以下简单查询:
bar
请注意,现在SELECT DISTINCT ID
FROM yourTable
WHERE Tags IN ('foo', 'bar')
列不再是唯一的,因此无法作为主键。相反,请尝试添加新列作为主键列:
ID