数据库设计概述

数据库设计分6个阶段

  1. 需求分析
  2. 概念结构设计
  3. 逻辑结构设计
  4. 物理结构设计
  5. 数据库实施
  6. 数据库运行和维护

image-20211219210158791

需求分析和概念设计独立于任何数据库管理系统逻辑设计和物理设计与选用的数据库管理系统密切相关

image-20211219210449286

在需求分析阶段综合各个用户的应用需求; 在概念结构设计阶段形成独立于机器特点、 独立于各个关系数据库管理系统产品的概念模式, 在本篇中就是 E-R 图: 在逻辑结构设计阶段将 E-R 图转换成具体的数据库产品支持的数据模型, 如关系模型, 形成数据库逻辑模式, 然后根据用户处理的要求、 安全性的考虑, 在基本表的基础上再建立必要的视图,形成数据的外模式; 在物理结构设计阶段, 根据关系数据库管理系统的特点和处理的需要进行物理存储安排, 建立索引, 形成数据库内模式。

需求分析

数据字典

  1. 数据字典是关于数据库中数据的描述,即元数据,不是数据本身

  2. 数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善

  3. 数据字典是进行详细的数据收集和数据分析所获得的主要结果

※ 数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容

概念结构设计

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计

E-R模型:描述概念模型的工具

实体和属性
在数据库领域中,客观世界中的万事万物都被称为实体。实体既可以是指可观存在并相互区别的事物,例如高山、流水等,又可以是一些抽象的概念或地理名词,例如精神生活、吉林省等。实体的特征(外在表现)称为属性,通过属性可以区分同类实体。例如一本书可以具备下列属性:书名、大小、封面颜色等等,并且根据这些属性可以在一堆图书中找到所要的图书。
在通常情况下,开发人员在设计E-R图时,使用矩形表示实体,在矩形内框中写明实体名(实体名是每个实体的唯一标识)使用椭圆表示属性,并且使用无向边将其与实体连接起来。
例1-1、设计图书管理凶的图书实体图。在图书管理系统中,图书是一个实体,它包括编号、条形码、书名、类型、作者、译者、出版社、价格、页码、书架、录入时间、操作员和是否删除等属性。对应的实体图如图所示:

image-20211219212804644

关系
在客观世界中,实体并不是孤立存在的,通常还存在一些联系。在E-R图中,可以使用关系表示实体之间的联系。通常使用菱形表示实体间的联系,在棱形框内写明联系名,并且使用无向边将其与有关的实体连接起来。同时,还需要在无向边旁标上关系的类型。在通常请况下,实体间存在以下3种联系。

一对一关系
一对一关系是指两个实体A和B,如果A中的每一个值在B中之多有一个实体值与之对应,反之亦然,那么则称A和B为一一对应关系。在E-R图中,使用(1:1)表示。例如,在一个图书馆中,只能有一个馆长,反之一个馆长只能在一个图书馆中任职。
一对多关系
一对多关系是指两个实体A和B,如果A中的每一个值在B中有多个值与其对应,反之B中每一个实体值在A中至多有一个实体值与之对应,那么则称A和B为一对多关系,在E-R中,使用(1:n)表示。例如,在图书馆中,一个书架上可以放置多本书,但是一本书只能放置在一个书架上。因此书架和图书之间存在一对多的关系。
多对多关系
多对多关系是指两个实体A和B,如果A中的每一个值在B中有多个实体值与之对应,反之亦然,那么则称A和B为多对多关系,在E-R图中,使用(n:n)表示。例如,在图书馆中,一个读者可以借阅多本图书,反之,一本图书也可以被多个多个读者借阅,因此读者和图书之间存在多对多的关系。
E-R图设计原则
E-R图的设计虽然没有一个绝对固定的方法,但一般情况下,需要遵循以下基本原则。

先设计局部E-R图,再把每一个局部的E-R图综合起来,生成总体的E-R图。
属性应该存在于且存在于某一个实体或者关系中。这样就可以避免数据冗余。例如在图1-2所示的E-R图中就出现了大量的数据冗余,所借图书属性不能重复。

image-20211219212908936

实体是一个单独的个体,不能存在于另外一个实体中,既不能作为另外一个实体的属性。例如,图1.1所示的图书实体,不能作为借阅实体的一个属性。
同一个实体在同一个E-R图中只能出现一次。
例1.2 设计图书馆管理系统的E-R图。在图书馆管理系统中,主要包括两个实体和两个关系,两个实体分别是图书和读者实体;两个关系分别是借阅和归还,这两个关系都是多对多的关系。其中,在借阅关系中,还包括借阅日期属性;在归还关系中,还包括归还日期属性。对应的E-R图如图所示。

image-20211219212928815

逻辑结构设计

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

转换原则

  1. 一个实体型转换为一个关系模式。

       ①关系的属性:实体的属性;②关系的码:实体的码
    
  2. 实体型间的联系的转换

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

①关系的属性:与该联系相连的各实体的码以及联系本身的属性 ②关系的候选码:每个实体的码均是该关系的候选码

转换为一个独立的关系模式
与某一端实体对应的关系模式合并
①合并后关系的属性:加入对应关系的码和联系本身的属性 ②合并后关系的码:不变

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

转换为一个独立的关系模式
①关系的属性:与该联系相连的各实体的码以及联系本身的属性 ②关系的码:n端实体的码

与n端对应的关系模式合并
①合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性 ②合并后关系的码:不变

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

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

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

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

(5)具有相同码的关系模式可合并

l目的:减少系统中的关系个数

l合并方法:

Ø 将其中一个关系模式的全部属性加入到另一个关系模式中

Ø 然后去掉其中的同义属性(可能同名也可能不同名)

Ø 适当调整属性的次序

物理结构设计

(1) 确定数据库的物理结构, 在关系数据库中主要指存取方法和存储结构。
(2) 对物理结构进行评价, 评价的重点是时间和空间效率