知识卡片
数据模型的两种含义
内容
“数据模型”这个词在书中被明确拆成两种不同含义,混用会造成困惑。第一种含义指一套 抽象的、通用的结构定义加运算符集合,比如”关系模型”本身——这种意义上只存在唯一 一个关系模型,所以说话时会加定冠词”the”(”the relational model”),本书通篇在这 第一种含义上使用”数据模型/模型”这个词。第二种含义指针对某个具体企业实际数据的 建模结果,也就是日常说的”逻辑数据库设计”——比如”某银行的数据模型”“某医院的数据 模型”,这种意义上模型是复数的、不定的,每家企业都有自己独立的一份。两者的关系 可以类比成编程语言和用该语言写的具体程序:第一种含义相当于一门通用编程语言本身 的结构规范(只有一种),第二种含义相当于用这门语言写出来解决某个具体问题的某个 具体程序(可以有无数个)。区分这两种含义能避免在讨论”关系模型”时被误解成在讨论 “某个具体数据库的表结构设计”,这两者是完全不同层次的东西。
参考来源
- 位置:《SQL与关系数据库理论——如何编写健壮的SQL代码》第1章"做好准备"1.5节
"模型vs.实现"(源文件:OEBPS/text00011.html)
- 结论依据:原文明确区分"第一种含义下……只有一个关系模型,因此我们说'the relational
model'""第二种含义……是指某个特定企业的(持久)数据模型,比如银行、医院或政府
部门的数据模型……这种意义下的模型是可数的、不定的",并给出编程语言与具体程序的
类比。
- 原始内容:只有一个关系模型,因此我们说"the relational model"……第二种意义下的
数据模型,是指某个特定企业的持久数据的一种模型……这就好比一门通用编程语言的
结构,与用该语言编写的解决某个特定问题的具体程序之间的关系。