如何设计关系数据库?

数据库设计流程

  1. 需求分析
    • 了解用户需求,确定软件的基本功能。
  2. 概念模型设计
    • 确定数据库需要记录哪些信息。
  3. 逻辑结构设计
    • 确定数据的组织形式。
  4. 数据库物理设计
    • 确定数据的存储方式、索引使用系统配置等。
  5. 数据库实施
    • 安装 数据 库管理系统、创建、调试运行 。
  6. 数据库设计演进
    • 根据需求的扩展与变化,对以上结果进行调整和变更

文档型数据库

对于文档型数据库,需要确定

  • 数据库要记录那些对象
  • 对象之间的关系以及文档结构(embedding or reference)

关系数据库

对于关系数据库,需要确定

  • 数据库要记录那些实体和联系(ERD)
  • 关系的基本定义
  • 优化关系的定义

关系数据库设计基本概念

  1. 逻辑设计
    • 只跟概念有关,与应用无– 概念模型、逻辑独立于应用
    • 最小化对应用程序的依赖
  2. 物理设计
    • 物理模型与应用相关
    • 优化应用的性能
  3. 概念模型和物理模型
    • 严格意义上,二者是两套模型
    • 现实的 RDBMS RDBMS 很难区分(物理设计只是对逻辑的优化)

ER图

E:Entity Entity(实体)

R:Relationship(联系)

基本概念:

  • 世界由实体组成。
  • 实体由属性刻画。
  • 实体之间存在联系。
  • 实体可分类,别确定的属性。

组成

  • 实体( Entity Entity )
    • 现实世界中可以被标识的具体事物。
    • 姚明(身份证号)
    • 我的一辆福特汽车(牌号)
  • 实体类( Entity Type Entity TypeEntity Type )
    • 具有相同属性的实体集合。
  • 联系( Relationship)
    • 现实世界中事物内部以及之间的联系,在 ER 图中反映为实 图中反映为实体内部的联系和实之间。
    • 我和的银行账户之间联系;
  • 联系类( Relationship Type)
    • 涉及特定实体类之间,并且具有相同属性的联系集合。
    • 联系类的势( Cardinality )
      • 一对联系( 1:1 ) 人-身份证、夫妻
      • 一对多联系( 1:m/m:1 )人 -出生地、父子
      • 多对联系( m:m ) 学生 -课
  • 属性( Attribute)
    • 对于实体类(或联系类),属性是描述该对于实体(或联 系)的某种特征结构。
      • 身高是人的一种属性。
    • 对于实体(或联系),属性是描述该实体的某个特征的数据
      • 姚明的身高为 2.29米。
  • 属性的势( Cardinality)
    • 唯一属性( 1:1 1:1) 人- 身份证号
    • 单值属性( m:1 ) 人- 生日、人 - 名字
    • 多值属性( 1:m/m:m) 人-技能、人 - 作品

表示方法

expression

results matching ""

    No results matching ""