当前位置:编程学习 > JAVA >>

关于学习过程中的一些疑惑

--------------------编程问答-------------------- 你的设计太理想化了,纯纸上谈兵。实际应用的时候要注意一下变通。
解决方法:
1、可以把外键约束去掉。既然都是自己程序添加进去的数据,要不要外键约束没啥分别,区别只是删除的时候需要自己删除两张表而已。
2、也可以设计成一张表,用一个字段做区别,1:people,2:student,3:teacher,然后把所有需要的字段都列上,允许为空,大不了就是多余一些字段就是了。
--------------------编程问答--------------------
引用 1 楼 rumlee 的回复:
你的设计太理想化了,纯纸上谈兵。实际应用的时候要注意一下变通。
解决方法:
1、可以把外键约束去掉。既然都是自己程序添加进去的数据,要不要外键约束没啥分别,区别只是删除的时候需要自己删除两张表而已。
2、也可以设计成一张表,用一个字段做区别,1:people,2:student,3:teacher,然后把所有需要的字段都列上,允许为空,大不了就是多余一些字段就是了。


谢谢指点,确实没有实战经验。

第二个问题关于Dao层的设计可以说说吗?

再多问个问题,系统中通常有一些系统常量,比如大学教师都有职称、学位等信息,这些信息就那么几个可列举的取值,而且大部分都不会变动,需要建立职称表、学位表,然后教师表通过外键引用吗?还是全部把这些常量放在一张表中,或是直接在教师表中直接记录。哪种更好了?

希望不吝赐教。 --------------------编程问答-------------------- 职称表就不用单独建立了。
给每个people记录,加一个职称的列就行了。

页面输入的时候给个选项,选职称就好了。 --------------------编程问答-------------------- dao只是一种设计思想,没有规定一定不能dao调用别的dao。 --------------------编程问答--------------------
最简单的方法。
你现在设计的是:子类引用用父类的ID为子类的ID。因为数据库的ID字段一般是插入的时候自动取值的,所以存在问题。
优化设计:给子类定义一个自己的ID,然后再定义一个外键,比如parentId引用父类的ID。这样,子类插入的时候就不存在没有ID值得情况了。 --------------------编程问答--------------------
引用 5 楼 beijing20110905 的回复:

最简单的方法。
你现在设计的是:子类引用用父类的ID为子类的ID。因为数据库的ID字段一般是插入的时候自动取值的,所以存在问题。
优化设计:给子类定义一个自己的ID,然后再定义一个外键,比如parentId引用父类的ID。这样,子类插入的时候就不存在没有ID值得情况了。

数据库就应该这样用的啊。范式嘛
至于什么职称……全都记一个表里就可以了,留几个冗余字段 --------------------编程问答-------------------- 请参考我的基于spring,security的开源项目
http://blog.csdn.net/shadowsick
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,