数据库设计与实体-关系模型详解
立即解锁
发布时间: 2025-08-23 00:09:03 阅读量: 1 订阅数: 7 

### 数据库设计与实体 - 关系模型详解
#### 1. 数据库开发流程概述
数据库开发是一个系统的过程,主要包括需求分析、数据建模、组件设计和实施等阶段。
需求分析是数据库开发的首要步骤,其目的是明确用户对数据库的需求。用户需求的来源广泛,主要有以下几种:
- 用户访谈:通过与新信息系统的用户进行交流,了解他们的实际需求和期望。
- 现有表单、报告、查询、应用程序和网站:分析这些现有资源,获取业务流程和数据使用的相关信息。
- 用例:描述用户使用新信息系统的方式,包括用户角色、活动场景、输入和输出等。用例不仅是需求的来源,还可用于验证数据模型、数据库设计和实际实现。
- 业务规则:约束数据库活动的规则,通常源于业务政策和实践。例如,在学术数据库中,学生必须先声明专业才能选课;研究生课程只有绩点达到 3.70 及以上的大三或大四学生才能选修等。
在需求分析过程中,还需要记录数据项的特征,如数据类型、属性和值的限制。同时,系统开发者要记录业务规则,这些规则对数据库活动的操作起到约束作用。
#### 2. 数据模型的重要性
系统需求虽然是数据库设计的基础,但仅靠这些需求还不足以设计出有效的数据库。为了将需求转化为可用于数据库设计的形式,需要将其转换为数据模型。数据模型就像程序开发中的流程图或对象图,是对数据需求的一种抽象表示。
#### 3. 实体 - 关系数据模型
实体 - 关系(E - R)模型是创建数据模型最常用的技术,由 Peter Chen 在 1976 年首次提出,后来发展为扩展的 E - R 模型。E - R 模型的主要元素包括实体、属性、标识符和关系。
##### 3.1 实体
实体是用户想要跟踪的对象,例如客户、采购、产品等。具有相同类型的实体被归为一个实体类,在表示时通常使用大写字母。实体类是实体的集合,为该类中的实体提供结构。而实体实例是实体类中的具体出现,例如某个特定的客户。
在开发数据模型时,开发者会分析各种系统需求,实体通常是表单或报告的主题,或者是其中的主要部分。例如,名为“产品数据输入表单”的表单可能暗示存在一个名为“PRODUCT”的实体类。
##### 3.2 属性
属性用于描述实体的特征,如员工姓名、入职日期等。E - R 模型假设同一实体类的所有实例具有相同的属性。每个属性都有数据类型(如字符、数字、日期等)和属性,这些属性由需求决定,包括是否必需、是否有默认值、值的限制等。
##### 3.3 标识符
标识符是用于命名或识别实体实例的属性。一个实体实例的标识符可以由一个或多个属性组成,由两个或以上属性组成的标识符称为复合标识符。标识符可以是唯一的,也可以是非唯一的。唯一标识符的值能唯一确定一个实体实例,而非唯一标识符的值可以标识一组实例。每个实体类至少需要有一个唯一标识符。
在数据模型中,实体可以以不同的详细程度展示,有时会显示实体及其所有属性,此时唯一标识符通常位于实体顶部,并在其后画一条水平线;在大型数据模型中,为避免图表过于复杂,可能只显示标识符或仅显示实体名称。
需要注意的是,标识符与关系模型中的键类似,但有两个重要区别:一是标识符是一个逻辑概念,用户认为它能表示实体的出现,但在数据库设计中可能不被表示为键;二是主键和候选键必须是唯一的,而标识符可以是唯一的,也可以是非唯一的。
##### 3.4 关系
实体之间可以通过关系相互关联。E - R 模型包含关系类和关系实例,关系类是实体类之间的关联,关系实例是实体实例之间的关联。在现代实践中,通常只有实体具有属性,关系一般不具有属性。
关系的复杂程度可以用度数来衡量,即参与关系的实体类的数量。常见的关系类型有:
- 二元关系:涉及两个实体类的关系,是最常见的关系类型。二元关系又可分为三种:
- 一对一(1:1)关系:一个实体实例与另一个实体实例一一对应。例如,“LOCKER - ASSIGNMENT”关系表示一个员工只能分配一个储物柜,一个储物柜也只能分配给一个员工。
- 一对多(1:N)关系:一个实体实例可以与多个另一个实体实例相关联。例如,“ITEM - QUOTE”关系中,一个物品可以有多个报价,但一个报价只对应一个物品。在 1:N 关系中,通常将位于“一”方的实体称为父实体,位于“多”方的实体称为子实体。
- 多对多(N:M)关系:多个实体实例可以与多个另一个实体实例相关联。例如,“ITEM - SOURCE”关系表示一个物品可以由多个供应商供应,一个供应商也可以供应多个物品。
- 三元关系:涉及三个实体类的关系,如“PARENT”关系涉及母亲、父亲和孩子三个实体类。
关系还具有最大基数和最小基数。最大基数表示参与关系实例的实体实例的最大数量,例如“ITEM - QUOTE”关系的最大基数为 1:N。最小基数表示参与关系实例的实体实例的最小数量,最小基数为 0 表示实体参与关系是可选的,为 1 表示是强制的。可以通过在关系线上放置哈希标记或椭圆来表示最小基数,哈希标记表示该实体必须参与关系,椭圆表示可选。
实体 - 关系(E - R)图是用于表示 E - R 模型的图形化工具,具有一定的标准。通常用矩形表示实体类,用菱形表示关系,关系的最大基数显示在菱形内,最小基数通过椭圆或哈希标记显示在实体旁边。
#### 4. E - R 模型的变体
目前,E - R 模型有多种不同的版本,主要包括以下几种:
- Information Engineering(IE)Crow’s Foot 模型:由 James Martin 在 1990 年
0
0
复制全文
相关推荐







