选修课管理系统数据设计课程设计任务书_第1页
选修课管理系统数据设计课程设计任务书_第2页
选修课管理系统数据设计课程设计任务书_第3页
选修课管理系统数据设计课程设计任务书_第4页
选修课管理系统数据设计课程设计任务书_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统设计课程设计任务书

设计题目选修课管理系统指导教师

班级学生

本系统主要实现三大功能:

一、学生选课

1)学生登陆

2)进行初选,复选,补退选

3)查询选课情况,上课时间、地点与上课老师

4)修改登陆密码,添加或删除选课的相关信息

5)查询成绩

二、教师查询

1)教师登陆

2)查询课程信息(上课时间、地点以及课程是否被取消,查询选择

课程设计功能要求自己课程的学生清单)

3)修改登陆密码

4)登记学生成绩

三、管理员对选修课管理

1)设置学生可选修的课程范围以及选课的约束条件

2)添加课程,修改密码、浏览选课情况、关闭选课人数不足15的

课程

3)对选修课进行排课

4)登记选修课的成绩

1/28

1)需求分析:为提出的问题找出解决的办法和思路。

2)概念分析与设计:利用概念模型E-R图实现信息基本逻辑。

3)逻辑分析与设计:根据概念分析进一步抽象数据库关系逻辑模型。

课程设计步骤与

4)物理分析与设计:抽象出计算机数据物理模型。

方法

5)功能实现:根据具体课程设计功能要求实现具体数据的功能。

6)整体数据库系统实现。

7)整理设计课程设计说明书并上交审查。

课程设计说明书要求:

1)封面

课程设计说明书2)课程设计任务书

要求:3)目录

4)正文

5)参考文献

第十一周:完成数据库课程设计任务书

第十四周:查找项目相关背景资料、功能要求以及发展前景

第十五周:需求分析的任务与方法,运用数据字典,并画出相应的流

程图等

第十六周:整理相关概念,使用E-R图实现信息的基本逻辑,建立对

设计工作计划与应的模型

进度安排第十七周:整理出关系模式,并把E-R图形式转换成抽象的模式

第十八周:运用命令、约束条件、索引等方式,然后使用SQL语言进

行数据库的设计,最好撰写出课程设计说明书并打印,提交审查

1.考勤20%

设计考核要求2.课程设计说明书50%

3.答辩30%

计算机科学与技术学院制

2/28

目录

1.相关专业背景功能---------------------------------1

2.需求分析-------------------------------------4

3.概念模型与E-R图_________________________________13

4.E・R模型转换----------------------------------14

5.数据库设计与建立----------------------------17

6、连接数据库---------------------------------------23

7.个人总结---------------------------------------24

8.参考文献-------------------------------------25

3/28

一、选修课管理系统的相关背景功能

选修课管理系统是一个面向学校教务管理人员、教师和学生并为其提供服务

的管理系统。

选修课管理系统所经历的三个阶段

一、没有电脑的年代,网上选课根本不存在,当时学生根据自己的爱好兴趣等方

面,先选择相应的课程,然后由班级上报院系,再通过人工整理所上报的信息的

办法,决定每个人的选课信息以及任课老师所教的课程,也就是说几乎谈不上选

修课管理系统这么一说。

二、每个院系有了为数不多的几台电脑后,班级上报院系的信息,由院系先在电

脑上登记,最后交给教务处,教务处通过选修课管理系统(还不够完善),经过

审核决定最终结果并公布;

三、电脑普及率很高,也就是现在这样,网上选课已不成问题,教务处直接通过

选修课管理系统,了解与审核选课信息,最终决定最后的结果并公布。

有关选修课的概念与定义

选修课与“必修课”相对。主要指高等学校和中等专业学校中学习某一专

业的学生可以有选择地学习的课程。在教学计划中一般不作硬性规定。分

限制性选修课程(某些特定专业指定选修课程,对该专业来说可视为必修课)

和非限制性选修课程(任意专业选修课程)两利%一般大学的课程都分为校定必

修,院定必修,限选课和任选课这四种,你可以根据你的爱好来选择选修课,也

可以选一些专业方面的课程来修。选修课不能全都选,学校有规定一学期最高能

修多少个学分,你不能超出这个限制。

开设选修课的意义

选修课的开设是基于社会对复合型人才的需求,旨在加强大学生人文素质和

科学素质的养成和提高,培养全面发展的高素质人才。要对学生的公共选修课进

行管理,每学期由教务处依据教学计划列出所开设的选修课程,学生自主选课,教

务处根据选课情况进行调整,最后确定选修各门课程的学生名单,并对选修课进行

排课和对选修课成绩进行登记。可设置学生可选修的课程范围以及选修的约束条

件。可指定范围内的学分约束及课程门数约束,可指定选修课教师的开设班级的

约束条件,开设班级的人数限制。约束条件将作为学生在网上选课审核的标准。

应实时显示选课冲突信息。

网上选课的好处:

4/28

大学期间总会有很多公共选修课,以往的选课方法是随堂报名。这种方法虽

然直接,但是造成选课的盲目性,有些课堂选课时人满为患,有些课堂无人选课。

原因是传统的选课方法没有预见性,大家没有事先协调好。使用了网上选课系统

以后,可以在开课前就在网上选课,每个学生的课程在开课前就确定好,不用浪

费体力去选课,还可以使教学资源合理平均地分配。

学校的选修课网上选课报名问题:

-教师网上登记选修课(课程审核)

-学生网上选课

-报名名单调整

-导出全校选课报名报表等等

选修课管理系统的功能

1.选课。学生能够在网上实现正常学期的本专业本年级推荐选课、本院系开设课

程、体育课、政治课、公共英语课、文科计算机课、通选课和公选课的选课;

2.成绩查询。学生能够在网上快速、便捷地查询到自己所有学期的课程成绩(包

括本院系所学课程成绩、辅修/双学位成绩)。

3.选课情况查询。学生从网上就可以了解自己的选课情况(包括正常学期和暑

期学校的选课),避免了许多不必要的麻烦。

4.退课情况查询。学生可以清楚地查看到自己退课的时间和所用的IP地址。

5.体育课评估。

6.修改密码。此功能更加完善了系统的功能。

7.用户注销。不仅方便用户退出系统重新进行别的操作,而且更为重要的是它

能够及时保证用户在使用此系统时的安全性。

系统设置:系统管理员配置相关信息,包括教师登记课程时间范围,学生选课时

间范围,每班最多人数,选修课上课日期,选课学生范围等;

教师登记课程:开课教师在规定的时间内登记自己要开设的选修课程;

学生选课:学生在规定的选课时间内自由选课报名,在规定时间内,可以退选、

补选、改选课程;

选课调整:学生选课期截止后,系统管理员可以根据学生本人、班主任或者任课

教师的要求针对个别学生的选课进行调整,包括强制选课、退选、换选三种;

生成报表:自动生成EXCEL报表,包括学生本人的选课列表、给班主任的选课名

5/28

单和给上课教师的报名名单

选修课管理系统的使用说明

一、学生选课

6)学生登陆

7)进行初选,复选,补退选

8)查询选课情况,上课时间、地点与上课老师

9)修改登陆密码,添加或删除选课的相关信息

10)查询成绩

二、教师查询

5)教师登陆

6)查询课程信息(上课时间、地点以及课程是否被取消,查询选择自己课

程的学生清单)

7)修改登陆密码

8)登记学生成绩

三、管理员对选修课管理

5)设置学生可选修的课程范围以及选课的约束条件

6)添加课程,修改密码、浏览选课情况、关闭选课人数不足15的课程

7)对选修课进行排课

登记选修课的成绩

现行选修课管理系统的特点

・完全基于浏览器的操作界面,操作简便

・灵活的选课管理、灵活选课配置、课程审核设置、学生范围限定等

•严格的选课匹配

・教师限时课程登记

・学生限时网上选课

・保证选课学生在班级之间均匀分布,杜绝过分集中

・管理员可以调整学生选课名单

・轻松导出各类选课报表

预测选修课管理系统的发展

随着科学技术的不断进步,电脑将会基本普及,各种系统的完善程度将会大幅提

高,上一个新台阶,到那时,我想选修课管理系统也》健灵活,操作更简单,更

6/28

人性化与智能化。

二、需求分析

学生包含学号等属性,通过登记系统保存学生成绩的信息。学生通过分组程序分出选修

课的学生名单。课程包含课程号,名称等属性。分组信息分出选修课教师,教师包含名称,

教师编号属性。

用户通过SQLSERVER2000的查询分析器直接输入各种操作代码,其中包括对系统管

理员的创建,管理员可以创建其他管理员权限,当然,系统管理员可以对所有表进行修改,

删除,增加。

具体需求分析如下:

选修课管理系统功能图:

,查

录查

系统功能需求:

1.开设课程管理

管理员对所开设的课程进行管理,允许对所开设的课程进行增加,修改,删除等。

2.查询

7/28

可以按课程名,教师名,学号等多种方式查询课程信息。对于学生的选课信息,学生只能

查询本人的。

二.学生选课管理

一学生根据所查询的课程信息,选择自己所要选修的课程。对于已经选择了,但不希望选修

的课程,可以进行退选。每个学生最多选修8个学分。

%.用户信息管理

一能够使用系统的每个学生、教师和管理员每人都有一个ID,管理员可以对用户进行增加,

删除,修改等操作。

・5.学生成绩管理

・成绩管理包括如下功能:

(1)成绩录入

一管理员录入学生的成绩信息。

(2)成绩查询

一学生可以查看自己所选各科课程的成绩。

教师可以查询自己所教课程的学生成绩,并打印报表。

参与者用例图:

分析参与者:

・学生、教师、管理员都是学校里的人员,有一些相同的属性,如ID,姓名,部门等,可以

将三者的共性提取出来,形成一个抽象的参与者一一用户。

8/28

系统可以识别三个参与者:学生,教师和管理员。

学生:查询课表,选课,查询考试成绩

教师:查询课表,查询课程成绩

管理员:管理所开设的课程,管理用户,录入成绩,执行各种查询功能。

学生选课的数据流图:

①数据项:以“学号”为例

数据项名:学号

数据项含义:唯一标识每一个学生

别名:学生编号

数据类型:字符型长度:8取值范围:00000〜99999

取值含义:前2位为入学年号,后3位为顺序编号

与其他数据项的逻辑关系:(无)

②数据结构:以“学生”为例

数据结构名:学生

含义说明:是学籍管理子系统的主体数据结构,定义了一个学生的有关信息

组成:学号,姓名,性别,年龄,所在系

③数据流:以“选课信息”为例

数据流名:选课信息

9/28

说明:学生所选课程信息

数据流来源:“学生选课”处理

数据流去向:“学生选课”存储

组成:学号,课程号

④数据存储:以“学生选课”为例

数据存储名:学生选课

说明:记录学生所选课程的成绩

编号:(无)

流入的数据流:选课信息,成绩信息

流出的数据流:选课信息,成绩信息

组成:学号,课程号,成绩

存取方式:随机存取

⑤处理过程:以“学生选课”为例

处理过程名:学生选课

说明:学生从可选修的课程中选出课程

输入数据流:学生,课程

输出数据流:学生选课

根据系统需求中的描述,又可以将系统分为两个顶层用例:选课管理和成绩管

・选课管理和成绩管理顶层用例图

・选课管理用例可以分解为:

*1.课程信息查询:提供按学生查询,按任课教师查询,按课程名查询等多种

查询方式。

,2.选课:学生对自己所选的课程进行管理,包括增加所选课程,删除所选课程

10/28

等。

,3.课程信息管理:管理员对学校所开设的课程进行管理,包括增加课程,删

除课程,修改课程信息等。

*4.用户管理:为简化处理,假设系统从学生管理系统中获取学生信息,从学校

人事管理系统中获取教师信息。

・选课管理用例图:

・成绩管理用例可以分解为以下用例:

*1.学生成绩查询

•学生查询自己所选课程的成绩。

*2.课程成绩查询

•教师查询自己所教课程的学生成绩。

*3.成绩管理

管理员录入或修改学生成绩。

11/28

学生成绩管理用例图

分析用户如何登录到系统中

1.2前置条件:无

1.3后置条件:如果用例成功,则用户登录到系统中。否则,系统状态不变。

1.4事件流

1.4.1基本流

12/28

(1)当用户开始使用系统时,登录用例启动;

(2)系统提示用户输入用户名和密码;

(3)用户提交;

(4)系统验证输入的用户名和密码,用户登录成功

1.4.2备选流

在基本流4中,如果用户输入的名字或密码没有通过验证,系统提示错误信息,用户可以重

新输入或中止该用例。

用户登录用例图:

用户系统

根据以上对系统的总体需求分析,我们就可以对选修课管理系统有个整体的概念。通过

对各个用例图的的分析与研究,就可以对选课管理系统的整个过程有个很具体的把握,并且

可以知道和明白其工作原理与系统处理细节问题。

13/28

三、概念模型与E-R图

概念模型介绍:

学生选修课管理系统的流程:首先由教师或系统管理员等有录入权限的用户

将各自权限范围内的信息进行录入,然后保存信息到数据库中。有权限的人可以

对这些数据库信息进行修改和删除。所有用户均可以进行信息查询和统计。

数据流分析

学生选课管理系统的数据流程:首先由教师或系统管理员等有录入权限的用

户将各自权限范围内的信息进行录入处理,然后保存信息到数据库中。有权限的

人可以对这些库信息进行修改和删除处理。所有用户均可以进行信息查询和统

计,结果可以报表打印。

选修课选课系统主要分为两大模块:管理员模块和一般用户模块,管理员可

以是教师也可以是学生,不过管理员必须承担一定的责任。

管理员模块又分为对用户的管理和对选课的管理,对用户的管理模块应有的

功能是对新用户的添加,对无用用户的删除;选课管理模块应有的功能包括新开

设选修课信息的添加,对原有课程信息的修改,对学校不再开设的课程进行删除,

一轮选课结束以后对各科选课人数归零。

一般用户模块既学生应用模块是该系统最基本的功能模块,因为此模块应完

成访客登录的身份验证,学生选修公共选修课记录的添加,对公共选修课信息的

查询,对教师信息的查询,学生对自己已经选修哪些课进行查询。所以,按照需

要完成的要求又分成了各具体执行模块。

学生实体E-R图

14/28

教师号

教师实体E-R图

课程实体E-R图

管理员实体E・R图

15/28

整体E・R图:

16/28

四、E・R模型转换成关系数据库

E-R模型转换成关系数据库的一般规则:

1.将每一个实体转换成一个关系。

2.所有主码必须定义非空。

3.对于二元联系,按照下列规则定义外码:

a.一对一联系:将“一”表中的主码作为外码放在“多”表中。如上图中的计算机系

与教师的关系,计算机系只有一个系主任。

b.弱实体:将父表的主码作为外码放在弱实体中。如上图学生与亲属的关系中

亲属就是弱实体。

c.一对多联系:将一个表的主码作为外码放在另一个表中。如上图中的班级与

学生的联系。

d.多对多联系:建立复合实体,复合实体的主码由两个父实体的主码复合组成。

如上图中学生与课表的关系就是多对多的联系,应建立一个复合

实体:成绩。

设计关系模型如下:下划线为关系的码

学生(箜号,姓名,性别,年龄,班级,所在系号,备注)

Student(Studentid,Student_name,Student_sex,Student_time,Student_classid,

Student_age,Student_else)

此为学星实体对应的关系模式。

教师(教师号,姓名,班级,系别,备注)

Teacher(Teacherid,Teacher_name,Teacher_class,Teacher_dept,Teacher_else)

此为教师实体对应的关系模会。

课程(课程号,课程名,系名,学分,开课时间,课程表)

Course(Courseid,Course_name,Course_time,Class_credit,Course_dept)

此为课程实体对应的关系模式。

管理员(用户名,密码,登录类型)

Manger(MangeE_id,Manger_Passwod,Manger_Power)

此为管理员实体对应的关系模式。

17/28

五、数据库设计与建立

在系统中设立6张表:除了有学生、教师、课程基本表分别记录学生、教师、

课程的基本信息外,考虑到便于系统管理员管理学生用户,设计了用户表,记录

用户登录系统时的用户名、密码以及权限。同时对于学生选课和教师教课都应该

有记录,因此设计了学生选课和教师教课表,其中学生选课表里,包含了学生选

课的内容和各门课的成绩,便于管理员对成绩的录入、修改以及用户对成绩的查

询和检索:教师教课表的内容主要是包含教师所教课程的信息。

首先是用户信息数据表(Manger),用于存储学生管理系统中所有参与人员的

信息,包括教师登录信息、学生登录信息,这样做的目的是可以方便系统判断用

户登录的类型,以及对用户类型的统一管理。用户信息没有包括太多的内容,主

要有用户登录号、用户密码、用户权限代码,读者可以根据自己的具体需要添加

字段,表1显示了表中各个字段的数据类型、大小以及简短描述。

表1用户信息数据表(Manger)

歹名数据类型宽度字段描述

Manger_idChar10用户名,设为主键

Manger_Passw

Char20用户登录本系统时的用户密码

od

Manger用户的类型,0-本校注册学生,1-管理

Int4

Power员

在系统中,最重要的对象是学生,系统设计了学生信息数据表(student),用

于存储本校所有学生信息,其中包括在校生,也包括已毕业学生。表5-7中显示

了表中各个字段的数据类型、大小以及简短描述。

表2学生信息数据表(Student)

歹U名数据类型宽度字段描述

Student_idchar20学生的学号,设为主键

Student_namechar20学生姓名

Student_sexChar4学生性别

Student_timeChar8学生入学时间

Student_classidchar50学生所在班级号

Student_ageint4学生年龄

Student_elsechar50备注

系统构建教师信息数据表(teacher)用来存储本校所有教师信息,教师信息表

给出一个较为简单的结构。表3显示了表中各个字段的数据类型、大小以及简短

描述。

表3教师信息数据表(teacher)

歹U名数据类型宽度字段描述

Teacher_idchar5记录教师号,设为主键

Teacher_namechar10记录教师姓名

18/28

Teacher_classchar20记录教师所在班级

Teacher_deptchar20记录教师所在系

Teacher_elsechar50备注

每一个教师讲授什么课程都有记录,而且一门课可能会有多个老师授课。因

此必须包括课程名称、年度、学期、班级号等,以便管理员或学生查询信息,系

统采用教师—课程记录数据表(teachejcourse)记录以上信息。如表4所示表中各

个字段的数辐类型、大小以及简短描述。

表4教师-调3程记录数据表(teacher_course)

列名数据类型宽度字段描述

教师-课程记录的惟一ID号,设为

IDInt4

主键

TeacheridVarchar50教师号

CourseidVarchar50教师所任课程号

Teacher_clasVarchar50教师所教班级号

s

Course_yearChar5年度学期

Course_menInt4教师所任选修课程限报人数

学生总是离不开课程,系统设计了课程信息数据表(course),用于存储本校所

有课程信息,其中包括课程类型、学分等。表5显示了表中各个字段的数据类型、

大小以及简短描述。

表5课程信息数据表(course)

歹名数据类型宽度字段描述

Course_idchar50课程号,设为主键

Course_namechar50课程名

Course_timechar40开课时间

Class_creditInt4课程学分

Course_deptchar50课程所在系

学生所学课程都会有成绩,并且每个学生每一门课只有一个成绩。系统设计

了学生-课程信息数据表(student—course),用于存储本校所有学生所学课程信息,

表6显示了表中各个字段的数据类型、大小以及简短描述。

表6学生-课程记录数据表(student_course)

歹U名数据类型宽度字段描述

学生-课程记录的惟一ID号,设为主

IDchar10

Studen_idchar10学生学号

Course_idchar10学生所学课程号

Stude_gradeInt4学生成绩

Course_deptchar50学生所学课程所在系

19/28

系统使用MicrosoftSQLServer2000建立数据库,库名为Elective。

库中设计的六个表

使用T-SQL建立数据库Elective

createdatabaseelective

on

(name='electivedb,,

'e:\database\elective.mdf',

size=2,

maxsize=10,

1)

logon

(name='electivelog,,

'e:\database\elective_log.Idf',

size=l,

maxsize=5,

)

go

1、使用T-SQL脚本建立学生信息数据表(Student)。

createtablestudent(

S_idchar(20)primarykey,

S_namechar(40)notnull,

S_sexchar(4)notnull,

S_deptchar(20)notnull,

S_agechar(8)notnull,

S_classidchar(50)notnull,

S_elsechar(50)notnull,

)

2、使用T-SQL脚本建立教师信息数据表(Teacher)。

createtableteacher(

T_idchar(5)primarykey,

T_namechar(10)notnull,

T_classchar(20)notnull,

T_deptchar(20)notnull,

T_elsechar(50)notnull,

)

3、使用T-SQL脚本建立课程信息数据表(Course)。

createtablecourse(

C_idchar(10)primarykey,

C_namechar(20)notnull,

C_timechar(40)notnull,

C_creditintnotnull,

20/28

C_deptchar(50)notnull,

)

4、使用T-SQL脚本建立课程信息数据表(Student_Course)。

createtablestudent_course(

IDchar(10)primarykey,

S_idchar(10)notnull,

C_idchar(10)notnull,

S_gradeintnotnull,

C_deptchar(50)notnull,

)

5、使用T-SQL脚本建立课程信息数据表(TeachejCourse)。

createtableteacher_course(

IDchar(10)primarykey,

T_idchar(10)notnull,

C_idchar(10)notnull,

C_menintnotnull,

T_classchar(40)notnull,

C_yearchar(50)notnull,

)6、但用T-SQL脚本建立课程信息数据表(Manger)。

createtablemanger(

M_idchar(10)primarykey,

M_passwordchar(20)notnull,

M_powerintnotnull,

)~

构建了数据库的表结构后,接下来创建负责表中信息查询、插入、修改、删

除以及授权的相关存储过程(只举例关于表Student,CourseStudent_Course

之间的操作,同理可以对表teacher,CoursefStudent_Course进行相关操作)。

具体操作如下所示:

(一)、查询

基本查询

1、查询DB_Design课程的课程号和学分

SELECTC_id,C_redit

FROMCourse

WHEREC_nameLIKE'DB\_Design'ESCAPE'\';

2、某些学生选修课程后没有参加考试,所以有选修课记录,但没有考试成绩。

查询缺少成绩的学生的学号和相应的课程号:

21/28

SELECTSJd,CJd

FROMStudent_Course

WHERES_gradeISNULL;

3、查询所有有成绩的学生学号和课程号

SELECTS_id,C_id

FROMStudent_Course

WHERES_gradeISNOTNULL;

4、查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列

SELECTSJd,S_grade

FROMStudent_Course

WHERECJd='35ORDERBYS_gradeDESC;

5、查询选修了课程的学生人数

SELECTCOUNT(DISTINCTS_id)

FROMStudent_Course

6、计算选修了1号课程的学生平均成绩

SELECTAVG(S_grade)

FROMStudent_Course

WHEREC_id=T;

7、求各个课程号及相应的选课人数

SELECTC_id,COUNT(SJd)

FROMStudent_Course

GROUPBYCJd

8、查询选修亍3门以上课程的学生学号

SELECTSJd

FROMStudent_Course

GROUPBYSJd

HAVINGCOUNT(*)>3;

连接查询

22/28

1、查询每个学生及其选修课程的情况

SELECTStudent.S_id,S_name,S_sex,S_age,S_dept,CJd,S_grade

FROMStudent,Student_Course

WHEREStudent.SJd=Student_Course.S_id;

(自然连接)

SELECTStudent.*,Student_Course.*

FROMStudent,Student_Course;

(广义笛卡尔积连接)

2、外连接

查询每个学生及其选修课程的情况

SELECTStudent.S_id,S_name,S_sex,S_age,S_dept,C_id,S_grade

FROMStudent,Student_Course

WHEREStudent.S_id=Student_Course.S_id(*);

查询学校设置的所有课程及其选修情况

SELECTC_id,C_name,C_redit,S_id,S_grade

FROMCourse,Student_Course

WHERECourse.C_id=Student_Course.C_id(*);

3、多表连接

例查询每个学生的学号、姓名、选修的课程名及成绩

SELECTStudent.S_id,S_name,C_name

FROMStudent,Course,Student_Course

WHEREStudent.S_id=Student_Course.S_id

ANDStudent_Course.C_id=Course.C_id

4、带有IN谓词的子查询

查询与“刘晨”在同一个系学习的学生

-使用嵌套实现此查询

SELECTS_id,S_name,S_dept

FROMStudent

WHERES_deptIN

(SELECTS_dept

FROMStudent

WHERES_name=,刘晨5);

6、使用嵌套查询实现

查询选修了课程名为“信息系统''的学生学号和姓名

23/28

SELECTS_id,S_name(3)

FROMStudent

WHERES_idIN

(SELECTS_id(2)

FROMStudent_Course

WHERECJdIN

(SELECTC_id(1)

FROMCourse

WHEREC_name=,信息系统'));

(二)、插入

插入一条选课记录('95020',T)

INSERTINTOStudent_Course(S_id,CJd)

VALUES('95OO2','1');

将一个新学生记录插入到Student表中

INSERTINTOStudent

VALUES('95002,J陈冬','男'JIS',18);

(三)、修改

修改某一个元组的值

例将学生95001的年龄改成22岁

UPDATEStudent

SETS__age=22

WHERES_id=u9500r;

(四)、删除

删除一个或多个元组

例删除学号为95019的学生记录

DELETEFROMStudent

WHERES_id='95019';

删除计算机系所有学生的选课记录

DELETEFROMStudent_Course

WHERE'S_dept'=

(SELETES_dept

FROMStudent

WHEREStudent.SJd=Student_Course.S_id);

24/28

(五)、授权

授权

GRANT<权限>[,(权限

fON〈对象类型〉(对象名>]

TO(用户>[,(用户〉]…

[WITHGRANTOPTION];

对象对象类型操作权限

属性列TABLESELECT,INSERT,

UPDATE,DELETE,

ALLPRIVILEGES

基表TABLESELECT,INSERT,

UPDATE,DELETE,

ALTER,INDEX,ALL

PRIVILEGES

数据库DATABASECREATETAB

1、把查询Student表的权限授给用户wang

GRANTSELECTONTABLEStudentTOwang;

2、把对Student表和Course表的全部操作权限授予用户U2和U3

GRANTALLPRIVILIGESONTABLEStudent,CourseTOuser2,user3;

3、把对Student_Course表的查询权限授予所有用户

GRANTSELECTONTABLEStudent_CourseTOPUBLIC;

4、把查询Student表和修改学号的权限妥予用户U4

GRANTUPDATE(SJd),SELECTONTABLEStudentTOU4;

5、把对Student_Course表的插入权限授予用户U5,并允许将此权限再授予其

他用户

GRANTINSERTONTABLEStudent_CourseTOuser5

WITHGRANTOPTION;

收回权限

1、收回U4用户修改学生学号的权限

REVOKEUPDATE(SJd)ONTABLEStudentFROMU4;

2、收回所有用户对表Student_Course的查询权限

REVOKESELECTONTABLEStudent_CourseFROMPUBLIC;

3、收回U5用户对表Student_Course的插入权限

REVOKEINSERTONTABLEStudent_CourseFROMU5;

25/28

六、雷翁嘘库

系统为保持良好的可移植性,采用对数据库配置进行统一管理的方法,将程

序中用到的所有连接字符串信息统一放于Web.Config配置文档中,在程序中通

过这一配置调用,进行数据库连接。

对于数据库调用字符串,由于数据库使用的是本地数据库,DataSource(数

据源)设置为(local);UID(用户ID)赋值为系统默认的sa:PWD(连接密码)赋值

为空;DATABASE徽据库名称)设为我们上一节中创建的Elective。

Web.Config配置文档的相关主要代码如下:

<configuration>

<appSettings>

<addkey二〃dsn〃value二〃Data

Source=(local);UID=sa;PWD=;DATABASE=Elective〃/>

</appSettings>

</configuration>

在每个需要连接数据库的程序中读取Web.Config配置文档中的数据库设置

信息,只要使用如下语句即可。

stringstrconn=Configurationsettings.AppSettings[z/dsnz/];

SqlConnectioncn=newSqlConnection(strconn);

cn.Open();

我们只要在程序文件中加入这几行代码,就可以将数据库连接字段读取到字

符串strconn中,就可使用所连接的数据库了。

12.4.2设置用户验证和授权

在系统中专门建一目录为:manager,把不允许学生浏览的管理员模块的所

有应用程序放入该目录,以便在Web.Config中控制。

先在Web.Config中设置用户名和密码,代码清单如下:

〈authenticationmode="Forms”><!--设

温馨提示

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

评论

0/150

提交评论