• 简介

目的:将E-R图中的实体、属性和联系转换成为“关系模式”。

所谓关系模式,具有“关系型数据库”的特点——可以理解为表和字段,但是不必考虑数据类型、索引等细节。

任务:将实体模型转换成特定的DBMS所支持的数据模型的过程。

DBMS:数据库管理系统

  • 初始关系模型设计

(1)实体转关系遵循的原则:

  • 实体转为表,属性转为作字段。
  • 联系转为表,相连实体的主键转为字段、联系自身的属性转为字段。

(2)实体间关系的转换:

分为三种——1:1、1:n,m:n

1:1关系——独立建表,随意并入

可以独立成表,也可以与任意一端所对应的表合并。

如——原实体对应关系模式分别为:

  • 班级(班号,专业)
  • 班长(学号,姓名)

有三种方式建表:

=====================

①独立成一张表——没什么意义,还多一张表:

  • 班级(班号,专业)
  • 班长(学号,姓名)
  • 班级·班长(班号,班长学号

=====================

②将关系“管理”合并到实体“班级”对应的模式后为:

  • 班级(班号,专业,班长学号
  • 班长(学号,姓名)

=====================

③关系“管理”也可以合并到实体“班长”对应的模式,将关系“管理”合并到实体“班级”对应的模式后为:

  • 班级(班号,专业)
  • 班长(学号,姓名,班号

1:n关系——独立建表,并入多表

可以独立建表,也可以与n端所对应的表合并。

①独立建表

  • 系(系号,系名,系主任)——实体表
  • 教师(编号,姓名,性别,职称)——实体表
  • 管理(教师编号,系号)——关系表

============================

②合并到实体“教师”:

  • 系(系号,系名,系主任)
  • 教师(教师号,姓名,职称,性别,系号
注意:只能合并到“多”的一端。

m:n关系——独立成表,主键全收

关系只能独立成表,自身的属性也转换为字段,相连的实体的主键也转换为字段,并作为新表的联合主键。

如——

  • 课程(课程号,课程名,学时,类别) 实体表
  • 学生(学号,姓名,性别,专业,出生日期,照片) 实体表
  • 选修(学号,课程号,分数) 关系表

=====================

三个或三个以上实体间的多元关系转换为一个独立的表,转换方式同m:n关系。

  • 关系模式规范化
范式定义——符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度。

说人话——一张数据表的表结构所符合的某种设计标准的级别。

数据库范式分为1NF,2NF,3NF,BCNF,4NF,5NF。

BCNF:Boyce-Codd Normal Form(巴斯-科德范式)

符合高一级范式的设计,必定符合低一级范式。例如符合2NF的关系模式,必定符合1NF。

第一范式——每一个分类必须是一个不可分的数据项。属性不可再分,确保每列的原子性。

(简单理解:每个表的每个字段不能再拆分)

第二范式——每个表只描述一件事情,每条记录有唯一标识列。

(简单理解:每个表都有主键)

第三范式——数据库表中不包含已在其它表中已包含的非主关键字信息。

(简单理解:从表只引用主表的主键,不得包含其他信息)

Logo

快速构建 Web 应用程序

更多推荐