数据库案例分析.docx

上传人:b****5 文档编号:6598682 上传时间:2023-01-08 格式:DOCX 页数:47 大小:1.76MB
下载 相关 举报
数据库案例分析.docx_第1页
第1页 / 共47页
数据库案例分析.docx_第2页
第2页 / 共47页
数据库案例分析.docx_第3页
第3页 / 共47页
数据库案例分析.docx_第4页
第4页 / 共47页
数据库案例分析.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

数据库案例分析.docx

《数据库案例分析.docx》由会员分享,可在线阅读,更多相关《数据库案例分析.docx(47页珍藏版)》请在冰豆网上搜索。

数据库案例分析.docx

数据库案例分析

成绩

 

课程设计报告

 

题目学生信息管理

课程名称数据库应用程序课程设计

院部名称

专业

班级

学生姓名

学号

课程设计地点

课程设计学时

指导教师

金陵科技学院教务处制

 

设计项目名称:

数据库应用程序课程设计学时:

30

同组学生姓名:

实验地点:

实验日期:

实验成绩:

批改教师:

批改时间:

摘要

学校大多要管理成千上万学生的信息,但仍有很多学校然传统的管理模式……

使用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:

出错可能性小、处理效率高、易于管理等等。

本系统为学生信息管理系统,其开发主要包括数据库的建立和维护以及前端应用程序的开发两个方面。

经过分析,我们使用了Netbean5.5开发工具,利用其提供的各种面向对象的开发工具,在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。

关键词:

SQLServer2005;jsp;学生信息管理

 

一、课程设计目的和要求

课程设计是为了增强学生对所学课程的理解,学会综合地、灵活地运用所学课程知识的一个重要的实践环节。

本课程设计是应用PHP程序设计语言进行数据库应用系统的开发,用MySQL进行后台数据库的管理,编写出某一个小型的高校失物招领管理系统。

通过本课程设计可以达成如下目标:

1、能够自觉运用数据库原理的理论知识指导软件设计;

2、学会数据库的设计,并能对设计结果的优劣进行正确的评价;

3、学会如何组织和编写信息系统软件设计文档和软件系统的操作说明;

4、具有一定的独立分析问题、解决问题的能力;

5、掌握MySQL数据库在信息系统开发过程中的应用;

6、掌握使用网站开发一般步骤。

二、课程设计的开发环境

1.操作系统:

Windows操作系统(XP、Win7、Win8)

2.开发环境:

WampServer集成开发环境

3.浏览器:

IE7或IE7以上版本、Firefox、Chrom等主流浏览器。

4.文本编辑器:

记事本、Vim、SublimeText3等。

三、课程设计过程

1.需求分析

1.1应用背景

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。

使原本的旧的管理方法越来越不适应现在社会的发展。

许多人还停留在以前的手工操作。

这大大地阻碍了人类经济的发展。

为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。

我们所开发的这个系统所采用的是当前较为流行的编程软件Netbean5.5作为实现语言,以数据库MicrosoftSQLServer2005作为系统的后台操作,其功能在系统内部有源代码直接完成。

我们只需按系统要求输入即可操作。

1.2系统性可行分析

(1)经济上可行性:

现在,计算机的价格已经十分低廉,性能却有了长足的进步。

而本系统的开发,为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:

第一,本系统的运行可以代替人工进行许多繁杂的劳动;

第二,本系统的运行可以节省许多资源;

第三,本系统的运行可以大大的提高学校的工作效率;

所以,本系统在经济上是可行的。

(2)技术上可行性:

本系统的开发我利用MicrosoftSQLServer2005作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。

学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。

使用Netbean5.5作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。

综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。

(3)运行上可行性:

本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。

(3)法律可行性:

本系统作为数据库达作业设计,在开发过程中没有涉及合同、责任等与法律相抵触的方面。

因此,本系统在法律上是可行的。

1.3系统的设计目标

(1)节约资源,提高学籍信息的精确度

本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理。

大节省了学校能源。

并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度。

(2)方便快速操作,精减人员,节约开支

方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支。

为学校增加了财富。

(3)具体目标

1.采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。

2.系统满足学校的需求,例如学生信息的录入、查询、更新等。

管理员对用户的查询、增加、删除等。

3.系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。

1.4系统功能设计

权限功能:

为用户设置权限功能,可分为普通用户,系统管理员。

普通用户只是查询不能修改,系统管理员能修改、删除所有信息。

录入功能:

系统没有为普通用户提供相应的录入功能,为系统管理员提供对所有信息的录入功能。

查询功能:

为所有用户提供查询的功能,可查询允许范围内的所有信息。

维护功能:

为普通用户提供查询及相应的修改功能,为系统管理员提供对所有信息的修改删除功能。

帮助功能:

能帮助初次使用者对本系统的应用及处理常见的问题。

退出功能:

结束并关闭系统。

本系统适用于中小学校,其功能主要分为四大类:

用户管理:

用于对用户的添加删除,赋予不同权限及对用户密码的修改及查询。

课程管理:

用于对各学期课程的开设和查询。

成绩管理:

用于对成绩的添加和查询。

帮助信息:

用于对本系统的具体操作进行详解。

1.5数据流图:

本系统从总体上分为系统信息管理、学生信息管理、课程管理和成绩管理四大部分。

每个模块有自己的作用。

下面的各模块功能流图就是由各功能之间的关系而得出的。

 

(1)登陆模块

(2)学生信息管理模块

(3)课程管理模式

(4)成绩信息管理模块

(5)

按课程

(6)备份与还原模块

图12备份与还原模块1层图

1.6数据字典

(1)用户登录管理

数据项:

用户名

含义说明:

唯一标识每个用户

别名:

用户ID

类型:

字符型

长度:

8

取值范围:

00000001至99999999

取值含义:

按顺序编号

数据结构:

用户名

含义说明:

是学生信息管理系统的用户验证数据结构,定义了用户的登录账户信息

组成:

登录名,登录密码

数据流:

用户信息

说明:

用户账户登录系统的相关信息

数据流来源:

用户

数据流去向:

用户信息验证

组成:

登录名,登录密码

数据存储:

用户信息表

说明:

用户的登录信息的输入与存储

流入数据流:

用户信息

流出数据流:

用户信息

组成:

登录名,登录密码

数据量:

500M

存取方式:

随机存取

处理过程:

用户信息录入

说明:

用户输入的有关信息录入到用户表当中

输入:

登录名,登录密码

输出:

登录名

处理:

用户输入各项数据与各项属性相对应

处理过程:

用户信息验证

说明:

用户输入的有关信息在用户表中进行验证

输入:

登录名,登录密码

输出:

登录名

处理:

用户输入各项数据与各项属性相对应且相同则能成功登录系统

(2)学生信息管理

数据项:

学号

含义说明:

对每一位学生进行的编号

别名:

学生编号

类型:

字符型

长度:

8

取值范围:

00000000至99999999

取值含义:

前两位标别该学生所在年级,后六位按顺序编号

数据结构:

学生

含义说明:

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

组成:

学号,姓名,性别,年龄,系别号,电话,地址,入学时间

数据流:

学生信息

说明:

学生身份的相关信息

数据流来源:

用户请求

数据流去向:

学生数据表

组成:

学号

数据存储:

学生数据表

说明:

记录学生的相关信息

流入数据流:

学生信息

流出数据流:

学生信息

组成:

学号,姓名,性别,年龄,系别号,电话,地址,入学时间

数据量:

500M

存取方式:

随机存取

处理过程:

信息添加

说明:

添加新入学的学生相关信息

输入:

学号,姓名,性别,年龄,系别号,电话,地址,入学时间

输出:

学号,姓名,性别,年龄,系别号,电话,地址,入学时间

处理:

用户输入学号等每一项的相关数据后,存入学生数据表,然后显示给用户

处理过程:

信息删除

说明:

删除退学等特殊情况的学生相关信息

输入:

学号

输出:

学号,姓名,性别,年龄,系别号,电话,地址,入学时间

处理:

用户输入学号后查找到该条记录,然后删除这一整条记录

处理过程:

信息修改

说明:

修改相关学生的相关信息

输入:

学号/姓名/性别/年龄/系别号/电话/地址/入学时间

输出:

学号,姓名,性别,年龄,系别号,电话,地址,入学时间

处理:

用户输入相关修改信息后,修改该条记录的部分信息

处理过程:

信息查询

说明:

查询学生的相关信息

输入:

学号

输出:

学号,姓名,性别,年龄,系别号,电话,地址,入学时间

处理:

用户输入查询条件学号后,输出该学生的记录信息

(3)课程信息管理

数据项:

课程号

含义说明:

对每一位学生可以选择的课程进行的编号

别名:

课程编号

类型:

字符型

长度:

8

取值范围:

00000000至99999999

取值含义:

按顺序对各种课程进行编号

数据结构:

课程

含义说明:

是学生课程信息管理系统的重要数据结构,定义了有关课程的有关信息

组成:

课程号,课程名,教师号,学分,系别号

数据流:

课程信息

说明:

学生选择课程的相关信息

数据流来源:

用户

数据流去向:

用户

组成:

课程号,课程名

数据流:

课程信息

说明:

学生选择课程的相关信息

数据流来源:

课程表,用户

数据流去向:

用户

组成:

课程号,课程名,学分

数据存储:

课程数据

说明:

学生选课相关信息

流入数据流:

学生选课

流出数据流:

学生选课

组成:

课程号,系别号

数据量:

500M

存取方式:

随机存取

数据存储:

课程数据

说明:

学生选课相关信息

流入数据流:

学生课程号

流出数据流:

课程号,课程名,学分

组成:

课程号,课程名,学分

数据量:

500M

存取方式:

随机存取

处理过程:

信息录入

说明:

录入用户输入的学生选课信息

输入:

课程号,系别号

输出:

课程号,课程名,学分

处理:

用户输入后将相关信息处理后记录到课程数据表中。

处理过程:

信息查询

说明:

用户查询时输出用户输出查询的学生选课信息

输入:

课程号,系别号

输出:

课程号,课程名,学分

处理:

用户输入后将相关信息处理后显示给用户的界面,且只能输出相应的课程和相应的系别的信息。

(4)成绩信息管理

数据项:

学号

含义说明:

对每一位学生唯一的编号

别名:

学生编号

类型:

字符型

长度:

8

取值范围:

00000000至99999999

取值含义:

前两位标别该学生所在年级,后六位按顺序编号

数据结构:

成绩

含义说明:

是学生成绩管理系统的主体数据结构,定义了一个学生成绩的有关信息

组成:

学号,课程号,成绩,学分

数据流:

学生成绩

说明:

学生各科成绩的相关信息

数据流来源:

成绩表,课程表

数据流去向:

用户

组成:

学号

数据流:

学生成绩

说明:

学生各科成绩的相关信息

数据流来源:

成绩表,课程表

数据流去向:

用户

组成:

科目

数据流:

学生成绩

说明:

学生各科成绩的相关信息

数据流来源:

用户

数据流去向:

成绩表

组成:

学号,课程号,成绩,学分

数据存储:

成绩排名

说明:

学生的成绩的排序

流入数据流:

学生成绩

流出数据流:

学生成绩

组成:

学号,课程名,成绩

数据量:

500M

存取方式:

随机存取

数据存储:

成绩数据表

说明:

学生的成绩信息的输入与存储

流入数据流:

学生成绩

流出数据流:

学生成绩

组成:

学号,课程名,成绩,学分

数据量:

500M

存取方式:

随机存取

处理过程:

成绩查询

说明:

查询用户想要查询的学生成绩信息

输入:

学号或科目

输出:

课程名,成绩

处理:

用户输入学号后只能输出相应学生的课程名和成绩,不得输出其他学生的信息

处理过程:

成绩录入

说明:

用户输入的有关信息录入到成绩表当中

输入:

学号,课程名,成绩,学分

处理:

用户输入各项数据与各项属性相对应

2.概念设计

2.1分E-R图

概念设计阶段是将需求分析得到的用户需求抽象为信息结构即概念模型的设计过程就是概念结构设计。

以此作为各种数据模型的共同基础,从而能更好地、更准确地用某一DBMS实现这些需求。

概念设计是对现实世界的一种抽象,概念结构独立于数据库的逻辑结构,也独立于支持数据库的DBMS。

概念结构设计是整个数据库设计的关键。

描述概念模型的工具是E-R图。

2.2总E-R图

3.逻辑结构

逻辑结构设计的任务是:

把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

概念结构是各种数据模型的共同基础,为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。

逻辑结构设计的步骤将概念结构转换为一般的关系、网状、层次数据模型;将转换来的关系、网状、层次数据模型向特定DBMS支持下的数据模型转换;对数据模型进行优化。

关系数据库规范化理论是关系数据库逻辑设计的一个理论指南。

规范化理论研究了关系模式中各属性之间的依赖关系及其对关系模式性能的影响,探讨好的关系模式应该具备的性质以及达到好的关系模式的方法。

规划化理论为我们提供了判断关系模式好坏的理论标准,帮助预测可能出现的问题,是数据库设计人员的有力工具,同时也使数据库设计有了严格的理论基础。

关系数据库的规范化主要包括三个方面的内容:

函数依赖,范式和模式设计。

其中函数依赖起着核心的作用,是模式分解和模式设计的基础,范式是模式分解的标准。

3.1关系模式

输出:

学号,课程名,成绩

学生(学号,姓名,班级,性别,出生年月,籍贯,电话,备注,添加时间)

主键为:

学号外键为:

班级达到3NF

班级(名称,院系,班主任,添加时间)

主键为:

名称达到3NF

课程(编号,名称,添加时间)

主键为:

编号达到3NF

成绩(学号,姓名,编号,成绩,添加时间)

主键为:

(学号,编号)外键为:

学号,编号达到1NF

用户(用户ID,用户名,密码,权限,添加时间)

主键:

用户ID达到3NF

对于各关系模式所属范式的分析如下:

(1)“学生”关系模式的分析:

候选键为学号,关系模式蕴含的函数依赖有:

学号姓名,班级,性别,出生年月,籍贯,电话,备注,添加时间。

班级为引用班级表的“班级”外键。

因此,主属性为学号,非主属性为姓名,性别,出生年月,班级,电话,籍贯,备注,添加时间。

在这个关系中,不存在非主属性对码的部分函数依赖及传递函数依赖,又因为本关系模式中,存在函数依赖决定因素为非码的情况,所以用户不属于BCNF。

因而,根据3NF的定义,用户∈3NF。

(2)“班级”关系模式的分析:

候选键为名称,关系模式蕴含的函数依赖有:

名称院系,班主任,添加时间。

因此,主属性为名称,非主属性为院系,班主任,添加时间。

在这个关系中,不存在非主属性对码的部分函数依赖及传递函数依赖,又因为本关系模式中,存在函数依赖决定因素为非码的情况,所以用户不属于BCNF。

因而,根据3NF的定义,用户∈3NF。

(3)“课程”关系模式分析:

候选键为编号,关系模式蕴含的函数依赖有:

编号名称,添加时间。

因此,主属性为编号,非主属性为名称,添加时间。

在这个关系中,不存在非主属性对码的部分函数依赖及传递函数依赖,又因为本关系模式中,存在函数依赖决定因素为非码的情况,所以用户不属于BCNF。

因而,根据3NF的定义,用户∈3NF。

(4)“成绩”关系模式的分析:

主键为(学号,编号),关系模式蕴含的函数依赖有:

(学号,编号)成绩,添加时间,学号姓名。

同时,单一的学号和编号只能作为外键,与学生表,课程表建立完整性连接。

因此主属性为学号,编号。

非主属性为成绩,用户,姓名,添加时间。

在这个关系中,非主属性均部分依赖于码。

因此关系模式成绩不符合2NF。

所以成绩∈1NF

(5)“用户”关系模式的分析:

主键为用户,关系模式蕴含的函数依赖有:

用户用户名,密码,权限,添加时间。

因此主属性为用户,非主属性为用户名,密码,权限,添加时间。

在这个关系中,不存在非主属性对码的部分函数依赖及传递函数依赖,因而,根据3NF的定义,又因为本关系模式中,存在函数依赖决定因素为非码的情况,所以用户不属于BCNF。

因此关系模式用户∈3NF。

3.2关系表

表1用户表结构

字段名

类型

中文名

备注

ID

varchar(50)

用户ID

主键

username

varchar(50)

用户名

非空

pwd

varchar(50)

密码

唯一约束

cx

varchar(50)

权限

非空

addtime

smalldatetime

添加时间

默认约束(获取当前时间)

表2班级表结构

字段名

类型

中文名

备注

mingcheng

Varchar(50)

名称

主键

yuanxi

Varchar(50)

院系

不为空

banzhuren

Varchar(50)

班主任

不为空

addtime

smalldatetime

添加时间

默认约束(获取当前时间)

 

表3学生表结构

字段名

类型

中文名

备注

xuehao

Varchar(50)

学号

主键

xingming

Varchar(50)

姓名

不为空

banji

Varchar(50)

班级

不为空

xingbie

Char

(2)

性别

检查约束(男或女)

chushengnianyue

Varchar(50)

出生年月

不为空

jiguan

Varchar(50)

籍贯

不为空

dianhua

Char(22)

电话

唯一性约束

beizhu

Varchar(50)

备注

不为空

addtime

smalldatetime

添加时间

默认约束(获取当前时间)

表4成绩表结构

字段名

类型

中文名

备注

xuehao

Varchar(50)

学号

主键,与cno组成主键,参照表student

xingming

Varchar(50)

姓名

不为空

bianhao

Varchar(50)

编号

外键

chengji

Varchar(50)

成绩

addtime

smalldatetime

添加时间

默认约束(获取当前时间)

表5课程表结构

字段名

类型

中文名

备注

bianhao

Varchar(50)

编号

主键

mingcheng

Varchar(50)

名称

不为空

addtime

smalldatetime

添加时间

默认约束(获取当前时间)

4.物理结构

4.1关系模式存取方法的选择

该系统选择索引存取的方法。

索引存取方法实际上是根据应用要求确定对关系的哪些属性列建立索引、哪些属性列建立组合索引、哪些索引要求设计为唯一索引等。

现将在该数据库中创建下列索引:

users表关于id升序、的唯一索引,语句如下:

CREATEUNIQUEINDEXindex_usrONusers(idASC);

student表关于sno升序、sdept升序唯一索引,语句如下:

CREATEUNIQUEINDEXindex_stuONxuesheng(snoASC,sdeptASC);

class表关于cno升序、credit降序、sdept升序的唯一索引,语句如下:

CREATEUNIQUEINDEXindex_claONbanji(cnoASC,creditDESC,sdeptASC);

dept表关于sdept升序的唯一索引,语句如下:

CREATEUNIQUEINDEXindex_depONkecheng(sdeptASC);

grade表关于sno升序、credit降序、cno升序的唯一索引,语句如下:

CREATEUNIQUEINDEXindex_graONchengji(snoASC,cnoASC,creditDESC);

4.2确定数据库的存储结构

确定数据库物理结构主要指确定数据的存放位置和存储结构,需要综合考虑数据的存取时间、存储空间利用率和维护代价。

该系统将采用主数据库和副数据库两个数据库。

针对users表,该表只在登录和退出时被访问,访问量较小,所以将该表放在主数据库中。

由于users表的数据相对稳定,主数据库选择放置于是单个磁盘上,目的是便于维护,增强数据的安全性。

针对xuesheng表,banji表,chengji表,kecheng表,alluser表,有较大的瞬时访问量,故将在数据库中放置。

5.数据库实施

5.1创建数据库

Createdatabasejspxscj

On

(name=jspxscj_Data,

Filename='f:

\jspxscj_Data.mdf',

Size=10mb,

Maxsize=500mb,

Filegrowth=20mb)

Logon

(name=jspxscj_Log,

Filename='f:

\jspxscj_Log.ldf',

Size=10mb,

Maxsize=500mb,

Filegrowth=10%)

5.2创建表

Createtableallusers

(IDvarchar(50)primarykey,

Usernamevarchar(50)notnull,

Pwdvarchar(50)notnullconstraintunq_pwdunique,

Cxvarchar(50)notnull,

addtimesmalldatetimeconstraintdefault_timedefault(getdate()))

Createtablexuesheng

(IDvarchar(50)referencesallusers(ID),

Xuehaovarchar(50)primarykey,

xingmingvarchar(50)notnull,

banjivarchar(50)notnull,

xingbiechar

(2)co

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

当前位置:首页 > 医药卫生

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

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