学生成绩管理系统数据库_第1页
学生成绩管理系统数据库_第2页
学生成绩管理系统数据库_第3页
学生成绩管理系统数据库_第4页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学生成绩管理系统数据库学生成绩管理系统数据库一、需求分析阶段1.信息需求高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删

2、除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。3. 安全性与完整性要求二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体dbms的概念模型。设计教室管理数据库包括班级、教室、课程、教师四个关系。e-r图如下课程信息表学分教师号课程号课程名学时学生信息表学号姓名专业年龄系别性别选课成绩课程号学号教师信息表教师号教师名教师性别教课教师系别成绩三、逻辑结构设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本e-r图转化为宜选用的dbms所支持的数据模型相符合

3、的逻辑结构,并对其进行优化。e-r图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表class:(课程号,课程名,教师号,学分,学时)学生信息表student1:(学号,姓名,性别,年龄,专业,系别)成绩表score:(学号号,课程名,成绩)教师表teacher1:(教师号,教师名,教师性别,教师系别)1、课程信息表(class)字段名描述数据类型字段限制cno课程号char(10)primarykeycname课程名char(10

4、)not nullteano教师号char(10)not nullcredit学分char(4)not nullctime学时char(50)not null2、学生信息表(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)primary

5、keytname教师名char(10)not nulltsex教师性别char(2)not nulltdepart教室系别char(10)not null4.成绩表字段名属 性数据类型字段权限sno学号char(10)primarykeycno课程名char(10)not nulldegree成绩char(10)not null四、物理设计阶段 数据库物理设计的任务是为上一阶段得到的数据库逻辑模式,即数据库的逻辑结构选择合适的应用环境的物理结构,既确定有效地实现逻辑结构模式的数据库存储模式,确定在物理设备上所采用的存储结构和存取方法,然后对该存储模式进行性能评价、修改设计,经过多次反复,最后得

6、到一个性能较好的存储模式。数据库物理设计内容包括记录存储结构的设计,存储路径的设计。五、数据库实现数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进行试运行。1、创建数据库(1) 打开sql工具“查询分析器”(2) 在查询窗口中键入下列sql语句create database scoresystem执行上述sql语句即可新建一名为scoresystem的数据库2、创建数据表 一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需

7、要创建四个表,即课程信息表、学生信息表、教师信息表和成绩表。创建数据库后,为scoresystem数据库添加数据表,步骤如下。(1) 新建查询窗口(2) 在查询窗口中键入下列sql语句create table class( 表查询:(1)查询sno为01学生的snameselect snamefrom student1where sno=' 01'结果:(2)查询ssex为女并且sdepart为工商的snameselect snamefrom student1where ssex ='女' and sdepart ='工商'结果:(3)查询所有学

8、生的姓名和系别。 select sname,depart from student1结果:(4)查询depart为数学系的sname。select snamefrom student1where depart ='数学系'结果:(5)查询所有学生所在院系名称select distinct departfrom student结果:(6)查询学生信息表中年龄小于21和年龄大于21的学生的姓名和系别select sname,departfrom student1where sage>21 or sage<21结果:(7)查询所有学生的平均年龄select avg(sag

9、e) as 平均年龄from student1结果:b.连接查询(1)学生的学号、姓名,所选课程的课程号、课程名和成绩、任课教师名select ,,from student,class,score,teacher1where = and = and =结果:(2)找出教授数据库原理的老师的教师名select from class,teacher1where = and ='数据库原理'结果:c.操作结果集查询 查询02号同学和03号同学共同选修的课程select cnofrom scorewhere sno='02'intersectselect cnofrom

10、 scorewhere sno='03'查询结果d.嵌套查询 查询选修了0306这门课的所有学生的学号、姓名、年龄、院系select sno,sname,sage,departfrom student1where sno in (select sno from score where cno=0306)查询结果3、数据库更新操作a.插入数据向student1表中添加一项记录:姓名:叶问,学号:01,性别:男,年龄:36专业:信息管理,系别:工商insertinto student1(sno,sname, ssex,sage,major,depart)values ('0

11、1',' 叶问', '男',' 36',' 信息管理','工商')b.修改数据修改陈琦的学号为0:update student1set sno=03where sname=陈琦;c.删除数据删除所有工商学生的记录delete from student1where(depart=工商);4、为数据库建立索引创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面

12、特有意义。第四,在使用order by和group by子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。a.创建索引:(1) 在class表的cno列上创建非聚集索引。 create index classrname on class (cno)(2) 在student1表的sno列上创建非聚集索引。 create unique index student1no on student1 (sno)(3) 在student1表的sno列创建一个非聚集索引,要求索引键值按sno升序排列。 create index st

13、udent1no on student1(sno asc)b.删除索引:(1)删除student1表中的student1no 索引。 drop index student1no5、视图的操作:数据库视图的定义(创建和删除)、查询和更新a.查询所有学生选课的信息,包括学号、姓名、课程号、课程名、成绩create view score3asselect '学号',sname'学生名','课程号',cname'课程名','成绩'from student1 s,class c,score scwhere = and = g

14、o查询结果b.更新视图:(1)修改信息:将陈琦的名字改为陈琪琪update score3set 学生名='陈琪琪'where 学生名='陈琦(2)删除信息:删除视图score3 中陈琪琪的记录deletefrom scorewhere 学生名='陈琪琪'删除视图:删除前面的score3视图。drop view score36、数据库的安全性创建sqlserver身份验证的登录账户陈琦、崔雪娇、董朝阳、杜鹃exec sp_addlogin 陈琦,000,aaaexec sp_addlogin 崔雪娇,000,aaaexec sp_addlogin 董朝阳,

15、000,aaaexec sp_addlogin 杜鹃,000,aaa创建数据库用户exec sp_adduser 陈琦 exec sp_adduser 崔雪娇exec sp_adduser 董朝阳exec sp_adduser 杜鹃, 杜鹃, managers建立数据库角色exec sp_addrole managers删除sqlserver身份验证的登录账户 杜鹃exec sp_droplogin 杜鹃从当前数据库中删除用户 杜鹃exec sp_dropuser 杜鹃授权操作(1)把对表student的insert权限授予用户董朝阳,并允许他再将此权限授予其他用户。 grant insert

16、 on table goods to 董朝阳 with grant option(2)把查询表goods和修改nowprice属性的权限授给用户陈琦。grant select,update(nowprice)on table goodsto 陈琦(3)把用户陈琦查询表goods权限收回。revoke select on table goodsfrom 陈琦 cascade7、数据库的完整性对于class表:class (cno,cname,tno,credit,ctime),cno的值应该在0和20之间: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 nul

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论