大数据库课程设计报告材料.docx

上传人:b****5 文档编号:4517206 上传时间:2022-12-01 格式:DOCX 页数:22 大小:236.38KB
下载 相关 举报
大数据库课程设计报告材料.docx_第1页
第1页 / 共22页
大数据库课程设计报告材料.docx_第2页
第2页 / 共22页
大数据库课程设计报告材料.docx_第3页
第3页 / 共22页
大数据库课程设计报告材料.docx_第4页
第4页 / 共22页
大数据库课程设计报告材料.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

大数据库课程设计报告材料.docx

《大数据库课程设计报告材料.docx》由会员分享,可在线阅读,更多相关《大数据库课程设计报告材料.docx(22页珍藏版)》请在冰豆网上搜索。

大数据库课程设计报告材料.docx

大数据库课程设计报告材料

 

数据库课程设计

教学管理系统

 

评价标准

分数比例(%)

成绩

论文

论文结构包含:

相关技术介绍、需求分析、概念结构设计、逻辑结构设计、数据库物理设计、数据库实施、系统测试方案和测试报告、系统的主要功能和使用说明、系统安装说明。

要求论文完整、内容详细,格式规范。

 

40

程序

系统运行正确;

功能完善:

有增、删、改、查功能,有基本的报表、查询、统计和输入、输出功能;

工作量充分;

系统实现技术的难度。

30

 

数据

库设

E-R图设计正确;

数据库逻辑结构设计规范化;

数据库物理设计合理。

30

总评成绩

及格

不及格

总分

 

前言...4

前言...4

相关技术介绍...4

第一章需求分析...4

1.1任务概述...5

1.1.1目标...5

1.1.2运行环境...5

1.2数据流图...5

1.3数据字典...6

1.4系统流程分析...6

第二章概念结构设计...7

第三章逻辑结构设计...8

3.1逻辑结构设计...8

3.2规范化处理...10

第四章数据库物理设计...11

4.1索引表...10

4.2系统配置...11

4.3视图...11

第五章数据库的实施...11

5.1创建数据库及数据库对象...11

5.2完整性约束创建...13

5.3数据库的维护及备份...14

5.3.1维护...14

5.3.2检测并改善数据库性能...14

5.3.3备份...14

第6章前台用户界面...14

第七章结论与体会...17

参考文献

 

0、前言

0.1引言

数据库作为存取数据并对数据进行操作的工具在系统中所起到的作用至关重要。

数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理模式结果,并据此建立数据库及其应用系统,使之能有效地存储和管理数据,满足应用需求,包括信息管理要求和数据操作。

信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象进行哪些操作,如查询、增、删、改、统计等操作。

数据库设计地目标是维用户和各种应用系统提供的一个信息基础设施和高效率地运行环境。

高效率的运行环境包括:

数据库数据的存取速率、数据库存储空间的利用率、数据库系统运行管理的效率等都是高的。

  为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。

我按照以上几点开发了学生选课管理系统数据库。

0.2相关技术介绍

0.2.1MYSQL概述

MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle旗下产品。

MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。

MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。

MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。

0.2.2VisualStudio概述

MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品。

VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。

所写的目标代码适用于微软支持的所有平台,包括MicrosoftWindows、WindowsMobile、WindowsCE、.NETFramework、.NETCompactFramework和MicrosoftSilverlight及WindowsPhone。

 

1、需求分析

1.1任务概述

1.1.1目标

建立一个教学管理系统,系统通过数据库存储学校学生、教职工、系、课程以及成绩等资料,系统管理员可通过用户名与密码进入数据库,并根据给予的权限对数据库的数据进行查询或修改。

删除的数据要留底。

对数据库进行操作级审计。

1.1.2运行环境

(1)、硬件配置

安装本软件之前,需要确保计算机具有如下配置,这也是最低硬件要求:

使用1G内存

不小于40MB的可用硬盘空间

(2)、软件配置

安装本软件之前,需要确保计算机已安装:

MicorsoftWindowsXP及以上的操作系统

.NETFramework3.5以上

1.2数据流图

操作数据信息

 

数据信息

 

图1顶级数据流图

用户名密码登录信息

 

管理员信息

验证通过

学生信息

操作

增删改查

操作教职工信息

 

课程信息

删除的信息

 

成绩信息

 

系信息

图2、一级数据流图

1.3数据字典

数据元素

数据类型

数据长度

数据组成

数据来源

描述

学号

Varchar

10

10{数字}10

学生信息表

成绩表

唯一标示学生的号码

职工号

Varchar

8

8{数字}8

职工信息表

唯一标示教工

姓名

Varchar

10

1{汉字}10

学生信息表

职工信息表

人员姓名

性别

Varchar

1

[男|女]

学生信息表

职工信息表

人员性别

所在系号

Int

3

3{数字}3

学生信息表

职工信息表

系号

Int

3

3{数字}3

系信息表

唯一标示一个系的编号

系名称

Varchar

20

1{汉字}20

系信息表

课程号

Int

4

4{数字}4

课程信息表

成绩表

唯一标示一个课程的编号

课程名称

Varchar

20

1{汉字}20

课程信息表

任课老师

Varchar

8

8{数字}8

课程信息表

这节课的负责教师

考试成绩

Int

3

1{数字}3

成绩表

1.4系统流程分析

前面的分析中我们确定了系统各个功能模块,属于静态建模的范围。

在系统运行时刻的动态模型应该由系统流程决定。

从上面的功能描述中,我们可以把各个系统分为5个模块:

用户验证,师生信息管理,课程信息管理,成绩管理和信息查询。

在每个模块下又提供更为具体的功能。

详细的系统模块关系图如图3所示。

 

 

图3、程序流程图

通过对整个管理系统的功能分析,可以定义出系统的功能模块图,从中再细分各模块,可以得到系统概要模块如下:

 

图4、功能模块图

2数据库概念结构设计

采用E-R图的分析方法,首先对局部视图进行分析设计,然后再实现视图集成。

在视图集成时,注意要尽量消除冲突和冗余。

在这里直接给出视图集成后的E-R图,如图5所示。

E-R图如下

 

图5、实体E-R图

3数据库逻辑结构设计

根据E-R图,我们可以创建以下数据表。

●系统管理员表

系统管理员(admin)存储了登录本系统的用户的登录ID和密码,权限以及盐值

表1、系统管理员表

字段名称

数据类型

可否为空

约束条件

说明

ADMIN_USER

Varchar(50)

NOTNULL

主键

管理员ID

ADMIN_PSWD

Varchar(256)

NOTNULL

管理员密码哈希值

ADMIN_PERMIT

Varchar

(1)

NOTNULL

管理员权限

Salt

Varchar(10)

NOTNULL

管理员密码盐值

●学生信息表

学生信息表(student)存放了学校的所有学生的基本信息,所有有关学生的操作都与这个表有关。

通过时间戳自动生成入学时间。

信息从表中删除时加入历史表留底。

表2、学生信息表

字段名称

数据类型

可否为空

约束条件

说明

Sno

Varchar(50)

NOTNULL

主键

学生学号

Sname

Varchar(50)

NOTNULL

学生姓名

Ssex

Varchar

(1)

NOTNULL

学生性别

S_Dno

Varchar(50)

NOTNULL

外键

学生所在系号

Sindate

Datetime

NOTNULL

时间戳形成

学生入学时间

●教师信息表

教师信息表(teacher)存放了学校的所有教师的基本信息,所有有关教师的操作都与这个表有关。

通过时间戳自动生成入职时间。

信息从表中删除时加入历史表留底。

表3、教师信息表

字段名称

数据类型

可否为空

约束条件

说明

Tno

Varchar(50)

NOTNULL

主键

教师工号

Tname

Varchar(50)

NOTNULL

教师姓名

Tsex

Varchar

(1)

NOTNULL

教师性别

T_Dno

Varchar(50)

NOTNULL

外键

教师所在系号

Tindate

Datetime

NOTNULL

时间戳形成

教师入职时间

●系信息表

系信息表(department)存放了学校的所有系的基本信息,并且与学生表以及教师表有紧密联系

表4、系信息表

字段名称

数据类型

可否为空

约束条件

说明

Dno

Varchar(50)

NOTNULL

主键

系号

Dname

Varchar(50)

NOTNULL

系名称

Dsummary

Text

NULL

系简介

●课程信息表

课程信息表(course)记录了学校中所有课程的信息。

表5、课程信息表

字段名称

数据类型

可否为空

约束条件

说明

Cno

Varchar(50)

NOTNULL

主键

课程号

Cname

Varchar(50)

NOTNULL

课程名称

C_Tno

Varchar(50)

NOTNULL

外键

任课老师工号

●成绩信息表

成绩表(sc)记录了某个学生在某们课程得到的成绩。

表6、成绩表

字段名称

数据类型

可否为空

约束条件

说明

Sno

Varchar(50)

NOTNULL

主键、外键

学生学号

Cno

Varchar(50)

NOTNULL

主键、外键

课程名称

Grade

Int

NULL

当科成绩

●历史表

历史表(history)记录了离校学生或离职教师的信息,通过触发器自动生成,尽量避免手动添加。

作为留底超过一定数量应给予整理。

表7、历史表

字段名称

数据类型

可否为空

约束条件

说明

Hno

Varchar(50)

NOTNULL

主键

曾用标示号

hname

Varchar(50)

NOTNULL

姓名

hSex

Varchar

(1)

NOTNULL

性别

hdepartment

Varchar(50)

NOTNULL

曾在系名

hindate

Datetime

NOTNULL

入学日期

houtdate

Datetime

NOTNULL

时间戳形成

离校日期

●审计表

审计表(Accesslog)记录了除管理员外的数据库用户对数据库的使用情况,处于安全性考虑,用独立的数据库进行保存,并且只赋予管理员权限进行查看。

只可通过系统进行数据添加,严禁手工操作数据!

表8、审计表

字段名称

数据类型

可否为空

约束条件

说明

Id

Varchar(50)

NOTNULL

主键、自增

标示号

time

timestamp

NOTNULL

时间戳形成

操作时间

loaclname

Varchar(50)

NOTNULL

操作帐号

matchname

Varchar(50)

NOTNULL

对应用户

 

3.2规范化处理

经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。

(加粗代表主码,斜体外码)

Admin(ADMIN_USER,ADMIN_PSWD,ADMIN_PERMIT)

Student(Sno,Sname,Ssex,S_Dno,Sindate)

Teacher(Tno,Tname,Tsex,T_Dno,Tindate)

Department(Dno,Dname,Dsummary)

Course(Cno,Cname,C_Tno)

SC(Sno,Cno,Grade)

4物理结构设计

数据库在物理上的存储结构与存储方法称为数据库的物理结构,它依赖于选定的数据库管理系统。

为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是物理结构设计。

数据库的物理结构设计通常分为两步:

(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;

(2)对物理结构进行评价,评价的中的是时间和空间效率。

4.1创建数据库及建立索引以及完整性约束

使用工具NavicatforSQL,创建了school数据库及Accesslog数据库并生成相关数据库模型,图如下

建立各数据库间的索引关系。

4.2系统配置

在mysql配置文件my.ini中的mysqld设置项中写入如下配置:

init-connect='insertintoaccesslog.accesslogvalues(connection_id(),now(),user(),current_user());'

当非超级管理员连接数据库时自动向审计表中写入审计记录。

创建受限用户a,只允许其对school数据库中student,teacher,course,sc,department表进行增删改查操作,拒绝其他权限。

4.3视图

用SQL管理工具建立常用的一个视图,即学生_成绩视图。

菜单栏中单击工具→向导→数据库→创建视图向导,选择你所要建的试图的对象,选择列名,按照提示,最后单击完成即可。

使用SQL语句建立视图的命令如下:

create view student_sc

as

select sno,sname,o,cname,grade

from student join sc on student.sno= sc.sno

join course on o=o

5数据库实施

5.1创建数据库及数据库对象

*********************************************************

CREATEDATABASEschool;

USEschool;

CREATETABLEAdmin(

ADMIN_USERVARCHAR(50)NOTNULL,

ADMIN_PSWDVARCHAR(50)NOTNULL,

ADMIN_PERMITVARCHAR(50)NOTNULL,

SaltVARCHAR(10)NOTNULL,

PRIMARYKEY(ADMIN_USER)

);

CREATETABLEStudent(

SnoVARCHAR(50)NOTNULL,

SnameVARCHAR(50)NOTNULL,

SsexVARCHAR

(1)NOTNULL,

S_DnoVARCHAR(50)NOTNULL,

SindateDATETIMENOTNULL,

PRIMARYKEY(Sno)

);

CREATETABLETeacher(

TnoVARCHAR(50)NOTNULL,

TnameVARCHAR(50)NOTNULL,

TsexVARCHAR

(1)NOTNULL,

T_DnoVARCHAR(50)NOTNULL,

TindateDATETIMENOTNULL,

PRIMARYKEY(Tno)

);

CREATETABLEDepartment(

DnoVARCHAR(50)NOTNULL,

DnameVARCHAR(50)NOTNULL,

DsummaryTEXT,

PRIMARYKEY(Dno)

);

CREATETABLECourse(

CnoVARCHAR(50)NOTNULL,

CnameVARCHAR(50)NOTNULL,

C_TnoVARCHAR(50)NOTNULL,

PRIMARYKEY(Cno)

);

CREATETABLESC(

SnoVARCHAR(50)NOTNULL,

CnoVARCHAR(50)NOTNULL,

GradeINT,

PRIMARYKEY(Sno,Cno)

);

CREATETABLEHISTORY(

HNOVARCHAR(50)NOTNULL,

HNAMEVARCHAR(50)NOTNULL,

HSEXVARCHAR(50)NOTNULL,

HDEPARTMENTVARCHAR(50)NOTNULL,

HINDATEDATETIMENOTNULL,

HOUTDATEDATETIMENOTNULL,

PRIMARYKEY(HNO)

);

CREATEDATABASEAccesslog;

UseAccesslong;

CREATETABLEAccesslong(

IDINT,

TIMETIMESTAMP,

LOCALNAMEVARCHAR(50),

MATCHNAMEVARCHAR(50),

PRIMARYKEY(ID

);

*********************************************************

5.2完整性约束

*********************************************************

useschool;

altertablestudentaddconstraintFK_ID0foreignkey(S_Dno)REFERENCESdepartment(Dno);

altertableteacheraddconstraintFK_ID1foreignkey(T_Dno)REFERENCESdepartment(Dno);

altertablecourseaddconstraintFK_ID2foreignkey(C_Tno)REFERENCESteacher(Tno);

altertablescaddconstraintFK_ID3foreignkey(Sno)REFERENCESstudent(Sno);

altertablescaddconstraintFK_ID4foreignkey(Cno)REFERENCEScourse(Cno);

***************************************************************************

 

***************************************************************************

CREATEDEFINER=`root`@`localhost`TRIGGER`indate`BEFOREINSERTON`student`

FOREACHROWsetnew.sindate=current_date;

CREATEDEFINER=`root`@`localhost`TRIGGER`olddata`BEFOREDELETEON`student`

FOREACHROWbegin

insertintohistory(hno,hname,hsex,hindate,houtdate)values(old.sno,old.sname,old.ssex,old.sindate,current_date);

updatehistoryh,departmentpseth.hdepartment=p.dnamewherep.dno=old.s_dno;

end;

*********************************************************

5.3数据库的维护

在数据库运行阶段,对数据库经常性的维护工作主要是有DBA完成,它包括:

1.数据库的转储和恢复

2.数据库的安全性和完整性控制

3.数据库性能的监督、分析和改造

4.数据库的重组织与重构造

5.3.1维护

数据库既是共享的资源,又要进行适当的保密。

DBA必须对数据库安全性和完整性控制负起责任。

尤其在计算机网络普遍引应用的今天,保证数据安全、防止黑客攻击、防止病毒入侵等,都是DBA所需要面对的。

按照设计阶段提供的安全防范和故障恢复规范,DBA要经常检查系统的安全是否受到侵犯,根据用户的实际需要授予用户不同的操作权限。

数据库在运行过程中,由于应用环境发生变化,对安全性的要求可能发生变化,DBA要根据实际情况及时调整相应的授权和密码,以保证数据库的安全性。

同样数据库的完整性约束条件也可能会随应用环境的改变而改变,这时DBA也要对其进行调整,以满足用户的要求。

5.3.2检测并改善数据库性能

目前许多DBMS产品都提供了检测系统性能参数的工具,DBA可以利用系统提供的这些工具,经常对数据库的存储空间及响应时间进行分析评价;结合用户的反映情况确定改进措施;及时改正运行中发现的错误;按用户的要求对数据库的现有功能进行适当的扩充。

但要注意在增加新功能时应保证原有功能和性能不受损害。

5.3.3重新组织和构造数据库

数据库建立后,除了数据本身是动态变化外,随着应用环境的变化,数据库本身也必须变化以适应应用要求。

数据库运行一段时间后,由于记录在不断增加、删除和修改,会改变数据库的物理存储结构,使数据库的物理特性受到破坏,从而降低数据库存储空间的利用率和数据的存取效

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

当前位置:首页 > 高中教育 > 高中教育

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

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