人人范文网 范文大全

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

发布时间:2020-03-02 14:55:37 来源:范文大全 收藏本文 下载本文 手机版

武汉理工大学《软件综合设计》课程设计说明书

目录

1 需求设计 ...................................................................................................................................2 1.1 需求描述 ...................................................................................................................2 1.2 需求分析 ...................................................................................................................2

1.2.1 目标用户 ...........................................................................................................2 1.2.2平台的选择 .......................................................................................................2 1.2.3 逻辑要求 ...........................................................................................................2 1.2.4 定义用例 ...........................................................................................................3

2 实现设计 ...................................................................................................................................3

2.1 数据库设计 ...............................................................................................................3

2.1.1 概念设计 ...........................................................................................................3 2.1.2 逻辑设计 ...........................................................................................................5 2.1.3 物理实现 ...........................................................................................................5

2.1.3.1 生成建库脚本 ...........................................................................................6

3 代码实现 .................................................................................................................................10 4 程序截图 .................................................................................................................................12 5总结与体会 ..................................................................................................................................1

5武汉理工大学《软件综合设计》课程设计说明书

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

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图这一概念模型中的实体最后就成为了一张张的表,实体属性成了表属性,对属性的约束成了表属性中的字段类型及非空唯一等约束,实体中的非空唯一标识属性(组)则成了表的主码;实体之间的联系,成为表与表之间的外码参照;一对多还是零对多,对应到物理设计中被参照的字段可否为空;最后,为了提高海量数据的检索效率, 4

武汉理工大学《软件综合设计》课程设计说明书

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

2.1.2 逻辑设计

根据概念设计阶段对数据库概念模型的设计,构造合适的关系数据路模式。

由ER图可知,此次设计共建了4张表:教师表、课程表、讲课经历表、主讲资格证表。

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

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

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

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

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

2.1.3 物理实现

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

武汉理工大学《软件综合设计》课程设计说明书

2.1.3.1 生成建库脚本

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

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

武汉理工大学《软件综合设计》课程设计说明书

5 GO 6 SET QUOTED_IDENTIFIER ON 7 GO 8 SET ANSI_PADDING ON 9 GO 10 CREATE TABLE [dbo].[课程]( 1

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

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

3[先修课] [char](4) NULL, 1

4[学分] [smallint] NULL, 1

5[描述] [char](30) NULL, 16 PRIMARY 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] 21 GO 22 SET ANSI_PADDING OFF 23 GO 24 /****** Object: Table [dbo].[教师] Script Date: 07/03/2012 02:02:30 ******/ 25 SET ANSI_NULLS ON 26 GO 27 SET QUOTED_IDENTIFIER ON 28 GO 29 SET ANSI_PADDING ON 30 GO 31 CREATE 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, 38 PRIMARY 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] 43 GO 7

武汉理工大学《软件综合设计》课程设计说明书

44 SET ANSI_PADDING OFF 45 GO 46 /****** Object: Table [dbo].[主讲资格证] Script Date: 07/03/2012 02:02:30 ******/ 47 SET ANSI_NULLS ON 48 GO 49 SET QUOTED_IDENTIFIER ON 50 GO 51 SET ANSI_PADDING ON 52 GO 53 CREATE TABLE [dbo].[主讲资格证]( 54

[证件编号] [char](10) NOT NULL, 55

[教师编号] [char](4) NULL, 56

[课程编号] [char](4) NULL, 57

[有效截止日期] [date] NULL, 58 PRIMARY KEY CLUSTERED 59 ( 60

[证件编号] ASC 61 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,

IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 62 ) ON [PRIMARY] 63 GO 64 SET ANSI_PADDING OFF 65 GO 66 /****** Object: Table [dbo].[讲课经历] Script Date: 07/03/2012 02:02:30 ******/ 67 SET ANSI_NULLS ON 68 GO 69 SET QUOTED_IDENTIFIER ON 70 GO 71 SET ANSI_PADDING ON 72 GO 73 CREATE TABLE [dbo].[讲课经历]( 74

[教师编号] [char](4) NOT NULL, 75

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

[授课年份] [char](4) NOT NULL, 77 PRIMARY KEY CLUSTERED 78 ( 79

[教师编号] ASC, 80

[课程号] ASC 81 )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,

IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 8

武汉理工大学《软件综合设计》课程设计说明书

82 ) ON [PRIMARY] 83 GO 84 SET ANSI_PADDING OFF 85 GO 86 /****** Object: View [dbo].[C2] Script Date: 07/03/2012 02:02:31 ******/ 87 SET ANSI_NULLS ON 88 GO 89 SET QUOTED_IDENTIFIER ON 90 GO 91 create view [dbo].[C2] 92 as 93 select 编号,姓名,课程.课程号,课程名,授课年份 94 from 教师,课程,讲课经历

95 where 教师.编号 = 讲课经历.教师编号 and 课程.课程号 = 讲课经历.课程号; 96 GO 97 /****** Object: View [dbo].[C1] Script Date: 07/03/2012 02:02:31 ******/ 98 SET ANSI_NULLS ON 99 GO 100 SET QUOTED_IDENTIFIER ON 101 GO 102 create view [dbo].[C1] 103 as 104 select 编号,姓名,性别,出生日期,所属学院,职称,课程编号,课程名,证件编号,有效截止日期

105 from 教师,课程,主讲资格证

106 where 教师.编号 = 主讲资格证.教师编号 and 课程.课程号 = 主讲资格证.课程编号 107 GO 108 /****** Object: Check [CK__讲课经历__授课年份__1CF15040] Script Date: 07/03/2012 02:02:30 ******/ 109 ALTER TABLE [dbo].[讲课经历] WITH CHECK ADD CHECK (([授课年份] like

'[0-9][0-9][0-9][0-9]')) 110 GO 111 /****** Object: Check [CK__教师__编号__014935CB] Script Date: 07/03/2012 02:02:30 ******/ 112 ALTER TABLE [dbo].[教师] WITH CHECK ADD CHECK (([编号] like

'[0-9][0-9][0-9][0-9]')) 113 GO 114 /****** Object: Check [CK__教师__性别__023D5A04] Script Date: 07/03/2012 02:02:30 ******/ 115 ALTER TABLE [dbo].[教师] WITH CHECK ADD CHECK (([性别]='女' OR [性别]='男')) 116 GO 9

武汉理工大学《软件综合设计》课程设计说明书

117 /****** Object: Check [CK__教师__职称__03317E3D] Script Date: 07/03/2012 02:02:30 ******/ 118 ALTER TABLE [dbo].[教师] WITH CHECK ADD CHECK (([职称]='讲师' OR [职称]='教授')) 119 GO 120 /****** Object: Check [CK__课程__课程号__0BC6C43E] Script Date: 07/03/2012 02:02:30 ******/ 121 ALTER TABLE [dbo].[课程] WITH CHECK ADD CHECK (([课程号] like

'[0-9][0-9][0-9][0-9]')) 122 GO 123 /****** Object: ForeignKey [FK__讲课经历__教师编号__1B0907CE] Script Date: 07/03/2012 02:02:30 ******/ 124 ALTER TABLE [dbo].[讲课经历] WITH CHECK ADD FOREIGN KEY([教师编号]) 125 REFERENCES [dbo].[教师] ([编号]) 126 GO 127 /****** Object: ForeignKey [FK__讲课经历__课程号__1BFD2C07] Script Date: 07/03/2012 02:02:30 ******/ 128 ALTER TABLE [dbo].[讲课经历] WITH CHECK ADD FOREIGN KEY([课程号]) 129 REFERENCES [dbo].[课程] ([课程号]) 130 GO 131 /****** Object: ForeignKey [FK__课程__先修课__0CBAE877] Script Date: 07/03/2012 02:02:30 ******/ 132 ALTER TABLE [dbo].[课程] WITH CHECK ADD FOREIGN KEY([先修课]) 133 REFERENCES [dbo].[课程] ([课程号]) 134 GO 135 /****** Object: ForeignKey [FK__主讲资格证__教师编号__117F9D94] Script Date: 07/03/2012 02:02:30 ******/ 136 ALTER TABLE [dbo].[主讲资格证] WITH CHECK ADD FOREIGN KEY([教师编号]) 137 REFERENCES [dbo].[教师] ([编号]) 138 GO 139 /****** Object: ForeignKey [FK__主讲资格证__课程编号__1273C1CD] Script Date: 07/03/2012 02:02:30 ******/ 140 ALTER TABLE [dbo].[主讲资格证] WITH CHECK ADD FOREIGN KEY([课程编号]) 141 REFERENCES [dbo].[课程] ([课程号]) 142 GO

3 代码实现

本次应用程序是采用C#语言编写,其主要实现代码如下:

static string conStr = "Data Source=wys-pc;Initial Catalog=test;User

武汉理工大学《软件综合设计》课程设计说明书

ID=sa;Paword=123456"; //其中 wys-pc是主机名,test是要连接的数据库名,采用SQL Server身份验证方式登入数据库,sa为登入账户,paword为登入密码。

SqlConnection con = new SqlConnection(conStr); //con 为连接对象 con.Open(); // 打开连接

SqlCommand command = new SqlCommand(sql, con); //command SQL命令的执行对象,其中sql为SQL语句,con为上面建立的连接。

command.ExecuteNonQuery(); //执行基本插入、删除、更新等SQL语句。 con.Close(); //关闭连接

将查询多表连接的视图的容输出到dataGridView组件中时用到的代码与上面用区别:

SqlConnection con = new SqlConnection(conStr); SqlDataAdapter dtp = new SqlDataAdapter(sql, con); //建立数据库的适配器

DataTable ds = new DataTable(); // 建立显示数据表 dtp.Fill(ds); dataGridView1.DataSource = ds; con.Close();

将单表内容输出到dataGridView组件时代码为:

SqlConnection con = new SqlConnection(conStr); con.Open(); SqlDataAdapter dtp = new SqlDataAdapter(sql, con); //sql为select 语句。

DataSet ds = new DataSet(); //建立数据集 dtp.Fill(ds); dataGridView1.DataSource = ds.Tables[0].DefaultView; con.Close();

武汉理工大学《软件综合设计》课程设计说明书

4 程序截图

管理员登入界面:

登入后的界面:

武汉理工大学《软件综合设计》课程设计说明书

查看表中的数据:

查找教师相关信息:

武汉理工大学《软件综合设计》课程设计说明书

添加信息界面:

删除信息界面:

武汉理工大学《软件综合设计》课程设计说明书

修改信息界面:

5总结与体会

从传统的面向过程分析与设计,到基于UML和诸多工具的面向对象建模与编码,再加上需求的分析,概念设计,逻辑设计,物理实现等,用户界面的设计,整个过程还是比较顺利的。

当然,课设过程中出现的问题是不少的。在逻辑设计阶段,就出现了很多设计失误。譬如关于表的属性以及表之间的联系的设计。教师表的属性设置存在缺漏,还可以添加联系方式、邮箱、身份证号、学位等属性信息。授课经历也可以增加授课年级、学期等属性信息。教师表和课程表之间的联系是通过讲课资格证表联系在一起的,这样给查询信息带来了一些麻烦。

整体来说,这是又一次意义深远的课程设计。

教学管理数据库的设计

高校教学管理信息系统的设计

第六章信息系统与数据库

第六章 信息系统与数据库

教学管理信息系统基本功能一览

MBA全景教学管理信息系统

上海交通大学教学管理信息系统的设计[优秀]

C3E4教学管理数据库数据查询

数据库设计

数据库设计

教学管理信息系统——教师数据库设计
《教学管理信息系统——教师数据库设计.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档