数据库中数据模型的概念(数据库什么是数据模型)
导语:数据库概念学习的第01关:数据模型的概念
“模型”顾名思义是一种抽象,这也是数据库学习时可能会碰到的第一障碍点,特别是抽象能力相对差一点的同学,理解其中概念时会显得困难些;另外有些同学明明已经理解了其概念,但是总感觉自己没有掌握,总差那么一点。如果感觉自己在理解这个概念时总是觉得心里没底,不妨先搞清楚数据模型是用来干什么的。
1、数据模型的用途数据模型的目标就是帮助开发人员建立目标系统存储、操作各种各样数据的规则。这些规则确保数据能按实际语义存取,能按约定的规则一定程度上限制增删改操作。
牢牢把握住数据模型的目标,在学习其概念和工具时不断去印证相关知识点是如何帮助实现这个目标的。按我自己的经验,这种学习方式会让自己对学习的内容、自身目前所处的认知状态有个清晰的评判。
那么到底什么是数据模型?它是如何达成上述目标呢?我们又应该如何去建立数据模型呢?
2、数据模型的分层在利用数据模型设计目标系统的数据体系时,有个非常有趣的现象,就是:新手和经验丰富的架构师的数据库设计过程惊人相似,只是设计结果可能大不相同。他们都是直接在具体的数据库产品中设计相关内容(如在MySQL中直接设计表结构),由于经验不足,新手设计出来的结构经常会出现一些低级错误。造成这个问题的根本原因就是对数据模型的理解不彻底,建议初学者还是先从概念模型入手。
在软件设计体系中,数据模型的设计通常分为两个层面,一个叫概念模型,一个叫物理模型(在人大的数据库教程中,物理模型也叫数据模型,比较容易和整体的数据模型产生概念混淆,大家可以直接将这个模型叫做物理模型)。概念模型主要解决语义表达问题,物理模型是语义在特定数据库产品下的实现。其中概念模型需要在能完整、准确表达目标系统涉及的数据语义基础上,被设计成人容易理解,以防止软件工程师与用户间的沟通中出现理解错位;而物理模型则关注模型的健壮性、机器表达能力等,应便于通过程序设计语言在其基础上实现业务逻辑。
可以这么理解,概念模型和技术无关,物理模型是用某种技术解决数据管理问题。
3、概念模型概念模型的实现方式有很多,最被人认可的就是大名鼎鼎的ER模型,即实体-联系模型。这种模型通过实体、实体间存在的关联关系两个核心概念来表达需要建模的目标系统数据,由于其概念较少,容易上手,且表达能力足够,深受欢迎。需要注意的是:概念模型只表达数据的语义,和业务操作没有关系。例如:&34;这个动作是一个业务操作,不应出现在概念模型中;而用户的各种信息、用户和其他业务对象间的关系才是概念模型的建模对象。牢牢把握住概念模型的设计对象是设计合理概念模型的基础,也是去除各种信息干扰的基本点。
初学者对ER模型的学习要点我将在下一篇文章中详细阐述。
4、物理模型概念模型设计完成后,可通过工具将其转换为物理模型。最常用的物理模型实现是关系模型,即利用关系数据理论实现的数据库设计。关于物理模型,我们通常关注两个方面:一方面,它是如何以特定的数据结构来存储概念模型设计出来的信息内容的;另一方面,在存取、使用其中的数据时,技术体系是如何约束这些行为的。如采用关系模型,它采用“表”来存储数据,同时遵循关系模型提供的操作规约。
因此,我们学习物理模型的核心就是:(1)学习它采用什么数据结构存储数据,以及如何根据概念模型确定具体的数据结构;(2)学习它支持哪些数据操作的方式(学习后,你才可以明确程序如何使用这些能力完成业务操作);(3)学习它在存储、操作数据时,如何根据语义要求,限制某些数据的进入,限制某些不合理的数据操作。
关于物理模型的学习要点,我将在后续文章中详细阐述。
本文内容由小茹整理编辑!