我正在使用ASP.NET开发基于Web的培训管理系统。此应用程序将显示每个员工的管理培训记录。在我们公司,我们有三种不同类型的课程,每种类型的课程都是强制性的。我的数据库设计如下:
Employee Table: Username, Name, Job, DivisionID
Division Table: DivisionID, DivisionName
Course Table: CourseID, CourseName, GroupID
Group Table: GroupID, GroupName.
Employee_Course Table: Username, CourseID
(第一个属性是每个表中的主键,除了最后一个包含两个外键的表)
我能够检索所有信息并在一个漂亮的GridView中显示它们。现在的问题是如何确定必修课程。我不知道该怎么做。我应该更改上面的数据库设计吗?我应该在不同类别中展示这些课程吗?此外,管理员将如何确定这是否是强制性课程? BTY,稍后我将需要提出一个查询,显示有多少员工完成了强制性课程,因此设计应适用于此问题。
答案 0 :(得分:1)
如果有必修课程,而某些课程显然不需要将此分类存储在数据库中。如果每个员工的强制性课程总是强制性的,那么您可以在课程表中添加IsMandatory
列,否则您可能需要提供一些其他表来存储哪个课程对哪个员工是强制性的(或者一组员工。)
此外,如果您有三种类型的课程,那么为每门课程存储类型也是有意义的。