当前位置:嗨网首页>书籍在线阅读

09-关系型数据模型的操作与完整性

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.2.2 关系型数据模型的操作与完整性

关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作。

关系数据库的数据操作语言(Data Manipulation Language,DML)的语句分为查询语句和更新语句两大类。查询语句用于描述用户的各类检索要求;更新语句用于描述用户的插入、修改和删除等操作。关系数据操作语言建立在关系代数基础上,具有以下特点。

⑴以关系为单位进行数据操作,操作的结果也是关系。

⑵非过程性强。很多操作只需指出做什么,而无需步步引导怎么去做。

⑶以关系代数为基础,借助于传统的集合运算和专门的关系运算,使关系数据语言具有很强的数据操作能力。

下面介绍在数据操作语言中对数据库进行查询和更新等操作的语句。

●SELECT语句:按指定的条件在一个数据库中查询的结果,返回的结果被看作记录的集合。

●SELECT...INTO语句:用于创建一个查询表。

●INSERT INTO语句:用于向一个表添加一个或多个记录。

●UPDATE语句:用于创建一个更新查询,根据指定的条件更改指定表中的字段值。该语句不生成结果集,而且当使用更新查询更新记录之后,不能取消这次操作。

●DELETE语句:用于创建一个删除查询,可从列在 FROM 子句之中的一个或多个表中删除记录,且该子句满足WHERE子句中的条件,可以使用DELETE删除多个记录。

●INNER JOIN操作:用于组合两个表中的记录,只要在公共字段之中有相符的值。可以在任何FROM子句中使用 INNER JOIN 运算,这是最普通的连接类型。只要在这两个表的公共字段之中有相符的值,内部连接将组合两个表中的记录。

●LEFT JOIN操作:用于在任何FROM子句中组合来源表的记录。使用LEFT JOIN 运算来创建一个左边外部连接。左边外部连接将包含从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

●RIGHT JOIN操作:用于在任何FROM子句中组合来源表的记录。使用 RIGHT JOIN 运算创建一个右边外部连接。右边外部连接将包含从第二个(右边)表开始的两个表中的全部记录,即使在第一个(左边)表中并没有匹配值的记录。

●PARAMETERS声明:用于声明在参数查询中的每一个参数的名称及数据类型。该声明是可选的,但是当使用时,须置于任何其他语句之前,包括 SELECT语句。

●UNION操作:用于创建一个联合查询,它组合了两个或更多的独立查询或表的结果。所有在一个联合运算中的查询,都须请求相同数目的字段,但是字段不必大小相同或数据类型相同。

根据关系数据理论和Codd准则的定义,一种语言必须能处理与数据库的所有通信问题,这种语言有时也称为“综合数据专用语言”。该语言在关系型数据库管理系统中就是SQL。SQL的使用主要通过数据操作、数据定义和数据管理三种操作实现。其中Codd提出了RDBMS的12项准则。

⑴信息准则:关系数据库中的所有信息都应在逻辑一层上用表中的值显式的表示。

⑵保证访问准则:依靠于表名、主键和列名,保证能以逻辑方式访问数据库中的每个数据项。

⑶空值的系统化处理:RDBMS支持空值(不同于空的字符串或空白字符串,并且不为0)系统化地表示缺少的信息,且与数据类型无关。

⑷基于关系模型的联机目录:数据库的描述在逻辑上应该和一般数据采用同样的方式,使得授权用户可以使用查询一般数据所用的关系语言来查询数据库的描述信息。

⑸统一的数据子语言准则:一个关系系统可以具有多种语言和多种终端使用方式(如表格填空方式、命令行方式等)。但是,必须有一种语言,它的语句可以表示为具有严格语法规定的字符串,并能全面地支持以下功能:数据定义、视图定义、数据操作(交互式或程序式)、完整约束、授权、事务控制(事务开始、提交、撤销)。

⑹视图更新准则:所有理论上可更新的视图也应该允许由系统更新。

⑺高阶的插入、更新和删除:把一个基本关系或导出关系作为一个操作对象进行数据的检索以及插入、更新和删除。

⑻数据的物理独立性:无论数据库的数据在存储表示上或存取方法上做何种变化,应用程序和终端活动都要保持逻辑上的不变性。

⑼数据的逻辑独立性:当基本表中进行理论上信息不受损害的任何变化时,应用程序和终端活动都要保持逻辑上的不变性。

⑽数据完整的独立性:关系数据库的完整性约束必须是用数据子语言定义并存储在目录中的,而不是在应用程序中加以定义的。至少要支持以下两种约束:①实体完整性,即主键中的属性不允许为空值(NULL);②参照完整性,即对于关系数据库中每个不同的非空的外码值,必须存在一个取自同一个域匹配的主键值。

⑾分布独立性:一个RDBMS应该具有分布独立性。分布独立性是指用户不必了解数据库是否是分布式的。

⑿无破坏准则:如果RDBMS有一个低级语言(一次处理一个记录),这一低级语言不能违背或绕过完整性准则以及高级关系语言(一次处理若干记录)表达的约束。

数据库管理系统是对数据进行管理的大型系统软件,它是数据库系统的核心组成部分,用户在数据库系统中的一切操作,包括数据定义、查询、更新及各种控制,都是通过DBMS进行的。

关系模型的完整性规则是对数据的约束。关系模型提供了3类完整性规则:实体完整性规则、参照完整性规则和用户定义的完整性规则。其中实体完整性规则和参照完整性规则是关系模型必须满足的完整性的约束条件,称为关系完整性规则。

●实体完整性:指关系的主属性(主键的组成部分)不能是NULL。NULL就是指不知道或是不能使用的值,它与数值0和空字符串的意义都不一样。

●参照完整性:如果关系的外键R1与关系R2中的主键相符,那么外键的每个值必须在关系R2中主键的值中找到或者是空值。

●用户定义完整性:是针对某一具体的实际数据库的约束条件。它由应用环境所决定,反映某一具体应用所涉及的数据必须满足的要求。关系模型提供定义和检验这类完整性的机制,以便用统一、系统的方法处理,而不必由应用程序承担这一功能。