数据库的设计

1.数据库系统的相关概念

(1)数据(Data)

数据是对客观信息的一种描述,它是由能被计算机识别与处理的数值、字符等符号构成的集合 ,即数据是指描述事物的符号记录。

数据的形式则是指数据内容所存储的具体形式,即数据的“类型” 数据可以用数据类型和值来表示。

(2)数据库(DataBase,DB)

数据库指长期存储在计算机内部组织、可共享的数据集合,即在计算机系统中按一定的数据模型 组织、存储和使用相关联的数据集合称为数据库。

数据库的数据是以文件的形式(如数据文件为:*。mdf) 存储介质上,它是数据库系统操作的对象和结果

(3)数据库管理系统(DataBase  Mantagement System DBMS)

数据库管理系统是数据系统的核心,它建立在操作系统的基础上,是位于操作系统与用户之间的一层数据管理软件,

主要是对数据库进行定义、操作、控制和管理,它还承担着数据库的维护,保证数据库的安全性和完整性

(4)数据库系统(DataBase  Mantagement,DBS)

数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统、应用系统、数据库管理员(DBA) 和用户构成

(5)数据冗余和数据冗余带来的问题

数据冗余是指同一数据被反复使用。数据冗余的范围可分为同一表中是数据冗余和不同表之间的数据冗余 数据冗余带来的问题:

  • 浪费存储空间
  • 更新数据效率低且容易出错

2、数据库的系统模型

(1)层次型数据

它由节点和连线组成,其中节点表示实体,次种类型数据库的数据结构类似于金字塔,层次分明、结构清晰、不同层次间的数据关联直接简单;

缺点就是数据将不得不以纵向向外扩展,节点之间很难建立横额向的关联,因此不利于系统的管理和维护。

(2)网状型数据库

处理以记录类型为节点的网状数据库模型的数据库被称为网状数据库。

网状数据库的特点是:

  • 允许存在一个以上的节点没有父节点。
  • 节点可以有多于一个父节点

(3)关系型数据库

关系型数据库是指采用了关系模型来组织数据的数据库,它是一个二维表格模型。

关系模型中的概念:

  • 关系:一张二维表,每个关系具有一个关系名。
  • 元组:二维表中的一行,在数据库中称为记录。
  • 属性:二维表中的一列,在数据库中称为字段。
  • 域:属性的取值范围,也是数据库中某列的取值限制。
  • 建:一组可以唯一标识元组的属性,由一个或多个列组成。
  • 关系模式:对关系的描述,其格式为(属性1,属性2,。。。。,属性N)

3、数据库概念模型

1)信息实体的概念

  1. 实体(Entity)
  2. 属性(Attribute)
  3. 建、主键、外键
  4. 实体型(Entty type)
  5. 实体集(Entity Set)
  6. 联系Relationshp)

4、实体的关系

 1、一对一的关系(1:1)

对于实体集A中每一个实体,实体集B中至多有一个实体与之关联,则称实体集A与实体集B具有一对一的关系,记为(1:1)

2、一对多的关系(1:N)或多对一的关系(N:1)

实体集A中的每一个实体,实体集B中有N个实体与之关联;反过来,实体集B的每一个实体,实体集A有N个实体与之关联;

3、多对多的关系(N:N)

实体集A中的每一个实体,实体集B中有N个实体与之关联;反过来,实体集B的每一个实体,实体集A有个M体与之关联;

4、E-R模型的图形描述

 

5、范式理论

第一范式 (1st NF)

*第一范式的目标是确保每列的原子性
*如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF
第二范式 (2nd NF)
*如果一个关系满足1NF,并且除了主键以外的其他列,都依赖与该主键,则满足第二范式(2NF
*第二范式要求每个表只描述一件事情
 
第三范式 (3rd NF)
如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF)
 
6、设计数据库的步骤
1、需求分析
准确了解与分析用户需求(包括数据域处理)
2、概念结构设计
对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示
3、逻辑结构设计
将概念结构转换为某个DBMS所支持的数据模型(如关系模型)
4、物理结构设计
为逻辑数据模型选取一个最合适的应用环境的物理结构,包括存储结构和存取方法
5数据库实施阶段
运用DBMS提供的数据语言(SQL)及其宿主语言(如C语言),根据逻辑设计和物理设计的结果建立数据库,
编制与调试应用程序,组织数据入库,并进行调试运行
6、数据库的运行和维护
对数据库系统进行评价、调整和修改
 
 
总结
通过这章的学习我们知道了:
数据库设计是结构化数据库的数据对象以及这些数据对象之间关系飞过程;
在数据库中的概念模型是现实世界的抽象反映,是现实世界到计算机系统的一个中间层次;
 
 
 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2013-04-27 22:57  ◆◇▁演绎、  阅读(6420)  评论(0编辑  收藏  举报