在现实世界中,通常用名称来标识对象。如果业务环境需要保持对象的状态,那么应对其产生专门的业务规则。一般来说,业务规则中的名词可转化成数据模型中的实体,而与名词相连的动词(主动或被动)则可转化成实体之间的联系。例如,业务规则“一位客户可产生多张发票”包含两个名词(客户和发票)和一个动词(产生),我们可从中推出:
客户和发票是系统感兴趣的对象,应表示为实体。客户和发票间存在“产生”联系。
为正确判定联系的类型,应考虑联系的双向特性。如果在上面规则的基础上在增加一条规则“一张发票只能由一位客户所产生”,那么该联系就是一对多(1:M)联系,其中客户是“一”,发票是“多”。
作为一般准则,可通过下列两个问题判定联系的类型:
有多少 B 的实例与一个 A 的实例关联?有多少 A 的实例与一个 B 的实例关联?
3. 数据模型构成
数据模型的基本组成包括实体、属性、联系和约束。