日期:2014-05-17  浏览次数:20680 次

请教大神数据库关系表是否设计合理的问题
想弄个网上商城的网站

下图中黄色填充格是主键,所有相同颜色字段代表同一值域(也就是描述的是同一个东西)

请问这样建表合乎逻辑吗?主键设置合理吗? 另外有必要设置外键约束吗?我觉得是不是不需要外键约束?因为一般网站也不会删除自己注册过的会员。

请问大神有没有什么建设性的建议或者意见?^_^
数据库关系设计

------解决方案--------------------
GUID只是个名字还是真的是Uniqueidentifier类型?
------解决方案--------------------
我觉得 第二个 用户信息表,不应该用身份证号作为,用户信息表,因为你也可以同一个人注册2个账号的。
------解决方案--------------------
1.我觉得 第二个 用户信息表,不应该用身份证号作为主键,用户信息表,因为你也可以同一个人注册2个账号的。

2.另外,我觉得还是可以考虑设置主键的,淘宝的数据库都是设置主键的,所以我觉得他肯定是要尊重,基本的数据库的规则的,那就是主键和外键,体现表和表之间的关系。

3.上面版主提到的guid,是否是uniqueidentifier类型,很有道理,尽量别用这种数据类型,占用36个字节,这么长的主键,不是很合理。


------解决方案--------------------
请问这样建表合乎逻辑吗?主键设置合理吗?
--> 用户信息表应以用户名为主键.
    商品信息表应有商品ID字段做主键.

另外有必要设置外键约束吗?我觉得是不是不需要外键约束?
--> 不建议使用外键约束.