教学管理信息系统——教师数据库设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1需求设计 (2)

需求描述 (2)

需求分析 (2)

目标用户 (2)

平台的选择 (2)

逻辑要求 (2)

定义用例 (3)

2实现设计 (3)

数据库设计 (3)

概念设计 (3)

逻辑设计 (5)

物理实现 (5)

生成建库脚本 (6)

3代码实现 (10)

4程序截图 (12)

5总结与体会 (15)

教学管理信息系统——教师数据库设计

1需求设计

1.1需求描述

教师信息包括教工号、姓名、出生日期、性别、所属院校、职称等,还包括与课程关联的授课资格和授课经历等。并且,该应用还可以显示出本学院课程信息列表。类似教师信息列表,该列表可按课程名、课程修读次序(每门课可能有先修课程)等字段排序、分组与查找。课程信息包括课程编号、课程名、描述、先修课、学分等,还包括拥有该课程授课资格和授课经历的教师信息。教务人员可以按教师和课程两条主线浏览与查询所有与教师相关的信息,学院、职称、课程名、授课年份、证件信息等字段均存在超链,以供快速检索同类的信息。教务人员还可以对教师、课程、主讲资格、授课经历等信息进行简单的新建、修改及删除操作。

1.2需求分析

1.2.1目标用户

教务管理人员:快速查询教师信息。

1.2.2平台的选择

选择windows平台,用Microsoft SQL Server 2008进行数据库开发。

1.2.3逻辑要求

假设一个层级为一个窗口,用户对应用提出的业务逻辑(处理过程)要求如下:

教师列表>教师基本信息、教师授课资格和授课经历>相关链接

课程列表>课程基本信息、课程授课资格和授课经历>相关链接

1.2.4定义用例

用例图如图1。

图1 用例图

2实现设计

2.1数据库设计

2.1.1概念设计

题目要求:“大学有多个学院,每个学院有多名教师(教授,讲师,等)。每一门课的主讲教师都应提前获得该课的主讲资格证,一个教师能具有多门课程的主讲资格证;一门课程的主讲资格证也可能颁发给多名教师。一个教师可能已主讲过多门课,或多次主讲同一门课。”

按照题目要求,结合实际应用,设计应用所涉及的实体及实体间关系的模型,用ER图表示的概念模型如下:

如图所示,所识别出的实体包括教师,课程,授课资质,授课经历等4个实体。以教师实体为例,在本应用域中,一个教师包含教师编号,姓名,出生日期,性别,所属学院,职称等属性;实体课程有课程号、课程名、先修课、学分、描述等5个属性;实体讲课经历与实体教师和实体课程相关联,其有属性教师编号、课程号、授课年份等;实体主讲资格证夜雨实体教师和实体课程相关联,其有属性证件编号、教师编号、课程编号、有效截止日期等。其中一个教师可以教授多门课程,一个课程也可以由多个教师教授,一个教师有零到多个主讲资格证,有零到多个授课经历,而每种授课资质和每种授课经历又与一门课程和一个教师相关联。此外,特别地,一门课程有零到多门前导课程,反过来,一门前导课程有一到多门后继课程。

设计数据库使用ER图这一概念不是必须的;然而使用概念和工具,能使大脑中的构思清晰、无误地展现,并被自动处理。作为达到数据库设计的最终目的——设计出高效、高质量的数据库模式——所采用的手段,ER图这一概念模型中的实体最后就成为了一张张的表,实体属性成了表属性,对属性的约束成了表属性中的字段类型及非空唯一等约束,实体中的非空唯一标识属性(组)则成了表的主码;实体之间的联系,成为表与表之间的外码参照;一对多还是零对多,对应到物理设计中被参照的字段可否为空;最后,为了提高海量数据的检索效率,

可以在主码和外码上等处建立索引。

2.1.2逻辑设计

根据概念设计阶段对数据库概念模型的设计,构造合适的关系数据路模式。由ER图可知,此次设计共建了4张表:教师表、课程表、讲课经历表、主讲资格证表。

对于教师表,其属性有教师编号,姓名,出生日期,性别,所属学院,职称等;其主要的约束有:教师编号设置为主码,姓名非空,其余的属性值均为基本信息。

对于课程表,其属性有课程号、课程名、先修课、学分、描述等;其主要约束有:课程号设置为主码,课程名、学分设置为非空,先修课可有可无。

对于讲课经历表,其属性有教师编号、课程号、授课年份等;其主要约束有:教师编号为引用教师表主码教师编号的外码,课程号为引用课程表主码课程号的外码,教师编号和课程号一起组成讲课经历表的主码,授课年份非空。

对于主讲资格证表,其主要的属性有属性证件编号、教师编号、课程编号、有效截止日期等,其中证件编号设置为主码,其中教师编号为引用教师表主码教师编号的外码,课程编号为引用课程表主码课程编号的外码,有效截止日期非空。

根据应用情况,查表需求,设计了多表连接的视图,方便更快的查找信息。

2.1.3物理实现

实现后各表间的联系如下图,并给出了部分视图的图表显示。

2.1.

3.1生成建库脚本

在Microsoft SQL Server 2008中构建数据库的的相关信息后,生成的脚本

如下:

1USE[test]

2GO

3/****** Object: Table [dbo].[课程] Script Date: 07/03/2012 02:02:30 ******/ 4SET ANSI_NULLS ON

5GO

6SET QUOTED_IDENTIFIER ON

7GO

8SET ANSI_PADDING ON

9GO

10CREATE TABLE[dbo].[课程](

11[课程号][char](4)NOT NULL,

12[课程名][char](20)NOT NULL,

13[先修课][char](4)NULL,

14[学分][smallint]NULL,

15[描述][char](30)NULL,

16PRIMARY KEY CLUSTERED

17(

18[课程号]ASC

19)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,

ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

20)ON[PRIMARY]

21GO

22SET ANSI_PADDING OFF

23GO

24/****** Object: Table [dbo].[教师] Script Date: 07/03/2012 02:02:30 ******/ 25SET ANSI_NULLS ON

26GO

27SET QUOTED_IDENTIFIER ON

28GO

29SET ANSI_PADDING ON

30GO

31CREATE TABLE[dbo].[教师](

32[编号][char](4)NOT NULL,

33[姓名][char](10)NOT NULL,

34[性别][char](2)NULL,

35[出生日期][date]NULL,

36[所属学院][char](10)NULL,

37[职称][char](8)NULL,

38PRIMARY KEY CLUSTERED

39(

40[编号]ASC

41)WITH (PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,

ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

42)ON[PRIMARY]

43GO

44SET ANSI_PADDING OFF

45GO

46/****** Object: Table [dbo].[主讲资格证] Script Date: 07/03/2012 02:02:30 ******/

相关文档
最新文档