精华内容
下载资源
问答
  • 数据库结构设计(逻辑设计和物理设计)

    万次阅读 多人点赞 2018-11-15 12:28:27
    1、数据库结构设计的步骤 需求分析:全面了解产品设计的存储需求 逻辑设计:设计数据的逻辑存储结构 物理设计:根据所用的数据库特点进行表结构设计 关系型数据库:Oracle、SQLServer、MySQL、postgresSQL 非...

    1、数据库结构设计的步骤

    需求分析:全面了解产品设计的存储需求

    逻辑设计:设计数据的逻辑存储结构

    物理设计:根据所用的数据库特点进行表结构设计

                      关系型数据库:Oracle、SQLServer、MySQL、postgresSQL

                      非关系型数据库:mongo、Redis、Hadoop

                      存储引擎:Innodb

    维护优化:根据实际情况对索引、存储结构等进行优化

    2、数据库设计范式(设计出没有数据冗余和数据维护异常的数据库结构)

    数据库设计第一范式:

            1、数据库表中的所有字段都只具有单一属性

            2、单一属性的列是由基本的数据类型所构成的

            3、设计出来的表都是简单的二维表

    数据库设计第二范式:

            要求一个表中只具有一个业务主键,也就是说符合第二范式的表中不能存在非主键列对只对部分主键的依赖关系

    数据库设计第三范式:

            指每一个非主属性既不部分依赖于也不传递依赖于业务主键,也就是在第二范式的基础上消除了非主键属性对主键的传递依赖

    3、需求分析及逻辑设计(重点)

     

    4、需求分析及逻辑设计-反范式化设计

    什么叫做反范式化设计?

    反范式化是针对范式化而言的,在前面介绍了数据库设计的范式,所谓的反范式化就是为了性能和读取效率的考虑而适当的对数据库设计范式的要求进行违反,而允许存在少量的数据冗余,换句话来说,反范式化就是使用空间来换取时间。

    注意:不能完全按照范式化的要求进行设计,考虑以后如何使用表

    4、范式化设计和反范式化设计的优缺点

    范式化设计的优点:

             1、可以尽量减少数据冗余

             2、范式化的更新操作比反范式化更快

             3、范式化的表通常比反范式化更小

    范式化设计的缺点:

             1、对于查询需要对多个表进行关联   

             2、更难进行索引优化

    反范式化设计的优点:

            1、可以减少表的关联

            2、可以更好的进行索引优化

    反范式化设计的缺点:

            1、存在数据冗余及数据维护异常

             2、对数据的修改需要更多的成本

    5、物理设计

    根据所选择的关系型数据库的特点对逻辑模型进行存储结构设计

    物理设计涉及的内容:

          1、定义数据库、表及字段的命名规范

                  a、数据库、表及字段的命名要遵守可读性原则

                  b、数据库、表及字段的命名要遵守表意性原则

                  c、数据库、表及字段的命名要遵守长名原则

          2、选择合适的存储引擎

         3、为表中的字段选择合适的数据类型

         4、建立数据库结构

    6、物理设计-数据类型的选择

    为表中的字段选择合适的数据类型:

            当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期或二进制类型,最后是字符类型。对于相同级别的数据类型,应该优先选择占用空间小的数据类型。

    如何选择正确的整数类型:

    如何选择正确的实数类型:

    如何选择varchar和char类型:

      varchar类型的存储特点:

           a、varchar用于存储变长字符串,只占用必要的存储空间。

          b、列的最大长度小于255则只占用一个额外字节用于记录字符串长度

          c、列的最大长度大于255则要占用两个额外字节用于记录字符串长度

    varchar长度的选择问题:

          a、使用最小的符合需求的长度

          b、varchar(5)和varchar(200)存储MySQL字符串性能不同

    varchar适用场景:

        a、字符串列的最大长度比平均长度大很多

        b、字符串列很少被更新

        c、使用了多字节字符集存储字符串

    char类型存储特点:
        a、char类型是定长的

        b、字符串存储在char类型的列中会自动删除末尾的空格

        c、char类型的最大宽度为255

    char类型适用的场景:

       a、cahr类型适合存储长度近似的值

       b、char类型适合存储短字符串

       c、char类型适合存储经常更新的字符串列

     

    如何存储日期类型:

    timestamp可以自动更新:

     

    date类型和time类型:

       1、date类型的优点:

           a、占用的字节数比使用字符串、datetime、int存储要少,使用date类型只需要3个字节。

           b、使用date类型还可以利用日期时间函数进行日期之间的计算

     

     

     

     

     

             

     

     

     

     

     

     

     

    展开全文
  • 概念结构设计 B.物理设计 C.逻辑结构设计 D.数据库实施 A.模式与内模式之间的映像、外模式与模式之间的映像 B.外模式与内模式之间的映像、外模式与模式之间的映像 C.外模式与模式之间的映像、模式与内模式之间的...

    28、29、在数据库设计过程中,设计用户外模式属于(C );数据的物理独立性和数据的逻辑独立性是分别通过修改( A)来完成的。

    A.概念结构设计 B.物理设计 C.逻辑结构设计 D.数据库实施

    A.模式与内模式之间的映像、外模式与模式之间的映像

    B.外模式与内模式之间的映像、外模式与模式之间的映像

    C.外模式与模式之间的映像、模式与内模式之间的映像

    D.外模式与内模式之间的映像、模式与内模式之间的映像

     

     

    转载于:https://www.cnblogs.com/dyc-1234/p/6811564.html

    展开全文
  • 文章目录1. 数据库设计概述1.1 数据库设计的特点:结构和行为分离的设计1.2 ... 概念结构设计3.1 概念模型3.2 E-R模型1、实体之间的联系2、E-R 图3、实体与属性的划分原则4、E-R 图的集成4. 逻辑结构设计(未完待...

    1. 数据库设计概述

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

    1.1 数据库设计的特点:结构和行为分离的设计

    在这里插入图片描述

    1.2 数据库设计方法

    典型方法
    新奥尔良(New Orleans)方法
    基于E-R模型的数据库设计方法
    3NF(第三范式)的设计方法
    面向对象的数据库设计方法
    统一建模语言(UML)方法

    1.3 数据库设计的基本步骤

    在这里插入图片描述

    1.4 数据库设计过程中的各级模式

    在这里插入图片描述

    2. 需求分析

    2.1 需求分析的任务

    1、新系统必须充分考虑今后可能的扩充和改变
    2、获得用户对数据库的要求
    (1)信息要求
    用户需要从数据库中获得信息的内容与性质
    由信息要求可以导出数据要求,即在数据库中需要存储哪些数据
    (2)处理要求
    用户要完成的处理功能
    对处理性能的要求
    (3)安全性与完整性要求

    2.2 需求分析的方法

    结构化分析方法(Structured Analysis,简称SA方法)
    SA方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统
    需求分析过程:
    在这里插入图片描述

    2.3 数据字典

    1、数据字典是关于数据库中数据的描述,即元数据(不是数据本身),注意和关系数据库管理系统中数据字典的区别和联系(关系数据库中的数据字典是数据库的定义)
    2、数据字典的内容

    • 数据项:是数据的最小组成单位
    • 数据结构:反映了数据之间的组合关系(一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成)
    • 数据流:数据结构在系统内传输的路径
    • 数据存储:是数据结构停留或保存的地方,也是数据流的来源和去向之一
    • 处理过程:处理逻辑一般用判定表或判定树来描述

    3、数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系, 数据项之间的联系}
    4、数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
    5、数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}
    6、数据存储描述={数据存储名,说明,编号,输入的数据流 ,输出的数据流, 组成:{数据结构},数据量,存取频度,存取方式}
    7、处理过程描述={处理过程名,说明,输入:{数据流}, 输出:{数据流},处理:{简要说明}}

    3. 概念结构设计(概念模式,E-R图)

    概念结构设计:将用户需求抽象为信息结构

    3.1 概念模型

    3.2 E-R模型

    1、实体之间的联系

    (1)两个实体型之间的联系:
    ①一对一联系(1∶1)
    ②一对多联系(1∶n)
    ③多对多联系(m∶n)
    (2)两个以上的实体型之间的联系
    一般地,两个以上的实体型之间也存在着一对一、一对多、多对多联系
    (3)单个实体型内的联系
    同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系

    2、E-R 图

    E-R图提供了表示实体型、属性和联系的方法
    实体型:矩形
    属性:椭圆
    联系:菱形(联系可以具有属性)

    实例:某个工厂物资管理的概念模型
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3、实体与属性的划分原则

    为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待

    两条准则:
    (1)作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性
    (2)属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系

    实例分析:

    • 职称如果没有与工资、福利挂钩,根据准则(1)可以作为职工实体的属性;
    • 如果不同的职称有不同的工资、住房标准和不同的附加福利,则职称作为一个实体更恰当
    4、E-R 图的集成

    1、两步:合并 --> 修改和重构
    2、合并时主要有三类冲突:①属性冲突 ②命名冲突 ③结构冲突
    属性冲突:属性域冲突,即属性值的类型、取值范围或取值集合不同;属性取值单位冲突
    命名冲突:同名异义;异名同义;命名冲突
    结构冲突:同一对象在不同应用中具有不同的抽象(如在A处为实体,在B处为属性);同一实体在不同子系统的E-R图中所包含的属性个数和属性排列次序不完全相同;实体间的联系在不同的E-R图中为不同的类型(如在A处为一对多联系,在B处为多对多联系)
    3、合并时消除冗余的方法
    ①以数据字典和数据流图为依据,根据数据字典中关于数据项之间逻辑关系的说明来消除冗余
    ②用规范化理论来消除冗余
    确定分E-R图实体之间的数据依赖FL;然后求FL的最小覆盖GL,差集为 D=FL-GL,逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉

    4. 逻辑结构设计(逻辑模式、外模式)

    把基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构

    4.1 E-R图向关系模型的转换

    关系模型的逻辑结构是一组关系模式的集合
    将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式
    1、转换原则
    (1)一个实体型转换为一个关系模式
    关系的属性:实体的属性
    关系的码:实体的码
    (2)实体型间的联系有以下不同情况

    • 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
      ① 转换为一个独立的关系模式
      关系的属性:与该联系相连的各实体的码以及联系本身的属性
      关系的候选码:每个实体的码均是该关系的候选码
      ②与某一端实体对应的关系模式合并
      合并后关系的属性:加入对应关系的码和联系本身的属性
      合并后关系的码:不变
    • 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并
      ①转换为一个独立的关系模式
      关系的属性:与该联系相连的各实体的码以及联系本身的属性
      关系的码:n端实体的码
      ②与n端对应的关系模式合并
      合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性
      合并后关系的码:不变
      可以减少系统中的关系个数,一般情况下更倾向于采用这种方法
    • 一个m:n联系转换为一个关系模式
      关系的属性:与该联系相连的各实体的码以及联系本身的属性
      关系的码:各实体码的组合
    • 三个或三个以上实体间的一个多元联系转换为一个关系模式
      关系的属性:与该多元联系相连的各实体的码以及联系本身的属性
      关系的码:各实体码的组合
    • 具有相同码的关系模式可合并
      目的:减少系统中的关系个数
      合并方法:
      将其中一个关系模式的全部属性加入到另一个关系模式中;
      然后去掉其中的同义属性(可能同名也可能不同名);
      适当调整属性的次序

    4.2 数据模型的优化

    得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化

    优化数据模型的方法:
    (1)确定数据依赖
    (2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系
    (3)按照数据依赖的理论对关系模式进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式
    (4)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解(并不是规范化程度越高的关系就越优)
    (5)对关系模式进行必要分解,提高数据操作效率和存储空间的利用率。常用分解方法:水平分解(把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系),垂直分解(把关系模式R的属性分解为若干子集合,形成若干子关系模式)

    补充: 函数依赖和范式

    一、函数依赖
    1、部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X
    举个例子:学生基本信息表R中(学号,身份证号,姓名)当然学号属性取值是唯一的,在R关系中,(学号,身份证号)->(姓名),(学号)->(姓名),(身份证号)->(姓名);所以姓名部分函数依赖与(学号,身份证号);
    2、完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X
    例子:学生基本信息表R(学号,班级,姓名)假设不同的班级学号有相同的,班级内学号不能相同,在R关系中,(学号,班级)->(姓名),但是(学号)->(姓名)不成立,(班级)->(姓名)不成立,所以姓名完全函数依赖与(学号,班级);
    3、传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X
    例子:在关系R(学号 ,宿舍, 费用)中,(学号)->(宿舍),宿舍!=学号,(宿舍)->(费用),费用!=宿舍,所以符合传递函数的要求。
    4、平凡函数依赖:存在X→Y,且Y含于X,则称X→Y是平凡的函数依赖(对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义)
    例子:(学号,课程号)→学号
    5、非平凡函数依赖:存在X→Y,但Y不含于X,则称X→Y是非平凡的函数依赖
    例子:(学号,课程号)→成绩
    6、多值依赖:设R(U)是一个属性集合U上的一个关系模式,X, Y, 和Z是U的子集,并且Z=U-X-Y,多值依赖X→→Y成立当且仅当对R的任一个关系r,r在(X,Z)上的每个值对应一组Y的值这组值仅仅决定于X值而与Z值无关
    若X→→Y,而Z=空集,则称X→→Y为平凡的多值依赖。否则,称X→→Y为非平凡的多值依赖。
    (定义很绕~~脑阔疼)
    举个例子,通俗理解一下:一个关系(课程C,教师T,参考书B),其中,课程确定教师且与参考书无关(即对于C的每一个值,T有 一组 值与之对应,而不论B取何值
    教师T多值依赖于课程C


    二、范式 1 、第一范式(1NF) 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库**表的每一列(即每个属性)都是不可分割的基本数据项**,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。简而言之,第一范式就是无重复的列。 2、 第二范式(2NF) 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库**表中的每个实例或行必须可以被唯一地区分**。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个**唯一属性列被称为主关键字或主键、主码**。 **第二范式(2NF)要求实体的属性完全依赖于主关键字**。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是非主属性完全依赖于码。 3 、第三范式(3NF) 满足第三范式(3NF)必须先满足第二范式(2NF)。在满足第二范式的基础上,且**不存在传递函数依赖**,那么就是第三范式。简而言之,每一个非主属性既不部分依赖于码也不传递依赖于码。 4、BC范式(BCNF) BCNF 在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。

    * 所有非主属性对每一个码都是完全函数依赖;
    * 所有的主属性对于每一个不包含它的码,也是完全函数依赖;
    * 没有任何属性完全函数依赖于非码的任何一组属性
    >5、第四范式(4NF)

    设R是一个关系模型,D是R上的多值依赖集合。如果D中存在凡多值依>赖X->Y时,X必是R的超键,那么称R是第四范式的模式。


    最后简单的总结一下:
    1、第一范式(1NF):一个关系模式R的所有属性都是不可分的基本数据项
    2、第二范式(2NF):关系模式R属于第一范式,且每个非主属性都完全函数依赖于键码(简单说 建立在第一范式基础上,消除部分依赖)
    3、第三范式(3NF):关系模式R属于第一范式,且每个非主属性都不传递依赖于键码(简单说 建立在第二范式基础上,消除传递依赖)
    4、 BC范式(BCNF):关系模式R属于第一范式,且每个属性都不传递依赖于R的候选键
    在这里插入图片描述

    4.3 设计用户子模式

    定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:
    (1)使用更符合用户习惯的别名
    (2)针对不同级别的用户定义不同的视图,以保证系统的安全性
    (3)简化用户对系统的使用

    5. 物理结构设计(内模式)

    为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
    数据库物理设计的步骤:
    (1)确定数据库的物理结构:在关系数据库中主要指存取方法和存储结构
    (2)对物理结构进行评价:评价的重点是时间和空间效率

    5.2 关系模式存取方法选择

    1、数据库管理系统常用存取方法
    (1)B+树索引存取方法
    (2)Hash索引存取方法
    (3)聚簇存取方法
    2、选择索引存取方法的主要内容
    (1)对哪些属性列建立索引
    (2)对哪些属性列建立组合索引
    (3)对哪些索引要设计为唯一索引
    3、选择索引存取方法的一般规则
    (1)一个(或一组)属性经常在查询条件中出现
    (2)一个属性经常作为最大值和最小值等聚集函数的参数
    (3)一个(或一组)属性经常在连接操作的连接条件中出现
    4、选择Hash存取方法的规则
    如果一个关系的属性主要出现在等值连接条件中或主要出现在等值比较选择条件中,而且满足下列两个条件之一
    (1)该关系的大小可预知,而且不变
    (2)该关系的大小动态改变,但所选用的数据库管理系统提供了动态Hash存取方法
    5、聚簇存取
    为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块中称为聚簇。该属性(或属性组)称为聚簇码
    (1)聚簇索引
    建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放,在一个基本表上最多只能建立一个聚簇索引
    (2)聚簇存取方法

    • 设计候选聚簇:场景——经常进行连接操作的关系、经常作为相等比较条件的属性组、属性或属性组中值重复率较高
    • 检查候选聚簇中的关系,取消其中不必要的关系:删除经常进行全表扫描的关系、删除更新操作远多于连接操作的关系、删除重复出现的关系
    5.3 确定数据库的存储结构

    确定数据库物理结构主要指确定数据的存放位置和存储结构
    基本原则:根据应用情况,将易变部分与稳定部分分开存放,将经常存取部分与存取频率较低部分分开存放
    例如:可以将比较大的表分别放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效;可以将日志文件与数据库对象(表、索引等)放在不同的磁盘以改进系统的性能

    5.4 评价物理结构

    对数据库物理设计过程中产生的多种方案进行评价,从中选择一个较优的方案作为数据库的物理结构
    评价方法:定量估算各种方案的存储空间、存取时间、维护代价

    展开全文
  • 逻辑结构设计 逻辑结构设计是把概念结构设计阶段设计好的基本E-R图转换为,与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。 E-R图向关系模型的转换 将E-R图转换为关系模型:将实体型、实体的属性和...

    逻辑结构设计

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

    E-R图向关系模型的转换

    将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式

    转换原则

    • 一个实体型转换为一个关系模式。
    1. 关系的属性:实体的属性
    2. 关系的码:实体的码
    • 实体型间的联系有以下不同情况

          (1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

                          ① 转换为一个独立的关系模式

                                                关系的属性:与该联系相连的各实体的码以及联系本身的属性       

                                                 关系的候选码:每个实体的码均是该关系的候选码

                          ②与某一端实体对应的关系模式合并

                                             合并后关系的属性:加入对应关系的码和联系本身的属性

                                             合并后关系的码:不变

           (2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

                          ①转换为一个独立的关系模式

                                          关系的属性:与该联系相连的各实体的码以及联系本身的属性

                                          关系的码:n端实体的码

                          ②与n端对应的关系模式合并

                                         合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性

                                        合并后关系的码:不变可以减少系统中的关系个数,一般情况下更倾向于采用这种方法

             (3)一个m:n联系转换为一个关系模式

                          关系的属性:与该联系相连的各实体的码以及联系本身的属性

                          关系的码:各实体码的组合

              (4)三个或三个以上实体间的一个多元联系转换为一个关系模式。

                             关系的属性:与该多元联系相连的各实体的码以及联系本身的属性

                             关系的码:各实体码的组合

              (5)具有相同码的关系模式可合并 目的:减少系统中的关系个数

                             合并方法:  将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),适当调整属性的次序

    数据模型的优化

    优化数据模型的方法:

    (1)确定数据依赖

               按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。

    (2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。

    (3)按照数据依赖的理论对关系模式进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。

    (4)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。

    (5)对关系模式进行必要分解,提高数据操作效率和存储空间的利用率。

           常用分解方法:

    • 水平分解

                  把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。

    • 垂直分解

                 把关系模式R的属性分解为若干子集合,形成若干子关系模式。

    设计用户子模式

    定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。

    定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:

    1. 使用更符合用户习惯的别名
    2. 针对不同级别的用户定义不同的视图,以保证系统的安全性。
    3. 简化用户对系统的使用

     

    物理结构设计

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

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

    设计步骤:

    1. 确定数据库的物理结构
    2. 对物理结构进行评价
    3. 若评价结果满足原设计要求,则可进入到物理实施阶段。

    关系数据库物理设计的内容

    1.为关系模式选择存取方法(建立存取路径)    2.设计关系、索引等数据库文件的物理存储结构

    数据库管理系统常用存取方法

    1. B+树索引存取方法    2. Hash索引存取方法    3. 聚簇存取方法

    为什么要建立索引?  提高存取效率

    什么是聚簇?      为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的物理块中称为聚簇。

    在一个基本表上最多只能建立一个聚簇索引

    确定数据库的存储结构

    • 确定数据库物理结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。
    • 确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价3个方面的因素。
    展开全文
  • 产品涉及到结构设计环节,但是自己并非结构设计专业,之前工作中有和结构部门打过交道,略懂皮毛。本次项目中找外包人员做结构设计这块,长期交流看设计水平一般,所以自己也在恶补结构设计基础知识,担心被忽悠是...
  • 系统总体结构设计

    千次阅读 2020-02-16 04:25:08
    系统总体结构设计     系统设计工作应该自顶向下地进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器...
  • 将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计,最后生成的模型是E-R图。 注: 1、先写局部E-R图,再写整体的E-R图 2、若所设计系统的实体、属性与联系很多,绘制出来的总E-R图过于...
  • 优惠券数据库结构设计

    千次阅读 2020-05-05 10:29:39
    数据库的概念结构设计 需求分析阶段所得到的应用需求应该首先抽象成信息世界的结构,才能更好地、更准确地用某一DBMS实现。 实例:ER图的设计 数据库的逻辑结构设计 任务就是将概念结构设计阶段设计好的全局E-R图转换...
  • 数据库设计:物理结构设计

    千次阅读 2017-01-02 21:09:59
    物理结构设计 数据库的物理设计通常分为两步: 确定数据库的物理结构  对物理结构进行评价,评价的重点是时间和空间效率  1.确定数据库的物理结构 (1)确定数据的存储结构 确定数据库存储结构时要综合考虑...
  • 基于spring-ladp的统一用户中心结构设计以及代码结构设计一、 目录设计1.1 公司attributedescriberequireobjectClassorganization,dcObject,topyo公司名称(唯一)ydc域(暂存域名)y1.2 部门...topyou部门名称y1.3...
  • MySQL树形结构设计

    千次阅读 2019-07-16 17:08:30
    文章目录MySQL树形结构设计树形结构举例树形数据举例为什么这样设计 MySQL树形结构设计 树形结构举例 假设要设计这样一个结构的数据库表 德源公司 王某公司 王XX负责人 郫县打样店铺 李XX店长 值班人员1 代理...
  • 数据库 - 概念结构设计

    万次阅读 2015-05-08 10:15:46
    概念结构设计什么是概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计 概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定 概念结构设计是...
  • 数据库表结构设计

    万次阅读 2018-02-13 14:33:02
    为什么要学习数据表结构设计 实际开发中,需要根据需求,将实际模型转换成物理表结构,这时需要考虑几个问题,表名称如何命名,表中需要哪些字段,各个字段的命名规范,字段的数据类型,字段的长度,和其他表的联系...
  • 数据库分析之概念结构设计

    万次阅读 2018-07-01 23:54:56
    概念结构设计:将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程。 一、概念模型 在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,然后才能更改、更准确地用某一数据库管理系统实现...
  • 数据库 - 逻辑结构设计

    万次阅读 2015-05-08 10:22:24
    逻辑结构设计逻辑结构设计的任务 把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构 逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型 将转换来的关系...
  • 软件结构设计

    千次阅读 2013-04-19 08:10:58
    模块概念 软件结构设计是对组成系统的各个子系统的...需求分析阶段已经建立起的有关系统的功能模型、数据模型或状态机模型,可以作为软件结构设计的前提依据。 具体说来,软件结构设计包括以下几方面的内
  • 将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计。 特点: 能真实、充分地反映现实世界,是现实世界的一个真实模型。 易于理解,从而可以用它和不熟悉计算机的用户交换意见。 易于...
  • 数据库设计之物理结构设计

    万次阅读 2018-07-03 10:58:59
    为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。 一、数据库的物理设计 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。 对物理结构进行评价,...
  • 权限系统表结构设计

    万次阅读 2018-03-09 19:52:37
    一:树形结构设计1.树形结构三要素:parentId:父节点id;level:设计模式父节点的id+level。顶级节点的level默认值0;seq:同一层级排序。2.遍历:主要思路:同一层级的节点保存在key为level的map结构中。这样就可以...
  • 数据库设计:逻辑结构设计

    千次阅读 2012-12-13 14:54:16
    概念结构设计的结果是E-R模型,但是它独立于任何一种数据模型,也独立于任何一个具体的DBMS。为建立用户所需的数据库,需要把概念模型转换成为某个具体的DBMS所支持的数据模型。   数据库逻辑结构设计的任务是将...
  • IM表结构设计

    千次阅读 2016-10-28 18:47:19
    数据库表结构设计方案,仅供参考 User(--用户表   字段 字段类型 字段描述 备注 U_ID Int 主键、自增 U_LoginID Varchar(20) (登陆账号)  U_NickName Varchar(20) (昵称)  U_PassWord ...
  • nodejs 项目目录结构设计

    千次阅读 2016-12-13 11:51:08
    设计要实现一定项目结构,项目结构设计的最终目的是降低系统的复杂度,一般设计时,总是把一个系统,分成几个小系统,每个小系统独自完成一个功能,并且要控制各个子系统之间的访问权限所以项目开始时要通过约定来...
  • 学生宿舍管理系统之概念结构设计

    万次阅读 2018-11-07 09:44:09
    1.概念结构设计的方法 设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。本教学系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向上地进行需求分析...
  • 小型企业的网络拓扑结构设计

    万次阅读 热门讨论 2019-01-08 16:52:39
    小型企业的网络拓扑结构设计 一、设计目的 企业局域网的最终目标是建设整个单位的互联、统一、高效、实用、安全的局域网络,近期可支持上百个,远期至少可支持上午个并发用户,提供广泛的资源共享(包括硬件、软件和...
  • ofbiz数据库表结构设计

    千次阅读 2016-05-31 20:25:14
    ofbiz数据库表结构设计 1、订单设计ORDER(ofbiz) 3、 订单支付ORDER_PAYMENT_PREFERENCE   2、会员模块表结构设计 参考: http://blog.sina.com.cn/s/blog_a2ca5d8c0101fbxt.html ...
  • 数据库分析之逻辑结构设计

    万次阅读 2018-07-02 15:08:09
    概念结构设计:将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程。 一、概念模型 在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,然后才能更改、更准确地用某一数据库管理系统实现...
  • 《软件工程》第6章体系结构设计

    千次阅读 2020-06-02 09:33:24
    体系结构设计关注理解一个软件系统应当如何组织,以及设计该系统的整体结构。体系结构设计是设计和需求工程之间的关键性衔接环节,因为它会确定组成一个系统的主要结构构件以及它们之间的关系。体系结构设计过程的...
  • 将 用户需求抽象成概念模型的过程就是概念结构设计 是数据库设计的关键 概念模型的一种表现方法:实体-联系法(Entity-Relationship Approach) 简称:E-R方法:用E-R图来描述现实世界的概念模型 两个实体...
  • 数据库结构设计

    千次阅读 2019-03-06 22:48:23
    一 数据库概念设计 ...保证信息模型方便的转换成数据库逻辑结构 1.2概念设计的依据: 需求分析的文档,需求说明书,功能模型(数据流图或IDEF0图) 信息模型(ER图)和数据库概念说明书是数据库...
  • 电商平台的数据表结构设计

    千次阅读 2020-04-15 20:34:59
    数据表结构设计1. 系统功能2. 表2.1 用户表mmall_user2.2 收货地址表mmall_shipping2.3 商品表mmall_product2.4 商品类别表mmall_category2.5 购物车表mmall_cart2.6 订单表 mmall_order`2.7 订单明细表 mmall_order...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 303,259
精华内容 121,303
关键字:

结构设计