表结构:
-----------------------------------------
ID(自增) NO(编号)唯一 NAME......问题:1.主键可以涉及业务吗
我理解:主键是不能和业务相关的(我们现在不讨论实际应用,只说理论)
2.主键是 ID还是NO呢
我的理解:NO(编号)
3.既然主键不能和业务相关,最理想化的表结构 到底怎么设计?
-----------------------------------------
ID(自增) NO(编号)唯一 NAME......问题:1.主键可以涉及业务吗
我理解:主键是不能和业务相关的(我们现在不讨论实际应用,只说理论)
2.主键是 ID还是NO呢
我的理解:NO(编号)
3.既然主键不能和业务相关,最理想化的表结构 到底怎么设计?
解决方案 »
- 谁有Java-Web开发三部曲•Servlet-JSP深入详解-基于Tomcat的Web开发-孙鑫电子版的书!
- 现在用annotation做开发,是不是项目紧耦合
- 文件下载的实现
- jstl定义了个变量,循环中想自增,能实现么,问了高手说不行.难道只有自定义标签
- 跪求帮助,急!!!那位前辈帮帮我,我在这里先谢谢了
- 请教关于<logic:iterate>标签的index的问题..
- java.sql.SQLException: [Microsoft][ODBC Visual FoxPro Driver]Cannot open file //pdm/c/yan/db.dbc
- 字符串转换成日期问题
- 急!jsp中如何找到一个非jsp文件
- servlet转向问题
- FineReport报表软件多源报表制作步骤
- 为什么我的Web App Libraries文件夹没有import选项?
2.一般叫ID(Identify,标识),不过是个符号,要叫NO也行
3.3NF+一定的冗余。个人理解
我的意思是 主键 是自增的那个ID呢 还是组合而成的唯一编号NO
一般用自增的那个ID。主键一般用整型数字型的,这种类型的数据库处理起来快。组合而成的那个NO如果是唯一的,可以在其上建unique index。
要是表关系多,万一将来你的NO号要改变就会发现很麻烦了~
且唯一的int类型的
当然也可以用varchar类型的
不过用varchar型的大都是随机的
组合的话
以后用起来会比较麻烦
比如编号A的用户单号作废,重新提交A单。你说你其他的相关数据改不改。改,失去历史记述。不改,单号又相同。类似问题将会业务最初的逻辑混杂,而产生非常多的工作量。