数据库学习笔记

数据库设计是一个系统的过程,包括需求分析、概念结构设计、逻辑结构设计和物理结构设计。需求分析通过数据流图和数据字典收集用户需求;概念设计使用E-R模型抽象信息结构;逻辑设计将E-R模型转换为关系模式并规范化;物理设计则关注存储策略、索引和访问方法。数据库实施和运行维护是后续的重要环节,确保数据库的稳定和高效。
摘要由CSDN通过智能技术生成

数据库学习笔记

1. 第六章 数据库设计

1).数据库设计概述

1).数据库设计的任务
数据库设计是指根据用户需求研制数据库结构的过程。
(2)数据库设计的内容:
1>数据库的结构设计(静态模型设计)
    是指根据给定的应用环境,进行数据的*子模式或模式*
    的设计,它包括了概念设计、逻辑设计、物理设计。
2>数据库的行为设计(动态模型设计)
    是指确定数据库用户的行为和动作。
3>数据设计的特点
    现代数据库的设计特点是强调及结构设计与行为设计相结合,是一种“反复探寻,逐步求精”的过程。
(3)数据库设计方法
    直观设计法(也称手工试凑法,它是最早使用的数据库设计方法)
    规范设计法
    计算机辅助设计法
    自动化设计法
    目前公认比较完整和权威的一种规范设计法:新奥尔良法
1> 规范设计法
        <1>基于E-R模型的数据库设计方法
        <2>基于3NF的数据库设计方法
        <3>基于视图的数据库设计方法
(4)数据库设计的步骤
1>系统需求阶段
2>概念结构设计阶段
3>逻辑结构设计阶段
4>物理结构设计阶段
5>数据库实施阶段
6>数据库运行与维护阶段

前四个阶段可以统称为“分析和设计阶段”,后两个阶段统称为“实现和运行阶段”

2).系统需求分析

需求分析是数据库设计的起点,为以后的具体设计做准备。

需求分析的任务是:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能 。

需求分析任务:
1>调查分析用户活动
2>收集和分析需求数据,确定系统边界
3>编写系统分析报告
需求分析的方法:

1>自顶向下
(结构化分析法,Structured Analysis,SA,是最简单实用的方法,采用逐层分析系统,用数据流图和数据字典描述系统)

  •    <1>数据流图
          用命名的箭头表示数据流 
           用圆圈表示处理 
           用矩形或其他形状表示存储
    
  •    <2>数据字典
          #数据项
          数据项是数据的最小单位。
          #数据结构
          数据结构是最有意义的数据项集合。
          #数据流
          数据流可以是数据项、也可以是数据结构,它允许某一处理过程中数据在系统内传输的路径。
          #数据存储
          处理过程中数据的存放场所也是数据流的来源和去向之一。
          #处理过程
          处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明信息。
    

  •     2>自底向上
    

最终形成的数据流图和数据字典为系统分析报告的主要内容,这是下一步进行概念结构设计的基础。

3).概念结构设计

概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。
概念结构设计的必要性:
(1).从逻辑设计中分离出概念设计以后,各阶段的任务相对单一化,设计复杂程度大大降低,便于组织。
(2).概念模型不受特定的DBMS的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模式更为稳定。
(3).概念模型不含具体的DBMS所附加的技术细节,更容易为用户理解,因而更有可能准确反映用户的信息需求。
概念模型的特点:

(概念模型作为概念结构设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构即逻辑模型的基础)

  -1 语义表达能力丰富
  -2 易于交流和理解
  -3 易于修改和扩充
  -4 易于向各种数据模型转换

E-R模型是最著名、最实用的一种是概念模型

概念模型的E-R表示方法

E-R模型是实体联系模型(Entity Relationship Model)。
E-R模型是广泛应用于数据库设计工作中的一种概念模型,它利用E-R图来表示实体及其之间的联系。

-1实体型:用矩形表示,框内标注实体名
-2属性:用椭圆标注属性,并用无向边将其与相应的实体相连。
-3联系:联系用菱形框表示,框内标注联系名称,并用无向边与有关实体相连,同时在无向边旁标上联系的类型。
概念结构设计的方法
 1)自顶向下		**抽象**								**集成**
 2)自底向上  	---->   局部E-R模型 		----> 全局E-R模型
 3)逐步扩张
 4)混合策略
需求分析   -->   DFD,DD
		|
		|
数据抽象,
局部视图设计 -->  局部E-R图
		|
		|

视图集成 --> 全局E-R
插图:
在这里插入图片描述

数据抽象与局部E-R模型设计

(1)E-R方法
(2)数据抽象
- 分类
将一组具有某些共同特性和行为的对象抽象为一个实体。
-聚集
将对象类型的组成成分抽象为实体的属性
(3)局部E-R模型设计
两条原则:
-属性必须是不可分的数据项
-属性不能与其他实体具有联系,联系只能发生在实体之间

全局E-R图设计

(1)多元集成法,一次性将多个局部E-R他合并为一个全局E-R图。
(2)二元集成法,首先集成两个重要的局部E-R图,以后用累加的方法逐步将一个新的E-R图集成进来。
冲突
属性冲突:值域冲突和取值单位冲突
命名冲突:同名异议和异名同义
结构冲突:同一对象在不同应用中有不同的抽象
同一实体在不同应用中属性组成不同
同一联系在不同应用中呈现不同的类型
优化(消除不必要的冗余)

逻辑结构设计
转换原则

(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键
(2)一个联系转换为一个关系模式,与该联系相连的各实体的键以及各种联系的属性均转换为该关系的属性。
~如果联系为1:1,则每个实体的键都是关系的候选键
~如果联系为1:n,则n端实体的键是关系的主码
~如果联系为n:m,则各实体键的组合是关系的主码

关系模式规范化

确定范式级别
事实施规范化处理

模式评价与改进

关系模式的规范化不是目的而是手段,数据库设计的目的是最终满足应用要求

模式评价

功能设计:功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。
性能评价:对实际性能进行评估,包括逻辑记录的存取数、传送量以及物理结构设计算法的模型等。

模式改进

合并
分解{水平分解、垂直分解}

物理结构设计

物理结构设计的任务 是为了有效的实现逻辑模式,确定所采取的存储策略
~确定物理结构,在关系数据库中主要指存取方法存储结构
~评价物理结构,评价的重点是时间和空间效率

确定物理结构

存储记录结构的设计数据的基本存取单位是存储记录。
聚集
聚集是为了提高查询速度。(把在一个(或一组)属性上具有相同值的元组集中的存放在一个物理块中。如果存放不下,可以存放在相邻的物理块中。
索引
不仅能提高查询速度,还能避免主码重复值的录入,确保了数据的完整性。
用户访问的最小单位是属性。如果对某些非主属性的检索很频繁,可以考虑建立这些属性的索引文件。

访问方法的设计

访问方法是为存储在物理设备(通常指辅存)上的数据提供存储检索的方法。
一个访问方法包括存储结构和检索机构两个部分。
<<存储结构限定了可能访问的路径和存储记录。
<<检索机构定义了每个应用的访问途径,但不涉及存储结构的设计和设备的分配。
访问路径的设计分为主访问路径和辅访问路径设计。
~主访问路径与初始记录的装入有关,通常是用主码来检索的。
~辅助访问路径是通过辅助码的索引对存储记录重新进行内部连接,从而改变访问数据的入口点。

数据存放位置的设计

为了提高系统性能,应该根据应用情况将数据的易变部分、稳定部分、经常存取部分和存取频率较低部分分开存放。
~表和索引存放在不同的磁盘上。
~日志和数据对象(表、索引)存放在不同磁盘上
~数据库的备份、日志文件,可以存放在磁带上

系统配置的设计

DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。
在进行物理结构设计时,要根据应用环境确定这些参数值,以使系统的性能达到最优。

评价物理结构
数据库实施

数据实施是指逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。

数据库运行和维护

数据库运行和维护包含以下三项内容:
~维护数据库的安全性和完整性
~监测并改善数据库性能
~重新组织和构造数据库
只要数据库系统在运行,就需要不断地进行修改、调整和维护。
一旦应用变化太大,数据库重新组织也无济于事,这就表明数据库应用系统的生命周期结束,应该建立新系统,重新设计数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值