sql知识——数据库设计

数据库设计及其特点

数据库设计是利用数据库管理系统和相关软件硬件将用户的要转化使用数据库结构适应成有效的数据结构的过程。在现有的DBMS上建立数据库应用系统的过程。
特点:数据量大、保存时间长、数据关联复杂、用户要求多样化

数据库系统的生存期

从数据库应用系统开始规划、分析、设计、实现、投入运行、维护到被新系统取代而停止运行的整个期间。
data manipulation----data defination----data control----transaction control
在这里插入图片描述在这里插入图片描述

规划阶段

对组织的各项事物(组织特性、已有系统等等)进行考量,分析业务需要建立数据库的必要性和可行性分析,确定数据库系统在组织中和信息系统中的地位,以及各个数据库之间的联系。数据库规划完成以后,应写出详尽的可行性分析报告和数据库系统规划纲要。

需求分析

a调查组织的总体情况
b熟悉业务活动、明确需求
c确定系统边界

注释:从多方面对整个组织进行调查,收集和分析各个应用对信息和处理两方面的需求(用户要从数据库获得的信息内容、数据库需要完成什么处理功能及处理方式、数据库的安全性和完整性要求),将信息进行整理并评审。
方法/工具:数据字典和数据流图

数据字典:对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。
包含内容:

  1. 数据项:数据的最小单位
  2. 数据结构:若干数据项有意义的集合
  3. 数据流:表示某一处理过程的输入或输出
  4. 数据存储:处理过程中存取的数据
  5. 处理过程:该过程的功能等
    例子:货物订单
    数据项名:订货单号
    说 明:标识每张订货单
    类 型:CHAR(8)
    长 度:8
    别 名:采购单号
    取值范围:10000000-99999999

数据流图:以图形方式来分析并逻辑的表达需求、按照逻辑流向和逻辑变换过程进行展现。
数据流图有四种基本图形符号:
:箭头,表示数据流,数据在系统内传播的路径;
〇:圆或椭圆,表示加工;
= :双杠,表示数据存储;
□:方框,表示数据的源点或终点。
注意:
a.命名。不论数据输出流、输入流、业务数据项等内容,适合的命名使人们易于理解其含义。
b.画数据流而不是控制流。数据流反映系统“做什么”,不反映“如何做”。
c数据流反映能用计算机处理的数据,并不是实物。

在这里插入图片描述

概念设计阶段

先将现实世界中的客观对象首先抽象为不依赖任何具体机器的信息结构,这种结构不是DBMS支持的数据模型,而是概念模型。然后再把概念模型转换成具体机器上DBMS支持的数据模型。

在这里插入图片描述
方法:ER图
业务规则识别主要主题和联系之后,可先初步绘制局部的ER图,之后需确认实体的属性和主码,进而在汇总各个局部的ER图时将要消除冲突和冗余。
消除冲突:

  1. 属性冲突:消除属性值的类型、取值范围或取值集合不同,属性取值单位冲突。
  2. 命名冲突:消除实体名、属性名、联系名冲突,解决同名异义和异名同义的问题。
  3. 结构冲突:
    a.同一对象在不同的ER图中作了不同的抽象。如企业员工业务中,员工职称在某个局部ER图中作为属性,而在另一局部ER图中作为实体。
    b.同一实体在不同分ER图中的属性组成、排列不同。属性取各局部视图的并集,并调整排列顺序
    c.实体间的联系在不同ER图中有不同的表现。根据具体语义环境对实体联系的类型进行综合或调整。

消除冗余(重复):

  1. 数据库理论上可做到冗余度为零。但是通常会利用可控数据冗余度(有意安排的,有控制的重复)。因此先识别重复,再消除不必要的重复。

逻辑设计

逻辑设计重点在设置关系模式(关系型业务背景下)。
思考:

  1. 关系数据库应该组织成几个关系模式。
  2. 关系模式中有包括哪些属性。
  3. 是否可以体现客观世界的信息。无过度的冗余;无插入异常;无更新复杂;无删除异常。

关系模式设计的理论支持——函数依赖
函数依赖是指关系R模式的所有关系元组均应满足的约束条件,而不是关系模式中的某个或某些元组满足的约束条件。它反映了一种语义完整性约束,只能根据语义来确定一个函数依赖。
函数依赖的几个类型:

  1. 完全函数依赖:决定因素中的任何属性都不能少
  2. 部分函数依赖:决定因素中缺少某些属性,但函数依赖仍然成立。
  3. 传递函数依赖:若X→Y,YX,Y ∕→ X,且Y→Z,ZY,则Z对X传递依赖。x决定y,一个y对应多个x,y决定z,z不属于y。

关系模式设计的方法——模式分解(范式衡量)
范式是对关系的不同数据依赖程度的要求。
模式分解:通过把一个关系模式的分解(属性集合、关系模式上的函数依赖集以及关系模式的当前值等的分解)利用范式(满足特定要求的模式)进行衡量,进而将一个低级范式转换为若干个高级范式的过程,也称为概念的纯粹化。

  1. 第一范式:关系模式R的所有的属性值域都是不可再分的。即不能以集合、序列等作为属性值。特点:关系模式;没有重复的元组;可以定义主码。不良特性:插入异常;删除异常;更新异常;数据冗余。
    在这里插入图片描述
  2. 第二范式:对于关系模式R,若R∈1NF,且R中的每一个非主属性完全函数依赖于R的某个候选键,则R∈2NF。既再第范式基础上消除所有非主属性对候选码的部分依赖。
    如果一个数据库模式中的每个关系模式都是第二范式的,则称此数据库模式属于第二范式的数据库模式
    在这里插入图片描述
  3. 第三范式:如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式(3NF)的模式,R∈3NF。既消除所有传递依赖,将原来传递依赖的属性单独组成新的模式,则在新的关系模式中形成完全函数依赖;原先的关系模式中去掉传递函数依赖的非主属性,则在新的关系模式中形成完全函数依赖。
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值