1、数据库原理及应用课程设计设计题目:学生成绩管理数据库系统设计学 生 学 生 学 生 学 生 学 生 学 生 专 业 信息管理与信息系统 班 级 - 西安理工大学高科学院2012年 第 学期 目 录一、本小组人员分工2二、需求分析阶段31、信息要求32、功能需求33.、安全性与完整性的要求3三、 概述41.1目的与要求41.2设计环境4四、概念结构设计阶段4五、逻辑结构设计阶段61、课程信息表(class)62、学生信息表(student1)73.教师表(teacher1)74.成绩表7六、物理设计阶段8七、数据库实现81、创建数据库82、创建数据表83学生信息相关表格104.课程信息相关表格1
2、05.成绩信息表116.教师信息表11八、数据库运行和维护阶段121、数据定义122、数据操作123、数据库更新操作154、为数据库建立索引165、视图的操作:数据库视图的定义(创建和删除)、查询和更新176、数据库的安全性187、数据库的完整性19一、本小组人员分工题目 学生成绩管理系统同组队员信息学号姓名专业课题负责部分学生1(组长) 数据库实现学生2 总结、排版、物理设计学生3 监测与维护学生4 逻辑结构设计、概述学生5需求分析学生6概念设计(E-R)图二、需求分析阶段1、信息要求 学生成绩管理系统是对学生人数增多,信息量增大的问题,实现管理现代化,网络化,逐步摆脱学生成绩管理的人工管理
3、方式,学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理系统的自动化,不仅把广大教师从繁重的成绩管理工作中解救出来,而且把学校从传统的管理成绩模式中解放出来,而且对学生成绩的判断和整理更合理,更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。2、功能需求能够进行数据库的数据定义,数据操纵、数据控制等处理功能。具体功能应包括:系统应该提供课程安排数据库的插入、删除、更新、查询;成绩的添加、修改、删除、查询、学生及职工基本信息的查询功能。3.、安全性与完整性的要求(1)系统应该设置访问用户的标志以
4、鉴别是否是合法的用户,要求合法用户设置密码,保证用户的安全性。(2)系统对不同用户设置不同权限,区分不同用户,如学生,教师。(3)各种信息记录的完整性,不能为空。(4)各种数据相互联系的正确性。三、 概述1.1目的与要求随着科技的发展,基本上所有的具有一定数量数据的机构都开始使用计算机数据库来做管理。几乎所有学校也都已经在使用计算机管理数据的机制,大大减少了学校学生成绩管理的工作量。该课程设计要求设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,学科基本信息,以及学生所学课程的考试成绩。要方便学生进行成绩查询,通过该课程设计,应该达到把数据库理论知识更加的巩固加深,加强动手能力
5、与实践能力,学以致用,与现实生活中的应用充分的结合起来。1.2设计环境Microsoft SQL Server 2005Microsoft Visual C+ 6.0四、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。设计教室管理数据库包括班级、教室、课程、教师四个关系。E-R图如下课程信息表学分教师号课程号课程名学时学生信息表学号姓名专业年龄系别性别选课成绩课程号学号教师信息表教师号教师名教师性别教课教师系别成绩E-R图说明:四个实体,教师信息表的实体属性是教师号、教师名、教师姓别、教室系别;学生信息表的实体
6、属性是系别、专业、性别、年龄、姓名、学号;成绩的书实体属性是学号,课程号、成绩;课程信息的实体属性是学时、学分、教室号、课程名、课程号。学生和课程课程实体之间有“选修”关系,(n;m,分数、属性)教师和课程号实体之间有“任课”联系,(1:n;任课时间、教材属性)五、逻辑结构设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生
7、、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)1、 课程信息表(class)字段名描述数据类型字段限制cno课程号char(10)Primarykeycname课程名char(10)Not nullteano教师号char(10)Not nullcredit学分char(4)Not nullctime学时char(50)Not null2、学生信息表(
8、student1)字段名描述数据类型字段权限sno学号char(10)Primarykey sname姓名char(10)Not null ssex性别char(2)Not nullsage 年龄char(2)Not null major专业char(10)Not nulldepart系别char(10)Not null3.教师表(teacher1)字段名属 性数据类型字段权限teano教师号char(10)Primarykeytname教师名char(10)Not nullTsex教师性别char(2)Not nullTdepart教室系别char(10)Not null4.成绩表字段名属
9、性数据类型字段权限sno学号char(10)Primarykeycno课程名char(10)Not nulldegree成绩char(10)Not null六、物理设计阶段 数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。七、数据库实现数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进行试运行。
10、1、创建数据库打开SQL工具“查询分析器”(1) 在查询窗口中键入下列SQL语句create database ScoreSystem执行上述SQL语句即可新建一名为ScoreSystem的数据库2、创建数据表 一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。创建数据库后,为ScoreSystem数据库添加数据表,步骤如下。(1) 新建查询窗口(2) 在查询窗口中键入下列SQL语
11、句create table Class( /创建课程信息表 cno char(10) primary key, /课程号 cname char(10) not null, /课程名 teano char(10) Not null /教师号 credit char(4), Not null /学分 ctime char(50), Not null /学时 ) 执行上述SQL语句即可创建课程信息表相关表格create table student1( /创建学生信息表 sno char(10) primary key, /学号 sname char(10) not null, /姓名 ssex ch
12、ar(2) not null, /性别 Sage char(2) not null, /年龄 Major char(10) not null, /专业 Depart char(10) not null, / /系别 )执行上述SQL语句即可创建学生信息表相关表格create table teacher1( /创建教师信息表 tno char(10) primary key, /教师号 tname varchar(50) not null, /教师名 tsex char(2), /教师性别 tdepart varchar(50) /教师系别 )执行上述SQL语句即可创建教师信息表相关表格crea
13、te table score( /创建成绩表 sno char(10), /学号 cno char(10), /课程号 )执行上述SQL语句即可创建成绩表相关表格3学生信息相关表格Snosnamessexsagemajordepart0811080101陈琦男 22信息工商0811080102崔雪娇女 23信息工商0811080103董朝阳男22数学教育数学系0811080104杜鹃女22计算机应用计算机系0811080105方卉女20汉语言文法系4.课程信息相关表格Cnocnametnocreditctime0301财务管理0012240302供应链管理0022.2180303生产与运作管理
14、0032.4360304统计学0042.6320305网页制作0052.8300306操作系统原理0063.0320307数据库原理0073.2300308项目管理0083.4450309web程序设计0093.5355.成绩信息表SnoCnoDegree08110801010306 8508110801010303900811080101030586081108010203068208110801020304840811080102030181081108010303069308110801030302790811080103030485081108010403069408110801040
15、3087408110801040307866.教师信息表tnotnametsextdepart001卢亚君女财经002李昌明男财经003张富强男财经004刘翠杰女数信005王庆石男数信006黄立明男数信007王纲男计算机008徐伟丽女计算机009刘书霞女计算机八、数据库运行和维护阶段1、数据定义:基本表的创建、修改及删除;索引的创建和删除;视图的创建和删除(1)基本表的创建,建表语句 create table students(stuno char(10) primary key, stuname varchar(40) not null, stusex char(2) not null, s
16、tuage char(10) not null, stumajor char(10) not null, studepart char(10) not null, )(2)基本表的删除drop table students 2、数据操作数据库查询操作A.单表查询:(1)查询sno为0811080101学生的snameselect snamefrom student1where sno= 0811080101结果:(2)查询ssex为女并且sdepart为工商的snameselect snamefrom student1where ssex =女 and sdepart =工商结果:(3)查询所
17、有学生的姓名和系别。 select sname,depart from student1结果:(4)查询depart为数学系的sname。select snamefrom student1where depart =数学系结果:(5)查询所有学生所在院系名称select distinct departfrom student结果:(6)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和系别select sname,departfrom student1where sage21 or sage0 and cno=20 ) )九、总结 本学生成绩查询系统主要参照课本,相对来说比较简单。但是由于主要以课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多。(1)操作视图查询,编写代码时发现,一个表中的主键必须是另一个表的外键时才可以对另一个表进行引用。(2)在设计表时应注意使用正确的字段类型。(3)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。总之,作为一种应用,数据库必须在动手的基础上才能更好的学习,更有效地学习,正是在一次次的上机以及作业当中,我们体会到了数据库作为一种应用所带给我们的种种便利。感谢老师的细心教导以及同学的帮助,我们才能快速的完成作业。