您好,欢迎访问三七文档
会计电算化系统设计•系统设计是在系统分析的基础上,进一步确定系统的实现方法,给出系统的实现方案。本讲将介绍系统设计的一般概念,设计方法和工具。系统设计的任务•系统设计的任务是将系统分析得到的系统逻辑模型,转化为可以实现的系统的物理模型。即解决如何做的问题。•系统设计的具体任务包括:–系统总体设计•系统配置设计(确定系统的硬件结构)•模块结构设计(确定系统的软件结构)•数据库设计(确定系统的数据结构)–系统的详细设计•代码设计•输入输出设计•模块设计•安全保密设计–编写系统设计报告系统设计的原则•经济性原则地投入,高产出。少花钱,多办事。•实用性原则满足用户的需求(包括功能、性能等方面),使用方便。•适应性原则适应环境的变化,容易维护。系统配置设计•系统配置设计包括确定系统的体系结构,选择计算机硬件设备,选择系统软件。•系统的体系结构–单机批处理体系结构–联机处理体系结构–分布式处理体系结构•选择系统软件–操作系统、网络操作系统的选择–数据库管理系统的选择–软件开发工具的选择•选择计算机硬件设备–机型选择–数据量的估算及存储器的选择–网络连接设备的选择–输入输出方式的确定及输入输出设备的选择数据库设计•信息系统是数据处理系统,哪些数据应该存放在系统中,数据在系统中存放方式如何,对系统的实用性,适应性,及系统的效率将产生重大的影响。数据库设计就是要确定哪些数据应该保存在系统中,以及数据应该怎样被保存在系统中。•数据库设计包括数据库的概念设计,数据库的逻辑设计,及数据库的物理设计三个阶段。数据库的概念设计•概念设计是对用户的数据需求进行分析,选择出用户感兴趣的有关数据,对其进行抽象,分类,命名,并描述数据之间的关系,得到数据库的概念模型。数据库设计的依据是系统分析阶段的数据字典,概念设计的方法是实体联系方法,所对应的工具是E-R图。概念模型(实体—联系模型)•实体:客观存在并可以相互区分的事物。•实体集:同类实体的集合。•属性:实体某方面的特征。实体通过其若干属性来描述。•域:属性的取值范围。•实体型:用实体集的名称及其属性名的集合来描述刻画同类实体,即得到相应实体集的实体型。实体型是对实体集的抽象。•码:唯一标识实体的属性集合。•联系(实体型内部的联系,实体型之间的联系)张三男350.00001王丽女360.00099实体集:职工编号基本工资姓名性别实体:张三属性码实体型:职工(编号,姓名,性别,基本工资)三位数字的集合域返回属性值实体型之间的联系的种类及其表示•一对一(1:1):若实体集A中的一个实体,在实体集B中至多只有一个实体与之对应,反之亦然,则称实体集A与实体集B的联系是一对一的。•一对多(1:m):若实体集A中的一个实体,在实体集B中有多个实体与之对应,反之,实体集B中的一个实体,在实体集A中至多只有一个实体与之对应,则称实体集A与实体集B的联系是一对多的。•多对多(m:n):若实体集A中的一个实体,在实体集B中有多个实体与之对应,反之亦然,则称实体集A与实体集B的联系是多对多的。班长学生学生班级管理班级社团隶属隶属111mmn实体B实体A联系名??实体型之间的联系的种类及其表示例:E-R图•用图形方式直观的描述实体型及其联系。•实体联系模型是概念级的模型,是各种机器数据模型的基础。在实际应用中要转换成机器数据模型才能得到DBMS的支持。学生学号姓名出生日期性别班级编号课程课程编号课程名称学时数学分选修mn成绩E-R图示例学生学号姓名出生日期性别班级编号课程课程编号课程名称学时数学分选修mn成绩E-R图示例属性实体实体间的联系也可能需要属性来描述联系数据库的逻辑设计•数据库的逻辑设计要将数据库的概念模型转换为数据库管理系统所支持的机器数据模型,并进行优化。•机器数据模型可分为:层次模型,网状模型和关系模型,前两者已被淘汰。以下现介绍关系模型,在介绍将概念模型转换为关系模型的方法及其优化方法。关系模型•数据结构(二维表)–关系模型用二维表来表示实体集和实体间的联系。一张二维表就是一个关系。二维表既可以表示实体集,也可以表示实体集之间的联系,且不论这种联系是什么类型的(1:1/1:m/m:n),都不需要作任何转换。关系模型实例•概念模型学生学号姓名出生日期性别班级编号课程课程编号课程名称学时数学分选修mn成绩学号姓名出生日期性别班号s01张三1980.2.1男9801︰︰:::::课号课名学时数学分c01数学806::::学生关系课程关系学号课号成绩s01c0185:::选课关系•关系模型关系模型的常用术语•域(Domain):值的集合•迪卡尔积(CartesianProduct):一组域D1,D2,…,Dn的迪卡尔积D1×D2×…×Dn记为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}如:若有域D1={s01,s02},D2={张三,李四},D3={01,02}则:D1×D2×D3={(s01,张三,01),(s01,张三,02),(s01,李四,01),(s01,李四,02),(s02,张三,01),(s02,张三,02),(s02,李四,01),(s02,李四,02)}关系模型的常用术语(续)•关系(Relation):迪卡尔积的子集。•元组(Tuple):表中的一行,表示一个实体。在一个关系中,不得有两个相同的元组,元组的次序无关紧要。•属性(Attribute):关系二维表中的一列,列的次序无关紧要。•分量(Component):元组中的属性值取前述迪卡尔积的子集构成学生关系:学生关系={(s01,张三,01),(s02,李四,01)}用表格表示:学号姓名班号s01张三01s02李四02元组属性分量关系模型的常用术语(续)–主码(Primarykey):关系的一个最小属性集合,关系中的每个元组在此属性集上的取值不同。因而能唯一地区分关系中的各元组。有时一个关系中有多个这样的属性集,则取一个为主码,其他的叫候选码(Candidatekey)学号姓名班号s01张三01s02李四02主码关系模型的常用术语(续)–关系模式(Relationschema):关系模式是对关系的描述,它包括关系名、组成关系的各属性、属性到域的映射关系、属性间的依赖关系等。属性到域的映射关系常常直接说明为属性的类型和长度。关系模式可简记为:关系名(属性集)学号姓名班号s01张三01s02李四02上述关系的关系模式:学生(学号,姓名,班号)关系模型的完整性约束•关系模型的完整性约束可分为三类•实体完整性约束(EntityIntegrity)(主码约束/主键约束)–若属性A是基本关系R的主码的组成部分,则属性A不能取空值。–基本关系:所谓基本关系(基本表/基表)是实际存在的表,是实际存储数据的逻辑表示。它与视图表、查询表不同,后者不对应实际存储的数据。–空值:不知道的或无意义的值。学号姓名班号s01张三01s02李四02学生(学号,姓名,班号)不得取空值关系模型的完整性约束(续)•参照完整型约束(ReferentialIntegrity)–若基本关系R1中含有与另一个基本关系R的主码K对应的的属性组FK(FK称为R1的外部码),且K和FK定义在同一个(一组)域上,则对R1的元组来说,FK要么取空值,要么取R中某个元组对应的主码值。学号姓名出生日期性别班号s01张三1980.2.1男9801︰︰:::::课号课名学时数学分c01数学806::::学生关系课程关系学号课号成绩s01c0185:::选课关系关系模型的完整性约束(续)•用户定义的完整性约束–实体完整性约束和参照完整性约束用于任何关系数据库系统,而用户定义的完整性约束则是针对某个具体的数据库的。它由用户的具体应用要求而定。如:规定属性基本工资的取值不得低于300元。–关系模型必须提供定义和检查上述三类完整性约束的机制。职工号姓名基本工资E01张三400:::不得低于300关系模型的数据操纵•关系模型的数据操纵是基于严格的数学理论的。它具有以下特点:–操作是集合操作:操作的对象和操作的结果都是记录集合(关系)–语言是非过程化的:用户只需指出干什么,而不必指出怎么干。•关系数据操纵语言的数学基础:关系代数或关系演算,前者是基于代数方式的,而后者则是基于逻辑方式的。关系演算按谓词变元的基本对象是元组变量还是域变量又可分为元组关系演算和域关系演算,这两(三)种方式的能力是等价的。即:用关系代数能完成的操作,用关系演算也能完成,反之亦然。将概念模型转换为关系模型•将概念模型中的每个实体转换为一个关系–转换规则:实体名为关系名,实体的属性为关系的属性,实体的码为关系的码。•将概念模型中实体与实体的联系转换为一个关系–转换规则:联系名为关系名,相联系的两个实体的码以及描述联系的属性成为关系的属性,若联系是多对多的,则两个实体的码共同组成关系的码;若联系是一对多的,则多方实体的码成为关系的码;若联系是一对一的,则两个实体的码均可作为关系的候选码。•将码相同的关系进行合并概念模型转换为关系模型示例•概念模型学生学号姓名出生日期性别班号课程课程编号课程名称学时数学分选修mn成绩选课关系(学号,课程编号,成绩)课程关系(课程编号,课程名称,学时数,学分)•关系模型学生关系(学号,姓名,出生日期,性别,班号)关系的规范化•一个关系中的属性相互之间存在联系,我们称之为数据依赖。不良的数据依赖使得在存放数据时产生许多问题。这些问题是:–数据冗余以及由此引起的空间浪费,数据修改困难。–数据插入异常和删除异常•例如:对下述关系,假设有100个学生,这些学生同属一个专业,该专业为一年制,每个同学选修了同样的20门课程。试分析其存在的问题。学生(学号,姓名,性别,年龄,专业编号,专业名称,课程编号,课程名称,成绩)问题学号姓名性别年龄专业编号专业名称课程编号课程名称成绩1张一男2001理财01计算机801张一男2001理财02英语78………………………1张一男2001理财20会计912李二男1901理财01计算机85………………………100陈百女2001理财20会计67冗余度大插入异常删除异常函数依赖•函数依赖定义:设R(U)是属性集U上的一个关系模式,X,Y是U的子集,若对关系模式R(U)的任何一个当前关系,不可能有两个元组在属性集X上的值相同而在属性集Y上的值不同,则称X函数决定Y或Y函数依赖于X,记作XY。•完全函数依赖和部分函数依赖若XY,且对X的任何一个真子集X’都有XY,则称X完全函数决定Y,或Y完全函数依赖于X。记作XY。否则称X部分函数决定Y,或Y部分函数依赖于X,记作:XY。•传递函数依赖若对于属性集X、Y、Z,有XY,YX,YZ,则称X传递函数决定Z,或Z传递函数依赖于X,记作XZ。tfp码、主属性与非主属性•码:对于关系模式R(U),K包含于U中,若KU,则称K为R(U)的码。•主属性与非主属性:包含在码中的属性为主属性,否则为非主属性。f范式•范式的概念–满足某些确定的约束条件的关系的集合,称之为范式。按照约束条件的严格程度,将范式分为不同的级别。在函数依赖的范畴中,范式按级别高低依次是1NF,2NF,3NF和BCNF。•1NF–若一个关系的所有属性都是原子属性,则该关系属于第一范式。•2NF–若关系R∈1NF,且R中不存在非主属性对码的部分函数依赖,则称R∈2NF。•3NF–若关系R∈2NF,且R中不存在非主属性对码的传递函数依赖,则称R∈3NF。•BCNF–若关系R中任何非平凡函数依赖的左面均包含了R的一个码,则称关系R∈BCNF。关系的规范化•1NF2NF学生(学号,姓名,性别,年龄,专业编号,专业名称)学生(学号,姓名,性别,年龄,专业编号,专业名称,课程编号,课程名称,成绩)学生选课(学号,课程编号,成绩)课程(课程编号,课程名称)投影破坏非主属性对码的部分函数依赖不丢失属性维持原有数据间的关系关系的规范化•2NF3NF学生(学号,姓名,性别,年龄,专业编号,专业名称)学生(学号,姓名,性别,年龄,专业编号)学生(专业编号,
本文标题:会计电算化系统设计
链接地址:https://www.777doc.com/doc-1103892 .html