




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库课程设计数据库系统概论课程设计论文学 期 20122013学年第一学期所在学院 理 学 院 专业班级 信息与计算科学101班 论文题目 学生成绩管理系统 指导老师 段汉根 设计人员 方 俊、罗秀秀 杨东莉、张 川、王 瑞 二一二年十二月二日学生成绩管理系统一.系统功能需求分析1.需求分析经调查分析本系统具体需要完成功能如下: (1).全面展示学生信息管理系统所包含的信息。 (2).登陆用户设为管理员、教师和学生三种身份。 (3).系统管理员模块:管理员登陆系统后可以对教师、学生信息、选课、班级信息进行相关操作。 (4).教师登陆模块:教师登陆系统后可以对自己的个人信息和学生信息进行操作。 (5).学生登陆模块:学生登陆系统后可以对自己的基本情况进行操作。2.模块功能需求 (1).管理员模块功能需求管理员登陆系统后,可以对教师、学生信息进行录入,学校系别、选课、班级等信息进行统一管理操作;对学生信息成绩进行添加、修改、删除和查询功能操作;对系统管理员信息进行修改和删除操作。 (2).教师登陆模块功能需求教师登陆系统后可以对自己的个人信息进行修改操作,然后教师可以对自己所在班级学生的成绩进行添加、修改、删除和查询功能操作。 (3).学生模块功能需求学生登陆系统后可以查询自己的学习成绩信息,可以进行选课操作,以及个人的基本信息的修改、添加等进行操作。3.系统功能层次图 学生信息管理系统的功能层次图如图所示: 学 生学生成绩管理系统用户登录管理员教 师图1.3.1 登录层次图管理员用户班级信息管理教师信息管理系别信息管理选课信息管理学生信息管理查询和修改学生成绩查看系统用户添加系统用户按班级单科打印成绩按班级打印成绩录入学生成绩按学生个人打印成绩基本信息录入系统管理学生信息管理查询学生信息录入学生信息教师用户录入学成绩修改个人信息添加选课选课信息对学生成绩进行统计按班级单科打印成按学生个人打印成绩查询并修改学生成绩图1.3.2管理员管理层次图图1.3.3教师管理层次图学生用户按学生个人打印成绩对个人成绩进行统计查询并修改个人信息学 生 选 课图1.3.4学生管理层次图 4.设计目标学生信息管理系统为用户提供信息交流的交互平台,让老师、学生间建立良好联系,主要实现如下目标。(1).系统管理员管理模块 a.基本信息录入,对系统的所有基本信息进行管理操作。 b.学生信息操作,对学生的信息进行管理操作。 c.系统管理,对管理员信息进行管理操作。(2).教师登陆管理模块 a.修改个人信息,对教师自己的个人信息进行管理操作。 b.教师管理操作,对学生的成绩、选课信息进行管理操作。(3).学生登陆管理模块学生管理操作,对学生自己的信息、成绩和选课进行管理操作。系统中数据库起着非常重要的作用,不能随意存取或改动,因此必须对数据库的存取和改动进行严格的控制,对系统数据进行有效的保护,防止对数据库的非法操作,防止计算机病毒对数据的破坏,定期对数据库进行备份。 二.数据库设计 1.概念设计概念结构设计阶段是整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,设计的学生成绩管理数据库包括学生、课程、教师、成绩、班级、教研室、系七个实体,另外为了数据库的安全性增加一个用户实体。入学日期系号年龄性别学生姓名学号班号课程号课程名教师号学分学时课程 教师教师名教师号教研室名 教研室系号教研室名 系系名系号成绩学号课程号成绩班级班号班名系名用户密码用户名级别图2.1.1实体及其属性图(1). 学生与课程的关系:一名学生可以学习多门课程,一门课程同时又多名学生学习,学生与课程的关系是多对多的关系mn学生课程学习图 2.1.2 学生与课程关系图(2). 课程与教师的关系:一门课程只能有一名教师教课,而一名教师可以教多门课程,课程与教师之间的关系是多对一的关系。n1课程教师教课图2.1.3 课程与教师关系图(3). 成绩与学生的关系:一门课程的成绩可对应多个学生,一个学生有多门课程的成绩,成绩与学生的关系是多对多的关系。mn成绩学生考试图2.1.4 成绩与学生关系图(4). 班级与学生的关系:一个班级有多名学生组成,一个学生只能属于一个班级,班级与学生的关系是一对多的关系。1n班级学生所属图2.1.5 班级与学生关系图n1班级系所属(5). 班级与系的关系:一个班级只能属于一个系,一个系有多个班级,班级与系的关系是多对一的关系。图2.1.6 班级与系关系图 系 教研室所属11(6). 教研室与系的关系:一各系有一个教研室,一个教研室属于一个系,教研室与系的关系数一对一的关系。m图2.1.7 教研室与系关系图(7). 教研室与教师的关系:一名教师属于一个教研室室,一个教研室有多名教师,教研室与教师的关系是一对多的关系。 教研室教师所属n1 图2.1.8 教研室与教师关系图1n课程成绩考试(8). 课程与成绩的关系:一门课程对应一个成绩,成绩由多门课程组成,课程与成绩的关系是一对多的关系。图2.1.9 课程与成绩关系图根据以上分析,得出学生成绩管理系统的整体E-R图如图2.1.3所示:11所属系所属1n 系名教研室名 班号 系号班级 班名教研室 职称 姓名 班号 性别 系号 年龄 学号 姓名 成绩 学号课程号 系名11所属 系号所属成绩教师号nnnm考试学生教师11m课程号课程名教研室名 入学 日期n所属n教课课程教师号 学分 学时.图2-1-3 完整的E-R图2.数据关系模型 学生(学号,姓名,性别,班号,年龄,系号,入学日期) 课程(课程号,课程名,教师号,学时,学分) 教师(教师号,教师名,教研室号) 成绩(学号,课程号,成绩) 班级(班号,班名,系名) 教研室(教研室名,系号) 系(系号,系名) 用户(用户名,密码,级别)3.物理设计定义每个表的数据类型以及字段限制,使数据库达到一定的完整性。每个表的物理设计如下:表2.3.1 学生表字段名数据类型字段限制备注学号char(10)Primary key姓名char(20)Not null性别char(5)Not null只能为男或女班号char(5)Not null年龄char(2)Not null在1060之间系号char(10)Not null入学日期char(10)Not null表2.3.2 课程表字段名数据类型字段限制课程号char(10)Primary key课程名char(10)Not null教师号char(10)Not null学时char(2)Not null学分char(2)Not null表2.3.3 教师表字段名数据类型字段限制教师号char(10)Primary key教师名char(10)Not null教研室名char(20)Not null职称Char(5)Not null表2.3.4成绩表字段名数据类型字段限制备注学号char(10)Primary key课程名char(20)Primary key成绩smallint在0100之间表2.3.5班级表字段名数据类型字段限制班号char(14)Primary key班名char(6)Not null系号char(10)Not null表2.3.6教研室表字段名数据类型字段限制教研室名char(20)Primary key系号char(10)Not null表2.3.7系表字段名数据类型字段限制系号char(10)Primary key系名char(20)Not null表2.3.8用户表字段名数据类型字段权限用户名char(20)Primary key密码char(20)Not null级别Char(10)Not null三数据库实施1.创建数据库 在D盘建立文件夹“学生成绩管理系统”,在SQL Server查询分析器中键入以下代码完成数据库的建立。create database 学生成绩管理系统on primary(name=学生成绩管理系统_data, filename=d:学生成绩管理系统学生成绩管理系统_data.mdf, size=5, maxsize=unlimited, filegrowth=10%)log on(name=学生成绩管理系统_log, filename=d:学生成绩管理系统学生成绩管理系统_log.ldf, size=5, maxsize=unlimited, filegrowth=20%)图3.1.1 创建数据库界面2.创建表(1).学生表的创建: 代码: create table 学生表 (学号 char(10) primary key, 姓名 char(20) not null, 性别 char(5) not null, 班号 char(5) not null, 年龄 char(2) not null, 系号 char(10)not null, 入学日期 char(10) not null; 界面: 图3.2.2 创建学生表界面(2) .课程表的创建 代码: create table 课程表 (课程号 char(10) primary key, 课程名 char(20) not null, 教师号 char(5) not null, 学时 char(5) not null,学分 char(2) not null;界面:图3.2.3 创建课程表界面 (3) .教师表的创建 代码: create table 教师表 (教师号 char(10) primary key, 教师名 char(10) not null 教研室号 char(10) not null); 界面:图3.2.4 创建教师表界面(4) .成绩表的创建 代码: create table 成绩表 (学号 char(10), 课程号 char(10), 成绩 smallint , primary key(学号,课程名); 界面:图3.2.5 创建成绩表界面(5) .班级表的创建 代码: create table 班级表 (班号 char(14) primary key, 班名 char(6) not null, 系名 char(10) not null); 界面:图3.2.6 创建班级表界面(6) .教研室表的创建 代码: create table 教研室表 (教研室名 char(20) primary key, 系号 char(10) not null); 界面:图3.2.7 创建教研室表界面(7) .系表的创建 代码: create table 系表 (系号 char(10) primary key,系名 char(20) not null);界面:图3.2.8 创建系表界面(8) .用户表的创建 代码: create table 用户表 (用户名 char(20) primary key, 密码 char(20) not null, 级别 char(20) not null);3. 创建视图(1) .创建学生_成绩视图 代码:create view 学生_成绩(学号,姓名,课程名,成绩)as select 学生表.学号,姓名,课程名,成绩from 学生表,课程表,成绩表where 学生表.学号=成绩表.学号 and 成绩表.课程号=课程表.课程号界面:图3.3.1创建学生_成绩视图界面 (2) .创建教师_课程视图 代码:create view 教师_课程(教师号,教师名,课程名,学时,学分)as select 教师表.教师号,教师名,课程名,学时,学分from 教师表,课程表where 教师表.教师号=课程表.教师号界面:图3.3.2创建教师_课程视图界面(3) .创建学生_班级视图 代码:create view 学生_班级(学号,姓名,班名)as select 学号,姓名,班名from 学生表,班级表where 学生表.班号=班级表.班号界面:图3.3.3创建学生_班级视图界面4.数据库的完整性红色的标记为数据库的完整性约束create table 系表(系号 char(10) primary key, 系名 char(20) not null);create table 班级表 (班号 char(5) primary key, 班名 char(6) not null, 系号 char(10) not null, foreign key(系号)references 系表(系号);create table 学生表 (学号 char(10) primary key, 姓名 char(20) not null, 性别 char(5) not null check(性别 in(男,女),/*性别只许取男和女.*/ 班号 char(5) not null, 年龄 char(2) not null check(年龄 between 10 and 60),/*年龄只能取在 10到60之间.*/ 系号 char(10) not null, 入学日期 char(10) not null, foreign key(班号)references 班级表(班号), foreign key(系号)references 系表(系号);create table 教研室表 (教研室名 char(20) primary key, 系号 char(10) not null, foreign key(系号) references 系表(系号);create table 教师表 (教师号 char(10) primary key, 教师名 char(10) not null, 教研室名 char(20) not null, foreign key(教研室名) references 教研室表(教研室名)create table 课程表 (课程号 char(10) primary key, 课程名 char(20) not null, 教师号 char(10) not null, 学分 char(2) not null, foreign key (教师号) references 教师表(教师号); create table 成绩表 (学号 char(10), 课程号 char(10), 成绩 smallint check (成绩 between 0 and 100),/*成绩属性只能取在0到100之间.*/ primary key(学号,课程号), foreign key(学号) references 学生表(学号), foreign key(课程号) references 课程表(课程号);create table 用户表 (用户名 char(20) primary key, 密码 char(20) not null, 级别 char(20) not null);5.数据库的安全性 (1).创建数据库用户 A.设置 SQL Server 的安全认证模式。 打开企业管理器,在树窗口中展开一个服务器组,然后选择希望设置身份验证模式的服务器。 在该服务器上单击鼠标右键,在弹出的菜单中选择命令 属性 ,打开 属性 对话框。如图 3.5.1.1 所示: 图 3.5.1.1 设置安全认证模式 在属性对话框中选择 安全性 选项卡,在 身份验证 区域中选择下列身份验证模式之一:SQL Server 和 Windows:指定用户可以使用 SQL Server 身份验证和Windows 身份验证连接到 SQL Server;仅 Windows:指定用户能使用 Windows 身份验证连接 SQL Server。 单击 确定 按钮,即可完成身份验证模式的选择和设置。 B.设置登陆帐号 .打开企业管理器,展开希望创建新的登录的服务器。 .展开文件夹 安全性 ,在登录节点上单击鼠标右键。 .弹出的菜单中选择 新建登录 ,打开 新建登录 窗口。如图3.5.1.2 所示: 图3.5.1.2 设置登陆帐号 .在 新建登录 窗口的 常规 选项卡中进行如下配置: 在名称 文本框中输入一个 SQL Server 登录的账号名,选择一种登录模式,在默认设置 区选择连接时默认的数据库和语言。 .在 新建登录 窗口的数据库访问 选项卡,选择允许登录账户访问的数据库和分配给登录账户的数据库角色。 .单击 确定 按钮,完成登录模式的创建。 C.设置数据库用户。 登陆用户只有成为数据库用户后才能访问数据库。SQL Server 中的任一数据库中都有两个默认用户:dbo(数据库所有者)和 guest(客户用户)。 创建新的数据库用户,在学生成绩管理系统数据库中创建一个 admin1数据库用户,步骤如下: .在企业管理器中扩展 SQL 服务器及数据库文件夹。用鼠标右键点击用户文件夹,出现用户弹出对话菜单,在弹出菜单上选择 新建数据库用户 ,会出现新建用户对话框。 .在对话框的登陆名中选择一个服务器登陆名,并在下面的用户名栏中填入数据用户名。根据上述方法分别建立三种级别的用户,用户名分别用admin 1,teacher1,student1表示管理员、教师、学生三种级别的用户。并将用户保存到用户表中。将用户添加到用户表中的SQL语句:insert into 用户表values(admin1,123,管理员);insert into 用户表values(teacher1,456,教师);insertinto 用户表values(student1,789,学生);界面:图3.5.1.3添加用户到用户表界面(2).用户权限的授予 .管理员用户权限的授予 管理员拥有对数据库的基本上一切的操作,故将数据库中的所有表的操作权限都授予给管理员用户admin1代码:grant all privileges on 学生表 to admin1;grant all privileges on 课程表 to admin1;grant all privileges on 教师表 to admin1;grant all privileges on 成绩表 to admin1;grant all privileges on 班级表 to admin1;grant all privileges on 教研室表 to admin1;grant all privileges on 系表 to admin1;grant all privileges on 用户表 to admin1;界面:图3.5.2.1 授予管理员用户权限界面菜单操作步骤: 打开数据库文件夹-打开学生成绩管理系统文件夹-打开用户选项-打开admin1用户-单击权限,看到如图的界面:图3.5.2.2 授予管理员用户权限菜单操作界面在图中选择admin1所对应的权限。 .教师用户权限的授予教师具有对自己的个人信息进行管理操作,对学生的成绩、选课信息进行管理操作。代码:/*将学生表的查看权限给teacher1*/grant select,update on 学生表 to teacher1;/*将教师表的查询和修改的权限给用户teacher1*/grant select,update on 教师表 to teacher1;/*将学生成绩的查询,修改的权限给用户teacher1*/ grant select,update(成绩) on 成绩表 to teacher1;/*将课程表的查询,增加权限给teacher1*/grant select,insert on 课程表 to teacher1;/*将教师_课程视图的查询权限给teacher1*/grant select on 教师_课程 to teacher1;/*将学生_成绩视图的查询权限给teacher1*/grant select on 学生_成绩 to teacher1;/*将学生_班级视图的查看权限给teacher1*/grant select on 学生_班级 to teacher1;界面:图3.5.2.3 授予教师用户权限界面菜单操作界面:图3.5.2.4 授予教师用户权限菜单操作界面 .学生用户权限的授予 学生能够对自己的信息进行查看和修改,对成绩能够查看,能够添加选课的信息。 代码:/*将学生表的查看、修改权限给student1*/grant select,update on 学生表 to student1;/*将学生成绩的查询权限给用户student1*/ grant select on 成绩表 to student1;/*将学生_成绩视图的查询权限给student1*/grant select on 学生_成绩 to student1;/*将学生_班级视图的查看权限给student1*/grant select on 学生_班级 to student1;界面:图3.5.2.5 授予学生用户权限界面菜单操作界面:图3.5.2.6授予学生用户权限菜单操作界面四数据库功能的验证 1.在admin1用户模式下 /*在学生表中插入一条记录*/ insert into 学生表(学号,姓名,性别,班号,年龄,系号,入学日期)values(1884100105,陈东,男,22,102,2010,2012-09-05);/*在课程表中插入记录*/insertinto 课程表values(110,统计学,111,48,6);insert into 课程表values(111,西方经济学,222,56,4);insertinto 课程表values(112,计算机基础,333,48,4);insertinto 课程表values(113,概率论,444,48,5);insertinto 课程表values(114,常微分方程,555,52,6);insertinto 课程表values(115,解析几何,666,54,4);界面:图4.1.1在学生表中插入一条记录2. 在teacher1用户模式下/*查看信息班的学生信息*/select *from 学生_班级where 班名=信息;界面:图4.2.1查看信息班的学生信息界面/*查看222号教师所教课程信息*/select *from 教师_课程where 教师号=222;界面:图4.2.2 查看教师所教课程界面/*查看555号教师信息*/select *from 教师表where 教师号=555;界面:图4.2.3 查看教师信息界面/*添加学生课程成绩*/insert into 成绩表 values(1887100201,120,67);insert into 成绩表 values(1887100202,120,59);insert into 成绩表 values(1887100203,120,68);insert into 成绩表 values(1887100204,120,45);insert into 成绩表 values(1887100205,120,98);insert into 成绩表 values(1887100206,120,75);insert into 成绩表 values(1887100207,120,84);insert into 成绩表 values(1887100208,120,78);insert into 成绩表 values(1887100209,120,88);insert into 成绩表 values(1887100210,120,52);界面:图4.2.4 添加学生选课信息界面/*查看课程成绩不及格的学生*/select *from 学生_成绩where 成绩60;界面:图4.2.5 查看成绩不及格学生界面/*查看既选修了运筹学课程又选修了证券分析课程的学生*/select 姓名,课程名from 学生表,课程表,成绩表where 学生表.学号=成绩表.学号 and 课程表.课程号=成绩表.课程号 and 课程名=运筹学and 课程名=证劵分析;界面:图4.2.6 查看课程界面 /*统计毛概课程学生成绩不及格的人数*/select 不及格人数=count(成绩)from 学生_成绩where 课程名=毛概and 成绩60; 界面:图4.2.7 统计课程不及格人数界面/*查看信息班没有选修证劵交易的学生姓名*/selec
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初学Java开发者的核心技能进阶教程和模拟题集
- 2025年大篮球笔试题目及答案
- 2025年陪诊师考试心理素质试题及答案
- 特种设备综合及各专项应急预案及应急演练方案
- 2025年注册验船师资格考试(B级练习题)全真冲刺试题及答案一
- 2025年林业专业背景公务员面试技巧与模拟题详解
- 北京市门头沟区2023-2024学年七年级上学期第二次月考道德与法制考试题目及答案
- 2025年高级销售代表面试技巧与常见问题解析
- 2025年大数据分析师中级面试题及答案
- 2025年公务员公共基础知识考试全真模拟题及答案详解
- 法人风险转移协议书
- 煤矿技能提升培训课件
- 保密警示教育典型泄密案例教育学习
- 抓娃娃机合同协议
- 东欧与北亚高二下学期 地理 区域地理复习课件
- 学校采购煤炭合同协议
- 保安值班室管理制度
- 特种设备质量安全风险日管控-周排查-月调度管理制度
- 初中英语动词过去式不规则变化-过去分词-听写表格
- 博士组合物80问
- 陪玩协议书6篇
评论
0/150
提交评论