常州工程职业技术学院选课v60SUNWord文件下载.docx
- 文档编号:8011874
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:18
- 大小:163.48KB
常州工程职业技术学院选课v60SUNWord文件下载.docx
《常州工程职业技术学院选课v60SUNWord文件下载.docx》由会员分享,可在线阅读,更多相关《常州工程职业技术学院选课v60SUNWord文件下载.docx(18页珍藏版)》请在冰点文库上搜索。
V5.0
2012-5-3
完成
2012-5-10
目录
第一章引言4
1.1编写目的4
1.2背景4
1.3术语定义4
1.4参考资料5
第二章外部设计5
2.1标识符和状态5
2.2使用它的程序5
2.3命名约定5
2.4设计约定5
第三章总体设计6
3.1数据库图6
3.2数据库概念结构设计8
3.3逻辑结构设计10
3.4逻辑结构设计11
3.5查询设计13
第四章运行设计15
4.1视图设计15
4.2存储过程设计与创建16
4.3触发器设计与创建17
第一章引言
1.1编写目的
数据库设计说明书是对常州工程职业技术学院选课系统数据库设计的定义,包括本系统数据逻辑结构设计、数据字典以及运行环境、安全保密设计等。
本数据库设计说明书适合以下读者:
◆用户
◆系统设计人员
◆质量控制人员
◆系统确认测试人员
◆系统维护人员
本数据库设计说明书是以下开发活动的依据之一:
◆系统详细设计
◆用户验收
1.2背景
本软件系统的中文全名为:
常州工程职业技术学院选课系统
。
本软件系统的开发者为新世纪软件,用户新世纪公司等。
学生选课管理系统主要适用各学校。
1.3术语定义
本文用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。
与本文直接相关的国家标准包括:
⏹GB8566-1995软件生存期过程
⏹GB8567-88计算机软件产品开发文件编制指南
⏹GB8567-88计算机软件数据库设计说明编制指南
⏹GB/T11457-1995软件工程术语
1.4参考资料
⏹《实用软件工程》,郑人杰,殷人昆,陶永雷,清华大学出版社,1997.4
第二章外部设计
2.1标识符和状态
数据库软件的名称:
SQLServer2005
数据库的名称为:
常州工程职业技术学院学生选课
2.2使用它的程序
常州工程职业技术学院学生选课管理系统
2.3命名约定
所有的数据库命名都是以具体表的英文词汇组成,这样能够统一数据库表的命名,也能够更好的规范数据库表命名。
2.4设计约定
所有数据库的设计,采用面向对象的设计方法,首先进行对象实体的设计,最后将对象持久化到数据库中,所有的表和表之间的关联,这样能够将整个系统的设计和数据库设计有机的结合起来。
第三章总体设计
学校管理人员通过该学生选课管理系统完成所有的日常教务工作。
用户在学校内的所有和教务相关的数据都通过教务管理系统进行管理,如学生管理、师资管理、选课管理、成绩管理等;
完成对学校人员,如教师、学生等。
该系统需要具有美观容易的操作界面、方便系统的使用者。
系统的使用者为不同身份,不同的身份登录系统后可以进入自己的操作界面,不能越权访问其他功能,保证系统的安全、系统数据库设计需方便程序进行访问,方便系统程序的维护、系统的模块都能正常运行,并且满足学校要求。
3.1数据库图
数据库概念设计是整个数据库设计的关键,概念设计的好坏将直接到数据库的性能和应用系统开发的效率,下面将通过建立图表进行数据库概念设计进行研究和设计,下图是系统主要实体的联系图:
针对常州工程职业技术学院学生选课管理信息系统的需求,通过对学生选课管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:
教师:
教师编号,姓名,年龄,性别,职称,专业,联系方式
课程:
课程编号,授课教师,课程名称,授课时间,课程描述,所属专业
学生:
学号,身份证号,姓名,性别,年龄,专业,联系方式
选修:
课程编号,学号,选修科目
系统:
用户名,密码,说明,进入方式,名称
管理员:
编号,身份证号,姓名,年龄,性别
管理:
系统用户名,管理员编号,管理项目
教室:
教室号,地点
上课:
教室号,上课课程编号
3.2数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
本实例根据上面的设计规划出的实体有:
教师、课程、学生、教师、系统、管理员。
各个实体具体的描述E-R图如下:
3.3逻辑结构设计
说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。
关系模型设计如下:
教师(教师编号,姓名,年龄,性别,职称,联系方式)
课程(课程编号,授课教师,课程名称,授课时间,课程描述,所属专业)
学生(学号,身份证号,姓名,性别,年龄,专业,联系方式)
选修(课程编号,学号,选修科目,教师姓名,备注)
系统(用户名,密码,说明,进入方式,名称)
管理员(编号,身份证号,姓名,年龄,性别)
管理(系统编号,管理员编号,系统用户名,管理项目)
教室(教室号,地点、备注)
上课(教室号,课程编号,教师地点,备注)
3.4逻辑结构设计
教师表
列名
数据类型
可否为空
Key
teacherID
char
Notnull
是
主键
teacherName
nchar
null
否
teacherAge
int
teacherSex
teacherCall
teacherTelephone
课程表
courseID
courseName
索引
teacherName
coursetime
datetime
检查性约束
describe
speciality
学生表
studentID
studentName
studentAge
studentSex
studentTelephone
Identitycard
选修表
XuanxiuID
notnull
外键(课程表)
外键(学生表)
courseName
remark
系统表
systemID
systemName
缺省性约束
username
EntranceWay
缺省性、唯一性约束
管理员表
managerID
managerName
managerAge
managerSex
管理表
guanliID
not
外键(系统表)
外键(管理员表)
project
教室表
classID
classAddress
上课表
shangkeID
外键(教师表)
3.5查询设计
3.5.1查询基本信息
◆查询所有课程情况
语句:
select*
fromcourse
◆查询学生信息
fromstudent
3.5.2选择查询
◆查询教师信息,如教师姓名,教师性别,教师年龄等。
selectteachernameas’教师姓名’,teachersexas‘教师性别’
fromteacher
3.5.3根据条件查询
查询方法:
(1)用比较运算符:
查询课程在周三-周五之间的课程。
where‘周三’<
coursetime<
’周五’
(2)用like运算符查询:
在管理员中找姓杨的管理员。
frommanager
wheremanagernamelike‘_杨%’
(3)用between……and运算符查询:
查询学生在0001到0002班的学生。
fromstudent
whereclassbetween’0001’and’0002’
3.5.4排序查询
(1)多字段查询:
学生表中学生编号并按升序
Fromstudent
OrderbystudentNumber[asc]
(2)有限条记录查询
(3)按一定比例查询
3.5.5查询统计
查询汇总:
查询课程表中课程的总课数
selectsum(courseid)
Fromcourse
(聚合函数还可以有AVG、Count、Max、Min、等)
3.5.6子查询
查询系统编号,用户名称,项目
selectsystemID,username,project
fromsystem
WheresystemID=(selectsystemID
Frommanage
WheresystemID=’6666’
3.5.7多表查询
查询学生表中的学生编号,课程表中的课程名称
Selectstudent.studentID,courename
Fromcourse
Joinstudentoncourse.studentID=course.studentID
注:
三个或三个以上的表连接需要找到表与表之间的连接处,用join……on连接
3.5.8表的修改和删除
课程表中的中国传统美食时间改为2012-4-8,并删除课程编号
Updatecourse
Set
Coursetime=’2012-4-8’
Wherecoursename=’中国传统美食’
DeletecourseID
第四章运行设计
4.1视图设计
(1)SELECTdbo.class.classroomID,dbo.class.courseID,dbo.course.coursename,dbo.course.coursetime
FROMdbo.classINNERJOINdbo.courseONdbo.class.courseID=dbo.course.courseID
(2)SELECTdbo.student.studentID,dbo.student.studentidentity,dbo.student.studentname,dbo.student.studentage,dbo.student.studentsex,dbo.student.telephone,dbo.student.speciality,dbo.course.courseID,dbo.course.coursename,dbo.course.coursetime
FROMdbo.courseCROSSJOINdbo.student
(3)SELECTdbo.manage.manageID,dbo.manage.managerID,dbo.manager.managename,dbo.manage.systemusername,dbo.manage.project
FROMdbo.manageINNERJOINdbo.managerONdbo.manage.manageID=dbo.manager.manageID
4.2存储过程设计与创建
查询:
usedb_class
go
createProcsp_update_pwd
@usrvarchar(60),--输入变量:
输入用户名
@old_pwdvarchar(500),--输入旧用户旧密码
@new_pwdvarchar(500),--输入用户新密码
@resintoutput
--输出结果标志:
0-成功修改,-1-用户名出错,-2-旧密码错误
as
ifexists(select*fromsysclasswhereclassname=@usr)
ifexists(select*fromsysclasswhereclassname=@usrAnd密码=@old_pwd)
begin
updatesysclassset密码=@new_pwdwhereclassname=@usr
set@res=0
end
else
select@res=-2
select@res=-1
return@res
declare@resint,
@strchar(40)
execsp_update_pwd'
second'
'
frist'
@resoutput
if@res=0
set@str='
修改成功'
else
if@res=-2
密码错误'
用户名错误'
select@str
go
alterprocdbo.sp_update_pwd
接受用户名
@old_pwdvarchar(500),--旧用户旧密码
@new_pwdvarchar(500),--用户新密码
ifexists(select*fromsysclasswhereclassname=@usrAnd密码=@old_pwd)
begin
updatesysclassset密码=@new_pwdwhereclassname=@usr
4.3触发器设计与创建
--显示class表中被更新记录的数量
Createtriggertr_class_update
Onclass
Forupdate
As
Declare@nunchar(50)
Select@nun=str(@@rowcount)+'
classupdated'
Print@nun
--显示class表中被删除记录的数量
Createtriggertr_class_delete
Fordelete
Declare@nunchar(60)
classdeleted'
--显示新增学生的信息
Createtriggertr_student
Onstudent
Forinsert
Declare@studentchar(200)
Select@student=studentfrominserted
Print@student
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常州 工程 职业技术学院 选课 v60SUN
![提示](https://static.bingdoc.com/images/bang_tan.gif)