ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:66.70KB ,
资源ID:8300276      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8300276.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学分管理系统数据库的设计与实现课程设计及代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学分管理系统数据库的设计与实现课程设计及代码.docx

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

2、77)创建存储过程,实现功能要求 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、给定学号,显示某位学生的学分完成情况;

4、 3、给定班号,显示该班所有学生的学分完成情况; 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_nogradescore

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

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

9、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 char(20), dept

10、 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 show -创建视图,提

11、供基本查询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_name=赵 涛6.创建触

12、发器,保证数据一致性: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表上创建修改触发器on C

13、oursefor 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_insert -在SC表上创建插入

14、触发器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 deleteasdeclare oldsno v

15、archar(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表中插入信息(录入某位学生的学分信息)sno c

16、har(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_no,typeexec sn

17、o 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(20) asselect *

18、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 -给定学号及学分情况,执行修改cr

19、eate 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

20、)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 and type=人文类if rw=8begin set x=2 select sy=score from graduation where

21、sno=s_no and type=实验课 if sy=20 begin set x=3 select xx=score from graduation where sno=s_no and type=选修课 if xx=24 begin set x=4 select zy=score from graduation where sno=s_no and type=专业课 if zy=50 begin set x=5 end endendendendif x!=5print 学号为+sno+,该生学分未修满,不准毕业!else print 学号为+sno+,该生学分修满,准许毕业!EXEC judge sno=112070204 -给定一个学号七实验总结:经过本次学分管理系统数据库的设计与实现操作,我了解了目前学分管理的现状,学习并掌握了学分管理系统的设计思路,以及相应SQL语言的编写,同时,可以熟练运用流程控制语句来完成一些较为复杂的设计,也基本掌握了对于存储过程和触发器的相关操作及理解。八心得体会:对于SQL Server 2000的功能与特点以及相应的SQL语言有了基础的掌握,让我们可以很好地运用触发器和存储过程等模块,使我对一个完整数据库系统的设计过程有了更深入的了解和体会,为以后的更复杂的程序设计及软件的制作奠定了很好的基础,本次课程设计收获颇丰.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1