学生信息管理数据库设计报告.docx

上传人:b****2 文档编号:1201219 上传时间:2023-04-30 格式:DOCX 页数:30 大小:462.32KB
下载 相关 举报
学生信息管理数据库设计报告.docx_第1页
第1页 / 共30页
学生信息管理数据库设计报告.docx_第2页
第2页 / 共30页
学生信息管理数据库设计报告.docx_第3页
第3页 / 共30页
学生信息管理数据库设计报告.docx_第4页
第4页 / 共30页
学生信息管理数据库设计报告.docx_第5页
第5页 / 共30页
学生信息管理数据库设计报告.docx_第6页
第6页 / 共30页
学生信息管理数据库设计报告.docx_第7页
第7页 / 共30页
学生信息管理数据库设计报告.docx_第8页
第8页 / 共30页
学生信息管理数据库设计报告.docx_第9页
第9页 / 共30页
学生信息管理数据库设计报告.docx_第10页
第10页 / 共30页
学生信息管理数据库设计报告.docx_第11页
第11页 / 共30页
学生信息管理数据库设计报告.docx_第12页
第12页 / 共30页
学生信息管理数据库设计报告.docx_第13页
第13页 / 共30页
学生信息管理数据库设计报告.docx_第14页
第14页 / 共30页
学生信息管理数据库设计报告.docx_第15页
第15页 / 共30页
学生信息管理数据库设计报告.docx_第16页
第16页 / 共30页
学生信息管理数据库设计报告.docx_第17页
第17页 / 共30页
学生信息管理数据库设计报告.docx_第18页
第18页 / 共30页
学生信息管理数据库设计报告.docx_第19页
第19页 / 共30页
学生信息管理数据库设计报告.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生信息管理数据库设计报告.docx

《学生信息管理数据库设计报告.docx》由会员分享,可在线阅读,更多相关《学生信息管理数据库设计报告.docx(30页珍藏版)》请在冰点文库上搜索。

学生信息管理数据库设计报告.docx

学生信息管理数据库设计报告

《数据库》期末课程设计报告

学生信息管理系统

 

1课程设计题目:

学生信息管理系统

随着学校规模的不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增加。

面对庞大的信息量,就需要有学生信息管理系统来提高学生管理工作的效率。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

现在的时代是网络普及是时代,学生有条件通过网络方便快捷的查询自己的个人信息。

所以,学生信息管理系统既能方便学校管理部门的管理,又能方便学生及时查询个人信息。

2需求分析

需求分析阶段的目标和任务

2.1.1处理对象

学生个人信息:

学号,姓名,性别,年龄,院系

学生课程信息:

学号,选修课程号,课程成绩

课程信息:

课程号,课程名称,课程信息

教师信息:

教师名字,教师编号,教师年龄,教师工资,教师所属院系

任课教师信息:

教师编号,课程号

院系信息:

院系编号,院系名称

2.1.2处理功能及要求

开发学生信息管理系统,主要为减轻教师人员的负担,使学生信息的存入记录与取出记录相对方便,便于学生个人信息的增加与减少,降低出错率,使管理更加合理、科学,也为老师节省开支。

在系统中的新生信息的录入、教师信息的查询,由于在学生信息管理的过程中会涉及到大量的数据操作,如数据的添加、删除、修改和保存等。

这主要包括:

1.能够对学生个人信息进行一定的操作处理:

   1)学生个人信息的增加、删除以及修改。

   2)学生个人信息的多关键字检索查询。

2.能够对学生个人信息,教师信息的查询相关资料,这其中包括:

   1)学生个人信息的增加、删除及修改。

2)教师个人信息的增加,删除及修改 

3.对查询、统计的结果能够列表显示。

2.1.3安全性和完整性要求

1)安全性要求

系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。

安全性先通过视图机制,教务员可以设置密码来限制别人访问系统的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。

2)完整性要求

系统完整性要求系统中数据的正确性以及相容性。

可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。

2.2需求分析阶段成果

2.2.1体会与收获

系统需求分析主要是通过对网上一些资源以及《SQLSEERVER2000案例教程》这本书的相关资料的查看,以及联系一些现实学校的班主任记录学生信息的基本情况,总结学生信息管理系统至少应该具备对重要相关信息的哪些管理功能,以及在管理中的一些问题。

因为是第一次做这样的需求调查,有些东西到现在可能还不是做的很好,但是这些我以后都会慢慢把他完善的。

希望本系统能在使用中不断地发现漏洞,改善漏洞,不断完善本系统。

2.2.2学生信息管理系统数据流程图

顶层数据流图:

第2层数据流图:

(学生信息录入,教师信息录入,学生课程信息录入,学生成绩录入,学生信息查询和修改等)

 

2.2.3学生信息管理系统数据字典

(a)数据项:

系统涉及的数据项有15项

表1.1数据项列表

数据项编号

数据项名

数据项含义

数据类型

长度

别名

DI-1

sno

学生编号

Char

15

DI-2

sname

学生姓名

char

15

DI-3

sage

学生年龄

int

4

DI-4

ssex

学生性别

char

15

DI-5

sdno

学生所在院系编号

char

15

DI-6

tno

教师编号

Char

15

DI-7

cno

课程号

char

15

DI-8

tname

教师名称

char

15

DI-9

tage

教师年龄

int

4

DI-10

tsalary

教师工资

int

4

DI-11

dno

院系编号

char

15

DI-12

dname

院系名称

char

15

DI-13

cname

课程名称

char

100

DI-14

credit

课程学分

int

4

DI-15

Grade

课程成绩

int

4

(b)数据结构:

表1.2数据结构列表

 

数据结

构编号

数据结构名

组成

DS-1

STUDENT

Sno,Sname,Ssex,Sage,Sdno

DS-2

SC

Dno,Cname,Grade

DS-3

COURSE

Dno,Cname,Credit

DS-4

DEPART

Dno,Dname

DS-5

TEACHER

Tno,Tname,Tsage,Tsalary,Dno

DS-6

TC

Tno,Cno

3概念设计阶段

3.1任务与目标

任务:

开发学生信息管理系统,主要为减轻教师工作的负担,使老师对学生信息的记录与查询相对方便,便于学生信息的增加与减少,降低出错率,使管理更加合理、科学,也为老师节省开支。

在系统中实现了学生信息的录入、修改、查询等操作,所以在学生信息管理的过程中会涉及到大量的数据操作,如数据的添加、删除、修改等

目标:

开发本系统的目的在于代替手工管理、修改、查询等工作,具体要求包括:

数据录入:

录入学生个人信息、学生成绩;

数据修改:

修改学生个人信息,修改教师个人信息;

数据查询:

查询学生个人信息,查询学生选课信息,查询任课教师信息等。

3.2阶段结果

(1)根据不同的对象,分别画出各分E-R图:

(a)院系的E-R图:

(c)课程的E-R图:

 

(d)学生信息的E-R图:

(e)教师实体E-R图:

(2)合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的学生信息管理E-R图如下所示:

 

n1

mn

nm1

数据库中关系图

4.逻辑设计阶段

4.1逻辑设计的任务和目标

概念设计阶段是独立于任何一种数据模型的。

系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。

具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)以及数据处理(画出系统功能模块图)两大任务。

4.2关系模型设计

1)DEPART(院系信息表)

NO.

字段名

类型

说明

1

Dno

Char

主键

2

Dname

Char

Null

2)COURSE(课程表)

NO.

字段名

类型

说明

1

Cno

Char

主键

2

Cname

Char

Null

3

Credit

Int

Null

3)STUDENT(学生个人信息表)

NO.

字段名

类型

说明

1

Sno

Char

主键

2

Sname

Char

Null

3

Ssex

Char

Null

4

Sage

Int

Null

5

Sdno

Char

Null

4)SC(选课表)

NO.

字段名

类型

约束

1

Sno

char

主键

2

Cno

char

Null

3

Grade

Int

Null

5)TEACHER(教师个人信息表)

NO.

字段名

类型

约束

1

Tno

char

主键

2

Tname

char

Nnull

3

Tage

int

Null

4

Tsalary

int

Null

5

Dno

char

Null

6)TC(任课教师表)

NO.

字段名

类型

约束

1

Tno

Char

主键

2

Cno

Char

Null

4.3用户子模式举例

学生个人信息查询视图

列名

数据类型

可否为空

说明

Sno

Char

notNull

主键

Sname

Char

Nulll

Cno

Char

Null

Cname

Char

Null

Tno

Char

Null

 

课程信息查询视图

列名

数据类型

可否为空

说明

Cno

Char

notNull

主键

Sname

Char

Nulll

Grade

Int

Null

教师个人信息查询视图

列名

数据类型

可否为空

说明

Tname

Char

notNull

主键

Cname

Char

Nulll

Sname

Char

Null

4.4数据处理

系统功能模块图:

5.物理设计阶段

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

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

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

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

5.2数据存储方面

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

1.由于学生个人信息表中的属性姓名经常在查询条件中出现,且它们的值一般都是唯一,在两个属性上建立索引;

2.由于学生个人信息表中的主码学号经常在查询条件和连接条件中出现,且它们的值是唯一的,在两个属性上建立唯一性索引;

5.3系统功能模块

依据需求分析阶段看,学生信息管理系统主要分为学生个人信息管理,课程信息管理,教师信息管理等主要方面。

6数据库部分

1)基本表

STUDNET学生信息表

TEACHER教师个人信息表

COURSE课程表

SC学生选课表

TC任课教师表

DEPART院系表

2)视图

CREATEVIEWdbo.VIEW1

WITHSCHEMABINDING

AS

SELECTdbo.SC.Sno,dbo.COURSE.Cno,dbo.COURSE.Credit

FROMdbo.COURSEINNERJOIN

dbo.SCONdbo.COURSE.Cno=dbo.SC.Cno

 

CREATEVIEWdbo.VIEW2

WITHSCHEMABINDING

AS

SELECTdbo.TEACHER.Tname,dbo.TEACHER.Dno,dbo.DEPART.Dname

FROMdbo.DEPARTINNERJOIN

dbo.TEACHERONdbo.DEPART.Dno=dbo.TEACHER.Dno

 

CREATEVIEWdbo.VIEW3

AS

SELECTdbo.STUDENT.Sname,dbo.SC.Cno,dbo.SC.Grade

FROMdbo.SCINNERJOIN

dbo.STUDENTONdbo.SC.Sno=dbo.STUDENT.Sno

 

CREATEVIEWdbo.VIEW4

AS

SELECTdbo.STUDENT.Sname,dbo.SC.Cno,dbo.COURSE.Cname,dbo.TC.Tno

FROMdbo.TCINNERJOIN

dbo.COURSEONdbo.TC.Cno=dbo.COURSE.CnoINNERJOIN

dbo.SCONdbo.COURSE.Cno=dbo.SC.CnoINNERJOIN

dbo.STUDENTONdbo.SC.Sno=dbo.STUDENT.Sno

 

CREATEVIEWdbo.VIEW5

WITHSCHEMABINDING

AS

SELECTdbo.STUDENT.Sname,dbo.SC.Cno,dbo.COURSE.Cname,dbo.COURSE.Credit,

dbo.SC.Grade

FROMdbo.COURSEINNERJOIN

dbo.SCONdbo.COURSE.Cno=dbo.SC.CnoINNERJOIN

dbo.STUDENTONdbo.SC.Sno=dbo.STUDENT.Sno

 

CREATEVIEWdbo.VIEW6

WITHSCHEMABINDING

AS

SELECTdbo.STUDENT.Sno,dbo.STUDENT.Sname,dbo.DEPART.Dname,

dbo.COURSE.Cname

FROMdbo.STUDENTINNERJOIN

dbo.DEPARTONdbo.STUDENT.Sdno=dbo.DEPART.DnoINNERJOIN

dbo.SCONdbo.STUDENT.Sno=dbo.SC.SnoINNERJOIN

dbo.COURSEONdbo.SC.Cno=dbo.COURSE.Cno

 

CREATEVIEWdbo.VIEW7

WITHSCHEMABINDING

AS

SELECTdbo.TEACHER.Tname,dbo.COURSE.Cname

FROMdbo.TEACHERINNERJOIN

dbo.TCONdbo.TEACHER.Tno=dbo.TC.TnoINNERJOIN

dbo.COURSEONdbo.TC.Cno=dbo.COURSE.Cno

 

CREATEVIEWdbo.VIEW8

WITHSCHEMABINDING

AS

SELECTdbo.TEACHER.Tname,dbo.COURSE.Cname,dbo.STUDENT.Sname

FROMdbo.TEACHERINNERJOIN

dbo.TCONdbo.TEACHER.Tno=dbo.TC.TnoINNERJOIN

dbo.COURSEONdbo.TC.Cno=dbo.COURSE.CnoINNERJOIN

dbo.SCONdbo.COURSE.Cno=dbo.SC.CnoINNERJOIN

dbo.STUDENTONdbo.SC.Sno=dbo.STUDENT.Sno

 

3)存储过程

CREATEPROCEDURE[user1].[PROCEDURENAME]AS

selectdistincts.snamefromstudentsjoinscons.sno=sc.snowheregrade<80

CREATEPROCEDURE[user1].[PROCEDURENAME]AS

selectsname,sagefromstudentwheresdnoin(10001,10005,10007)

CREATEPROCEDURE[user1].[PROCEDURENAME]AS

selectSname,SagefromSTUDENTWHERESage<22

CREATEPROCEDURE[user2].[sum]AS

selectcount(distinctsno)fromsc

CREATEPROCEDURE[user3].[tac]AS

selectsname,tname,t.dnofromstudentsjoinscons.sno=sc.snojointcono=o

jointeachertont.tno=tc.tno

CREATEPROCEDURE[user2].[teacher]AS

selecttname,tsalaryfromteacherorderbytsalary

CREATEPROCEDURE[user3].[teacherc]AS

selecttname,cnamefromteachertjointcont.tno=tc.tnojoincoursecono=o

CREATEPROCEDURE[user4].[yuanxi]AS

select*fromstudentsjoindepartdons.sdno=d.dno

 

CREATEPROCEDURE[user4].[yuanxi2]AS

selectdno,sname,sagefromstudentsjoindepartdons.sdno=d.dno

CREATEPROCEDURE[user1].[zhang]AS

select*fromstudentwheresnamelike'张__'

4)触发器

createtriggertr_studonstudent

forupdate

as

declare@msgvarchar(100)

select@msg=str(@@rowcount)+'studentshasbeenupdated'

print@msg

return

 

createtriggertruteacheronteacher

forupdateas

ifupdate(tno)

begin

updatetc

settno=i.tnofromtc,insertedi,delecteddwheretc.tno=d.tno

end

createtrigger[delete]on[dbo].[tc]

fordelete

as

deletesc

fromsc,deletedd

whereo=o

5)用户

6)角色

7)索引

ALTERTABLE[dbo].[COURSE]WITHNOCHECKADD

CONSTRAINT[PK__COURSE__CB]PRIMARYKEYCLUSTERED

[Cno]

)ON[PRIMARY]

GO

 

ALTERTABLE[dbo].[DEPART]WITHNOCHECKADD

PRIMARYKEYCLUSTERED

[Dno]

)ON[PRIMARY]

GO

 

ALTERTABLE[dbo].[SC]WITHNOCHECKADD

CONSTRAINT[PK__SC__0425A276]PRIMARYKEYCLUSTERED

[Sno],

[Cno]

)ON[PRIMARY]

GO

 

ALTERTABLE[dbo].[STUDENT]WITHNOCHECKADD

PRIMARYKEYCLUSTERED

[Sno]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[TEACHER]WITHNOCHECKADD

CONSTRAINT[PK_TEACHER]PRIMARYKEYCLUSTERED

[Tno]

)ON[PRIMARY]

GO

 

ALTERTABLE[dbo].[COURSE]WITHNOCHECKADD

CONSTRAINT[UQ__COURSE__023D5A04]UNIQUENONCLUSTERED

[Cno]

)ON[PRIMARY]

GO

 

ALTERTABLE[dbo].[DEPART]WITHNOCHECKADD

UNIQUENONCLUSTERED

[Dno]

)ON[PRIMARY]

GO

 

ALTERTABLE[dbo].[SC]WITHNOCHECKADD

CONSTRAINT[CK_SC]CHECK([GRADE]<=100)

GO

 

ALTERTABLE[dbo].[STUDENT]WITHNOCHECKADD

UNIQUENONCLUSTERED

[Sno]

)ON[PRIMARY]

GO

 

ALTERTABLE[dbo].[TEACHER]WITHNOCHECKADD

UNIQUENONCLUSTERED

[Tno]

)ON[PRIMARY]

GO

 

CREATEUNIQUEINDEX[COURSE_Index_1]ON[dbo].[COURSE]([Cname])ON[PRIMARY]

GO

8)完整性约束

ALTERTABLE[dbo].[SC]ADD

CONSTRAINT[FK__SC__Cno__060DEAE8]FOREIGNKEY

[Cno]

)REFERENCES[dbo].[COURSE](

[Cno]

),

CONSTRAINT[FK__SC__Sno__0519C6AF]FOREIGNKEY

[Sno]

)REFERENCES[dbo].[STUDENT](

[Sno]

)ONDELETECASCADE

GO

 

ALTERTABLE[dbo].[STUDENT]ADD

FOREIGNKEY

[Sdno]

)REFERENCES[dbo].[DEPART](

[Dno]

GO

 

ALTERTABLE[dbo].[TC]ADD

CONSTRAINT[FK__TC__Cno__09DE7BCC]FOREIGNKEY

[Cno]

)REFERENCES[dbo].[COURSE](

[Cno]

),

CONSTRAINT[FK__TC__Tno__08EA5793]FOREIGNKEY

[Tno]

)REFERENCES[dbo].[TEACHER](

[Tno]

GO

 

ALTERTABLE[dbo].[TEACHER]ADD

FOREIGNKEY

[Dno]

)REFERENCES[dbo].[DEPART](

[Dno]

GO

7VB部分

登陆界面

登陆后界面

 

学生基本信息

 

修改学生信息

 

 

学生课程信息查询

 

课程信息

 

课程查询

 

教师信息查询

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2