读书频道 > 移动开发 > Android > Android数据库应用编程——为企业开发数据驱动Android应用
2.1.3 DBMS的其他功能
2015-04-21 16:37:46     我来说两句 
收藏    我要投稿   
学习为企业系统构建数据驱动的Android应用程序。Android设备已经超越消费应用范畴,进入企业领域。如果你准备着手构建与企业系统集成的数据驱动型Android应用程序,那么本书无疑是理想之选。 Android数据库应用  立即去当当网订购

大多数RDBMS引擎支持——有不同程度的变化——非关系模型的组成部分的其他功能。如果数据库引擎被多个客户端应用程序使用,这就使得把这些功能作为引擎的一部分很有意义了,而不是把它们的实现——和由此产生的各种错误——留给客户端应用程序。

1. 强类型

大多数数据库引擎严格强制执行特性类型。引擎通常定义一些原生数据类型,它描述可以存入列中的数据类型。这些类型——通常是各种长度的浮点数、字符串、整数等——特定于特殊的实现,并且不能扩展。定义关系的一部分工作(在本章后面的SQL语言示例中展示)是定义可以放置到每列中的数据类型。一旦定义关系,RDBMS将无法企图把错误的数据类型的数据存入列中。例如,尝试插入一个包含一个字符串作为其第三个特性的元组到一个指定第三个特性应该是一个浮点数的关系,将会失败,通常产生某种异常。

2. 引用完整性

在关系数据库中,原生类型系统(前一节中所述RDBMS定义的类型)可以通过声明一个关系中的列是另一个关系的一个引用进行扩展。也就是说,使用SQL语言的一种特殊结构(主键和外键,在本章后面有演示),数据架构师可以声明一个关系中的一些列的内容是其他关系中类似类型列的一个引用。图2-3演示了外键。


 

在表A中的外键列(在这个示例中是最右边的列)的一个给定值或者是null,或者是到表B中精确一行的一个链接,这一行最左边的列是匹配值(再次,在这个示例中是最左边的列)。
大多数RDBMS为定义其上的关系强制执行引用完整性。强制性有两部分内容。

●第一部分,强制执行主键约束,保证目标表(图2-3中的表B)中主键值(在本例中是左边的列)等于给定值的行不会多于一行。一个表最多可以包含一个(可能是多列)主键。对于强制执行主键约束的数据库,尝试插入一个主键值已经在表中存在的新行时会失败。例如,如果表包含三行,主键值分别是“yes”、“no”和“maybe”,尝试添加一个主键值为“purple”的新行将成功。然而,尝试添加主键值是“no”的新行将失败。

●引用完整性的第二部分确保如果子表某一行中的外键非空(在本例中是A表),那么父表(表B)中等于此键值的记录唯一。这个规则可能被两种方式破坏,而两种方式都是禁止的。插入外键的值在目标表的任何行中不存在主键的行将失败,并通常产生异常。因此,删除父表中被子表的外键引用的(唯一)行时,也会失败。如果父表中没有任何行对应于子表中给定的行,那么该行的外键值必须为null。

3. 事务

RDBMS系统最后经常支持的功能是事务。事务是对数据的一组必须被视为一个单位操作:它们必须要么全部成功,要么全部失败。数据库系统支持的事务经常就对“ACID”属性支持的程度进行讨论。

●原子性——事务是“全有或全无”:要么整个事务成功,要么一个都不成功。
 
●一致性——如果在事务之前数据库处于有效状态,那么在事务之后,仍然处于有效状态。事务不能导致任何数据约束被破坏。

●隔离性——执行事务后,数据库的状态可以通过依次执行事务中的命令来达到同样的状态。

●持久性——事务一旦完成,就不会遗失。即使电源出现故障或网络崩溃,新的状态仍然会持久化,直到它被其他语句改变。

数据库引擎常常允许数据架构师非常细粒度地控制几种事务支持,从同时只允许一个客户端访问数据(慢,但所有事务成功),到允许多个同时访问,以及撤消一个意外违反了事务规则的客户端的整个事务(快,但有时需要重试)。

事务、引用完整性、强类型和关系模型是关系数据系统的所有核心概念。现在,你已经通过它们重新认识了自己,是时候转向它们具体的使用方法了。使用关系系统的规范语言是SQL。作为一个企业Android开发人员,你必须既能熟练地使用SQL管理Android平台的数据,也要有效地利用后端服务。


点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.1.2 关系模型
下一篇:2.1.4 SQL语言
相关文章
图文推荐
3.6.4 框架MVC实例分
3.6.3 框架MVC思路讲
3.5 认识Smarty模板
3.3 使用JSON通信
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站