学分管理系统数据库的设计与实现_第1页
学分管理系统数据库的设计与实现_第2页
学分管理系统数据库的设计与实现_第3页
学分管理系统数据库的设计与实现_第4页
学分管理系统数据库的设计与实现_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计报告 课程设计题目:学分管理系统数据库的设计与实现 专 业:班 级:姓 名:学 号:指导教师: 2014年 01月 07日16目 录1. 实验目的012. 课程设计要求013. 题目要求014. 学分管理系统的需求分析021)处理对象 022)处理功能要求 023)安全性和完整性要求 035.学分管理系统的实体关系图及ER图 031)E-R图每个实体的属性 042)将E-R图转换为关系模型 046.数据库代码生成 041)创建数据库 052)创建表 053)根据表中内容录入数据 064)创建视图 065)简单查询 066)创建触发器,保证数据一致性 077)创建存储过程,实现功能要求

2、108)判定毕业 137.实验总结158.心得体会15学分管理系统数据库的设计与实现一、实验目的:通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。二、课程设计要求:1对各个系统进行系统功能需求分析2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图)3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以

3、限定4. 通过企业管理器或是查询分析器实现各个二维关系(建议最好用SQL代码实现),要求建立相关的索引5. 根据系统功能需求设计相应的查询视图6. 要求根据系统功能需求建立存储过程7. 根据功能需求建立相应的触发器以保证数据的一致性8. 通过建立用户和权限分配实现数据库一定的安全性,考虑数据库的备份与恢复(此内容选作)三、题目要求 描述:设计一个学分管理系统。 假设每位学生必须完成基础课50学分,专业课50学分,选修课24学分,人文类课程8学分和实验性课程20学分才能毕业。 实现下列功能: 1、录入某位学生的学分信息 2、给定学号,显示某位学生的学分完成情况; 3、给定班号,显示该班所有学生的

4、学分完成情况; 4、给定学号,修改该学生的学分信息; 5、按照某类课程的学分高低进行排序; 6、给定学号,对该学生能否毕业进行确定。四学分管理系统的需求分析.通过对两个班的同学学分成绩的调查,了解到两个班的同学学分管理仍处于人工管理阶段,没有标准的学生学分存档信息。开发出合适的学生学分管理系统,可以方便学生学分的管理,提高学分管理工作的效率。1.处理对象系统要处理的对象包括学生基本信息、课程信息、教师信息三个方面,各个信息包括如下信息1) 学生基本信息:包括学生的姓名、学号、性别、系别、班级,可以方便学生信息的查询和更新;2) 课程基本信息:包括课程代号、课程名、课程种类、学分,可以方便课程信

5、息的查询与更新;3) 成绩基本信息:包括学生的学号、学生选取的课程号、学生的成绩及学分,这可以提高查询效率。2.处理功能要求系统主要完成以下几个功能:1) 录入某位学生的学分信息; 2) 给定学号,显示某位学生的学分完成情况;2) 给定班号,显示该班所有学生的学分完成情况;3) 给定学号,修改该学生的学分信息;4) 按照某类课程的学分高低进行排序;5) 给定学号,对该学生能否毕业进行确定。3.安全性和完整性要求 安全性先通过试图机制,不同的用户只能访问系统授权的视图,这样可以满足系统数据一定程度上的安全性,在通过用户授权机制,用用户登入来识别用户级,根据这个级别来分配用户权限,达到更高层次的安

6、全保密功能。 安全性要求用于描述学生基本信息、课程基本信息及教师基本信息的数据项能否为NULL,以及一些用户自定义是否符合实际要求。五、学分管理系统的实体关系图及ER图.学生课程选取学号班级性别课程名课程号学分课程类型成绩专业姓名1E-R图每个实体的属性. 学生:学号,姓名,性别,班级,专业 课程:课程号,课程名,学分,课程类型2将E-R图转换为关系模型: 学生:(sno,sname,sex,class,dept) 课程:(cno,cname,score,type) 选取:(grade)Course(课程信息表 示例)SC(学生选课情况表 示例)c_noc_namescoretypes_noc

7、_nogradescore001数据结构32专业课1120702010018032002操作系统30基础课1120702020028530003计算机网络28选修课1120702030038028004数据库32专业课1120702040049532005网络基础32专业课1120702050058032006Java语言32专业课1120702060067032007数据库实验24实验课1120702070078024008马列主义10.5人文类112070208008839009现代通信27.5选修课1120702090097024Student(学生信息表 示例)s_nos_namese

8、xclassdept112070201赵一男1120702计算机科学与技术112070202孙二女1120702计算机科学与技术112070203李三女1120702计算机科学与技术112070204赵涛男1120702计算机科学与技术112070205周四女1120702计算机科学与技术112070206吴五男1120702计算机科学与技术112070207郑六男1120702计算机科学与技术112070208王七男1120702计算机科学与技术112070209冯八男1120702计算机科学与技术六数据库代码生成1. 创建数据库CREATE DATABASE Credit -创建学分管理系

9、统数据库ON( name=Credit_data,filename=c:CreditData.mdf,size=10,maxsize=50,filegrowth=5 )2.创建表:CREATE TABLE Course -创建课程信息表( cno char(20) primary key not null,cname char(20),score float, type char(20) )create table Student -创建学生信息表( sno char(20) primary key not null, sname char(20), sex char(10), class c

10、har(20), dept char(20) )create table SC -学生选课情况表( sno char(20) not null, cno char(20) not null, grade int, score float constraint sc_prim primary key(sno,cno) )CREATE UNIQUE index SC_ind on SC(sno,cno) -创建索引3.根据表中内容录入数据:使用:insert into 表名(列名)select union select union select语句,进行多行录入4.创建视图:create view

11、 show -创建视图,提供基本查询as select sc.s_no,class,s_name,Course.c_no,c_name,sc.score,typefrom SC,Student,Coursewhere SC.s_no=Student.s_no and SC.c_no=Course.c_no 5.简单查询:select s_no,class,s_name,c_name,score,type -查询信息From showorder by class, s_noselect s_no,s_name,c_name,class,score -根据名字查询from showwhere s_

12、name=赵 涛6.创建触发器,保证数据一致性:create trigger c_insert -在Course表上创建插入触发器on Coursefor insertasselect * from showorder by s_nocreate trigger c_delete -在Course表上创建删除触发器on Coursefor deleteasdeclare oldcno varchar(20)select oldcno=c_no from deleteddelete from SC where c_no=oldcnocreate trigger c_update -在Course

13、表上创建修改触发器on Coursefor updateasdeclare oldcno varchar(20),newcno varchar(20)if update(c_no)beginselect oldcno=c_no from deletedselect newcno=c_no from insertedupdate SC set c_no=newcno where c_no=oldcnoselect * from showendupdate Course -在Course表上修改数据set c_no=004where c_name=数据库create trigger sc_inse

14、rt -在SC表上创建插入触发器on SCfor insertasselect *from showorder by s_nocreate trigger sc_delete -在SC表上创建删除触发器on SCfor deleteasselect *from showorder by s_nocreate trigger sc_update -在SC表上创建修改触发器on SCfor updateasselect *from showorder by s_nocreate trigger s_delete -在Student表上创建删除触发器on Studentfor deleteasdec

15、lare oldsno varchar(20)select oldsno=s_no from deleteddelete from SC where s_no=oldsnocreate trigger s_update -在Student表上创建修改触发器on Studentfor updateasdeclare newsno varchar(20)update SCset s_no=newsno where s_no in(select s_no from deleted)7.创建存储过程,实现功能要求:create procedure luru -创建存储过程,在SC表中插入信息(录入某位

16、学生的学分信息)sno char(20),cno char(20),grade int,score float)asinsert into SC(s_no,c_no,grade,score) values(sno,cno,grade,score)exec luru 112070204,004,95,32 -录入信息create procedure sno -创建存储过程,按给定学号,显示某位学生的学分完成情况( sno char(20) asselect s_no,class,s_name,c_name,type,scorefrom showwhere s_no=snoorder by s_n

17、o,typeexec sno 112070204 -给定一个学号查询create procedure sum_score -创建存储过程,按给定学号,显示某位学生的各个课程类型获得学分情况(sno char(20) asselect s_no,s_name,type,sum(score) as scorefrom showwhere s_no=snogroup by s_no,type,s_nameexec sum_score 112070204 -给定一个学号查询create procedure class -创建存储过程,按给定班号,显示该班所有学生的学分完成情况(class char(2

18、0) asselect *from showwhere class=classorder by classexec class 1120702 -给定一个班号查询create procedure score_update -给定学号,修改该学生的学分情况(sno char(20),cno char(20),grade int,score float)asupdate SCset c_no=cno,grade=grade,score=scorewhere s_no=snoExec score_update sno=112070204,cno=004, grade=96,score=35 -给定学

19、号及学分情况,执行修改create procedure paixu -创建存储过程,按照某类课程的学分高低进行排序(cno char(20)asselect *from showwhere c_no=cnoorder by score descexec paixu 004 -给定一门课程的课程号8.判定毕业create view graduation -创建视图,用于判定学生是否毕业as select s_no,s_name,type,sum(score) as scorefrom showgroup by s_no,type,s_namecreate procedure judge -判定毕业(sno char(10)asdeclare jc floatdeclare rw floatdeclare sy floatdeclare xx floatdeclare zy floatdeclare x intset x=0select jc=score from graduation where sno=s_no and type=基础课if jc=50Beginset x=1select rw=score from graduation where sno=s_no

温馨提示

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

评论

0/150

提交评论