关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。
关系模型的数据结构非常简单,只包含单一的数据结构:关系。关系用二维表结构来表示各类实体及实体间的联系,二维表由行和列组成。一个关系数据库由多张二维表组成。
关系的描述称为关系模式。关系模式是一个五元组R〈U, D, DOM, FD〉。其中,R为关系名;U为属性名;D为一组域;DOM为属性到域的映射;FD为一组数据依赖,是一类完整性约束条件。某一时刻一个关系模式的实例称为关系状态,简称关系,也称基本关系。
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。具有关系处理能力的关系数据语言,可分为关系代数、关系演算和介于两者之间的语言。一般以关系代数作为度量语言处理功能的标准。关系代数除提供传统的集合运算如并、交、差运算外,还提供了选择、投影、连接等操作。关系数据库的标准语言是SQL语言。
关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。实体完整性是指若一个或一组属性A是基本关系R的主属性,则A不能取空值。参照完整性定义了外码和主码之间的参照关系。如果F是基本关系R的一个或一组属性,但不是关系R的码,如果F的取值与基本关系S的主码相对应,则称F是R的外码(Foreign Key)。参照完整性规定外码F或者取空值(F的每个属性值均为空值),或者等于基本关系S中某个元组的主码值。用户定义的完整性是应用相关的约束条件。
关系数据模型的优点,一是它建立在严格的数学概念的基础上的;二是关系模型的概念单一,无论实体还是实体之间的联系都用关系来表示,对数据的检索和更新结果也是关系(即表),因而其数据结构简单、清晰,用户易懂易用;三是关系模型的存取路径对用户透明,用户只要指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”,从而大大地提高了数据的独立性,提高了用户生产率。这些优点使得关系数据模型诞生以后发展迅速,关系数据库深受用户的喜爱。
当然,关系数据模型也有缺点,例如,由于存取路径对用户是隐蔽的,查询效率往往不如层次、网状等格式化数据模型。为了提高性能,关系数据库管理系统必须对用户的查询请求进行优化,因此增加了开发关系数据库管理系统的难度。