逻辑设计主要是建立系统中核心实体之间的关系。例如,一个雇员可以有多个角色,那么在逻辑设计中,就可以在雇员(Employee)实体类和角色(Role)实体之间进行关联了。可以采用ER (Entity Relationship)图来描述实体之间的关系。
实体关系图确定了之后,我们可以在此基础上进一步分析系统中的核心业务,并进行领域建模(通过领域建模得到的实体可以称为“领域模型”)。
在领域建模中,有一点要注意的是,实体关系图中的实体和领域模型不是一样的。可以将实体关系图中的实体看成是对需求中重要概念的初步提炼,这个实体此时还相当粗糙,而领域模型这个实体包含了领域核心概念和逻辑(领域实体建模是一个不断改进的过程,随着对系统进行不断的分析,领域模型也在不断的演化和修改)。我们在网站建设的时候也要注意,建立数据库的时候,逻辑设计也是很主要的一环,不然我们后来的工作将很难进行。
根据ER图和领域模型综合考虑数据库的需求之后,我们还可以建立数据实体模型。数据实体模型关注在如何高效的组织和存储数据上。
数据实体模型属于逻辑视图(所以数据实体模型也称为“逻辑数据模型”),它不与任何特定的数据库关联。数据实体模型可以用来指导在SQL Server、Oracle中实现物理设计。
一个逻辑数据模型是非常有用的,理由如下:
1、它可以帮助我们理解系统的需求,逻辑数据模型能把复杂的业务需求简单地转换成为实体之间的联系,这使得我们可以更好地识别和理解业务逻辑。在某些情况下,业务需求可能非常复杂,开发人员很难理解系统的内部逻辑,采用逻辑数据模型可以帮助开发人员从高层的视角来理解系统。
2、它可以在创建物理数据库时提供帮助。逻辑数据模型是物理数据库设计的蓝图。很多开发人员在项目一开始时就着手创建实际的物理数据库和数据表。事实上,在项目开始的时候,很多的需求有待分析和确认,在需求没有确认之前建立数据库势必会浪费精力,并且修改逻辑数据模型比修改实际的物理数据方便得多。
3、它是与数据库相互独立的。同样的一个逻辑数据模型可以为不同的数据库所用。这在多数据库系统开发中节省了开发人员的时间和精力,他们可以先修改逻辑数据模型,然后去建立物理数据库;而不是先建立物理数据库,然后根据需求修改数据库。