学生数据库设计实例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩管理系统
目录一:需求分析
二:系统功能描述
三:E-R图
四:数据库逻辑结构设计
五:数据库物理设计
六:代码设计
七:SQL代码
八:界面截图
一:需求分析:
随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也
成倍增长,对学生成绩信息的管理难度随之增大。面队如此庞大的信息量,这就需要学生成绩管理信息系统来提高学生管理工作的效率。通过这样的系统,做到信息的规范管理、科学统计以及快速的查询和修改,从而减少管理方面的工作量。总体任务是要实现学生成绩信息关系的系统化、规范化和自动化。根据总体任务的要求进行需求分析得出,学生成绩管理信息系统需要完成的功能主要如下:➢学生基本信息的输入,其中包括学生学号、、性别、所属学院,所属系别,所属班级、出生年月、籍贯、宿舍、联系方式等。
➢学校基本课程信息的输入,包括课程编号、课程名称、课程属性、课程描述以及完成该课程所得的学分。
➢教师基本信息的输入,其中包括教师编号,教师姓名,教师职称,所教课程,所教班级等情况
➢学生信息,教师信息,课程信息,学生考试成绩的插入,删除,修改、查询和统计。
➢识别每个用户的身份和密码,从而保证信息的安全性,防止信息的外泄和盗用。
还有,涉及到信息的增,删,改的,主要都是面向教务管理员,教师只能录入成绩,查询成绩,修改成绩,和查询个人信息,而学生只能登录查看自己的信息,查询成绩等。
二:系统功能描述
三:E-R图(概念结构建立)1)学生查询系统的分E-R图
2)教师查询更新系统的分E-R图
3)管理员分E-R图
4)总E-R图
四:数据库逻辑结构设计
本系统将使用Access2000作为数据库管理系统。现在需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。这是所有表的建立
课程信息表
五:数据库物理设计
这个阶段的主要任务是为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法等。
六:代码设计:
院号:两位整数(00~99),其中00用于另外的用途
系号:院号+ 两位整数(00~99),其中00用于另外的用途
班号:系号+ 两位整数(00~99)
学号:班号+ 班里序号(两位整数00~99)
课程编码:系号+ 三位整数(000~999),其中院号为00时,表示为校内的公共课,系号为00时,表示为院内的公共课
教师编码:院号+六位整数(后六位编号按先来后到的顺序随机给出未被占用的编号)
七:SQL代码
建立所有表的代码
1.建立学生表
create table student_infor
(SNO char(12) NOT NULL UNIQUE CHECK(SNO LIKE '[1-2][0,9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
SNAME char(8) NOT NULL CHECK (SNAME NOT LIKE '%[0-9]%'), SSEX char(2) NOT NULL CHECK (SSEX LIKE '男'OR SSEX LIKE '女'), COMY char(4) NOT NULL CHECK (COMY LIKE '[1-2][0,9][0-9][0-9]'), CLNO char(2) NOT NULL UNIQUE CHECK (CLNO LIKE '[0-9][0-9]'), MNO char(4) NOT NULL UNIQUE CHECK (MNO LIKE '[0-9][0-9][0-9][0-9]'),
CLANO char(6) NOT NULL UNIQUE CHECK (CLANO LIKE '[0-9][0-9][0-9][0-9][0-9][0-9]'),
TEL char(11) CHECK (TEL LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'),
DEPT char(10) NOT NULL CHECK (DEPT LIKE '[0-9]栋[2-7][1-3][0-9]'), BIRTH char(10) NOT NULL CHECK (BIRTH LIKE '19[8,9][0-9]-%[0-9]-[0-3][0-9]' ),
HT char(16) NOT NULL CHECK (HT NOT LIKE'%[0-9]%'),
Primary Key(SNO));
2.建立学院信息表
create table college_infor
(CLNO char(2) NOT NULL UNIQUE CHECK (CLNO LIKE '[0-9][0-9]'), CLNAME char(24) NOT NULL CHECK (CLNAME NOT LIKE '%[0-9]%'AND CLNAME NOT LIKE '%[A-Z]%'AND CLNAME NOT LIKE '%[a-z]%'AND CLNAME LIKE '%学院'),
CLPP int NOT NULL CHECK (CLPP <10000 AND CLPP >0),
Primary Key(CLNO));
3.建立专业信息表
create table majoy_infor
(MNO char(4) NOT NULL UNIQUE CHECK (MNO LIKE '[0-9][0-9][0-9][0-9]'),
MNAME char(16) NOT NULL UNIQUE CHECK (MNAME NOT LIKE '%[0-9]%'AND MNAME NOT LIKE '%[A-Z]%'AND MNAME NOT LIKE '%[a-z]%'),
MPP int NOT NULL CHECK (MPP>0 AND MPP<1000),
Primary Key(MNO));