【发布时间】:2020-01-26 19:54:01
【问题描述】:
我有一个数据库,其中有关用户的数据存储在一个看起来像这样的表中
|_firstname_|_lastname_|_age_|...
| John | Johnson | 21 |...
...
即使用普通的关系数据库模型。
如果我改用 EAV 模型来存储上述数据,列(在 EAV 中称为属性)本身将存储在一个表中,并且将具有唯一的列(属性)ID:s。这样做的好处是我可以在另一个表中使用这些 ID:将数据连接到列它们自己,例如该列是隐藏还是显示在用户 UI 中(下面也使用 EAV型号):
|____column_id____|___attribute___|___value___|
| <firstname_id> | hidden | false |
| <lastname_id> | hidden | false |
| <age_id> | hidden | true |
...
但是,我想坚持用户数据表(首先显示的表)的关系数据库模型,否则查询会变得慢很多,但我仍然想像我一样将值连接到列我将使用 EAV 模型。
有没有办法让一个表以严格的方式存储有关用户数据表的列本身的数据?
【问题讨论】:
-
你打算用纯mysql来使用你的数据库还是用另一种语言php、java...?
标签: mysql relational-database database-schema entity-attribute-value