当前位置:文档之家› 项目一 数据库管理系统中需求分析

项目一 数据库管理系统中需求分析

一、本课程的任务后台数据库构建、数据库操作、管理、维护,为后续课程如JA V A,作准备工作,从而从前台到后台完成一个完整信息管理系统的创建。

二、本课程的学习特点及思路1、项目引导,任务驱动2、以一个完整的信息管理系统的后台数据库的构建为例,贯穿本课程。

3、项目分成若干个子项目。

按子项目的完成来开展教学。

三、考试形式:按平时实验情况及课程设计情况给出分数。

项目一学生信息管理系统中数据需求分析任务:确定学生信息管理系统的基本功能。

找出系统中的实体,如学生、教师、课程等。

找出各实体的各种属性,如学生有学号,姓名,性别,出生日期等。

找出实体之间的关系,如学生与课程的关系是“学习”,画出E-R图将E-R图转换成二维表对二维表进行优化处理课程引入:在IT企业中,经常需要创建一些小型的数据库对企业的生产,销售,财务,人事等日常生产活动进行管理,那第要创建一个怎样的数据库,库中包含哪些表及其它对象,表中有哪些数据既能保证数据的冗余尽可能少,又能何证对数据库操作不会出现异常,既方便用户的使用和操作,又能满足数据库安全及管理需要?这是IT工作岗位中经常遇到的工作,也是IT从业人员必备的职业素质。

因此掌握信息系统的数据分析的知识、方法及技巧是完全必要的。

本单元通过对“学生信息管理系统”中的数据需求分析的学习及实践,使同学们掌握常用信息系统的数据分析方法与技巧,为后续章节的学习打好基础。

数据库设计目的是根据用户的需求,构造最优的数据库模式,使它能有效地存储数据。

数据库设计的优劣直接影响到信息系统的质量和运行效果。

因此设计一个结构优化的数据库是对数据进行有效管理的前提和正确利用信息的保证。

在中小型企业中,通常使用SQL Server数据库。

项目背景:随着信息技术的发展,在教学管理中采用现代的科学管理和技术手段势在必行。

这样可以减轻管理人员的工作量,充分发挥人,财,物各种将资源的效用。

通过分析我校教学管理现状,结合学校实际情况,开发学生信息管理系统,实现对学生信息,教师信息,学成成绩,教学授课,选课情况等方面进行一体化管理课程内容:数据库设计的方法中比较著名的有新奥尔良方法,它将数据库的设计分为四个阶段:需求分析,概念设计,逻辑设计和物理设计。

需求分析:需求分析阶段是整个设计的基础,是最困难,最耗时间的一步,需求分析做得是否充分与准确,决定了其上构建数据库的速度与质量。

需求分析如果做的不好,可能会导致整个数据库设计返工重做。

本案例中任务分析:管理员可对学生基本信息,班级信息,教师信息,学生选课情况,学校基本信息进行管理,学生可对本人信息进行修改,进行网上选课,浏览个人成绩及选课情况。

包括这样几个功能模块:1、用户管理:用户注册,用户登录,用户修改,用户删除2、学生基本信息管理:系别信息添加、修改、删除;班级信息添加、修改、删除;学生信息的添加、修改、删除;系别、班级、学生基本信息的查询。

3、教师基本信息管理:教师信息的添加、修改、删除、查询。

4、课程管理:课程信息的添加、修改、删除、查询;教师授课安排,学生选课。

5、学生成绩管理:成绩的录入和修改;成绩的汇总统计,成绩的审核和锁定;成绩的查询。

6、系统维护管理:数据备份、恢复;导入、导出;系统帮助。

通过对以上系统功能分析得知,该系统涉及大量,复杂的数据管理,如何组织数据,采取何种数据模型来维护数据,是摆在我们面前的首要问题。

概念设计:概念设计是在需求分析的基础上,用概念数据模型如E-R 数据模型,表示数据及其相互间的联系。

此时的模型虽然不能直接实现,但由于它易于被用户所理解,因而它不但用于后续的设计,而且也是与用户交流的重要资料。

E-R 模型的图形表示法提供了表示实体、属性和联系的方法实体用矩形表示,框内写明实体名。

属性用椭圆表示,框内写明属性。

联系用菱形表示,菱形框内写上实体间的联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:N ,M :N )。

(一对一,一对多,多对多)。

在本案例中:包含的实体有:学生,课程,班级,教师等,同学们可根据功能需求确定每个实体中所包含的属性,并画出相应的E-R 表示。

如学生:实体之间的关系表示为:概念模型的设计有这样几个步骤:设计局部概念模型(1) 明确局部应用的范围、根据应用功能相对独立,实体个数适量的原则,划分局部应用。

例我们可以将系统划分为选课E-R 模型,授课E-R 图。

(2) 选择实体,确定实体的属性及标识实体的关键字。

(3) 确定实体之间的联系,产生局部E-R 模型。

设计全局概念模型对局部概念模型进行合并。

思考:在本案例中,应有几个实体,各实体的属性有哪些,各实体之间有什么样的关系?在本案例中:确定实体为:学生,教师,班级,课程学生属性有:学号,姓名,性别,出生日期,班级名称,联系电话教师属性有:教师编号,教师姓名,所属系部,联系电话班级属性有:班级编号,班级名称,班主任,班长,所属专业,所属系部课程属性有:课程编号,课程名称,课程类型,学时,学分,具体描述各实体之间的关系:学生学习课程,教师教授课程,学生属于班级,教师授课班级根据以上情况画出相应的E-R图如下:逻辑设计:将概念数据模型表示的,与DBMS(数据库管理系统)无关的数据模式,转换成以DBMS的逻辑数据模型表示的逻辑模式,并对其进行优化。

从E-R图转化成关系模式关键字(码):唯一标识实体的属性称之。

例如学生实体的学号,教师实体的教师编号等候选关键字:对某个关系,若存在多个属性都是关键字,则它们中的任何一个都称为候选关键字。

外部关键字:不是本关系的关键字,而是另一个关系的关键字。

●一个实体转换为一个数据表。

实体的属性转换为数据表的字段。

●一对一,一对多的联系不转换为一个数据表。

两个实体对应的数据表依靠外部关键字建立联系。

一对一:一位厂长管理着一个工厂,一个工厂只有一位厂长。

厂长数据表(厂长姓名#,年龄,性别,职工人数)工厂数据表(工厂编码#,工厂全名,地址,厂长姓名*)一对多:两个实体分别转换为两个数据表,而联系不用转换为数据表,依靠外部关键字建立联系。

在多的一方引入外部关键字。

专业数据表(专业编号#,专业名称)班级数据表(班级编号#,班级名称,班长,班主任,专业编号*)●多对多的联系转换为一个数据表。

该数据表的复合关键字为两个实体的关键字。

必须把多对多联系简化成两个一对多的联系来处理。

多对多:学生(学号#,学生姓名,性别,年龄,邮箱)课程(课程编号#,课程名称,课时数,学分)学习(学号#,课程编号#,成绩)根据以上理论,在本案例中,可以转化出几个表?确定每个表中包含字段及主键和外键。

(思考)规范化处理消除异常,改善完整性和存储效率,一般达到第三范式要求就可以了。

第一范式若一个关系中,各属性都是不可再分割的基本数据项,则称该关系属于第一范式,如下面的学生数据表:学生表(学号#,姓名,生日,性别,所在城市,长途区号,课程#,学期,学分,成绩)学号,课程为复合关键字第二范式如果一个关系满足第一范式,并且所有非主属性都完全函数依赖于关键字,则该关系是第二范式。

完全函数依赖:若属性Y单值依赖于关键字X,而Y不能单值依赖于X的某一真子集,则称Y完全函数依赖于X。

方法:把学号和课程拿出来,组成一个新的数据表(学号#,课程#,成绩)再把其他的分成两个表:学生(学号#,姓名,生日,性别,所在城市,长途区号)课程(课程#,学期,学分)从规范化的定义可以得到一个结论:若关键字由单一属性组成,那么满足第一范式的关系必然满足第二范式。

第三范式如果一个关系满足第二范式,并且不存在非主属性对关键字的传递函数依赖,则该关系是第三范式。

传递函数依赖:若属性Y单值依赖于关键字X,而属性Z又单值依赖于属性Y,则称Z传递依赖于X。

在以上表中,长途区号单值依赖于所在城市,所在城市又单值依赖于学生,存在了传递函数依赖。

把学生表进一步分解为:学生(学号#,姓名,生日,性别,所在城市)城市(所在城市#,长途区号)物理设计:是为逻辑数据模型选取一个最适合的应用环境的物理结构,即存储结构和存取方法。

即文件结构,各种存取路径,存储空间的分配,记录的存储格式先等。

思考题:试问R属于3NF吗?为什么,若不是,它是第几范式?如何把它规范化为3NF?如下为选课系统的E-R图,写出包含的实体及实体之间的关系。

并将E-R图转化成关系模式。

实训题:设计一个图书管理系统,系统中包括以下几部分:图书:图书号,图书名,作者,类型,单价,数量出版社:出版社号,出版社名称,所在城市,电话,邮政编码,联系人读者:借书证号,姓名,性别,班级有如下约定:一个人可以借多本图书,一种图书可以被多个读者借阅;读者在借书和还书时,要登记借书日期和还书日期;图书入库时要记录购买数量;一个出版社可以出版多种书籍,一种书仅为一个出版社出版。

完成如下问题:设计图书管理系统的出版局部E-R图、借阅局部E-R图。

将出版局部E-R图与借阅局部E-R图合成全局E-R图根据以上全局E-R图导出关系模式,并指出主键和外键。

基本概念:数据库(DB):在长期存入在计算机内,有组织的,可共享的相关数据的集全,它将数据按一定的数据模型进行组织、描述和存储,具有冗余度小、数据独立性高、易扩展和可被各类用户共享的特点。

数据库中不仅存放数据,还存放有数据之间的关系。

数据库管理系统(DBMS):是位于用户和操作系统之间的数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制,它是数据库系统的核心。

目前比较流行的有:ACCESS,SQL Server ,Oracle,Sybase等。

主要包括以下功能:数据定义功能,数据操纵功能,数据库运行管理,数据库的建立和维护。

当前流行的几种数据库:目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。

面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未有成熟的产品。

Visual FoxPro由微软公司开发,功能包括前台界面设计及后台数据管理。

Access由微软开发,办公套件之一,桌面型数据库软件之一。

SQL ServerSQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。

目前流行版本是SQL Server 2005,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。

并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。

SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。

相关主题