关系模型由哪几部分组成
由关系数据结构,关系操作集合和关系完整性约束三部分组成。
1)单一的数据结构—关系:关系模型的数据结构非常单一。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示,在用户看来关系模型中数据的逻辑结构是一张二维表。
2)关系操作:关系操作采用集合操作方式,即操作的对象和结构都是集合。关系模型给出了关系操作能力,但不对RDBMS语言给出具体的语法要求。
3)关系的三类完整性约束:关系模型提供了丰富的完整性控制机构,允许定义三类完整性约束:实体完整性,参照完整性和定义用户的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中语义约束。
关系的类型
关系可分为三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示,查询表是查询结果对应的表。视图表则是基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
如何区别主键和外键
主键是定义一个表中起主要作用的数据项,这些数据项的数据在表中是唯一的,同时系统按主键为表建立索引。
外键是定义一个表中的某数据项的数据,要参照另一个表的主键数据。既没有在另一个表的主键数据中出现数据,不允许在这个表的外键数据项中出现。
SQL语言的特点
SQL语言集数据查询,数据操控,数据定义和数据控制功能于一体,充分体现了关系数据语言的优点和特点。
其主要特点包括:
1)综合统一:SQL语言则集数据定义语言,数据操控语言,数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,包括定义关系模式,录入数据以及建立数据库,查询,更新,维护,数据库重构,数据库安全性控制等一系列操作的要求,这就为数据库应用系统开发提供良好的环境。
2)高度非过程化:非关系数据模型的数据操纵语言是面向过程的语言,用其完成某项请求,必须指定存储路径。而用SQL进行数据操作,用户只需提出做什么,而不必指明怎么做,因此用户无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。这不但大大减轻用户负担,而且有利于提高数据独立性。
3)面向集合的操作方式:非关系数据模型采用的是面向记录的操作方式,任何一个操作其对象都是一条记录,而SQL语音采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入,删除,更新操作的对象也可以是元组的集合。
4)以同一种语法结构提供两种使用方式:SQL语音既是自含式语言又是嵌入式语言。作为自含式语言,它能够独立的用于联机交互的使用方式,用户可以在终端键盘上直接键入SQL命令对数据库进行操作。作为嵌入式语言,SQL语句能够嵌入到高级语言程序中,供程序员设计程序时使用。而在两种不同的使用方式下,SQL语言的语法结构基本上是一致的。这种以统一的语法结构提供两种不同的使用方式的做法,为用户提供了极大的灵活性与方便性。
5)语言简洁,易学易用:SQL语言功能极强,但由于设计巧妙,语言十分简洁,完成数据定义,数据操纵,数据控制的核心功能只用了9个动词:CREATE DROP ALTER SELECT INSERT UPDATE DELETE GRANT REVOKE SQL语言语法简单,接近英语口语,因此容易学习使用。
关系数据库的型和值
关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。
关系数据库的值是这些关系模式在某一时刻对应的关系集合,通常称为关系数据库。
关系模式的特征
关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的、而关系是动态的、随时间的不断变化的,因为关系操作是在不断地更新着数据库中的数据。但在实际当中,人们常常把关系模式和关系都称为关系。