数据库系统概论-007: 数据库设计

一:数据库设计基本步骤概述
    1: 需求分析:地基,最重要,最耗时的一步。
        形成数据字典,数据项,数据流,即数据存储描述。
    2: 概念结构设计:E-R图
    3: 逻辑结构设计:转换时数据库支持的数据模型,如关系模型。
    4: 物理结构设计:存储安排,存取路径建立等。
    5: 数据库实施
        根据用户处理的要求,安全性考虑,在基本表的基础上建立必要的视图,形成数据的外模式。
        在物理设计阶段,根据DBMS特点和处理需求,进行物理存储安排,建立索引,形成数据库的内模式。
    6: 数据库运行和维护:性能检测,存储/恢复,数据库重组和重构。

二:需求分析:分析用户需求,影响到后面各个阶段的设计,甚至影响到设计结果是否合理。
    需求分析阶段的一个重要而困难的任务是收集将来应用所涉及的数据,设计人员应充分考虑到可能的扩充和改变,使涉及易于更改,系统易于扩充。
    必须强调用户的参与,这是数据库应用系统涉及的特点。
    1: 需求分析的任务
        通过详细调查现实世界要处理的对象,充分了解原系统的工作情况,明确客户的各种需求,然后在此基础上确定新系统的功能。
        新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前的应用需求来设计数据库。
        A: 信息要求:即用户需要从数据库中获取的信息内容和性质。有信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
        B: 处理要求:指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。
        C: 安全性与完整性要求:
    2: 需求分析的方法
        A: 调查组织机构情况
        B: 调查各部门的业务活动情况
        C: 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求
        D: 确定新系统的边界
    3: 数据字典
        数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析获得的主要成果。
        数据字典=数据项+数据结构+数据流+数据存储+处理过程
        A: 数据项
            数据项={数据项名,数据项包含的说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系,数据项之间的联系};
        B: 数据结构:数据结构反映了数据之间的组合关系。
            数据结构描述={数据结构名+含义说明+组成:{数据项或数据结构}};
            一个数据结构通常可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合而成。
        C: 数据流:即数据结构在系统内传输路径。
            数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量};
            数据流来源:说明该数据来自哪个过程
            数据流去向:说明该数据流将到哪个过程去
            平均流量:只在单位时间里德传输次数
            高峰期流量:指在高峰时期的数据流量
        D: 数据存储
            数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成:{数据结构},数据量,存取频度,存取方式};
            存取频度:指每小时或每天或每周存取几次,每次存取多少数据等信息。
            存取方式:包括是批处理还是联机处理,是检索还是更新,是顺序检索还是随机检索等。
        E: 处理过程
            梳理过程描述={处理过程名,说明,输入:{数据量},输出:{数据量},处理:{简要说明}}

三:概念结构设计ER
    1: 概念结构
        概念结构是各种数据模型的共同基础,它比数据模型更加独立于机器,更抽象,从而更加稳定。
        A: 能真实,充分的反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求,是对现实世界的一个真实模型。
        B: 易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库设计成功的关键。
        C: 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
        D: 易于向关系,网状,层次等各种数据模型转换。
    2: 概念结构设计方法
        A: 自顶向下:即首先定义全局概念结构的框架,然后逐步细化。
        B: 自底向上:即首先定义各局部应该的概念结构,然后将他们集成起来,得到全局概念结构。
        C: 逐步扩张:首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。
        D: 混合策略:即将自顶向下和自底向上相结合,
            用自顶向下策略设计一个全局概念结构的框架,
            以它为骨架集成由自底向上策略中的设计各局部概念结构。
    3: 数据抽象
        A: 分类:定义某一类概念作为现实世界中一组对象的类型,这些对象具有某些共同的特征和行为。(如学生)
        B: 聚集:定义某一类型的组成成分。(如学生:学号,姓名,专业,班级)
        C: 概况:定义类型之间的一种子集关系。(继承性:学生:本科生,研究生)
    4: 视图的集成
        各个子系统的E-R图设计好以后,下一步就是要将所有的分E-R图综合成一个系统的总E-R图。
        在合并E-R图,生成初步E-R图时,需要处理三类冲突
        A: 属性冲突:即属性值的类型,取值范围,取值集合取值单位不同。
        B: 命名冲突:同名异义,异名同义。
        C: 结构冲突:统一对象在不同应用中具有不同的抽象。
            统一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同。

四:逻辑结构设计
    逻辑结构设计的任务就是把概念结构设计阶段设计的基本E-R图转换为与选用DBMS产品所支持的数据模型想符合的逻辑结构。
    逻辑结构分三步进行
    1: E-R图向关系模型的转换:
        如何将实体类型和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。
        A: 一个实体转换为一个关系模式,实体名转换为关系模式名实体的属性就是关系模式的属性,实体的键就是关系模式的键。
        B: 多对多联系的转换。关系模式的键与联系相关联的实体的键组合,转换为一个独立关系模式。
            学生(学号,姓名,年龄,性别)
            课程(课程号,课程名,学分,教师名)
            选课(学号,课程号,成绩)//独立关系模式
        C: 一对多关系的转换:两种方法
            独立模式转换
            系(系号,系名,地址,电话)
            教师(工号,姓名,性别,年龄)
            聘用(系号,工号,EMAIL)//独立模式
            非独立联系转换
            系(系号,系名,地址,电话)
            教师(工号,系号,姓名,性别,年龄,EMAIL)//非独立
        D:一对一:两种方法
            独立模式转换
            学校(校名,地址,电话)
            校长(工号,姓名,年龄,职称)
            任职(校名,工号,任职日期)//独立模式
            非独立联系转换
            学校(校名,地址,电话)
            校长(工号,校名,姓名,年龄,职称,任职日期)
        E: 多实体,三个或三个以上的转换,独立模式
            出版社(社号,社名,地址,电话)
            图书馆(馆号,馆名,EMAIL)
            图书(书号,书名,定价)
            供应(社号,馆号,书号,数量)
        F: 关系模式的归并,如果两个或者多个关系模式的键相同,则把这个关系模式进行归并和合并。
            订单(单号,单名,商品名称,单价,产地)
            订单(单号,单名,商品编号,商品名称,单价,数量)
            合并后:订单(单号,单名,商品编号,商品名称,产地,单价,数量)
    2: 数据模型的优化
    3: 设计用户子模式

五:物理结构设计
    1: 数据的物理设计通常分为两步:
        A: 确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构。
        B: 对物理结构进行评价,评价的重点是时间和空间效率。
    2: 数据库物理设计的内容和方法
        设计优化的物理数据库结构,使得在数据上运行的各种食物响应时间小,存储空间利用率高,食物吞吐率大。
    3: 关系模式存取方法选择
        A: 索引存取方法的选择
            如果一个或一组属性经常在查询条件中出现,则考虑在这个属性上建立索引或组合索引。
            如果一个属性经常作为最大值和最小值等聚集函数的参数,则考虑在这个属性上建立索引。
            如果一个或一组属性经常在连接操作的连接条件中出现,则考虑在这个或这组属性上建立索引。
        B: 聚簇存取方法的选择:
            为了提高某个属性的查询速度,把这个或这些属性上具有相同值的元组集中存在在连续的物理块。
        C: HASH存取方法的选择:
    4: 确定数据库的存储结构
        主要指确定数据的存放为位置和存储解耦股,包括确定关系,索引,聚簇,日志,备份等存储安排和存储解耦股,确定系统配置等。
    5: 评价物理结构

六:数据库实施
七:数据库运行和维护

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值