学生数据库设计实例Word文件下载.docx
《学生数据库设计实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《学生数据库设计实例Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
需求分析:
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长,对学生成绩信息的管理难度随之增大。
面队如此庞大的信息量,这就需要学生成绩管理信息系统来提高学生管理工作的效率。
通过这样的系统,做到信息的标准管理、科学统计以及快速的查询和修改,从而减少管理方面的工作量。
总体任务是要实现学生成绩信息关系的系统化、标准化和自动化。
根据总体任务的要求进行需求分析得出,学生成绩管理信息系统需要完成的功能主要如下:
Ø
学生根本信息的输入,其中包括学生学号、姓名、性别、所属学院,所属系别,所属班级、出生年月、籍贯、宿舍、联系方式等。
学校根本课程信息的输入,包括课程编号、课程名称、课程属性、课程描述以及完成该课程所得的学分。
教师根本信息的输入,其中包括教师编号,教师姓名,教师职称,所教课程,所教班级等情况
学生信息,教师信息,课程信息,学生考试成绩的插入,删除,修改、查询和统计。
识别每个用户的身份和密码,从而保证信息的平安性,防止信息的外泄和盗用。
还有,涉及到信息的增,删,改的,主要都是面向教务管理员,教师只能录入成绩,查询成绩,修改成绩,和查询个人信息,而学生只能登录查看自己的信息,查询成绩等。
二:
E-R图〔概念结构建立〕
1〕学生查询系统的分E-R图
2〕教师查询更新系统的分E-R图
3〕管理员分E-R图
4〕总E-R图
本系统将使用Access2000作为数据库管理系统。
现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
这是所有表的建立
学生信息表
列名
数据类型
长度
可否为空
是否主键
是否外键
缺省值
备注
SNO
char
12
N
Y
学生学号
SSEX
2
学生性别
SNAME
8
学生姓名
COMY
4
入学年份
CLNO
学院号
MNO
系号
CLANO
6
班号
TEL
11
联系
DEPT
10
宿舍
BIRTH
出生年月
HT
16
籍贯
学院信息表
CLNAME
24
学院名称
CLPP
int
学院人数
专业信息表
系号
MNAME
系名
MPP
00
系里人数
班级信息表
Char
CLANAME
班级名称
班级人数
课程信息表
CNO
课程号
CNAME
课程名称
CTERM
开课学期
CREDIT
1
课程学分
CTYPE
课程属性
LESNO
周学时
成绩信息表
SGRD
float
学生成绩
教师信息表
TNO
教师编号
TNAME
教师名称
TSEX
教师性别
TPOST
教师职称
TDARP
所属部门
教师与课程对应表
用户登录信息表
USER
用户编号
PASSWORD
welcome
登录密码
USER_KIND
用户类型
这个阶段的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法等。
代码设计:
院号:
两位整数〔00~99〕,其中00用于另外的用途
系号:
院号+两位整数〔00~99〕,其中00用于另外的用途
班号:
系号+两位整数〔00~99〕
学号:
班号+班里序号〔两位整数00~99〕
课程编码:
系号+三位整数〔000~999〕,其中院号为00时,表示为校内的公共课,系号为00时,表示为院内的公共课
教师编码:
院号+六位整数〔后六位编号按先来后到的顺序随机给出未被占用的编号〕
建立所有表的代码
1.建立学生表
createtablestudent_infor
(SNOchar(12)NOTNULLUNIQUECHECK(SNOLIKE'
[1-2][0,9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
),
SNAMEchar(8)NOTNULLCHECK(SNAMENOTLIKE'
%[0-9]%'
SSEXchar
(2)NOTNULLCHECK(SSEXLIKE'
男'
ORSSEXLIKE'
女'
COMYchar(4)NOTNULLCHECK(COMYLIKE'
[1-2][0,9][0-9][0-9]'
CLNOchar
(2)NOTNULLUNIQUECHECK(CLNOLIKE'
[0-9][0-9]'
MNOchar(4)NOTNULLUNIQUECHECK(MNOLIKE'
[0-9][0-9][0-9][0-9]'
CLANOchar(6)NOTNULLUNIQUECHECK(CLANOLIKE'
[0-9][0-9][0-9][0-9][0-9][0-9]'
TELchar(11)CHECK(TELLIKE'
[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
DEPTchar(10)NOTNULLCHECK(DEPTLIKE'
[0-9]栋[2-7][1-3][0-9]'
BIRTHchar(10)NOTNULLCHECK(BIRTHLIKE'
19[8,9][0-9]-%[0-9]-[0-3][0-9]'
),
HTchar(16)NOTNULLCHECK(HTNOTLIKE'
PrimaryKey(SNO));
2.建立学院信息表
createtablecollege_infor
(CLNOchar
(2)NOTNULLUNIQUECHECK(CLNOLIKE'
CLNAMEchar(24)NOTNULLCHECK(CLNAMENOTLIKE'
ANDCLNAMENOTLIKE'
%[A-Z]%'
%[a-z]%'
ANDCLNAMELIKE'
%学院'
CLPPintNOTNULLCHECK(CLPP<
10000ANDCLPP>
0),
PrimaryKey(CLNO));
3.建立专业信息表
createtablemajoy_infor
(MNOchar(4)NOTNULLUNIQUECHECK(MNOLIKE'
MNAMEchar(16)NOTNULLUNIQUECHECK(MNAMENOTLIKE'
ANDMNAMENOTLIKE'
MPPintNOTNULLCHECK(MPP>
0ANDMPP<
1000),
PrimaryKey(MNO));
登录界面
管理员界面
学生界面