基于SQL - server - 2005的教室管理系统的课程设计

更新时间:2024-04-07 19:41:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

课室管理系统是对学校课室管理的现代化,网络化,逐步摆脱当前课室管理的人工管理方式,提高课室管理效率而开发的,本系统主要是实现华南农业大学第三教学楼的教室的查询管理,系统包括教师,学生对课程的查询,对空课室的查询,保安值班情况。

目录

1. 系统需求分析阶段 2. 概念设计阶段 3. 逻辑设计阶段 4. 物理设计阶段 5. 数据库实施阶段 6. 系统调试和测试

1. 系统需求分析阶段 1.1引言

通过对华农大老师和同学的调查,现在有些同学想查找自己感兴趣的课程去旁听,或者迅速查找到空课室自修,而我们华

农大课室较多,如果停留在看纸张课程表或一间一间课室的找等传统的教室管理方式效率较低,为了提高查询管理效率,我们开发这个教室管理系统。 1.2目标与任务

1.2.1需求分析阶段的目标

(1)了解目前教室管理的现状以及SQL Server 2005的功能和特点

(2)通过实地调查和查看华农大正方系统的方式了解在教三上的课程及管理信息,并记录和处理相关的数据。

(3)与指导教师交流个人想法,征求意见,改正不合理的地方,为下面的概念设计与逻辑设计奠定基础。 1.2.2需求分析阶段的任务 (1)处理对象:

系统要处理的对象包括教室信息,课程信息,管理人员信息。 1. 教室信息:教室编号,教室的座位数,教室的空闲情况,每间教室所对应的课程

2. 课程信息:课程编号,任课老师,课程的上课时间,课程所对应的学院班级

3. 管理人员信息:人员数目,管理人员的编号,管理人员的姓名,所负责的教室,联系方式 (2)处理功能要求: 系统主要完成以下功能:

1基本信息管理: 教师、 教室、 班级、 课程等数据的输入、 编辑功能;

2数据处理: 查询教室所上什么课、 课表修改、 删除功能; 3数据输出: 桌面查询教师、 教室、 所上课程、 空余教室; 4帮助: 指导用户使用该系统及其他相关说明。 (3)安全性和完整性要求. 安全性:

1系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用

2系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容 完整性:

1各种信息记录的完整性,信息记录内容不能为空 2各种数据间相互的联系的正确性 3相同的数据在不同记录中的一致性 1.2.3需求分析阶段成果 (1)体会与收获

系统需求分析主要采取实地询问和在学校正方系统中查询的方式,了解目前教三管理的现状和课程,教室等信息。了解老师,学生,管理员对现存管理和查询的不足,吸取经验教训。 (2)教室管理系统业务流程图: 1.教室查询系统业务流程图 :

教务处 课程信息 用户 查询信息 查询系统 查询结果 教室信息 管理处

2工作人员工作流程图 .

上班情况 上班时间 工作人员 负责项目 管理处 联系方式

(3)数据字典:

表1数据项列表

数据项编号 DI-1 DI-2 DI-3 DI-4 DI-5 DI-6 DI-7 DI-8 DI-9 DI-10 DI-11 DI-12 DI-13 DI-14 DI-15

数据项名 RNo Room CNo CName Week Day Node CgNo Cgname SNo Sname Sex Age Ontime uptime

数据项含义 教室编号 容量 课程编号 课程名称 周次 星期 节次 班级编号 班级名 保安员编号 姓名 性别 年龄 上班时间 下班时间

与其它数据项的关系

存储结构 char(10) Int(4) char(10) char(20) Int(10) Date char(20) char(20) char(20) Char(10) char(20) char(2) Int(4) char(20) char(20)

别名 教室号 座位数 编号

数据项编号 DI-16 DI-16 DI-17 DI-18

数据项名 CollegeNo College TNo Tname

数据项含义 学院编号 学院 教师编号 教师名字

与其它数据项的关系

存储结构 Char(20) char(20) char(20) char(20)

别名 教师号 数据结构列表

数据结 构编号 DS-1

数据结构名

数据结构 含义

教室信息

组成

Class RNo,Room

DS-2 Course 课程信息 Cno,Cname,College,Week,Day,Node,

DS-3 DS-4

Security Duty

保安信息 值班

SNo,Sname,Sex,Age,

SNo,Sname,Day,ontime,uptime

(4)处理逻辑描述:

处理逻辑列表

判定条件 决策 判断用户查询涉及的功教室座位数模块、教室使用情况信息模块、课程基能模块 判断用户修改要涉及的模块,同时把相应的修改数据传到相应的模块之中 本信息模块、任课老师信息模块、上课时间信息模块、保安员基本信息模块、保安员工作信息模块。 教室座位数模块、教室使用情况信息模块、课程基本信息模块、任课老师信息模块、上课时间信息模块、保安员基本信息模块、保安员工作信息模块。;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。

2. 概念设计阶段

2.1引言

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为

信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概

念模型设计和新系统流程两个阶段。

它的主要特点是:1.能真实、充分地反映现实世界,包括事物与事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型;2.易于理解,因此可以用它和不熟悉计算机的用户交换意见;3.易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;4.易于向关系、网状、层次等各种数据模型转换。 2.2概念模型设计

(1)根据不同的对象,分别画出分E-R图: 实体:教室,课程,学生,教师,保安 教室与课程E-R关系图:

课 程 n 占 用 m 教 室 教师与课程E-R关系图:

教 师 n 讲授 m 课程 学生与课程E-R关系图:

n m 班级 学习 课程 保安与教室E-R关系图

保 安 1 管 理 m

各分E-R图中每个实体的属性如下所示: 教室:Classroom(No., Type, Room) 课程:Class(., Time, Week, Node) 教师:Teacher(TNo., Tname )

班级:Classgrade(Clloege,CgName,ClassNo) 保安:Security(SNo. ,SName, Sex,Age,Ontime , Uptime)

合并所有E-R关系图,得到基本的E-R图:

教 室 教室 m 管理 1 保安 1 占用 m 班级 n 学习 m 课程 m 讲授 n 教师

2.3新系统流程

课表管理 删除信息 添加信息 添加教师情况表 教室资源 用户 查询班级在哪个课室上课 查询信息 查询每天的空余课室 查询在一个课室上课的老师和所教的课程

3. 逻辑设计阶段

3.1逻辑设计的任务和目标

以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设

计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。 3.2数据组织

3.2.1将E-R图转换为关系模型

教学楼与保安人员的联系方式是1:n(一对多),可以将其之间的联系与n端实体保安人员合并,教室与课程,教室与班级,学院与教师,学院与课程之间的联系方式也是1:n,同样也将其之间的联系与n端实体课程,班级合并。而班级与课程,教师与课程,之间的联系为n:m(多对多)这样要把它们的联系转化为独立的关系模式: 保安:Security(SNo,SName,Sex,Age,ontime uptime,RNo,Room,) 课程:Class(CNo,CName,Week,Day,Node,RNo,Room,College) 班级:Cg(CgNo,Cgname,RNo,Room,College,CNo) 教师:Teacher(TNo,TName,Class,CNo,College,CollegeNo,RNo,Room)

3.2.2数据库模式定义

表1保安基本信息表

属性名 数据类型 取值范围 000000000~ 999999999 是否是主属性或外键 完整性 SNo SName Sex Age ontime uptime RNo Room Char(20) Char(10) Char(2) Int(10) Char(20) Char(20) Char(10) Char(10) 是 否 否 否 否 否 是 否 Not null Not null Not null Not null Not null Not null Not null Not null 男,女

表2课程基本信息表

属性名 数据类型 取值范围 000000000~ 999999999 是否是主属性或外键 完整性 CNo CName Week Day Node RNo Room College

Char(20) Char(20) Int(10) Char(10) Char(20) Char(10) Int(10) Char(20) 是 否 否 否 否 是 否 否 Not null Not null Not null Not null Not null Not null Not null Not null CollegeNo Char(20)

是 Not null 表3班级基本信息

属性名 数据类型 取值范围 000000000~ 999999999 是否是主属性或外键 完整性 CgNo CgName RNo Day Node College CollegeNo Char(20) Char(20) Char(10) Char(10) Int(10) Char(20) Char(20) 是 否 是 否 否 否 是 Not null Not null Not null Not null Not null Not null Not null 表4教师基本信息表

属性名 数据类型 取值范围 000000000~ 999999999 是否是主属性或外键 完整性 TNo TName Class CNo College CollegeNo RNo Room Char(20) Char(10) Char(20) Char(20) Char(20) Char(20) Char(20) Char(10) 是 否 否 是 否 是 是 否 Not null Not null Not null Not null Not null Not null Not null Not null

3.2.4用户子模式设计

编号 V-1 V-2 V-3 V-4 用户子模式(View) 作用(共性:提供数据保密和安全保护机制) SecurityView ClassView CgView TeacherView 便于查询和修改保安基本信息 便于查询和修改课程基本信息 便于查询和修改班级基本信息 便于查询和修改教师基本信息 3.3数据处理 系统功能模块图 教室管理系统 保安基本信息管理 课程基本信息管理 班级基本信息管理 教师基本信息管理

4. 物理设计阶段

4.1物理设计阶段的任务与目标

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:

(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

(2)对物理结构进行评价,评价的重点是时间和空间效率。

4.2数据存储方面

为数据库中各基本表建立的索引如下:

1. 由于基本表Class,Room的主码CNo,RNo经常在查询条件和连接操作的连接条件中出现,且它们的值唯一,考虑在两个属性

上建立唯一性索引。

2. 基本表课程信息表的Cname经常在查询条件中出现,且经常出现在相等的比较条件中,考虑在其之上建立聚簇索引; 3. 基本表教师基本信息表和保安基本信息表的属性值几乎不会有什么变化,更新率很低,可考虑适当建立索引;

4. 3系统功能模块

4.3.1保安基本信息查询和更新模块,具体的功能模块图如下:

用户发出查询或更新保安基本信息 判断是查询还是更新 在保安基本信息中查询处理 在保安基本信息中进行更新 修改后的数查询结果 是否修改成功 据保存 修改结果提示信息 终止 判断是否还有命令信息

4.3.2. 课程基本信息查询和更新模块,具体的功能模块图如下:

用户发出查询或更新课程基本信息 判断是查询还是更新 在课程基本信息中查询处理 在课程基本信息中进行更新 查询结果 是否修改成功 修改后的数据保存 修改结果提示信息 终止 判断是否还有命令信息

4.3.3. 班级基本信息查询和更新模块,具体的功能模块图如下:

用户发出查询或更新课程基本信息 判断是查询还是更新 在课程基本信息中查询处理 在课程基本信息中进行更新 查询结果 是否修改成功 修改后的数据保存 修改结果提示信息 终止 判断是否还有命令信息

4.3.4. 教师基本信息查询和更新模块,具体的功能模块图如下:

用户发出查询或更新教师基本信息 判断是查询还是更新 在教师基本信息中查询处理 在教师基本信息中进行更新 查询结果 是否修改成功 修改后的数据保存 修改结果提示信息 终止 判断是否还有命令信息

5.数据库实施阶段

5.1 建立数据库,数据表,视图,索引 5.1.1建立数据库

create database Classroom_Class_Management;

5.1.2建立数据表 (1)保安基本信息表的建立 create table Security

SNo Char(20) Not null unique SName Char(10) Not null Sex Char(2)

Not null Not null

Age Char (10)

ontime Char(20) Not null uptime Char(20) Not null RNo

Char(10) Not null unique

Room Char(10) Not null primary key(SNo), foreign key(RNo), 语法

Create table Security

(SNo Char(20) Not null , SName Char(10) Not null, Sex Char(2)

Not null,

Not null,

Age Char(10)

ontime Char(20) Not null, uptime Char(20) Not null, RNo Char(10) Not null , Room

Char(10) Not null,

); go

(2)课程基本信息表的建立 create table Class

CNo Char(20) Not null unique CName Char(20) Not null Week Char (10)

Not null

Day Char(10) Not null Node Char(20) Not null RNo

Char(10) Not null unique

Not null

Room Char (10)

primary key(CNo), foreign key(RNo),

语法:

Create table Class

(CNo Char(20) Not null, CName Char(20) Not null, Week Node Room );

go

Char(10)

Not null,

Day Char(10) Not null,

Char(20) Not null, Char (10)

Not null,

RNo Char(10) Not null ,

(3)班级基本信息表的建立 create table Classgrade CgNo Char(20)

Not null Not null

CgName Char(20) RNo

Char(10)

Not null

Day Char(10) Not null

Not null

Node Char(10)

CNo varchar(MAX) Not null CNname varchar(MAX) Not null

primary key(CgNo), foreign key(RNo),

用对象资源管理器创建Classgrade表 (4)教师基本信息表 create table Teacher

TNo Char(20) TName Char(10) Class Char(20) CNo RNo

Char(20)

Not null Not null Not null Not null unique

Char(10) Not null

Not null,

Create table Teacher (TNo Char(20)

TName Char(10) Class Char(20) CNo Char(20) ); go

Not null, Not null,

Not null ,

RNo Char(10) Not null ,

primary key(TNo), foreign key(CNo,RNo), 5.1.3.建立视图

(1)用于查询和更改保安基本信息的视图定义如下: create view Security (保安编号,姓名,性别,年龄,教室,教室编号上下班时间)

as

select* from Security with check option

(2) 用于查询和更改课程基本信息的视图定义如下: create view Class (课程名称,课程编号,周次,星期,节

次,教室,教室编号,学院,学院编号) as

select* from Class with check option;

(3)用于查询和更改班级基本信息的视图定义如下:

create view Classgrade(班级名称,班级编号,学院,学院编号,时间,

教室,教室编号)

as

select* from Classgrade with check option;

(4)用于查询和更改教师基本信息的视图定义如下:

create view Teacher(教师名称,教师编号,课程,课程编号,学院,学院编号,教室,教室编号)

as

select* from Teacher with check option; 5.1.4建立索引

create unique index ClassNo on Class(CNo);

create unique index RoomNo on Room(RNo);

5.1.5创建触发器 在数据库

Classroom_Class_Management

的创

Class,

Teacher,Security,Classgrade

Class_trigger1.Teacher_trigger1,Security_trigger1,Classgrade_trigger1触发器当执行Insert操作时,该触发器触发,显示提示信息“Classroom_Class_Management提示:数据插入成功”。

5.2数据入库

系统包括了保安基本信息管理、课程基本信息管理、班级基本信息管理和教师基本信息管理等四大功能模块。

6.

本文来源:https://www.bwwdw.com/article/pw8r.html

Top