数据库课程设计图书馆管理系统9Word格式.docx

上传人:b****5 文档编号:21438027 上传时间:2023-01-30 格式:DOCX 页数:18 大小:255.36KB
下载 相关 举报
数据库课程设计图书馆管理系统9Word格式.docx_第1页
第1页 / 共18页
数据库课程设计图书馆管理系统9Word格式.docx_第2页
第2页 / 共18页
数据库课程设计图书馆管理系统9Word格式.docx_第3页
第3页 / 共18页
数据库课程设计图书馆管理系统9Word格式.docx_第4页
第4页 / 共18页
数据库课程设计图书馆管理系统9Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

数据库课程设计图书馆管理系统9Word格式.docx

《数据库课程设计图书馆管理系统9Word格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计图书馆管理系统9Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

数据库课程设计图书馆管理系统9Word格式.docx

③安全性设计:

设置用户,并相应设计用户地权限或角色(用户设计至少3个,有不同地权限>

④使用触发器、游标或存储过程完成相关操作,至少使用1种技术.

(6>

以上内容,请详细描述,并有必要抓图.

四、实验结果及分析

<

一)需求分析

1、信息需求:

教务管理系统涉及地实体有:

学生:

学号、姓名、性别;

班级:

班级名称、学制、入学年份;

专业:

专业编号、专业名称;

系部:

系编号、系名称;

教师:

教工号、姓名;

课程:

课程号、课程名、学分.

实体间地联系:

一个系有若干专业,每个专业有若干个班级,每个班有若干个学生;

每个系有若干教师,教师分为两种:

授课教师和教案秘书,每个系有一名教案秘书;

一名教师可以教授多门课程,可以教授多个班级;

每个学生可以学习多名课程,每门课程可以被若干个学生学习.学生选修课程分为必修和选修,每门课程都有一个期末成绩,可以重修或补考两次,总评取3个成绩中最高地,还有选修课程地年份和学期.

2、功能需求:

教务管理系统地用户分为:

学生、教师、管理员.

学生可以查询成绩、修改密码、选修课程.

教师又分为普通教师和教案秘书,普通教师可以登记成绩、查询成绩;

教案秘书可以查询成绩、为某个班级指定必修课、为教师指定其教授地课程及授课班级.

管理员具有管理系统地所有权利.

数据流图:

二)概念结构设计

三)逻辑结构设计

1、根据系统地概念结构分析,得出其关系模式如下:

系部<

系编号,系名称)

专业<

专业编号,所属系部,专业名称)

班级<

班级名称,所属专业,所属系部)

学生<

学号,姓名,性别,班级)

课程<

课程号,课程名,学分)

教工<

教工号,姓名,所属系部)

就职<

系编号,系教案秘书)

教授<

教工号,课程号,教授班级)

学习<

学号,课程号,期末,总评,补考1,补考2,学期,学年,课程类型)

因为关系模式“就职”和“系部”具有相同地码,所以将两个关系模式合并,得到关系模式:

系编号,系名称,系教案秘书)

2、设计视图:

1)为学生查询成绩设计视图:

成绩1<

课程名,期末,总评,重修1/补考1,重修2/补考2,学分,必修/选修,学年,学期).

2)为教师查询成绩设计视图:

成绩2<

学号,姓名,课程名,期末,总评,必修/选修,学年,学期,班级)

3)为教案秘书查询成绩设计视图:

成绩3<

学号,姓名,课程名,总评,必修选修,学年,学期,班级)

4)为教师上传成绩设计视图:

成绩4<

学号,姓名,课程名,成绩)

四)物理设计

1、根据逻辑结构所设计地关系模式创建基本表,并创建主键.系统自动为主键字段创建索引.

系部表:

department

列名

数据类型

长度

允许空

主键/外键

索引

备注

dno

varchar

2

主键

升序

系编号

dname

10

系名

dtea

外键:

teacher.tno

系教案秘书

专业表:

subject

sbno

专业编号

department.dno

所属系部

sbname

专业名

班级表:

class

clname

20

班级名

所属专业

grade

4

入学年份

课程表:

course

cno

cname

credit

学生表:

student

sno

12

学号

sname

姓名

ssex

性别

class.clname

班级

教工表:

teacher

tno

18

教工号

tname

8

教工姓名

tsex

教授表:

tc

o

课程号

授课班级

学习表:

sc

student.sno

score

numernic

9

期末

sl

总评

score1

重修/补考1

score2

重修/补考2

term

1

学期

xyear

学年

type

6

课程类型

2、根据系统需要设计索引

1)查询学生信息时经常要根据学生所在班级进行查询,为“学生表”地“班级”字段创建聚簇索引.

2)查询教师信息时经常要根据教师所在系进行查询,为“教工表”地“所在系”

字段创建聚簇索引.

五)实施

1、登录控制

本系统采用SQLSERVER身份验证,用户需要提供用户名和密码才能登陆数据库.

2、数据完整性

1)实体完整性

为关系定义主键:

关系

系部

专业

学生

教工

课程

教授

学习

主码

(sbno,department>

(tno,cno,class>

(sno,cno>

2)参照完整性

为关系定义外键:

department.teareferencesteacher.tno

subject.departmentreferencesdepartment.dno

class.departmentreferencesdepartment.dno

student.classreferencesclass.clname

teacher.departmentreferencesdepartment.dno

tc.tnoreferencesteacher.tno

oreferenceso

tc.classreferencesclass.clname

sc.snoreferencesstudent.sno

3)自定义完整性

student表地ssex属性只允许取“男”或“女”:

check(ssex=’男’orssex=’女’>

sc表地score、sl、score1、score2属性值应该在0~100之间:

check(score>

=0andscore<

=100>

、check(sl>

=0andsl<

、check(score1>

=0andscore1<

、check(score2>

=0andscore2<

系部名称、专业名称、班级名称都取唯一值:

UNIQUE

创建触发器T2,作用:

添加学生信息时自动根据其学号生成其登录密码

createtriggerT2

onstudent

forinsert

as

ifupdate(sno>

begin

declare@spswchar(12>

select@spsw=snofrominserted

updatestudent

setspsw=@spsw

wheresno=(selectsnofrominserted>

end

创建触发器T3,作用:

添加教师信息时自动根据其工号生成其登录密码

3、安全性设计

本系统用户分为四类:

管理员、学生、教师、教案秘书

管理员具有管理系统地所有权利;

学生可以查询成绩、修改密码、选修课程;

教师可以登记成绩、查询成绩;

--创建管理员用户

EXECsp_addloginadmin,admin

USEstu_course

EXECsp_grantdbaccessadmin,admin

--创建学生用户

EXECsp_addloginstudent,student

EXECsp_grantdbaccessstudent,student

--创建教师用户

EXECsp_addloginteacher,teacher

EXECsp_grantdbaccessteacher,teacher

--创建教案秘书用户

EXECsp_addlogindtea,dtea

EXECsp_grantdbaccessdtea,dtea

4、其它功能设计

创建触发器T1:

添加或更改学生成绩时,自动生成总评

createtriggerT1

onsc

forinsert,update

ifupdate(score>

orupdate(score1>

orupdate(score2>

begin

declare@scorenumeric(18,1>

@score1numeric(18,1>

@score2numeric(18,1>

select@score=scorefrominserted

select@score1=score1frominserted

select@score2=score2frominserted

if@scoreisnotnulland@score1isnotnulland@score2isnotnull

updatesc

setsl=(

casewhen@score>

@score1and@score>

@score2then@score

when@score1>

@scoreand@score1>

@score2then@score1

else@score2end

>

andcno=(selectcnofrominserted>

end

else

if@scoreisnotnulland@score1isnotnull

@score1then@score

else@score1end

else

setsl=@score

end

触发器T2:

:

触发器T3:

存储过程和游标:

教案秘书为学生指定必修课程

createprocstu_cou@subjectvarchar(20>

@classvarchar(20>

@cnamevarchar(50>

@xyearvarchar(4>

@termvarchar(1>

declare@cnovarchar(4>

@snovarchar(12>

@pint,@nint,@sqlcodeint

declaresxcursorforselectsnofromstudentwhere@class=class

opensx

set@n=1

select@p=count(*>

fromstudentwhere@class=class

select@cno=cnofromcoursewhere@cname=cname

while@n<

=@p

fetchsxinto@sno

insertintosc(sno,cno,term,type,xyear>

values(@sno,@cno,@term,'

必修'

@xyear>

set@n=@n+1

closesx

调用此过程如:

execstu_cou'

商务英语'

'

商务英语B081'

大学英语'

2018'

1'

就可以为“商务英语”专业“商务英语B081”班指定“2018”学年第“1”学期地“必修课”“大学英语”.

存储过程:

为教师指定其所教课程及所授班级

createproctea_cou@teachervarchar(8>

@coursevarchar(50>

declare@tnovarchar(10>

@cnovarchar(4>

select@tno=tnofromteacherwhere@teacher=tname

select@cno=cnofromcoursewhere@course=cname

insertintotc(tno,cno,class>

values(@tno,@cno,@class>

exectea_cou'

张雪'

日语B072'

就可以为教师张雪指定所教课程“商务英语”及所教班级“日语B072”.

视图

--学生查询成绩视图:

只能查询自己地信息

createviewuser_s1(>

selectcname'

课程名称'

score'

期末'

sl'

总评'

score1'

重修1<

补考1)'

score2'

重修2<

补考2)'

credict'

学分'

type'

必修/选修'

xyear'

学年'

term'

学期'

fromcourse,sc

whereo=oandsc.sno=user

--教师查询成绩视图

createviewuser_t1

selectsc.sno'

学号'

sname'

姓名'

cname'

课程名'

tc.class'

班级'

fromstudent,sc,course,tc

wherestudent.sno=sc.snoando=oandtc.class=student.classandtc.tno=user

--教师上传成绩视图

createviewuser_t3(学号,姓名,班级,成绩>

selectsc.sno,sname,class,score

fromsc,student

wheresc.sno=student.sno

--教案秘书查询学生成绩视图

createviewuser_t4(学号,姓名,课程名,总评,必修选修,学年,学期,班级>

selectsc.sno,sname,cname,sl,type,xyear,term,tc.class

fromstudent,sc,course,tc,department

wherestudent.sno=sc.snoando=oandtc.class=student.classandtc.tno=department.dteaandtno=user

教师评价

评定工程

A

B

C

D

需求分析清楚

完整性设计完善

概念结构符合需求

游标和存储过程地使用

逻辑结构设计合理

操作熟练

索引设计合理

文字流畅

有完全性地设置

报告规范

其他:

评价教师签名:

年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 初中作文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1