- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对数据库设计不太了解,最近我有一个项目, promise 需要一个巨大的数据库,我很困惑设计标准数据库结构(mysql)的最佳方法是什么。
例如,假设我们有 3 个表:用户、商店、产品其中每一个(用户、商店、产品)可能有一个或多个详细信息,例如社交页面链接(对于商店)、电话号码(对于用户)、地址(对于商店和用户)、颜色\ Material (对于产品)等...
我应该只创建一个元表并在其中存储所有详细信息,还是应该为每个表创建单独的元表?(user_meta、shop_meta、product_meta)。哪一种是更好的方法?
如有任何意见和建议,我们将不胜感激。
编辑
根据 Branko Dimitrijevic 先生的说法,每个表都应该有自己的元表。
我的问题是用户可能有多种类型的详细信息,例如:社交页面 url、用户地址、用户角色等...
这样设计数据库可以吗:
**Table: USERS**
userId | username | email | pass
**Table: USERS_META**
userId | metaType | metaValue
metaType 将是用户可以拥有的不同类型的详细信息,例如地址、instagram 页面、facebook 页面等...
例如 USERS_META 表中的记录如下:
userId | metaType | metaValue
---------------------------------------------------
2 | address | some address for user home
---------------------------------------------------
2 | role | 1(id of the role)
---------------------------------------------------
2 | instagram | instagram.com/userpage
---------------------------------------------------
3 | address | some address for user 3 home
---------------------------------------------------
3 | facebook | facebook.com/userpage
---------------------------------------------------
3 | role | 2(id of the role)
---------------------------------------------------
2 | age | 18
---------------------------------------------------
3 | age | 19
现在如果我想要用户 2 的地址:
SELECT metaValue FROM USERS_META WHERE userId=2 AND metaType='adress'
如果我想要用户社交页面链接:
$array=array('facebook','instagram','telegram','etc');
SELECT metaValue FROM USERS_META WHERE userId=2 AND metaType IN($array)
这是一个好方法还是我应该为每个元创建单独的表(USER_ADDRESSES、USER_SOCIAL、USER_AGE 等...)?
最佳答案
简而言之:您不应该“合并”多个表。
即使它们碰巧具有相同的字段,它们几乎肯定没有相同的约束(例如从其他表指向它们的外键)。
关于mysql - 关系数据库设计,一个元表多个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46540652/
我遇到的情况是,两个库 L、M 正在尝试为 _G(分别命名为 mL、mM)设置元表。元表中唯一的东西是 __index。 我如何链接这两个元表,以便如果一个中的 __index 失败,它会调用另一个中
我正在尝试使用 Lua Metatables 为一些内部 C++ 函数创建一个更漂亮的接口(interface)。 这是我目前运行的代码。 (my.get 和my.set 是用C++实现的) func
我有这样的东西:(它实际上是 C++,但在这种简化形式中,没有任何 C++ 特定内容) struct Blob; // Some key-value accessors on Blob char *
我有一些后台 lua 代码,我在每次启动时加载它们,它们工作正常,但有什么方法可以将它们转换为 C# 吗? 这是我的元表代码: player = {} player.__index = player
也许这是非常基本的,这就是为什么我没有找到任何东西的原因...... 这是我的表结构: 对象 id | type | … 1 | brand | … 2 | project | … 3
在 3D 场景中,我有一个对象,它有一个我想使用 Lua 移动的位置。 例如。 box.position.x = 10 box 有一个元表(“Object”),因此有一个位置(“Vec”)。对象设置了
这是一个具体的例子: Wordpress 将用户信息(meta)存储在一个名为 wp_usermeta 的表中,您可以在其中获取 meta_key 字段(例如:first_name)和 meta_va
我正在使用 Lua 的 C API 在 C 中实现元表。不知道是否__newindex方法应该通过返回一个值来报告成功或失败,或者是否应该通过使用错误来处理。 似乎在__index的上下文中与 ret
我正在使用 Corona/Lua 开发一款游戏,并实现了一个名为“Item”的类,它代表游戏中的武器、盔甲、护身符等。而且我是面向对象的 Lua 新手。 创建类的新实例后,我发现设置对象的某些属性似乎
我是一名优秀的程序员,十分优秀!