数据库开发过程包括3个主要步骤:需求分析、组件设计和实现。
ER模型是目前最流行的创建数据模型,ER模型中最重要的元素是实体、属性、标识符和关系。
实体是用户希望跟踪的对象。如:客户Joe、第102号交易、产品A23等。给定类型的实体分组到实体类中,实体类是所有实体的集合。实体类的实体实例是特定的实体。
属性是用来描述实体特征的。属性具有数据类型及特征。特性指定该属性是否必须,是否有默认值,取值是否受限以及其他约束。
标识符是给实体实例命名或标识的属性。标识符可以是唯一或不唯一。唯一的标识符标识唯一的实体实例,不唯一的标识符标识多个实体实例。如一般而言,studentnumber标识唯一的一个学生,studentname很可能不会标识唯一的学生,如果有重名的话。
实体实例的标识符由实体的一个或者多个属性构成。
标识符与键,标识符与键非常相似,但是有两点重要的区别:
1、标识符是一个逻辑概念,他是一个或多个属性,用户把它当做实体的名称,它并不一定表示为数据库中的键。
2、主键或候选键必须唯一,而标识符不一定唯一。
ITEM (实体)
ItemNumber(标识符,属性)
Description(属性)
Cost(属性)
ListPrice(属性)
Quantity(属性)
关系,实体之间通过关系来关联。E-R模型包括关系类和关系实例,关系类反应实体类之间的关系,关系实例反映了实体实例之间的关系。关系可以有属性,但是现在一般只允许实体有属性。
关系有三种:
1、一对一(1:1)关系 EMPLOYEE--------------------------LOCKED一个雇员对应一个储物柜
2、一对多(1:N)关系 ITEM-------------------------------QUOTATION 一个产品可以有多个报价
3、多对多(M:N)关系 ITEM--------------------------------SUPPLIER一个产品可以由多个供应商提供,一个供应商也可以提供多个产品
弱实体,在数据库中,除非另一种实体存在,否则弱实体就不存在。弱实体也可认为是逻辑上依赖另一个实体的实体。
子型实体,是另一种名为父型实体的特例。在某些情况下,父型实体的一个属性指出了哪些子型实体适合于给定的实例。子型实体可能是排他的(父型实体只与一个子型实体相关联),或包含的(父型实体可以与一个或多个子型实体相关),子型实体的标识符就是父型实体的标识符。
在创建数据模型时,必须记录限制数据库活动的业务规则。