概述
说到模型,大家都很熟悉了,地图、沙盘、汽车火箭飞机模型,这些都可以让人联想到真实的事物,模型是现实世界对某个对象特征的模拟和抽象。
数据模型也是一种模型,是对现实世界数据特征的抽象。数据模型通常包含:
- 数据结构:描述数据库的组成对象及对象之间的联系,对应系统的静态特性
- 数据操作:对数据库各种对象的实例操作的集合,即怎样进行数据的增删改查,对应系统的动态特性
- 完整性约束条件:数据及联系所具有的的制约和依存规则,保证数据的正确、有效和相容,即不能让不三不四的数据存在。对应系统的完整性约束条件
数据结构是刻画一个数据模型性质最重要的方面,人们通常按照数据结构的类型来命名数据模型。数据发展过程中产生过三种比较经典的数据模型,分别是层次模型、网状模型和关系模型。
层次模型以“树”结构表示数据之间的联系,网状模型以“图”结构表示数据之间的联系,它们在上世纪六七十年代比较流程。但是因为这些模型和底层实现联系紧密,使数据建模和实现复杂化,不利于用户掌握,很快就被关系模型取代了。当今众多的数据库管理系统如Oracle、Postgresql、Mysql等都是基于关系模型的。那关系模型有何独特之处,能在几十年后的今天依旧独领风骚呢?
数据结构
关系模型Relational Model是1969年由IBM的E.F.Codd提出的(IBM曾经真是NB),它是以数学集合论中的关系概念为基础发展起来的,这说明它坚实的数学基础。关系模型中无论是实体还是实体间的联系都是用关系,也就是一张二维表Table表示,一个关系数据库就是由若干表组成,