数据库系统概述(续)

一、关系数据库的特征

以数据的关系模型为基础设计的数据库系统称为关系型数据库,简称关系数据库

1、关系数据库概念

先来放一个表格:

数据库系统概述(续)

  1. 关系:关系模型是把数据库组织为满足一定条件的二维表形式,每个二维表称为一个关系。上表就是关于学生情况的一种关系。
  2. 元组:在关系中,除表头外,每一行称为一个元组,是一个实体的数据集合。上表中有2个元组。
  3. 属性:表中的每一列称为一个属性(或者字段),是数据库对象表中最基本的、不可分割的数据单位。列可以命名,称为属性名(或字段名)。属性名组成了二维表的表头,例如上表中有“学号”、“姓名”等6个属性。同一关系中不能出现相同的属性名。
  4. :域是属性的取值范围,例如成绩一般在1~100之间,所以成绩属性的域是(1~100)。
  5. 主键:主键也称关键字,是表中的属性或属性组,用于唯一确定一个元组。主键可以由一列组成,也可以由多列共同组成。例如上表中,“学号”可以定义为主键,因为它可以唯一的确定一个学生。   定义主键后,关系中不允许有完全相同的两个元组,所谓完全相同是指两个元组对应的所有属性的值都相同。
  6. 关系模式:关系模式是对关系的描述,实际上对应关系的表头。例如在学生管理系统中,学生、选课以及课程之间的联系在关系模式中可以表示如下:学生(学号,姓名,性别,出生日期,班级,籍贯)。
  7. 索引:索引是根据指定的数据库表列建立起来的顺序。它提供快速访问数据的途径,并且可以监督表数据,使其索引所指向的列中的数据不重复。


2、关系型数据库的特征

  • 同一二维表中,所有记录格式相同,长度相同;
  • 同一二维表中,字段名不能相同;
  • 同一字段数据的类型相同,它们均为同一属性的值

行和列的排列顺序并不重要。


3、关系数据模型的完整性操作

  1. 实体的完整性:一个基本数据表的关系,一般隶属于一个特定的实体,如学生信息表、成绩表隶属于学生信息管理系统。各表必须属于同一个数据库,用户在设计这个系统时,要保证整个数据库中各个表相互依赖且准确无误。主表中应有主键并建立主索引,主键应无重复和空值,同时字表中有一个简明,但应为普通索引。
  2. 参照的完整性:参照的完整性是一个规则系统,数据库使用这个系统来确保相关表中记录之间关系的有效性,并且不会意外的删除或者更改相关数据。
  3. 用户定义的完整性:前两者可用于任何关系数据库管理系统中。用户定义的完整性是针对某个数据库的约束条件来设计一个合理的、能使某个数据库管理系统实现的方案。


二、关系中的码与表间的关系

1、关系中的码

除了主键,在关系中还有其他的码,包括以下几种:

  1. 候选码(即主键)。候选码的属性称为主属性,不包含在任何候选码中的属性称为非主属性;
  2. 主码:若一个关系有多个候选码,则选定其中一个为主码;
  3. 全码:在最极端的情况下,关系模式的所有属性是这个关系模式的候选码,称为全码;
  4. 外码:用于建立关系表之间关联的属性(组)称为外码。


2、两个实体之间的关系

可以分为三类:

  • 一对一关系(1:1)。例如,班和正班长就是一对一关系;
  • 一对多关系(1:n)。例如,一个班级中有若干名学生,则班级和学生之间具有一对多关系;
  • 多对多关系。例如,一门课程同时有若干名学生选修,而一个学生可以同时选修多门课程。则课程和学生之间具有多对多关系。


三、关系数据库的设计方法

1、设计方法

为了使数据库设计更合理有效,需要有效的指导原则,这种原则就称为数据库设计方法。数据库设计方法中比较注明有新奥尔良(New Orleans)方法。

这种方法将数据库设计分为四个阶段:需求分析、概念结构设计、逻辑结构设计和物理结构设计。

此外,还有基于E-R模型的数据库设计方法,基于3NF(第三范式)的设计方法等。

2、设计步骤

  1. 需求分析阶段;
  2. 结构设计阶段,主要包括概念结构设计、落结构设计、物理结构设计;
  3. 行为设计阶段,主要包括功能设计、事务设计、程序设计;
  4. 数据库实施阶段,包括加载数据库数据和试运行应用程序;
  5. 数据库运行和维护阶段。