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

下载本文档

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

文档简介

1、学生成绩管理系统课程设计设计报告题目:学生成绩管理系统数据库_学号:学生姓名:张坤学号:学生姓名:张豪学号:学生姓名:王潜扌旨导教师:王雷春提交时间:2016/12/24目录第 1 章需求分析 . 31.1 需求调查 . 31.2 系统功能分析 . 41.3 面对用户需求分析. 5第 2 章数据库概念模型设计 . 6第 3 章逻辑结构设计 . 63.1 类和对象向关系模式转换 . 133.2 关系模式优化 . 17第 4 章 数据库物理结构设计 . 204.1 存取方法设计 . 204.2 存储结构设计 . 204.3 物理设计 . 20第 5 章 数据库完整性设计. 245.1 主键及唯一性

2、索引. 245.2 参照完整性设计 . 245.3 Check 约束 245.4 Default 约束 255.5 触发器设计 . 26第 6 章 数据库视图设计 . 27第 7 章 数据库存储过程设计. 33第 8 章 权限设计 . 38总结 39参考文献: . 39教务管理系统后台数据库第1章需求分析1.1 需求调查通过对各个用户的调查,该学生成绩管理系统有如下需求:1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销,系统开关等功能。2)成绩管理:实现教师对学生选修课程打分,成绩审核,学生查看成绩。3)信息维护:学生,管理员和老师以及课程的基本

3、信息(包括学生学籍信息和学生所修 课程信息,教师基本信息,课程基本信息,密码基本信息)查看以及修改。4)选课:学生选择课程,老师选课。5)查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程, 课表,成绩等,老师查询包括查询自己的信息,自己所带课程的学生,自己的课表以 及学生成绩等。6)服务器配置:对它进行配置可以使得在其他电脑上也照常使用。这样不必每次都到数据库中去更改。7)帮助系统:帮助系统为用户指明方向。1.2系统功能分析1)系统管理:主要用于系统开关,教师选课开关,学生选课开关等。2)学籍管理:用于对学生学籍基本信息的录入、查询、修改、维护、删除等常用功能, 并提供

4、学号编排、学生照片输入显示、学籍变动(留级、休学、跳级、转班、转学、 退学等)、奖惩登记、毕业情况等功能。3)选课管理:用于对课程的排布和选择。对于选课课程、采用教师选课方式,教师先选 课,学生再选课。4)教师管理:用于管理教师的基本信息,其所在院系、所授课程,所带的班级,教师平 时上课的时数,并记录教师的考评情况。5)成绩管理:用于发布学生一个学期所修课程所获得的成绩,是否挂科、参加补考,补 考的成绩等。6)课程管理:用于管理课程的基本信息,包括添加,删除,修改课程。7)管理员管理:用于对管理员的权限进行修改,以及添加,删除管理员,更新管理员信 息等。8)数据备份:用于保存删除或更新之前的数

5、据,防止管理员误操作,以及数据找回等。9)即时事务管理:用于发布和管理学校及学院的相关通知,便于相关人员了解学校及学院的近期动态。1.3面对用户需求分析在学生选课系统中,最主要的功能就是进行一系列的查询和各类数据的管理。因此, 可以将学生选课系统分为管理系统(有数据变化)和查询系统两个子系统。而在所设计的学生选课系统中,主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。 各类用户在该系统中的需求不同,权限也不同。因此,为了更明确,更系统的了解用户需 求,我们还可以将管理系统再细分为学生管理系统,老师管理系统,教务管理员管理系统,系统管理员管理系统。同样,将查询系统也按用户职能进行细

6、分,即学生查询系统,老师 查询系统,教务管理员查询系统,系统管理员查询系统。这样细分后,看似把系统需求繁 杂化了。其实不然,细分后使各用户需求更加明确了,并且能更好的把握系统需求。下面从细分后的各个子系统分析子系统的需求:1)学生管理系统。学生用户在使用该系统时,首先必须通过账号和密码登录系统。因此,对密码的设置和修改是最基本的需求。由于所有用户在使用该系统时都需要账号和密码,所以在后面的用户需求分析时不再重复对此需求进行描述。在登录系统后,学生用户的最主要的需求就是通过该系统进行选课、退课。其次,学生用户还要求可以通过系统进行个人信息的维护(包括添加、删除、修改信息)以及学生评教和各类 报名

7、。2)学生查询系统。学生用户在该系统中是最低级的用户,所以可以查询的数据也是有限的,主要有个人信息查询,成绩查询(个人成绩),即时事物查看,学业预警查看。在进行选课的时候还要对课程信息进行查询,课程选完后要查询课表。3)老师管理系统。该系统中,老师用户当然也有维护个人信息的需求。除此之外,更 重要的一个需求是要进行学生成绩的录入。4)老师查询系统。老师用户不仅要有查询自己的个人信息的功能,还要有查询学生信息的功能。当学生用户进行选课完毕后,老师用户有对选课、任课信息、课表的查询 以及花名册的查看的需求。 当课程结束后, 老师在录入学生成绩的时候, 也要对课程 信息、 学生信息进行查询。 老师用

8、户的另一个需求是对学生成绩的查询, 这个成绩查 询不仅可以查询学生用户的个人成绩,还可以查询所带课程的成绩和所有学生的成 绩。5)教务管理员管理系统。 首先当然个人信息的维护。 对于教务管理员来说, 该系统应 该可以帮助他进行开课信息的维护, 人才培养方案管理; 在学生由于种种原因而有选 课异常时, 教务管理员还有重选、 补选、 退选的需求; 课程结束老师录入学生成绩后, 教务管理员还有利用系统进行成绩的审核,有时还要对某些学生的成绩进行修改。6)教务管理员查询系统。 教务管理员首先要具有学生查询系统, 老师查询系统的所有 需求。 除了这些需求外, 教务管理员还应该可以查询开课信息, 学生评教

9、查询和学生 成绩查询(包括学生个人成绩,班级成绩,某课程成绩以及全院学生的成绩) 。7)系统管理员管理系统。 作为系统挂了管理员, 是该系统中最高级的用户, 因此该用 户的需求相对比较的多。第一,要通过系统对院系进行管理:院系的设置,院系的调 整以及院系的总体规划。第二,进行专业的设置,专业的添加、删除、修改,专业的 调整。第三,要对学期进行设置和教室的管理。第四,对各学院的教师管理,其中就 包括了老师在系统中的权限设置。第五,学生的学籍的管理(学籍的异动) 。第六, 通过各学院上报的课程信息进行全面的排课以及课程的停开和增开, 这也是学生选课 系统中很重要的一个需求。 最后, 系统管理员管理

10、系统还应该可以利用该系统进行用 户的管理和维护,包括用户的添加、删除,修改等。8)系统管理员查询系统。 该子系统的需求首先要包括前三类用户查询系统中的所有需 求,即可以查询前三类用户能进行的所有查询。其次,要包括院系的查询,专业的查 询,教室的查询。第三,通过系统查询学生、教师的基本信息,查询老师的任课情况 以及教学情况(评教情况) 。第四,在对学生学籍管理时要对学生学籍的查询。第五, 对课程信息及选课信息的查询。 此外, 还有对该系统中所有学生用户的学生成绩查询 和该系统中所有老师用户的评教结果查询的需求。第 2 章 数据库概念模型设计2.1 数据库实体以及关系设计本系统主要有 9 个实体:

11、A.学生实体B.教师实体C.管理员实体D.课程实体E.职称实体F.政治面貌实体G.院系实体H.专业实体I .新闻公告实体实体关系图:专业图2.1院系专业实体关系图图22教师课程实体关系图图2.3学生课程实体关系图图2.6管理员新闻公告实体关系图图2.7学生专业实体关系图图2.7总实体关系图2.2面向类和对象分析设计类和对象设计如下:学生姓名:string 学号:string 性别:char 出生年月:data 政治面貌:stri ng 专业名称:stri ng 籍贯:string 家庭地址:stri ng 联系电话:stri ng教师教师姓名:stri ng 教职工号:stri ng 性别:c

12、har 出生年月:data 职称:string 所属学院:stri ng 籍贯:string 民族:string 家庭地址:stri ng 邮政编码:stri ng 联系电话:stri ng查询() 添加() 修改() 删除()添加() 删除() 查询() 修改()管理员姓名:string 编号:string 性别:char 出生年月:data 政治面貌:stri ng 学院:string 专业名称:stri ng 籍贯:string 民族:string 家庭地址:stri ng 联系电话:stri ng添加() 删除() 查询() 修改()课程课程名:stri ng课程号:int学时:全部课

13、程学分:全部课程开课年度stri ng开课学期stri ng开课学院部门单位任课教师教师上课地点char上课时间char上课人数:int最大上课人数:int查询() 添加() 修改() 选课()专业专业名称:string 专业编号:stri ng 所属学院:stri ng查询() 修改() 添加() 删除()院系院系名称:stri ng院系编号:stri ng查询() 修改() 添加() 删除()学生课程学号:int 课程号:int分数:float 挂科情况:boolen教师课程工号:int 课程号:int登陆添加() 修改() 删除() 查询()添加() 修改() 删除() 查询()新闻公告

14、用户名:int 密码:string 级别:string添加() 修改() 删除() 查询()通知标题:stri ng通知内容:stri ng发布单位:stri ng发布时间:data有效期限:data查询()添加()修改()删除()政治面貌编号:int 名称:string添加() 修改() 查询()3.1 E-R 图局部E-R图职称编号:int 名称:string添加() 修改() 查询()第3章数据库逻辑结构设计拝谍时间任柔敎师号限选人裁预留宇段1已选人数勰号Y课縣3.7课程E-R图全局E-R图:备注备注院系年龄职称代号代号工号政治面貌姓名职称教龄教师属于专业学号年龄讲授联系方式姓名学生课程

15、号预留字段属于课程名入学年份开课时间预留字段2开课院系任课教师号选修课程限选人数已选人数管理属于预留字段2属于预留字段管理号姓名联系方式管理员年龄标题地址编号内容新闻公告发布院系时间名称预留字段院长预留字段专业代号属于专业名称院系代号预留字段2预留字段1预留字段1- 一.预留字段20联系方式1Z>政治面貌图3.10全局E-R图3.2 类和对象向关系模式转换学生信息(姓名、学号、性别、出生年月、政治面貌、学院、专业名称、培养层次、籍贯、民族、家庭地址、联系电话、)成绩信息(学生姓名、学号、专业名称、课程名、课程号、分数、绩点、学分、所获学 分、)课程(课程名、课程号、任课老师、选课班级、学

16、时、学分、开课年度、开课学期、学院、上课地点、上课时间、限制人数)选课信息(学生姓名、学号、学院、教学班号、课程名、课程号、任课老师、上课地点、 上课时间)专业信息(专业名称、专业编号、所授学位、培养方案、所属学院)教师信息(教师姓名、教职工号、性别、出生年月、学历、职称、所属学院、籍贯、民族、家庭地址、邮政编码、联系电话、身份证号码)新闻公告(通知标题、通知内容、发布单位、发布时间、有效期限) 开关表(系统开关,选课开关)3.3 关系模式优化通过对用户需求和实体之间的关系的分析,结合范式考虑,本系统建立以下表1).院系表名称数据类型是否主键院系代号int是院系名称varchar(50)预留字

17、段varchar(50)2).专业表名称数据类型是否主键专业代号int是专业名称varchar(50)所属学院代号Int预留字段varchar(50)3).学生表名称数据类型是否主键学号int是姓名varchar(50)性别Char(2)年龄int政治面貌代号Int专业代号int联系方式Varchar(50)入学年份Int预留字段Varchar(50)4).教师表名称数据类型是否主键工号int是姓名varchar(50)性别char(2)年龄int职称代号Int院系代号Int联系方式Varchar(50)教龄Int预留字段varchar(50)5).管理员表名称数据类型是否主键管理号int是姓

18、名varchar(50)性别Char(2)职务Varchar(50)联系方式Varchar(50)地址varchar(50)预留字段varchar(50)6).登录表名称数据类型是否主键账号int是密码varchar(50)级别Char(4)预留字段varchar(50)7).新闻公告表名称数据类型是否主键编号int是标题varchar(50)内容varchar(100)类别Varchar(50)发布人In预留字段varchar(50)8).课程表名称数据类型是否主键】田千口 i=r. 课程号int是课程名varchar(50)任课教师int学分int上课时间datetime限选人数int已选

19、人数int开课学院代号Int预留字段Varchar(50)9).教师课程表名称数据类型是否主键工号int是】田千口 i=r. 课程号int是预留字段varchar(50)10).学生课程表名称数据类型是否主键学号int是】田千口 i=r. 课程号Int是分数Float预留字段varchar(50)11).职称表名称数据类型是否主键职称代号int是职称varchar(50)预留字段varchar(50)12).政治面貌表名称数据类型是否主键政治面貌代号int是政治面貌varchar(50)预留字段varchar(50)13).开关表名称数据类型是否主键开关类型varchar(50)是状态char

20、(2)预留字段varchar(50)14).登录日志表名称数据类型是否主键编号Int是操作类型varchar(50)操作人varchar(50)操作时间Datetime被操作账户Int预留字段varchar(50)第4章数据库物理结构设计4.1 存取方法设计数据库系统是多用户共享的系统,对同一个关系要建立多条存储路径才能满足多用户的多种应用要求。对于教务管理系统来说,为了提高某些属性(如:学生学号,教职工号,课程号,学生成绩,选课信息等)的查询速度,可以选择聚簇存取的方法,即把这些属性上具有相同值的元组集中放在连续的物理块上。这样在查询某个学院或是查询某个专业或某学年等的学生成绩或选课等时就会

21、大大提高查询速度。因此,该系统中选择聚簇存取方法。4.2 存储结构设计教务管理系统是一个大型复杂的计算机网络信息系统,采用基于浏览器/服务器(B/S),客户端/服务器(C/S)混合的应用体系结构来建设教务管理系统。数据库管理系统采用Microsoft 公司推出的 SQL Server 2014 ,并用SQL进行数据库的建立和数据库中数 据的维护和查询。4.3 物理设计实现该设计的环境为 Win dows 10+ MS SQL Server2014 或以上版本。1、建立学生成绩管理系统数据库use mastercreate database 学生成绩管理系统数据库 on (name='

22、学生成绩管理系统数据库主文件 ', filename='D:student system of gradesstudent system of grades.mdf', size=5, maxsize=50, filegrowth=10%) log on ( name=' 学生成绩管理系统数据库日志文件 ', filename='D:student system of gradesstudent system of grades.ldf', size=2mb,maxsize=10mb, filegrowth=1mb) Go2. 建立职称表

23、create table 职称 ( 职称代号 int primary key, 职称 varchar(50), 预留字段 varchar(50) )3. 建立政治面貌表 create table 职称 ( 职称代号 int primary key, 职称 varchar(50), 预留字段 varchar(50)4. 建立院系表 create table 院系 ( 院系代号 int primary key, 名称 varchar(50), 预留字段 varchar(50) )5. 建立专业表 create table 专业 ( 专业代号 int primary key, 名称 varchar(

24、50),所属院系代号 int, 预留字段 varchar(50) )7. 建立学生表create table 学生 (学号int primary key,姓名varchar(50),性别char(2) default '年龄int,政治面貌代号 int,专业代号int,联系方式varchar(50),入学年份int,预留字段varchar(50)男' check ( 性别 = ' 男' or 性别 = ' 女'),8. 建立教师表 create table 教师 ( 工号 int primary key, 姓名 varchar(50), 性别 c

25、har(2) default ' 年龄 int, 职称代号 int , 院系代号 int, 联系方式 varchar(50), 教龄 int, 预留字段 varchar(50) )男 ' check( 性别 =' 男 ' or 性别 =' 女 '),9. 建立管理员表create table管理员 (管理号 int primary key,6. 建立专业表 create table 新闻公告 (编号int primary key,标题varchar(50),内容varchar(100),类别varchar(50),发布人int,预留字段 varc

26、har(50)姓名varchar(50),性别char(2) default '职务varchar(50),联系方式varchar(50),地址varchar(50),预留字段 varchar(50)男' CHECK ( 性别 =' 男' or 性别 =' 女'),10. 建立课程表create table 课程 ( 课程号int primary key,课程名 varchar(50), 任课教师 int, 学分 int, 上课时间 char(5) default '1-18' check( 上课时间 ='1-16'

27、; or 上课时间 ='1-14' or 上课时间 ='1-12' or 上课时间 ='1-6' or 上课时间 ='1-18'), 考试时间 datetime, 限选人数 int, 已选人数 int, 开课学院代号 int, 预留字段 varchar(50)11. 建立学生课程表 create table 学生课程 ( 学号 int, 课程号 int, 分数 float default'0', 预留字段 varchar(50), primary key( 学号 , 课程号 ) )12. 建立教师课程表 creat

28、e table 教师课程 ( 工号 int, 课程号 int, 预留字段 varchar(50)13. 建立登录表create table 登录 (账号int primary key.密码varchar(50),级别char(6) default '理员'),预留字段 varchar(50)学生'check(级别='学生'or级别='教师'or 级别='管第5章数据库完整性设计5.1主键及唯一性索引表名主键建立唯一性索引学生(学号)create unique in dex on学生(学号)学生课程(学号,课程号)create un

29、ique in dex学生课程on学生课程(学号,课程号)课程(课程号)create unique in dexon课程(课程号)课程教师课程(工号,课程号)create unique in dex教师课程on教师课程(工号,课程号)教师(工号)create unique in dex on教师(工号)教师管理员(管理号)create unique in dexon管理员(管理号)管理员专业(专业编号)create unique in dexon专业(专业编号)专业院系(院系编号)create unique in dexon院系(院系编号)院系登录(帐号)create unique in de

30、x on登录(账号)登录新闻公告(编号)create unique in dexon新闻公告(编号)新闻公告职称(职称代号)create unique in dexon职称(职称代号)职称政治面貌(政治面貌代号)create unique in dex政治面貌 on政治面貌(政治面貌代号)5.2 参照完整性设计-1、新闻公告表中将属性发布人设计为外键alter table 新闻公告 add foreign key (发布人 ) references 管理员 ( 管理号 )-2 、教师表中将属性职称代号和院系代号设计为外键alter table教师 add foreign key (职称代号 )

31、 references 职称 ( 职称代号 )alter table教师 add foreign key (院系代号 ) references 院系 ( 院系代号 )-3 、学生表中将属性政治面貌代号属性和专业代号设计为外键alter table 学生 add foreign key (政治面貌代号 ) references 政治面貌 ( 政治面貌代号 )alter table 学生 add foreign key (专业代号 ) references 专业 ( 专业代号 ) -4 、专业表中将属性所属院系代号设计为外键alter table 专业 add foreign key (所属院系代

32、号 ) references 院系 ( 院系代号 )-5 、学生课程表中将属性课程号和学号设计为外键alter table学生课程 add foreign key (学号 ) references 学生 ( 学号 )alter table学生课程 add foreign key (课程号 ) references 课程 ( 课程号 ) -6 、教师课程表中将属性工号和课程号计为外键alter table教师课程 add foreign key (工号 ) references 教师 ( 工号 )alter table教师课程 add foreign key (课程号 ) references

33、课程 ( 课程号 )-7 、课程表中将属性任课教师和开课学院代号计为外键alter table 课程 add foreign key (任课教师 ) references教师 ( 工号 )alter table 课程 add foreign key (开课学院代号 ) references 院系 ( 院系代号 )5.3 Check 约束1、学生,教师表和管理员表中将性别进行check 约束:check ( 性别 =' 男' or 性别 =' 女 ') 2、课程表中将上课时间进行 check 约束:check ( 上课时间 ='1-18' or o

34、r '1-16')3、登录表中将开课学期进行上课时间 ='1-16' or 上课时间 ='1-14' orcheck 约束:上课时间 ='1-12'check ( 级别 =' 管理员or 级别 = 学生 ' or 级别 = 教师 ' )4、学生表中将分数 check 约束:check ( 分数 >0 and 分数 <100)5. 登录日志表将操作类型 check 约束check (操作类型 ='删除数据 ' or 操作类型 = 修改数据 ' or 操作类型 = 添加数据

35、')5.4 Default 约束1、教师表和学生表中性别默认值设为:男。Default ' 男'2、教师信息表和学生信息表中民族默认值设为:汉族。Default ' 汉族'3、登录表中级别默认值设为:学生。 Default ' 学生 '4、 学生课程表中分数默认值设为:0。Default'。5、 课程表中开课时间默认值设为:1-18。 Default '1-18'5.5 触发器设计1、在政治面貌表中建立删除修改更新政治面貌触发器 create trigger 删除修改更新政治面貌on 政治面貌 with encry

36、ption instead of update,insert,delete as begin',18,18)-print' 政治面貌表不允许修改,删除,更新等操作! ' RAISERROR政治面貌表不允许修改,删除,更新等操作! End2、在职称表中建立删除更新插入职称触发器create trigger 删除修改更新职称on 职称with encryptioninstead ofupdate,insert,deleteasbegin-print' 政治面貌表不允许修改,删除,更新等操作! 'RAISERROR(职称表不允许修改,删除,更新等操作!,18,

37、18)End 3、在新闻公告表建立删除成功提示触发器 create trigger 删除新闻公告提示成功 on 新闻公告 with encryptionafterupdate,insert,deleteasbegin-print'政治面貌表不允许修改,删除,更新等操作!RAISERROR(操作成功,10,1)End 4、在登录表中建立删除数据触发器a. 建立日志表create table 登录表日志( 操作编号 int primary key identity(1,1), 登录账号 varchar(50) default 'admin', 数据库登录名 varchar(

38、50) default 'sa', 操作类型 char(8) check( 操作类型 =' 插入记录 ' or 操作类型 =' 修改数据 ' or 型 =' 删除数据 '),操作时间 datetime default getdate(), 被操作账户 int)b. 建立触发器 create trigger删除登录表日志on 登录 with encryption for delete as begin declare 被操作账户 int select 被操作账户 =账号 from deleted insert into 登录表日志

39、(操作类型 , 被操作账户 ) values(' 删除数据 ', 被操作账户 ) end5、在登录表中建立修改数据触发器a. 建立日志表create table 登录表日志( 操作编号 int primary key identity(1,1), 登录账号 varchar(50) default 'admin', 数据库登录名 varchar(50) default 'sa', 操作类型 char(8) check( 操作类型 =' 插入记录 ' or 操作类型 =' 修改数据 ' or 型 =' 删除数据

40、 '),操作时间 datetime default getdate(), 被操作账户 int)操作类操作类b. 建立触发器create trigger 修改登录表日志on 登录 with encryptionforupdateasbegindeclare 被操作账户 intselect 被操作账户 =账号from deletedinsert into登录表日志 (操作类型 , 被操作账户 )values(' 修改数据 ', 被操作账户 )end6、在登录表中建立插入数据触发器a. 建立日志表create table 登录表日志操作类( 操作编号 int primary

41、key identity(1,1), 登录账号 varchar(50) default 'admin', 数据库登录名 varchar(50) default 'sa', 操作类型 char(8) check( 操作类型 =' 插入记录 ' or 操作类型 =' 修改数据 ' or 型 =' 删除数据 '),操作时间 datetime default getdate(), 被操作账户 int)b. 建立触发器create trigger 插入登录表日志on 登录with encryptionforinsertasb

42、egindeclare 被操作账户 int select 被操作账户 =账号 from deletedinsert into登录表日志 (操作类型 , 被操作账户 )values(' 插入记录 ', 被操作账户 ) end7、在学生表中建立修改学号触发器 create trigger 修改学号 on 学生 with encryption for update as begin declare 修改后学号 int declare 修改前学号 int select 修改前学号 =学号 from deleted select 修改后学号 =学号 from inserted if( 修

43、改后学号 !=修改前学号 )RAISERROR(学号不允许修改哦!,18,18)End8、在教师表中建立修改工号触发器 create trigger 修改工号 on 教师 with encryption for update as begin declare 修改后工号 int declare 修改前工号 int select 修改前工号 =工号 from deleted select 修改后工号 =工号 from insertedif( 修改后工号 !=修改前工号 )RAISERROR(学号不允许修改哦! ,18,18) End9 、在管理员表中建立修改管理号触发器 create trigg

44、er修改管理号on 管理员 with encryption for update as begin declare 修改后管理号 int declare 修改前管理号 int select 修改前管理号 =管理号 from deleted select 修改后管理号 =管理号 from inserted if( 修改后管理号 !=修改前管理号 )RAISERROR(学号不允许修改哦! ',18,18) End第 6 章 数据库视图设计1 、建立学生信息视图create view 学生信息asselect 学号 , 姓名 , 密码 , 性别, 年龄 , 学生. 政治面貌代号 , 政治面貌

45、 , 学生 . 专业代号 , 专业名 称 , 所属院系代号 , 院系名称 , 联系方式 , 入学年份from 学生, 政治面貌 , 登录, 专业 , 院系where 学号 =账号and 学生 .政治面貌代号 =政治面貌 . 政治面貌代号and 学生.专业代号 =专业 .专业代号and 专业.所属院系代号 =院系. 院系代号select * from 学生信息2、建立教师信息视图 create view 教师信息 asselect 工号,姓名,密码,性别,年龄,教师.职称代号 ,职称名称 ,教师.院系代号 ,院系名称 , 联系方式 , 教龄from 教师, 职称, 登录, 院系where 工号

46、=账号and 教师.职称代号 =职称 .职称代号and 教师.院系代号 =院系 .院系代号select *from 教师信息3、建立管理员信息视图create view 管理员信息 asselect 管理号,姓名,密码,性别,职务,联系方式 ,地址 from 管理员 , 登录where 管理号 =账号 select *from 管理员信息4、建立学生课程视图create view 学生课程信息asselect 学生课程 .学号,学生姓名 ,入学年份,学生课程.课程号,课程名,学分,上课时间,考 试时间,开课学院代号 ,院系名称,任课教师 ,教师姓名 ,分数from 学生,课程,学生课程 ,教师

47、,院系where 学生.学号=学生课程.学号 and 学生课程.课程号=课程.课程号 and 教师.工号=任 课教师 and 开课学院代号 =院系. 院系代号select * from 学生课程信息5、建立教师课程视图create view 教师课程信息asselect 教师课程 .工号,教师姓名 ,教龄,教师课程 .课程号,课程名,学分,上课时间 ,考试时 间,开课学院代号 ,院系名称 ,已选人数 ,限选人数from 课程,教师课程 ,教师,院系where 教师.工号=教师课程.工号 and 教师课程.课程号=课程.课程号 and 开课学院代号 = 院系 . 院系代号select *from

48、 教师课程信息6、建立专业学生视图 create view 专业学生信息 asselect 专业.专业代号 ,专业名称 ,学号,学生姓名 ,性别,年龄 ,学生.政治面貌代号 ,政治面 貌, 联系方式 ,入学年份from 专业 , 学生 , 政治面貌where 学生.政治面貌代号 =政治面貌 .政治面貌代号 and 学生.专业代号 =专业.专业代号 select *from 专业学生信息7、建立院系教师视图create view 院系教师信息 asselect 教师.院系代号 ,院系名称 ,工号,教师姓名 ,性别,年龄,教师.职称代号 ,职称名称 ,联 系方式 , 教龄from 教师 , 院系

49、, 职称where 教师.院系代号=院系.院系代号 and 教师.职称代号 =职称.职称代号select *from 院系教师信息8、建立课程学生视图 create view 课程学生信息 asselect 学生课程 .课程号,课程名,学生课程 .学号,学生姓名,学生.专业代号,专业名称 ,入 学年份 ,学生.联系方式 ,任课教师 , 教师姓名 from 学生,课程,学生课程 ,教师,院系,专业where 学生.学号=学生课程.学号 and 学生课程.课程号=课程.课程号 and 教师.工号=任 课教师 and 开课学院代号 =院系.院系代号 and 学生.专业代号 =专业.专业代号selec

50、t *from 课程学生信息9、建立专业院系视图create view 专业院系信息 asselect 院系代号 , 院系名称 , 专业代号 , 专业名称from 专业 , 院系where 专业. 所属院系代号 =院系代号 select *from 专业院系信息第 7 章 数据库存储过程设计1、建立删除管理员存储过程 create procedure 删除管理员 管理员的编号 int as delete from 管理员 where 管理号 =管理员的编号 delete from 登录 where 账号 =管理员的编号 delete from 新闻公告 where 发布人 =管理员的编号 go

51、exec 删除管理员 10032、建立添加管理员存储过程create procedure 添加管理员 管理员的编号 int, 管理员的密码 varchar(50), 管理员的姓名 varchar(50), 管理员的性别 char(4), 管理员的职务 varchar(50), 管理员的联系方式 varchar(50), 管理员的地址 varchar(50)asinsert into 管理员values( 管理员的编号 ,管理员的姓名 ,管理员的性别 ,管理员的职务 ,管理员的联系方式 , 管理员的地址 ,NULL)insert into 登录values(管理员的编号,管理员的密码,'管理员:NULL)goexec 添加管理员 1004,123456, 西西, 女, 网站管理员 武汉3、建立删除教师存储过程create procedure 删除教师 教师的编号 intasdelete from 教师where 工号 =教师的编号delete from 登录where 账号 =教师的编号goexec 删除教师 30034、建立添加教师存储过程 create procedure 添加教师 教师的编号 int, 教师的密码 varchar(50),教师的姓名 var

温馨提示

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

评论

0/150

提交评论