数据库原理及应用课程设计报告范文

上传人:nu****n 文档编号:164006464 上传时间:2022-10-24 格式:DOC 页数:28 大小:404.50KB
返回 下载 相关 举报
数据库原理及应用课程设计报告范文_第1页
第1页 / 共28页
数据库原理及应用课程设计报告范文_第2页
第2页 / 共28页
数据库原理及应用课程设计报告范文_第3页
第3页 / 共28页
点击查看更多>>
资源描述
数据库原理及应用课程设计设计报告题 目:教务管理系统后台数据库学 号: 学生姓名: 指导教师: 提交时间: 目录第1章需求分析11.1需求调查11.2 系统功能分析21.3 面对用户需求分析3第2章面向对象分析和设计4第3章逻辑结构设计83.1类和对象向关系模式转换103.2关系模式优化11第4章数据库物理结构设计114.1 存取方法设计114.2存储结构设计114.3物理设计12第5章数据库完整性设计155.1 主键及唯一性索引155.2 参照完整性设计165.3Check约束175.4Default约束175.5 触发器设计17第6章 数据库视图设计19第7章 数据库存储过程设计20第8章 权限设计22总结22参考文献:23教务管理系统后台数据库第1章需求分析1.1需求调查通过对各个用户的调查,该教务管理系统有如下需求:1) 系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码, 数据备份,数据还原,注销等功能。2) 教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理,学生学籍管理等功能。3) 基本信息:实现显示学生和老师以及课程的基本信息(包括学生学籍信息和学生所修课程信息,教师基本信息,课程基本信息)。4) 选课:实现在一定范围内学生选择课程,选择老师。5) 查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带班的学生,自己的课表以及学生成绩等。6) 服务器配置:对它进行配置可以使得在其他电脑上也照常使用。这样不必每次都到数据库中去更改。7) 帮助系统:帮助系统为用户指明方向。1.2 系统功能分析教务管理系统教学计划管理学籍管理排课选课管理教师管理教师评教管理考试成绩管理毕业设计管理报名管理即时事务管理1) 教学计划管理:主要用于课程计划登记、课程计划审批、选课情况查询、选课信息审批等。2) 学籍管理:用于对学生学籍基本信息的录入、查询、修改、维护、删除等常用功能,并提供学号编排、学生照片输入显示、学籍变动(留级、休学、跳级、转班、转学、退学等)、奖惩登记、毕业情况等功能。3) 排课/选课管理:用于对课程的排布和选择。对于特定的课程、教师可以设定优先级别,公选课可以按排在晚上进行,专业课安排在上午或下午。一个老师带几个班的同一门课程要考虑各个班级的课程安排进度。对与公选课,可以打破班级的限制,把全校的学生组织在一块上课。对于临时性的调课、代课对课表进行人工干预处理。在确保修满一学年学分的情况下,学生可以根据自己的实际情况具体选择某一学期的课程。4) 教师管理:用于管理教师的基本信息,其所在院系、所授课程,所带的班级,教师平时上课的时数,并记录教师的考评情况。5) 考试成绩管理:用于发布学生一个学期所修课程所获得的成绩,是否挂科、参加补考,补考的成绩等。 6) 毕业设计管理:用于统计毕业生在校期间的实习的情况,毕业生的论文及其答辩的等相关情况。7) 教师评教管理:用于学生对老师、同行对教师、领导对教师的教学工作评价。他们评价的加权平均值是老师每一学期的表现得分。8) 报名管理:用于登记学生在校期间的各类考试报名情况,如英语等级考试、计算机等级考试、双学位报名等。9) 即时事务管理:用于发布和管理学校及学院的相关通知,便于相关人员了解学校及学院的近期动态。1.3 面对用户需求分析在学生选课系统中,最主要的功能就是进行一系列的查询和各类数据的管理。因此,可以将学生选课系统分为管理系统(有数据变化)和查询系统两个子系统。而在所设计的学生选课系统中,主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。各类用户在该系统中的需求不同,权限也不同。因此,为了更明确,更系统的了解用户需求,我们还可以将管理系统再细分为学生管理系统,老师管理系统,教务管理员管理系统,系统管理员管理系统。同样,将查询系统也按用户职能进行细分,即学生查询系统,老师查询系统,教务管理员查询系统,系统管理员查询系统。这样细分后,看似把系统需求繁杂化了。其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。下面从细分后的各个子系统分析子系统的需求:教务管理系统学生管理子系统学生查询子系统教师管理子系统教师查询子系统教务管理员管理子系统教务管理员查询子系统系统管理员管理子系统系统管理员查询子系统1) 学生管理系统。学生用户在使用该系统时,首先必须通过账号和密码登录系统。因此,对密码的设置和修改是最基本的需求。由于所有用户在使用该系统时都需要账号和密码,所以在后面的用户需求分析时不再重复对此需求进行描述。在登录系统后,学生用户的最主要的需求就是通过该系统进行选课、退课。其次,学生用户还要求可以通过系统进行个人信息的维护(包括添加、删除、修改信息)以及学生评教和各类报名。2) 学生查询系统。学生用户在该系统中是最低级的用户,所以可以查询的数据也是有限的,主要有个人信息查询,成绩查询(个人成绩),即时事物查看,学业预警查看。在进行选课的时候还要对课程信息进行查询,课程选完后要查询课表。3) 老师管理系统。该系统中,老师用户当然也有维护个人信息的需求。除此之外,更重要的一个需求是要进行学生成绩的录入。4) 老师查询系统。老师用户不仅要有查询自己的个人信息的功能,还要有查询学生信息的功能。当学生用户进行选课完毕后,老师用户有对选课、任课信息、课表的查询以及花名册的查看的需求。当课程结束后,老师在录入学生成绩的时候,也要对课程信息、学生信息进行查询。老师用户的另一个需求是对学生成绩的查询,这个成绩查询不仅可以查询学生用户的个人成绩,还可以查询所带课程的成绩和所有学生的成绩。5) 教务管理员管理系统。首先当然个人信息的维护。对于教务管理员来说,该系统应该可以帮助他进行开课信息的维护,人才培养方案管理;在学生由于种种原因而有选课异常时,教务管理员还有重选、补选、退选的需求;课程结束老师录入学生成绩后,教务管理员还有利用系统进行成绩的审核,有时还要对某些学生的成绩进行修改。6) 教务管理员查询系统。教务管理员首先要具有学生查询系统,老师查询系统的所有需求。除了这些需求外,教务管理员还应该可以查询开课信息,学生评教查询和学生成绩查询(包括学生个人成绩,班级成绩,某课程成绩以及全院学生的成绩)。7) 系统管理员管理系统。作为系统挂了管理员,是该系统中最高级的用户,因此该用户的需求相对比较的多。第一,要通过系统对院系进行管理:院系的设置,院系的调整以及院系的总体规划。第二,进行专业的设置,专业的添加、删除、修改,专业的调整。第三,要对学期进行设置和教室的管理。第四,对各学院的教师管理,其中就包括了老师在系统中的权限设置。第五,学生的学籍的管理(学籍的异动)。第六,通过各学院上报的课程信息进行全面的排课以及课程的停开和增开,这也是学生选课系统中很重要的一个需求。最后,系统管理员管理系统还应该可以利用该系统进行用户的管理和维护,包括用户的添加、删除,修改等。8) 系统管理员查询系统。该子系统的需求首先要包括前三类用户查询系统中的所有需求,即可以查询前三类用户能进行的所有查询。其次,要包括院系的查询,专业的查询,教室的查询。第三,通过系统查询学生、教师的基本信息,查询老师的任课情况以及教学情况(评教情况)。第四,在对学生学籍管理时要对学生学籍的查询。第五,对课程信息及选课信息的查询。此外,还有对该系统中所有学生用户的学生成绩查询和该系统中所有老师用户的评教结果查询的需求。第2章面向对象分析和设计 类和对象设计如下: 学生信息姓名:string学号:string性别: char出生年月:data政治面貌:string行政班级号:行政班级学院:部门单位专业名称:专业培养层次:string籍贯:string民族:string家庭地址:string邮政编码:string联系电话:string身份证号码:string添加()删除()查询()修改()成绩信息学生姓名:学生学号:学生专业名称:专业课程名:开设课程课程号:开设课程分数:float绩点:float学分:开设课程所获学分:int挂科情况:string补考情况:string重修情况:string考试次数:int添加()修改()删除()查询()开设课程课程名:全部课程课程号:全部课程选课班号:string学时:全部课程学分:全部课程开课年度:string 开课学期:string开课学院:部门单位任课教师:教师开课班级:string上课地点:char上课时间:char班级限制人数:int查询()添加()修改()选课()全部课程课程名:string课程号:string 学时:int学分:int类别:string添加()修改()删除()修改()选课信息学生姓名:学生学号:学生学院:部门单位教学班号:选课班级课程名:开设课程课程号:开设课程任课老师:教师上课地点:char上课时间:data查询()选课()退课()行政班级信息班级名称:string班级号:int班级人数:int班主任:教师辅导员:教师所属专业:专业所属学院:部门单位查询()添加()删除()修改()专业信息专业名称:string专业编号:string所授学位: string培养方案*:教学计划所属学院:部门单位查询()修改()添加()删除()部门单位单位名称:string单位负责人:string单位编号:string上级部门:string查询()修改()添加()删除()教学计划开课年度:string开课学期:string专业*:专业开设课程*:开设课程培养对象:学生查询()添加()修改()删除()教师信息教师姓名:string教职工号:string性别:char出生年月:data学历:string职称:string所属学院:部门单位籍贯:string民族:string家庭地址:string邮政编码:string联系电话:string身份证号码:string查询()添加()修改()删除()评教信息教师*:教师课程*:开设课程学生姓名:学生学号:学生班级号:学生得分*:float查询()添加()修改()删除()等级考试报名考试名称:string学号:学生考试号:int身份证号:string费用:money查询()添加()修改()删除()论文答辩人员姓名:学生人员学号:学生辩题:string考官*:教师得分:float查询修改添加删除培养对象博士生:int硕士生:int本科生:int专科生:int查询()添加()修改()删除()及时事务通知标题:string通知内容:string发布单位:string发布时间:data有效期限:data查询()添加()修改()删除()第3章逻辑结构设计局部E-R图全局E-R图:3.1类和对象向关系模式转换学生信息(姓名、学号、性别、出生年月、政治面貌、行政班级号、学院、专业名称、培养层次、籍贯、民族、家庭地址、邮政编码、联系电话、身份证号)成绩信息(学生姓名、学号、专业名称、课程名、课程号、分数、绩点、学分、所获学分、挂科情况、补考情况、重修情况、考试次数)全部课程(课程名、课程号、学时、学分、类别) 开设课程(课程名、课程号、任课老师、选课班级、学时、学分、开课年度、开课学期、开科学院、开课班级、上课地点、上课时间、班级限制人数)选课信息(学生姓名、学号、学院、教学班号、课程名、课程号、任课老师、上课地点、上课时间)行政班级信息(班级名称、班级号、班级人数、班主任、辅导员、所属专业、所属学院)专业信息(专业名称、专业编号、所授学位、培养方案、所属学院)部门单位(单位名称、单位负责人、单位编号、上级部门)教学计划(开课年度、开课学期、专业、开设课程、培养对象)教师信息(教师姓名、教职工号、性别、出生年月、学历、职称、所属学院、籍贯、民族、家庭地址、邮政编码、联系电话、身份证号码)论文答辩(人员姓名、人员学号、辩题、考官、得分)评教信息(教师、课程、学生姓名、学号、班级号、得分)即时事物(通知标题、通知内容、发布单位、发布时间、有效期限)等级考试报名(考试名称、学号、考试号、身份证号、费用)培养对象(博士生、硕士生、本科生、专科生)3.2关系模式优化学生信息(姓名、学号、性别、出生年月、政治面貌、行政班级号、学院、专业名称、培养层次、籍贯、民族、家庭地址、邮政编码、联系电话、身份证号)成绩信息(学号、课程号、分数、绩点、所获学分、挂科情况、补考情况、重修情况、考试次数)全部课程(课程名、课程号、学时、学分、类别) 开设课程(课程号、教职工号、开课年度、开课学期、开课学院、开课班级、上课地点、上课时间、班级限制人数)选课信息(学号、课程号)行政班级信息(班级名称、班级号、班级人数、班主任、辅导员、所属专业、所属学院)专业信息(专业名称、专业编号、所授学位、培养方案、所属学院)部门单位(单位名称、单位编号、单位负责人、上级部门)教学计划(开课年度、开课学期、专业、开设课程、培养对象)教师信息(教师姓名、教职工号、性别、出生年月、学历、职称、所属学院、籍贯、民族、家庭地址、邮政编码、联系电话、身份证号码)论文答辩(人员学号、辩题、考官、得分)评教信息(教职工号、课程号、学号、得分)即时事物(通知标题、通知内容、发布单位、发布时间、有效期限)等级考试报名(考试名称、考试号、学号、身份证号、费用)培养对象(博士生、硕士生、本科生、专科生)第4章数据库物理结构设计4.1 存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于教务管理系统来说,为了提高某些属性(如:学生学号,教职工号,课程号,学生成绩,选课信息等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。这样在查询某个学院或是查询某个专业或某学年等的学生成绩或选课等时就会大大提高查询速度。因此,该系统中选择聚簇存取方法。4.2存储结构设计教务管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设教务管理系统。数据库管理系统采用Microsoft 公司推出的SQL Server 2000 或以上版本,并用SQL进行数据库的建立和数据库中数据的维护和查询。4.3物理设计实现该设计的环境为Windows XP Professional + MS SQL Server 2005 或以上版本。1、 建立教务管理数据库create database 教务管理数据库 on primary (name=教务管理数据文件,filename=d:教务管理教务管理数据文件.mdf,size=5, maxsize=10, filegrowth=1)log on (name=教务管理日志文件,filename=d:教务管理教务管理日志文件.ldf,size=3, maxsize=10, filegrowth=1)2、 建立学生信息表Create table 学生信息(姓名 varchar(20) not NULL,学号 varchar(12) primary key,性别 char(2) default(男) check (性别in (男女),出生日期 datetime,政治面貌 varchar(10),行政班级号 varchar(12),学院 varchar(20),专业名称 varchar(20),培养层次 varchar(10) default(本科生),籍贯 varchar(20),民族 varchar(20) default(汉族),家庭地址 varchar(100),邮政编码 varchar(10),联系电话 varchar(20),身份证号 varchar(30) not NULL)3、 建立成绩信息表Create table 成绩信息(学号 varchar(12) ,课程号 varchar(12) ,分数 float,绩点 float,所获学分 int,挂科情况 varchar(2) default(否) check (挂科情况in (是否),重修情况 varchar(2) default(否) check (重修情况in (是否),考试次数 int,primary key(学号,课程号)4、 建立全部课程表Create table 全部课程(课程名 varchar(50) not NULL,课程号 varchar(12) primary key,学时 int,学分 int,类别 varchar(50)5、 建立开设课程表Create table 开设课程(课程号 varchar(12) primary key,教职工号 char(12),开课年度 int,开课学期 varchar(10) default(春季) check (开课学期in (春季夏季秋季冬季),开课学院 varchar(20),开课班级 varchar(20),上课地点 varchars(20),上课时间 varchar(20),班级限制人数 int)6、 建立选课信息表Create table 选课信息(学号 varchar(12) ,课程号 varchar(12), primary key(学号,课程号)7、 建立行政班级信息表Create table 行政班级信息(班级号 varchar(12) primary key,班级名称 char(20) not NULL,班级人数 int,班主任 varchar(12),辅导员 varchar(12),所属专业 varchar(12),所属学院 varchar(12)8、 建立专业信息表Create table 专业信息(专业编号 varchar(12) primary key,专业名称 char(20) not NULL,所授学位 varchar(20),培养方案 varchar(100),所属学院 varchar(12)9、 建立部门单位表Create table 部门单位(单位编号 varchar(12) primary key,单位名称 char(20) not NULL,单位负责人 varchar(12),上级部门 varchar(12)10、建立教学计划表Create table 教学计划(专业编号 varchar(12) primary key,开课年度 int,开课学期 varchar(10),开设课程 varchar(12),培养对象 int)11、建立教师信息表Create table 教师信息(姓名 varchar(20) not NULL,教职工号 varchar(12) primary key,性别 char(2) default(男) check (性别in (男女),出生日期 datetime,学历 varchar(10),职称 varchar(10),学院 varchar(20),籍贯 varchar(20),民族 varchar(20) default(汉族),家庭地址 varchar(100),邮政编码 varchar(10),联系电话 varchar(20),身份证号 varchar(30) not NULL)12、建立论文答辩表Create table 论文答辩(学号 varchar(12) primary key,辩题 varchar(50),考官 varchar(12),得分 float)13、建立评教信息表Create table 评教信息(教职工号 varchar(12) ,课程号 varchar(12) ,学号 varchar(12) ,得分 float ,primary key(学号,课程号,教职工号)14、建立即时事务表Create table 即时事务(通知标题 varchar(200) primary key,通知内容 varchar(1000) not NULL,发布单位 varchar(12),发布时间 datetime ,有效期限 datetime)15、建立等级考试报名表Create table 等级考试报名(考试名称 varchar(20) not NULL,考试号 varchar(12) ,学号 varchar(12) ,身份证号 varchar(30) not NULL,费用 money ,primary key(学号,考试号)16、建立培养对象表Create table 培养对象(博士生 int,硕士生 int,本科生 int,专科生 int)第5章数据库完整性设计5.1 主键及唯一性索引表名主键建立唯一性索引学生信息(学号)create unique index 学生信息on 学生信息(学号asc)成绩信息(学号,课程号)create unique index 成绩信息on 成绩信息(学号asc,课程号asc)全部课程(课程号)create unique index 全部课程on 全部课程(课程号asc)开设课程(课程号)create unique index 开设课程on 开设课程(课程号asc)选课信息(学号,课程号)create unique index 选课信息on 选课信息(学号asc,课程号asc)行政班级信息(班级号)create unique index 行政班级信息on 行政班级信息(班级号asc)专业信息(专业编号)create unique index 专业信息on 专业信息(专业编号asc)部门单位(单位编号)create unique index 部门单位on 部门单位(单位编号asc)教学计划(专业号)create unique index 教学计划on 教学计划(专业编号asc)教师信息(教职工号)create unique index 教师信息on 教师信息(教职工号asc)论文答辩(学号)create unique index 论文答辩on 论文答辩(学号asc)评教信息(学号,教职工号,课程号)create unique index 评教信息 on 评教信息(学号asc,教职工号asc,课程号asc)即时事务(通知标题)create unique index 即时事务on 即时事务(通知标题,发布时间asc)等级考试报名(考试号,学号)create unique index 等级考试报名on 等级考试报名(考试号,学号)5.2 参照完整性设计1、即时事务表中将属性发布单位设计为外键alter table 即时事务add foreign key (发布单位) references 部门单位(单位编号)2、教学计划表中将属性开设课程设计为外键alter table 教学计划add foreign key (开设课程) references 开设课程(课程号)3、论文答辩表中将属性考官设计为外键alter table 论文答辩add foreign key (考官) references 教师信息(教职工号)4、行政班级信息表中将属性班主任、辅导员、所属专业、所属学院设计为外键alter table 行政班级信息add foreign key (班主任) references 教师信息(教职工号)alter table 行政班级信息add foreign key (辅导员) references 教师信息(教职工号)alter table 行政班级信息add foreign key (所属专业) references 专业信息(专业编号)alter table 行政班级信息add foreign key (所属学院) references 部门单位(单位编号)5、学生信息表中将属性行政班级号设计为外键alter table 学生信息add foreign key (行政班级号) references 行政班级信息(班级号)6、专业信息表中将属性所属学院设计为外键alter table 专业信息add foreign key (所属学院) references 部门单位(单位编号)5.3Check约束1、教师信息表和学生信息表中将性别进行check约束:check (性别in (男女)2、成绩信息表中将挂科情况和重修情况进行check约束:check (挂科情况in (是否) ,check (挂科情况in (是否)3、开设课程表中将开课学期进行check约束:check (开课学期in (春季夏季秋季冬季)5.4Default约束1、教师信息表和学生信息表中性别默认值设为:男。default(男)2、教师信息表和学生信息表中民族默认值设为:汉族。default(汉族)3、学生信息表中培养层次默认值设为:本科生。default(本科生)4、成绩信息表中挂科情况和重修情况默认值设为:否。default(否)5、开设课程表中开课学期默认值设为:春季。default(春季)5.5 触发器设计1、在教师信息表中建立删除教师触发器create trigger 删除教师 on 教师信息for delete asdeclare 教职工号 varchar(12)select 教职工号=教职工号 from deleteddeclare 教职工号 varchar(12)select 教职工号=教职工号 from 教师信息where 教职工号=(select 教职工号 from 开设课程)begindelete from 教师信息 where 教职工号=教职工号if(教职工号=教职工号)begindelete from 开课信息 where 教职工号=教职工号delete from 论文答辩 where 考官=教职工号delete from 评教信息 where 教职工号=教职工号endend2、在全部课程表中建立删除课程触发器create trigger 删除课程 on 全部课程for delete asdeclare 课程号 varchar(12)select 课程号=课程号 from deleteddeclare 课程号 varchar(12)select 课程号=课程号 from 全部课程where 课程号=(select 课程号 from 开设课程)begindelete from 全部课程 where 课程号=课程号if(课程号=课程号)begindelete from 开课信息 where 课程号=课程号delete from 教学计划 where 开设课程=课程号delete from 选课信息 where 课程号=课程号endend3、在选课信息表中建立选课触发器create trigger 选课 on 选课信息for insert asdeclare 课程号 varchar(12)select 课程号=课程号 from inserteddeclare 学号 varchar(12)select 学号=学号 from insertedbeginif exists(select * from 开设课程where 课程号=课程号 and 班级限制人数(select count(学号)from 选课信息 where 课程号=课程号 group by 课程号)insert into 选课信息 values (学号,课程号)end4、在学生信息表中建立删除学生触发器create trigger 删除学生 on 学生信息for delete asdeclare 学号varchar(12)select 学号=学号from deleteddeclare 学号varchar(12)select 学号=学号 from 学生信息where 学号=(select 学号 from 选课信息)begindelete from 学生信息 where 学号=学号if(学号=学号)begindelete from 成绩信息 where 学号=学号delete from 论文答辩 where 学号=学号delete from 等级考试报名 where 学号=学号delete from 评教信息 where 学号=学号delete from 选课信息 where 学号=学号endend第6章 数据库视图设计1、建立部门信息视图create view 部门信息视图as select * from 部门单位;2、建立学生成绩视图create view 学生成绩视图asselect 成绩信息.*,学生信息.姓名,全部课程.课程名from 成绩信息,学生信息,全部课程where 成绩信息.学号= 学生信息.学号and 成绩信息.课程号= 全部课程.课程号;3、建立等级考试报名视图create view 等级考试报名视图asselect 等级考试报名.*,学生信息.姓名from 等级考试报名,学生信息where 等级考试报名.学号= 学生信息.学号;4、建立即时事务视图create view 即时事务视图as select * from 即时事务;5、建立教师信息视图create view 教师信息视图asselect 教师信息.*,部门单位.单位名称from 教师信息,部门单位where 教师信息.学院= 部门单位.单位编号;6、建立教学计划视图create view 教学计划视图asselect 教学计划.*,专业信息.专业名称from 教学计划,专业信息where 教学计划.专业编号= 专业信息.专业编号;7、建立开设课程视图create view 开设课程视图asselect 开设课程.*,全部课程.课程名,教师信息.姓名from 开设课程,全部课程,教师信息where 开设课程.课程号= 全部课程.课程号and 开设课程.教职工号= 教师信息.教职工号;8、建立论文答辩视图create view 论文答辩视图asselect 论文答辩.*,教师信息.姓名as 考官姓名,学生信息.姓名as 学生姓名from 论文答辩,教师信息,学生信息where 论文答辩.学号= 学生信息.学号and 论文答辩.考官= 教师信息.教职工号;9、建立评教信息视图create view 评教信息视图 asselect 评教信息.*,教师信息.姓名 as 教师姓名,全部课程.课程名,学生信息.姓名 as 学生姓名 from 评教信息,教师信息,全部课程,学生信息where 评教信息.教职工号= 教师信息.教职工号 and 评教信息.课程号= 全部课程.课程号and 评教信息.学号= 学生信息.姓名;10、建立全部课程视图create view 全部课程视图as select * from 全部课程;11、建立行政班级信息视图create view 行政班级信息视图 as select * from 行政班级信息;12、建立选课信息视图create view 选课信息视图asselect 选课信息.学号,学生信息.姓名,全部课程.课程名,开设课程.*,教师信息.姓名as 任课老师 from 选课信息,全部课程,学生信息,开设课程,教师信息where 选课信息.学号= 学生信息.学号and 选课信息.课程号= 全部课程.课程号and 开设课程.教职工号= 教师信息.教职工号 and 选课信息.课程号= 开设课程.课程号;13、建立学生信息视图create view 学生信息视图 as select * from 学生信息;14、建立专业信息视图create view 专业信息视图 asselect 专业信息.*,部门单位.* from 专业信息,部门单位where 专业信息.所属学院= 部门单位.单位编号;第7章 数据库存储过程设计1、建立删除教师存储过程create proc 删除教师存储过程教职工号varchar(12) asif exists(select * from 开课信息where 教职工号=教职工号) return -1if exists(select * from 论文答辩where 考官=教职工号) return -1if exists(select * from 行政班级信息where 班主任=教职工号) return -1if exists(select * from 行政班级信息where 辅导员=教职工号) return -1if exists(select * from 评教信息where 教职工号=教职工号)begindelete from 教师信息 where 教职工号=教职工号delete from 评教信息 where 教职工号=教职工号end2、建立删除学生存储过程create proc 删除学生存储过程学号varchar(12) asif exists(select * from 等级考试报名where 学号=学号) return -1if exists(select * from 论文答辩where 学号=学号) return -1if exists(select * from 选课信息where 学号=学号) return -1begindelete from 学生信息 where 学号=学号if exists(select * from 成绩信息where 学号=学号)delete from 成绩信息 where 学号=学号if exists(select * from 评教信息where 学号=学号)delete from 评教信息 where 学号=学号end3、建立删除课程存储过程create proc 删除课程存储过程课程号varchar(12) asif exists(select * from 开设课程where 课程号=课程号) return -1if exists(select * from 选课信息where 课程号=课程号) return -1if exists(select * from 教学计划where 开设课程=课程号) return -1begindelete from 全部课程 where 课程号=课程号if exists(select * from 成绩信息where 课程号=课程号)delete from 成绩信息 where 课程号=课程号if exists(select * from 评教信息where 课程号=课程号)delete from 评教信息 where 课程号=课程号end4、建立选课存储过程create proc 选课存储过程课程号varchar(12), 学号varchar(12) asif not exists(select * from 学生信息where 学号=学号) return -1if not exists(select * from 开设课程where 课程号=课程号) return -1if not exists(select * from 开设课程where 课程号=课程号and 班级限制人数(select count(学号)from 选课信息where 课程号=课程号group by 课程号) return -1insert into 选课信息values (学号,课程号)第8章 权限设计1、 将所有表、视图、触发器和存储过程的全部权限都授予给系统管理员2、 给教务管理员授权:grant all privileges on table 学生信息,成绩信息,全部课程,开设课程,选课信息,行政班级信息,教学计划,教师信息,实习信息,论文答辩,即时事务,等级考试报名,选课信息 to 教务管理员grant select on table 评教信息 to 教务管理员gront select on view (所有视图) to 教务管理员3、 给教师授权gront select on view (所有视图) to 教师gront insert on table 成绩信息 to 教师 grant select,update on table 教师信息 to 教师4、 给学生授权gront select on view (所有视图) to 学生gront select,update on table 学生信息 to 学生gront insert on table 评教信息 to 学生gront insert,delete,update on table 选课信息 to 学生gront insert,delete,update on table 等级考试报名 to 学生总结理论联系实际才能做好一件事,学习一门课程同样是这样。通过16学时的数据库课程设计实习,受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。并且对大型数据库设计这一门课程有了更深一步的理解。在做课程设计中,可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。同样通过对SQLServer的应用,也使我们熟练和巩固了对SQL的理解。这次课程设计,完成课题是教务管理系统,在教务管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。在这次实习中,我们完全投入到了开发系统的世界里。结束后明白了理论和实践要想充分地结合,需要非常扎实的基本功。这就说明学好基础知识是理论付诸实践的前提。在开发教务管理系统中我学到了很多,希望在以后能充分利用实习的机会充实自己,用所学的理论知识充分去实践,在实践中又要努力去巩固理论知识。只有这样,才能把一门课程甚至一门学科学精、学透。参考文献:1. 王珊,萨师煊 .数据库系统概论M. 高等教育出版社,20052. 郑阿奇等. SQLserver实用教程(第3版)M . 电子工业出版社,20093. 赵乃真等. 信息系统设计与应用. 清华大学出版社,2005 附录:注意:附录部分写正文代码以外的的代码,不要超过5页,如没有就去掉该页。最后一页是评分标准,打印之后装订时候让该页正面朝外。评分标准后面有一页空白页去不掉,不需要打印。数据库原理及应用课程设计报告评分标准选题及功能设计选题合理,功能简单 (D)有一定的工作量和实用价值 (C)功能设计丰富,有一定的难度系数 (B)功能设计合理全面,能体现数据库的存储和整理数据的功能 (A)数据表和数据量具备基本的数据表,数据量较少,但能够实现系统基本需要 (D)具备基本的数据表,数据量适中,实现了一定的数据完整性 (C) 有多个数据表,数据量适中,有完善的数据完整性(B) 有多个数据表,数据量充足,具有较强的数据安全性和数据完整性 (A)数据库对象具备基本的数据表,有主外键约束 (D)创建了若干种的数据库对象,并加以利用 (C) 在实际应用中合理利用了各类数据库对象 (B)具有身份验证、数据备份等较复杂的数据管理功能(A)功能实现利用存储过程实现了各种查询功能 (D)除查询功能,还实现了各种数据操作功能 (C)在上一条基础上,还实现了数据统计汇总功能 (B)合理利用函数、存储过程、触发器实现各种数据查询、操作、管理功能 (A)设计报告完成设计报告,阐述了系统功能,结构较完整 (D)开题报告反映设计思路,结构完整,格式较规范 (C)报告内容完整,图表使用准确,格式清晰,功能描述详尽 (B)报告内容完整,图表使用准确,描述详细,代码阐述清楚,反映系统执行流程 (A)教师签字:总评成绩:
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑工程


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!