问两个数据库设计常识问题

gaozhen1990 2012-02-22 05:08:38
一, 主键取名问题
有下面几个表: product,book,order
是统一用 id 做主键好, 还是用 product>pid, book>bid, order>oid 好呢?
二, bigint长度问题
在一个表里,我看到bigint 设置的长度是11, 为什么它的实际存储内容长度却是 13位呢?
难道这个11,是无效的吗或者可以不填写吗?

求大牛指点迷津。O(∩_∩)O谢谢
...全文
87 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaozhen1990 2012-02-22
  • 打赏
  • 举报
回复
哦。 好,明白了
gaozhen1990 2012-02-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwa 的回复:]
1、根据自己和习惯,两种命名方式均可
2、表怎样定义的
[/Quote]


1. 根据国际规范,哪个好些呢?
2. 表是 bigint(11), 内容却是13位的: 2012022265503
ACMAIN_CHM 2012-02-22
  • 打赏
  • 举报
回复
[Quote]二, bigint长度问题
在一个表里,我看到bigint 设置的长度是11, 为什么它的实际存储内容长度却是 13位呢?
难道这个11,是无效的吗或者可以不填写吗?
[/Quote]这个11仅在MYSQL自己的查询工具中有用,对其它应用来说是无效的,一般不写!


[Quote]
MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。

显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。

当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。


[/Quote]
ACMAIN_CHM 2012-02-22
  • 打赏
  • 举报
回复
[Quote]一, 主键取名问题
有下面几个表: product,book,order
是统一用 id 做主键好, 还是用 product>pid, book>bid, order>oid 好呢?[/Quote]两种方式都有,各有优缺点。这个需要和你的项目组中的成员讨论。关键是让大家将来能看懂。
WWWWA 2012-02-22
  • 打赏
  • 举报
回复
1、根据自己和习惯,两种命名方式均可
2、表怎样定义的

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧