家教信息管理系统数据库课程设计.docx

上传人:b****8 文档编号:10718410 上传时间:2023-02-22 格式:DOCX 页数:26 大小:51.60KB
下载 相关 举报
家教信息管理系统数据库课程设计.docx_第1页
第1页 / 共26页
家教信息管理系统数据库课程设计.docx_第2页
第2页 / 共26页
家教信息管理系统数据库课程设计.docx_第3页
第3页 / 共26页
家教信息管理系统数据库课程设计.docx_第4页
第4页 / 共26页
家教信息管理系统数据库课程设计.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

家教信息管理系统数据库课程设计.docx

《家教信息管理系统数据库课程设计.docx》由会员分享,可在线阅读,更多相关《家教信息管理系统数据库课程设计.docx(26页珍藏版)》请在冰豆网上搜索。

家教信息管理系统数据库课程设计.docx

家教信息管理系统数据库课程设计

1. 绪论 ................................................................- 1 -

2. 总体设计 ............................................................- 1 -

2.1. 数据流程分析图 ...................................................- 1 -

2.2. 系统功能模块设计 .................................................- 1 -

2.3. 安全性设计 .......................................................- 2 -

3. 数据库设计 ..........................................................- 2 -

3.1. 需求分析 .........................................................- 2 -

3.1.1. 任务概述 .....................................................- 2 -

3.1.2. 系统功能需求 .................................................- 2 -

3.2. 概念结构设计 .....................................................- 2 -

3.2.1. 数据需求 .....................................................- 2 -

3.2.2. E-R 图设计 ...................................................- 3 -

3.3. 逻辑结构设计 .....................................................- 3 -

3.3.1. 关系模型 .....................................................- 3 -

3.3.2. 数据库完整性设计 .............................................- 3 -

3.4. 物理结构设计 .....................................................- 4 -

3.4.1. 设计表 .......................................................- 4 -

3.4.2. 数据库与表的创建 .............................................- 6 -

3.4.3. 建立视图 .....................................................- 9 -

3.4.4. 建立索引 .....................................................- 9 -

3.4.5. 建立存储过程 ................................................- 10 -

3.4.6. 建立触发器 ..................................................- 11 -

4. 结论 ...............................................................- 11 -

5. 学习体会 ...........................................................- 11 -

6. 参考文献 ...........................................................- 12 -

7. 致谢 ...............................................................- 12 -

家教信息系统

1. 绪论

随着家教行业竞争的加剧、国内教育制度的不断深化改革,各类家教机构将更加注

重学生的素质教育,不再单一为提高孩子学习成绩而努力,所以课外选择适合学员自己

的家教是至关重要的,家教信息系统是管理教员主要及其详细的信息系统,利用计算机

的数据库系统管理家教信息,达到管理功能完备,操作方便,有效快捷管理家教的信息,

同时能够使用户和学员快速并详细的了解家教信息。

2. 总体设计

2.1.数据流程分析图

数据流程图是一种能全面地描述信息系统逻辑模型的主要工具,它可以用少数几种

符号综合地反映出信息在系统中的流动、处理和存储情况。

数据流程图的特点:

具有抽象性和概括性。

抽象性表现在它完全舍去了具体的物质,

只剩下数据的流动、加工处理和存储;概括性表现在它可以把信息中的各种不同业务处

理过程联系起来,形成一个整体。

结构化分析方法绘制数据流程图的基本思想:

自顶向下,由外向里,逐步分解。

家教信息系统顶层的功能:

教员利用家教信息系统录入自己的基本信息;管理员利

用家教信息系统查看教员基本信息,教授科目信及评价信息,如图2-1所示。

管理教员信息

教员

已录入信息

家教信息系统

教授科目信息管理

系统管理员

评价信息管理

图2-1 顶层数据流图

2.2.系统功能模块设计

家教信息系统

 

用户

登录

模块

教员

信息

模块

用户

留言

模块

系统

管理

模块

修改

密码

模块

 

图2-2 家教信息系统模块图

 

-1-

家教信息系统

2.3.安全性设计

数据库的安全性就是指数据库中数据的保护措施,一般包括的登陆的身份验证管理、

数据库的使用权限管理和数据库中对象的使用权限管理三种安全性保护措施。

家教信息系统是采用管理员鉴定的方法实现数据库的安全,此安全管理措施在数据

库中实现。

登录数据库时,系统让管理员表示自己身份,不同管理员权限不同,系统进

行鉴别此管理员是否为合法用户。

若是,系统进一步对用户口令进行核实。

只有完全符

合的用户才能对系统内容进行相关更改、查询操作。

3. 数据库设计

3.1.需求分析

3.1.1. 任务概述

随着科技的发展和信息技术的日益普及,很多家长抱着望子成龙的心态不遗余力的

为孩子找合适的家教,所以要设计一个家教信息系统,使用户利用网络的方便和快捷来

具体了解家教的详细信息并快速找到适合学员的教员,而不用在跑去“家教服务中心”

去了解,充分提高了快速了解教员信息的效率,减少了劳力及时间的浪费,对管理员来

说,对家教信息的添加,修改,查询,更新和删除是必不可少的,所以开发设计一个全

面的家教信息系统是必不可少的。

3.1.2. 系统功能需求

家教信息系统是一种为管理家教的基本详细信息而设计的系统,一是使用户能够快

速详细的,有针对性的去了解家教的基本信息,教授信息,所授科目信息,以及以往用

户对家教的评价信息,二是对家教信息的管理实现现代化,从而方便了对家教信息的查

询,更新与删除等,总体提高了管理的效率。

3.2.概念结构设计

3.2.1. 数据需求

通过对家教信息系统的分析,得出如下数据特征:

(1)在家教信息系统中,每个教员由教员编号唯一标识,每科科目由科目编号唯一标

识,每个学员由学员编号唯一标识。

(2)每个学员可以学习多门科目,每个教员可以教授多门科目,同时,一门课也可以

由多位教员讲授,可供多为学员学习学习。

(3)每个学员可以评价多位教员,每个教员可以被多位学员评价。

(4)教员表和科目表为多对多的关系,可以通过设置教授表,确定教员和教授科目之

间的明确关系。

(5)学员表和科目表为多对多的关系,可以通过设置学习表,确定学员和选择科目之

间的明确关系。

(7)学员表和教员表为多对多的关系,可以通过设置评价表,确定学员和教员之间的

明确关系。

-2-

家教信息系统

3.2.2. E-R 图设计

家教信息系统根据上面的设计规划出的实体有:

教员实体、科目实体、学员实体。

E-R 图 3-1 如下。

教员编号

姓名

性别

评价时间

电话

教员

N

评价

授课质量

地址

文凭

授课态度

任职类型

M

L

授课时间

 

科目编号

教授

L

学员编号

姓名

性别

科目名称

科目年级

 

科目

N

M

 

学习

N

 

学员

 

地址

电话

课时单价

学习成绩

开始时间

学习程度

图3-1 家教信息系统 E-R 图

 

3.3.逻辑结构设计

数据库逻辑结构设计的任务是将概念结构转换成特定 DBMS 所支持的数据模型的过程。

3.3.1. 关系模型

由 E-R 图转换成关系模式。

首先,将 4 个实体转换成关系模式的结果如下:

教员(教员编号,教员姓名,性别,电话,地址,文凭,任职类型)

科目(科目编号,科目名称,科目年级,课时单价)

学员(学员编号,学员姓名,性别,地址,电话,学习程度)

其次,将 3 个多对多类型的联系转换为关系模式,如下:

教授表(教员编号,科目编号,授课时间)

学习表(学员编号,科目编号,学习成绩,开始时间)

评价表(学员编号,教员编号,评价时间,授课质量,授课态度)

【注:

带下划线的属性为关系的主属性(即关键字)。

对于上述后 3 个表中都引用了

外键,引用的外键“教员编号”都参照“教员表”的主键“教员编号”;引用的外键“科

目编号”都参照“科目表”的主键“教员编号”;引用的外键“学员编号”都参照“学员

表”的主键“学员编号”。

3.3.2. 数据库完整性设计

-3-

家教信息系统

(1) 规范化设计

1.教员表:

教员编号→教员姓名,教员编号→性别,教员编号→电话,教员编号→

地址,教员编号→文凭,教员编号→任职类型。

没有传递依赖,没有部分依赖,则此范

式属于第三范式。

2.科目表:

科目编号→科目名称,科目编号→科目年级,科目编号→课时单价。

有传递依赖,没有部分依赖,则此范式属于第三范式。

3.学员表:

学员编号→学员姓名,学员编号→性别,学员编号→地址,学员编号→

电话,学员编号→学习程度。

没有传递依赖,没有部分依赖,则此范式属于第三范式。

4.教授表:

(教员编号,科目编号)→授课时间。

没有传递依赖,没有部分依赖,则

此范式属于第三范式。

5.学习表:

(学员编号,科目编号)→学习成绩,(学员编号,科目编号)→开始时间。

没有传递依赖,没有部分依赖,则此范式属于第三范式。

6.评教表:

(学员编号,教员编号)→评价时间,(学员编号,教员编号)→授课态度,

(学员编号,教员编号)→授课质量。

没有传递依赖,没有部分依赖,则此范式属于第三

范式。

(2)约束设计

1.在教员、学员表中建立一个检查约束,即“性别”属性不是‘男’就是‘女’

check(sex='男'or sex='女')。

2.在学习表中建立一个检查约束,即“成绩” 属性在 0 到 100 之间,check(score

>=0 and score<=100)。

3.在评教表中,授课质量和授课态度属性设置检查约束,范围在 0 到 100 星之间,

check(属性字段>=0 and 属性字段<=100)。

(3)视图设计

建立视图kemuxinxi_view,可以查看科目编号、科目名和科目年级的视图。

(4)索引设计

1. 在 jiaoyuan 表中的 jiaoyuanid 列上创建名为 jiaoyuanid_index 的聚集索引。

2. 在 xueyuan 表中的 xueyuanid 列上创建名为 xueyuanindex 的非聚集索引。

(5)存储过程设计

针对教员信息表 jiaoyuan,创建一个名称为 jiaoyuan_proc1 的存储过程,该存储过

程的功能是从数据表 jiaoyuan 中查询所有女教师的信息,并执行。

(6)触发器设计

建立一个 update 触发器(T2):

在数据库 jiajiaoxinxi 的 worker 表中的教员编号是

唯一且不可改变的,创建触发器 T2 实现更新中编号的不可改变性。

3.4.物理结构设计

3.4.1. 设计表

按照上述关系数据模型,系统所涉及的部分数据表如下表所示:

表 1 教员信息表

 

-4-

字段名

含义说明

数据类型

是否为空

约束设计

Jiaoyuanid

教员编号

Char(6)

主键

Xingming

教员姓名

Char(8)

Xingbie

性别

Char

(2)

“男”或“女”

Dianhua

电话

Int

Dizhi

地址

Char(20)

Wenping

文凭

Char(4)

rzlx

任职类型

Char(4)

字段名

含义说明

数据类型

是否为空

约束设计

Xueyuanid

学员编号

Char(6)

主键

Xingming

学员姓名

Char(8)

Xingbie

性别

Char

(2)

“男”或“女”

Dizhi

地址

Char(20)

Dianhua

电话

Int

Xxcd

学习程度

Char(4)

字段名

含义说明

数据类型

是否为空

约束设计

Kemuid

科目编号

Char(6)

主键

Mingcheng

科目名称

Char(10)

Nianji

科目年级

Char(6)

Danjia

课时单价

Int

字段名

含义说明

数据类型

是否为空

约束设计

Jiaoyuanid

教员编号

Char(6)

主键、外键

Kemuid

科目编号

Char(6)

主键、外键

Sksj

授课时间

Datetime

字段名

含义说明

数据类型

是否为空

约束设计

Xueyuanid

学员编号

Char(6)

主键、外键

Kemuid

科目编号

Char(6)

主键、外键

-5-

表 2 科目信息表

 

表 3 学员信息表

 

表 4 教授表

 

表 5 学习表

 

字段名

含义说明

数据类型

是否为空

约束设计

Xueyuanid

学员编号

Char(6)

主键、外键

Jiaoyuanid

教员编号

Char(6)

主键、外键

Pjsj

评价时间

Datetime

Skzl

授课质量

Int

0 到 100

Sktd

授课态度

Int

0 到 100

Xxcj

学习成绩

Int

0 到 100

Kssj

开始时间

Datetime

 

表 6 评价表

 

3.4.2.  数据库与表的创建

1. 创建数据库 jiajiaoxinxi,如图 3-2 所示。

 

图 3-2 数据库 jiajiaoxinxi

2. 创建教员信息表并录入表数据

CREATE TABLE jiaoyuan

jiaoyuanid CHAR(6) PRIMARY KEY,

xingming CHAR(8) not null,

xingbie CHAR

(2) CONSTRAINT sex_Check CHECK(xingbie='男'OR xingbie='女') not

null,

dianhua char(11) not null,

dizhi char(20),

wenping char(4),

rzlx char(4),

 

-6-

家教信息系统

图3-3 教员信息表

3. 创建科目表并录入表数据

CREATE TABLE kemu

kemuid CHAR(6) PRIMARY KEY,

mingcheng CHAR(10) not null,

nianji CHAR(6),

danjia int,

 

图3-4 科目信息表

4. 创建学员信息表并录入表数据

CREATE TABLE xueyuan

xueyuanid CHAR(6) PRIMARY KEY,

xingming CHAR(8) not null,

xingbie CHAR

(2) CONSTRAINT sex_Chk CHECK(xingbie='男'OR xingbie='女') not

null,

dizhi char(20),

dianhua int,

xxcd char(4),

 

-7-

家教信息系统

图3-5 学员信息表

5. 创建教授表并录入表数据

CREATE TABLE jiaoshou

jiaoyuanid CHAR(6) not null,

kemuid char(6) not null,

sksj datetime not null,

primary key(jiaoyuanid,kemuid),

FOREIGN KEY (kemuid) REFERENCES kemu on delete cascade,

FOREIGN KEY (jiaoyuanid) REFERENCES jiaoyuan on delete cascade,

 

图3-6 教授表

6. 创建学习表并录入表数据

create table xuexi

( xueyuanid CHAR(6) not null,

kemuid char(6) not null,

xxcj int check(xxcj<=100)not null,

kssj datetime,

primary key(xueyuanid,kemuid),

FOREIGN KEY (xueyuanid) REFERENCES xueyuan on delete cascade,

FOREIGN KEY (kemuid) REFERENCES kemu on delete cascade,)

 

-8-

家教信息系统

图3-7 学习表

7. 创建评价表并录入表数据

CREATE TABLE pingjia

xueyuanid CHAR(6) not null,

jiaoyuanid char(6) not null,

pjsj datetime not null,

skzl int check(skzl<=100),

sktd int check(sktd<=100),

primary key(xueyuanid,jiaoyuanid),

FOREIGN KEY (xueyuanid) REFERENCES xueyuan on delete cascade,

FOREIGN KEY (jiaoyuanid) REFERENCES jiaoyuan on delete cascade,

 

图3-8 评价表

 

3.4.3. 建立视图

视图作为一种数据库对象,为用户提供一种检索数据表中数据的方式。

视图被看成

是虚拟表,它并不表示任何物理数据,只是用来查看数据的视窗而已。

建立视图kemuxinxi_view,可以查看科目编号、科目名和科目年级的视图,如图3-

9、3-10所示

use jiajiaoxinxi

create view kemuxinxi_view

as

select kemuid,mingcheng,nianji

from

kemu

 

图3-9 创建视图

 

-9-

家教信息系统

 

图3-10 查询视图

 

3.4.4. 建立索引

在数据库中的某些列上建立索引可以加快查询速度,减少服务器的响应时间。

在查

询数据的时候先查看一下索引而不是扫描整个数据表,这就相当于先翻翻书籍的目录,

从索引里确定了用户要查找的数据在表中的哪些行里面,再去扫面这些行,查询的速度

会大大加快。

1. 在 jiaoyuan 表中的 jiaoyuanid 列上创建名为 jiaoyuanid_index 的聚集索引,

如图 3-11 所示。

use jiajiaoxinxi

go

create clustered index jiaoyuanid_index on jiaoyuan(jiaoyuanid)

go

 

图3-11 创建聚集索引

2. 在 xueyuan 表中的 xueyuanid 列上创建名为 xueyuanindex 的非聚集索引,如图

3-12 所示。

use jiajiaoxinxi

go

create nonclustered index xueyuanindex on xueyuan(xueyuanid)

go

 

- 10 -

家教信息系统

 

图3-12 创建非聚集索引

3.4.5. 建立存储过程

为了易于修改和扩充方便,将负责某种独立功能的语句集中起来并按照用途分别独

立放置,以便能够反复使用,因此我们要在数据库中建立存储过程。

存储过程预编译并

存储在数据库中的特性,不仅能提高应用效率,确保一致性,更能提高系统执行速度。

1.针对教员信息表 jiaoyuan,创建一个名称为 jiaoyuan_proc1 的存储过程,该存

储过程的功能是从数据表 jiaoyuan 中查询所有女教师的信息,如图 3-13、3-14 所示。

use jiajiaoxinxi

go

create procedure jiaoyuan_proc1

as

select * from jiaoyuan where xingbie='女'

go

 

图3-13 创建存储过程

2. 执行存储过程 jiaoyuan_proc1.

use jiajiaoxinxi

execute jiaoyuan_proc1

go

 

图3-14 执行触发器

3.4.6. 建立触发器

触发器是一种在数据表或视图被修改时自动执行的内嵌存储过程,主要是通过事件

进行触发的。

触发器的主要作用是实现由主键和外键所不能保证的复杂的参照完整性和

数据一致性。

建立一个 update 触发器(T2):

在数据库 jiajiaoxinxi 的 worker 表中的教员编号是

- 11 -

家教信息系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

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

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