学生学籍管理系统SQL数据库系统设计概要.docx

上传人:b****3 文档编号:4865152 上传时间:2022-12-10 格式:DOCX 页数:29 大小:394.42KB
下载 相关 举报
学生学籍管理系统SQL数据库系统设计概要.docx_第1页
第1页 / 共29页
学生学籍管理系统SQL数据库系统设计概要.docx_第2页
第2页 / 共29页
学生学籍管理系统SQL数据库系统设计概要.docx_第3页
第3页 / 共29页
学生学籍管理系统SQL数据库系统设计概要.docx_第4页
第4页 / 共29页
学生学籍管理系统SQL数据库系统设计概要.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

学生学籍管理系统SQL数据库系统设计概要.docx

《学生学籍管理系统SQL数据库系统设计概要.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统SQL数据库系统设计概要.docx(29页珍藏版)》请在冰豆网上搜索。

学生学籍管理系统SQL数据库系统设计概要.docx

学生学籍管理系统SQL数据库系统设计概要

 

数据库课程设计报告

<学生学籍管理系统>

 

专业

班级

小组成员

指导老师

开始时间

完成时间

课题名称:

学生学籍管理系统

1.问题描述

1.1背景

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

任何一个单位需要高效率地把内部活动有机地组织起来并迅速发展,就必须建立与自身特点相适应的管理系统。

对于我们学校而言,毫无疑问,在实现学校信息化的过程中,实现学生学籍管理的信息化就显得尤为重要。

学生学籍管理系统主要用于学校学生学籍的管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生学籍进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求来设计学生学籍管理系统。

在本次实验中,我们需要学习并掌握数据库设计的流程和基本方法。

在这基础上完成对学生学籍系统数据库的设计和相应文档的编写工作,从而更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。

1.2需求分析

根据用户的需求,学生学籍管理系统将满足一下需求:

A)学生个人基本信息

1)实现学生基本情况的录入、修改、删除等基本操作。

2)对学生基本信息提供灵活的查询方式。

3)

B)选课功能

1)完成一个班级的学期选课功能。

2)

C)成绩管理

1)实现学生成绩的录入、修改、删除等基本操作。

2)能方便的对学生的个学期成绩进行查询。

3)具有成绩统计、排名等功能。

4)

 

2.数据字典

2.1建表清单

A

管理员表

S

学生信息表

C

课程表

B

班级表

P

专业表

D

院系表

CS

选课表

T

老师表

J

授课表

2.2管理员表(A)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

A_ID

管理员编号

CHAR(4)

4

A_USER

用户名

VARCHAR(10)

10

A_PW

用户密码

VARCHAR(20)

20

A_PERM

用户权限

INT

不同用户拥有不同权限

2.3学生信息表(S)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

S_NO

学号

CHAR(10)

10

S_NAME

姓名

VARCHAR(10)

10

S_SEX

性别

CHAR

(2)

2

S_BIRT

出生日期

VARCHAR(10)

10

S_NAFA

民族

VARCHAR(8)

8

S_BIPL

籍贯

VARCHAR(10)

10

S_ADDR

地址

VARCHAR(50)

50

S_POST

邮编

CHAR(6)

6

S_TEL

电话

VARCHAR(20)

20

S_ID

身份证号

CHAR(18)

18

S_POLA

政治面貌

VARCHAR(10)

10

其他

群众

共青团

中共党员

S_YEAR

入学年份

VARCHAR(10)

10

S_DEPA

院系

CHAR(4)

S_PROF

专业

CHAR4)

S_CLAS

班级

CHAR(4)

S_NOTE

备注

VARCHAR(1000)

1000

2.4课程表(C)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

C_ID

课程编号

CHAR(4)

4

C_NAME

课程名

VARCHAR(20)

20

C_PRNO

先行课

CHAR(4)

4

C_CREDIT

学分

INT

C_NOTE

课程简介

VARCHAR(200)

200

2.5班级表(B)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

B_ID

班级编号

CHAR(4)

4

B_NAME

班级名

VARCHAR(40)

40

B_NUM

班级人数

SMALLINT

B_MASTER

班主任名

VARCHAR(4)

P_ID

专业编号

CHAR(4)

2.6专业表(P)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

P_ID

专业编号

CHAR(4)

4

P_NAME

专业名

VARCHAR(40)

40

P_NUM

专业人数

INT

D_ID

学院编号

CHAR(4)

4

2.7院系表(D)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

D_ID

学院编号

CHAR(4)

4

D_NAME

学院名

VARCHAR(40)

40

D_NUM

学院人数

INT

D_MASTER

院长名

VARCHAR(4)

4

2.8选课表(CS)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

T_ID

学院编号

CHAR(4)

20

C_ID

课程编号

CHAR(4)

4

CS_RESULT

成绩

FLOAT

 

2.9教师表(T)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

T_ID

教师编号

CHAR(4)

4

T_NAME

教师名

VARCHAR(4)

4

T_COR

所授课程

VARCHAR(20)

20

T_TEL

手机号码

CHAR(11)

11

2.10授课表(J)

是否主键

字段名

字段描述

数据类型

长度

可空

约束

缺省值

备注

T_ID

教师编号

CHAR(4)

4

C_ID

课程编号

CHAR(4)

4

J_TIME

授课时间

VARCHAR(20)

 

3.概念结构设计

3.1功能图

 

3.2数据流图

数据流图是用图形的方式完成系统中信息的传递,先构建系统抽象模型,既顶层数据流图为图

(1):

 

(2):

学籍管理系统信息流图

由上图知,学生进入系统只完成选课及退选。

而系管理员进入系统后录入/更新的信息抱括:

专业、班级、学生。

对学生选课进一步分解可得图

(2):

图中的专业、学生、班级信息以及学生选的课程都又系管理员录入。

学生通过身份验证后进入系统,选择自己的必修和选修课,并能对已选课进行撤消。

学生选完课提交后,将结果保存。

3.3E-R图

 

4.逻辑结构设计

4.1逻辑结构设计步骤

(1)将概念结构转换为一般关系、网状、层次模型。

(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换。

(3)对数据模型进行优化。

4.2E-R图的转换

管理员表

学生表

班级表

专业表

学院表

课程表

选课表

教师表

授课表

5.物理结构设计

5.1物理关系模型

6.程序实现

6.2程序代码

建立数据库:

CREATEDATABASESTUDENT

ON

(NAME=STUDENT_Data,

='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\STUDENT.mdf',

SIZE=10MB,

MAXSIZE=50MB,

=10%

LOGON

(NAME='lbr_Log',

='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL.1\MSSQL\Data\STUDENT_Log.ldf',

SIZE=2MB,

MAXSIZE=5MB,

=1MB

GO

USESTUDENT

建表:

createtableA--管理员表

A_IDCHAR(4),

A_USERvarchar(10)notnull,

A_PWvarchar(20)notnull,

A_PERMintnotnull,

constraintpk_Aprimarykey(A_ID)

go

createtableD--院系表

D_IDCHAR(4)notnull,

D_NAMEvarchar(40),

D_NUMint,

D_MASTERvarchar(4),

constraintpk_Dprimarykey(D_ID),

go

 

createtableP--专业表

P_IDCHAR(4)notnull,

P_NAMEvarchar(40),

P_NUMint,

D_IDCHAR(4)notnull,

constraintpk_Pprimarykey(P_ID),

constraintfk_P_Dforeignkey(D_ID)referencesD(D_ID)

ondeletecascade

onupdatecascade,

go

createtableB--班级表

B_IDCHAR(4)notnull,

B_NAMEvarchar(40),

B_MASTERvarchar(4),

B_NUMsmallint,

P_IDCHAR(4)notnull,--专业编号

constraintpk_Bprimarykey(B_ID),

constraintfk_B_Pforeignkey(P_ID)referencesP(P_ID)

ondeletecascade

onupdatecascade,

go

createtableS--学生表

S_NOchar(10)notnull,

S_NAMEvarchar(10),

S_SEXchar

(2)check(S_SEXin('男','女')),

S_BIRTvarchar(10),

S_NAFAvarchar(8),

S_BIPLvarchar(10),

S_ADDRvarchar(50),

S_POSTchar(6),--邮政编码

S_TELvarchar(20),

S_IDchar(18),--返回不带前导空格(LTrim)、后续空格(RTrim)或前导与后续空格(Trim)的字符串副本。

S_POLAvarchar(10)check(rtrim(S_POLA)in('其他','群众','共青团','中共党员')),

S_YEARvarchar(10),--入学时间

S_DEPACHAR(4),--院系

S_PROFCHAR(4),--专业

S_CLASCHAR(4),--班级

S_NOTEvarchar(1000),

constraintpk_Sprimarykey(S_NO),

constraintfk_S_CLASforeignkey(S_CLAS)referencesB(B_ID)

ondeletecascade

onupdatecascade,

go

createtableC--课程表

C_IDCHAR(4)notnull,

C_NAMEvarchar(20),

C_PRNOCHAR(4),

C_CREDITintnotnull,

C_NOTEvarchar(200),

constraintpk_Cprimarykey(C_ID),

constraintfk_Cforeignkey(C_PRNO)referencesC(C_ID)

go

createtableCS--选课表

S_Nochar(10)notnull,

C_IDCHAR(4)notnull,

CS_RESULTFLOAT,

constraintpk_C_Sprimarykey(S_No,C_ID),

constraintfk_C_S_Sforeignkey(S_No)referencesS(S_No),

constraintfk_C_S_Cforeignkey(C_ID)referencesC(C_ID)

go

createtableT--教师表

T_IDCHAR(4)notnull,

T_NAMEvarchar(4),

T_CORvarchar(20),

T_TELchar(11),

constraintpk_Tprimarykey(T_ID)

go

createtableJ--授课表表

T_IDchar(4)notnull,

C_IDCHAR(4)notnull,

J_TIMEvarchar(20),

constraintpk_T_Cprimarykey(C_ID,T_ID),

constraintfkJ_Cforeignkey(C_ID)referencesC(C_ID),

constraintfkJ_Tforeignkey(T_ID)referencesT(T_ID)

go

插入数据:

insertA(A_ID,A_PERM,A_PW,A_USER)

values('0001','1','password1','张六')

go

insertA(A_ID,A_PERM,A_PW,A_USER)

values('0002','2','password2','张齐')

go

 

insertD(D_ID,D_Name,D_NUM,D_MASTER)

values('0001','信息技术学院',5000,'张五')

go

 

insertP(P_ID,D_ID,P_NAME,P_NUM)

values('0001','0001','数字媒体技术',120)

go

insertP(P_ID,D_ID,P_NAME,P_NUM)

values('0002','0001','软件工程',120)

go

insertB(B_ID,P_ID,B_NAME,B_NUM,B_MASTER)

values('0001','0001','1班',120,'李丽')

go

insertB(B_ID,P_ID,B_NAME,B_NUM,B_MASTER)

values('0002','0002','1班',120,'王宏')

go

insertS

values('1001010018','苏希','女','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4450627','中共党员','2007-9-1','0001','0001','0001','无')

go

insertS

values('1001010764','张妮','女','1990-8-10','汉族','贵州省','北京师范大学珠海分校','519078','158********','4450628','中共党员','2007-9-1','0001','0001','0001','无')

go

insertS

values('1001010056','王帅','男','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4450629','中共党员','2007-9-1','0001','0002','0002','无')

go

insertS

values('1001010065','李思','男','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4450626','中共党员','2007-9-1','0001','0002','0002','无')

go

insertS

values('1001010034','邵明','男','1989-7-10','汉族','广东省','北京师范大学珠海分校','519078','158********','4455627','中共党员','2007-9-1','0001','0001','0001','无')

go

insertC(C_ID,C_NAME,C_CREDIT,C_NOTE)

values('0001','数据库原理','3','无')

go

insertC(C_ID,C_NAME,C_CREDIT,C_PRNO,C_NOTE)

values('0002','VB','3','0001','无')

go

insertC(C_ID,C_NAME,C_CREDIT,C_PRNO,C_NOTE)

values('0003','C++','3','0001','无')

go

insertC(C_ID,C_NAME,C_CREDIT,C_NOTE)

values('0001','数据库原理','3','无')

go

insertT(T_ID,T_NAME,T_TEL,T_COR)

values('0001','周鹏','136********','数据库原理')

go

insertT(T_ID,T_NAME,T_TEL,T_COR)

values('0002','黄静','136********','VB')

go

insertT(T_ID,T_NAME,T_TEL,T_COR)

values('0003','何辉','136********','C++')

go

insertJ(T_ID,C_ID,J_TIME)

values('0001','0001','周三节')

go

insertJ(T_ID,C_ID,J_TIME)

values('0002','0002','周一节')

go

insertJ(T_ID,C_ID,J_TIME)

values('0003','0003','周二节')

go

insertCS(S_No,C_ID,CS_RESULT)

values('1001010018','0001','90')

go

insertCS(S_No,C_ID,CS_RESULT)

values('1001010764','0002','80')

go

insertCS(S_No,C_ID,CS_RESULT)

values('1001010056','0003','88')

go

insertCS(S_No,C_ID,CS_RESULT)

values('1001010065','0001','78')

go

insertCS(S_No,C_ID,CS_RESULT)

values('1001010065','0002','78')

go

insertCS(S_No,C_ID,CS_RESULT)

values('1001010065','0003','89')

go

insertCS(S_No,C_ID,CS_RESULT)

values('1001010034','0003','93')

go

功能实现代码:

/*********学生专业课程视图************************/

createviewIS_S_Cour(S_NO,S_NAME,S_PROF,S_COURSE)as

selectS.S_NO,S.S_Name,S.S_CLAS,C.C_NAME

fromS,C,CS

whereS.S_NO=CS.S_NoandC.C_ID=CS.C_ID

go

/***********************************************/

/****************学生成绩视图*******************/

createviewRESULT_S(S_NO,S_NAME,C_ID,C_NAME,CS_RESULT)as

selectS.S_NO,S.S_Name,CS.C_ID,C.C_NAME,CS.CS_RESULT

fromS,C,CS

whereS.S_NO=CS.S_NoandC.C_ID=CS.C_ID

go

/**********************************************/

/*********对学生基本信息提供灵活的查询方式。

**********/

CREATEPROCEDUREstudent

@学号CHAR(10),

@姓名VARCHAR(10)OUTPUT,

@性别CHAR

(2)OUTPUT,

@生日VARCHAR(10)OUTPUT

ASSELECT@姓名=S_NAME,@性别=S_SEX,@生日=S_BIRT

FROMS

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

当前位置:首页 > 法律文书 > 调解书

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

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