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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据库实验报告数据库综合设计.docx

1、数据库实验报告数据库综合设计专 业*学 号*姓 名*实验名称实验8 数据库综合设计日 期2012年4月28日实验目的要求:1、要求能设计并设立一个比较完整且实用的数据库(综合前面所学内容。包括:表,索引,视图,完整性约束,关系图,存储过程与触发器,等)。2、应用系统开发(开发工具自选,如:C#,Delphi,)(应按照数据库设计的步骤进行:1系统调查分析,2、概念设计(E-Rl图),3、逻辑设计,4、物理设计,5、系统功能设计,6、应用程序编写,)题目,例如:1、“学生成绩管理系统”,2、“学生考勤管理系统”,3、“学生借还书管理系统”,4、“商品进销存管理系统”,。一、实验目的 通过该实验把

2、数据库的理论知识(表、索引、视图、完整性约束、关系图、存储过程、触发器等)应用到具体的综合实例中,达到数据库与其他课程整合的目的。二、实验内容综合前面所学内容,包括:表,索引,视图,完整性约束,关系图,存储过程与触发器等,设计并设立一个比较完整且实用的数据库:教务管理系统。三、设计说明教务管理系统采用delphi做前台界面,SQL做后台语言。四、实验结果及分析(一)需求分析1、信息需求:教务管理系统涉及的实体有:学生:学号、姓名、性别;班级:班级名称、学制、入学年份;专业:专业编号、专业名称;系部:系编号、系名称;教师:教工号、姓名;课程:课程号、课程名、学分。 实体间的联系:一个系有若干专业

3、,每个专业有若干个班级,每个班有若干个学生;每个系有若干教师,教师分为两种:授课教师和教学秘书,每个系有一名教学秘书;一名教师可以教授多门课程,可以教授多个班级;每个学生可以学习多名课程,每门课程可以被若干个学生学习。学生选修课程分为必修和选修,每门课程都有一个期末成绩,可以重修或补考两次,总评取3个成绩中最高的,还有选修课程的年份和学期。2、功能需求:教务管理系统的用户分为:学生、教师、管理员。学生可以查询成绩、修改密码、选修课程;教师又分为普通教师和教学秘书,普通教师可以登记成绩、查询成绩,教学秘书可以查询成绩、为某个班级指定必修课、为教师指定其教授的课程及授课班级。管理员具有管理系统的所

4、有权利。数据流图:(二)概念结构设计(三)逻辑结构设计1、根据系统的概念结构分析,得出其关系模式如下:系部(系编号,系名称)专业(专业编号,所属系部,专业名称)班级(班级名称,所属专业,所属系部)学生(学号,姓名,性别,班级)课程(课程号,课程名,学分)教工(教工号,姓名,所属系部)就职(系编号,系教学秘书)教授(教工号,课程号,教授班级)学习(学号,课程号,期末,总评,补考1,补考2,学期,学年,课程类型) 因为关系模式“就职”和“系部”具有相同的码,所以将两个关系模式合并,得到关系模式:系部(系编号,系名称,系教学秘书)2、设计视图:(1)为学生查询成绩设计视图:成绩1(课程名,期末,总评

5、,重修1/补考1,重修2/补考2,学分,必修/选修,学年,学期)。(2)为教师查询成绩设计视图:成绩2(学号,姓名,课程名,期末,总评,必修/选修,学年,学期,班级)(3)为教学秘书查询成绩设计视图:成绩3(学号,姓名,课程名,总评,必修选修,学年,学期,班级)(4)为教师上传成绩设计视图:成绩4(学号,姓名,课程名,成绩)(四)物理设计1、根据逻辑结构所设计的关系模式创建基本表,并创建主键。系统自动为主键字段创建索引。系部表:department列名数据类型长度允许空主键/外键索引备注dnovarchar2否主键升序系编号dnamevarchar10否否系名dteavarchar10是外键:

6、teacher.tno系教学秘书专业表:subject列名数据类型长度允许空主键/外键索引备注sbnovarchar2否主键升序专业编号departmentvarchar2否外键:department.dno升序所属系部sbnamevarchar10否否专业名班级表:class列名数据类型长度允许空主键/外键索引备clnamevarchar20否主键升序班级名subjectvarchar2否否升序所属专业departmentvarchar2否外键:department.dno所属系部gradevarchar4否否入学年份课程表:course 列名数据类型长度允许空主键/外键索引备注cnovar

7、char20否主键升序班级名cnamevarchar2否否所属专业creditvarchar2否否所属系部学生表:student列名数据类型长度允许空主键/外键索引备注snovarchar12否主键升序学号snamevarchar10否否姓名ssexvarchar2否否性别classvarchar20否外键:class.clname班级教工表:teacher列名数据类型长度允许空主键/外键索引备注tnovarchar18否主键升序教工号tnamevarchar8否否教工姓名tsexvarchar2否否性别departmentvarchar2否外键:department.dno所属系部教授表:t

8、c列名数据类型长度允许空主键/外键索引备注tnovarchar10否主键外键:teacher.tno升序教工号cnovarchar4否外键:o升序课程号classvarchar20否外键:class.clname升序授课班级学习表:sc列名数据类型长度允许空主键/外键索引备注snovarchar12否主键外键:student.sno升序学号cnovarchar4否外键:o升序课程号scorenumernic9否否期末slnumernic9否否总评score1numernic9否否重修/补考1score2numernic9否否重修/补考2termvarchar1否否学期xyearvarchar4

9、否否学年typevarchar6否否课程类型2、根据系统需要设计索引(1)查询学生信息时经常要根据学生所在班级进行查询,为“学生表”的“班级”字段创建聚簇索引。(2)查询教师信息时经常要根据教师所在系进行查询,为“教工表”的“所在系”字段创建聚簇索引。(五)实施1、登录控制 本系统采用SQL SERVER身份验证,用户需要提供用户名和密码才能登陆数据库。2、数据完整性(1)实体完整性 为关系定义主键:关系系部专业班级学生教工课程教授学习主码dno(sbno,department)clnamesnotnocno(tno,cno,class)(sno,cno)(2)参照完整性 为关系定义外键: d

10、epartment.tea references teacher.tno subject.department references department.dno class.department references department.dno student.class references class.clname teacher.department references department.dno tc.tno references teacher.tno o references o tc.class references class.clname sc.sno referen

11、ces student.sno o references o(3)自定义完整性 student表的ssex属性只允许取“男”或“女”:check(ssex=男 or ssex=女); sc表的score、sl、score1、score2属性值应该在0100之间:check(score=0 and score=0 and sl=0 and score1=0 and score2score1 and scorescore2 then score when score1score and score1score2 then score1 else score2 end ) where sno=(se

12、lect sno from inserted) and cno=(select cno from inserted) endelse if score is not null and score1 is not null begin update sc set sl=( case when scorescore1 then score else score1 end ) where sno=(select sno from inserted) and cno=(select cno from inserted) endelse begin update sc set sl=score wher

13、e sno=(select sno from inserted) and cno=(select cno from inserted) end end 触发器T2::添加学生信息时自动根据其学号生成其登录密码create trigger T2on studentfor insertas if update(sno)begin declare spsw char(12) select spsw=sno from inserted update student set spsw=spsw where sno=(select sno from inserted)end触发器T3:添加教师信息时自动根

14、据其工号生成其登录密码 存储过程和游标:教学秘书为学生指定必修课程create proc stu_cou subject varchar(20),class varchar(20),cname varchar(50),xyear varchar(4),term varchar(1)asdeclare cno varchar(4),sno varchar(12),p int,n int,sqlcode intdeclare sx cursor for select sno from student where class=classopen sx set n=1select p=count(*)

15、 from student where class=classselect cno=cno from course where cname=cnamewhile n=p begin fetch sx into sno insert into sc(sno,cno,term,type,xyear)values(sno,cno,term,必修,xyear) set n=n+1 endclose sx 调用此过程如:exec stu_cou 商务英语,商务英语B081,大学英语,2010,1,就可以为“商务英语”专业“商务英语B081”班指定“2010”学年第“1”学期的“必修课”“大学英语”。存储

16、过程:为教师指定其所教课程及所授班级create proc tea_cou teacher varchar(8),course varchar(50),class varchar(20)asdeclare tno varchar(10),cno varchar(4)select tno=tno from teacher where teacher=tnameselect cno=cno from course where course=cnameinsert into tc(tno,cno,class) values(tno,cno,class)调用此过程如:exec tea_cou 张雪,商

17、务英语,日语B072,就可以为教师张雪指定所教课程“商务英语”及所教班级“日语B072”。视图-学生查询成绩视图:只能查询自己的信息create view user_s1()asselect cname 课程名称,score 期末,sl 总评,score1 重修1(补考1),score2 重修2(补考2),credict 学分,type 必修/选修,xyear 学年,term 学期 from course,sc where o=o and sc.sno=user-教师查询成绩视图create view user_t1asselect sc.sno 学号,sname 姓名,cname 课程名,s

18、core 期末,sl 总评,type 必修/选修,xyear 学年,term 学期,tc.class 班级 from student,sc,course,tc where student.sno=sc.sno and o=o and tc.class=student.class and tc.tno=user-教师上传成绩视图create view user_t3(学号,姓名,班级,成绩)asselect sc.sno,sname,class,scorefrom sc,studentwhere sc.sno=student.sno-教学秘书查询学生成绩视图create view user_t4

19、(学号,姓名,课程名,总评,必修选修,学年,学期,班级)asselect sc.sno,sname,cname,sl,type,xyear,term,tc.class from student,sc,course,tc,department where student.sno=sc.sno and o=o and tc.class=student.class and tc.tno=department.dtea and tno=user教师评语:成绩: 指导教师: 日期:注:实验报告应包括: 1、实验目的、2.实验内容,3。设计说明(数据、程序、界面),4、正确的程序代码,5、运行结果,6、结果分析(并针对实验中出现的问题,写出解决方案)

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

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