关联多张表的对象的设计
如下三张表单:
1.用户信息表:Staff
字段名	          类型	         备注
Staff_ID	         Int(自动加一)	用户ID
Staff_Name	Varchar	         用户名(默认工号)
PassWord    	varchar    	密码
Real_Name  	varchar	         真实姓名
2.角色字典表:Role
字段名    	类型      	备注
Role_ID	         Int(自动加一)	角色ID
Role_Name  	Varchar	         角色名称名称
Role_Description	Varchar	         角色说明
3.用户所属角色表:
字段名	          类型	          备注
Staff_ID	          Int	          用户ID     
Role_ID	          Int	          所属角色ID
     因为表3是简单的两张表的关系表,所以在进行抽象时,在类Staff和Role中分别定义List类型的字段(属性),就可以获得员工所属的角色和某个角色下的所有员工信息。实现了表3关系表的操作。
Class Staff
{
     Public List<Role> RoleS;
}
Class Role
{
     Public List<Staff> StaffS;
}
但是如果是下面的情况:
4.课程信息表:Course
字段名	         类型	    备注
Course_Number	varchar	    课程编码
Course_Name	varchar	    课程名称
Remark	         Varchar	    课程说明
5.学期信息表:Term
字段名      	类型	    备注
Term_ID   	Int	    学期ID
Term_Name	         Varchar	    学期名称
6.教室信息表:ClassRoom
字段名     	类型      	备注
ClassRoom_Number	Varchar   	教室编号
Remark	         Varchar   	教室说明
7.班级信息表:Classes
字段名    	类型      	备注
Class_ID  	varchar   	班级编号
Stu_Number	int	         学生人数
8.学期课程表:Term_Course
字段名    	类型	         备注
Term_ID   	Int        	学期ID
Course_Number	Varchar   	课程编号
Class_ID  	Varchar   	班级ID
Staff_ID  	int       	任课教师ID
ClassRoom_Number	Varchar   	教室编号
表8中涉及到到表1、4、5、6、7中的字段,如何除了定义教师Staff、课程Course、学期Term、教室ClassRoom、班级Classes这些对象外,怎么实现表8的操作?
------解决方案--------------------你表8应是5个联合主键,可以前台新增,删除,与正常表操作一样
但更新就应不用了,主键虽可以更新,但最好不要更新
------解决方案--------------------8表属于综合表也就是主表,1,4、5、6、7属于子表,在主表中通过下拉或者其他操作,将子表作为标准对象进行选择性的操作。
这种设计是为了规范输入的正确性,能够实现数据的统一性。只要一个子表变更,主表就可以通过id关联显示。
你在做8表设计的时候,将子表做成下拉选择的就行了。
------解决方案--------------------