摘要: 数据类型是限制我们可以在表里存储什么数据的一种方法。不过,对于许多应用来说,这种限制实在是太粗糙了。比如,一个包含产品价格的字段应该只接受正数。但是没有哪种标准数据类型只接受正数。另外一个问题是你可能需要根据其它字段或者其它行的数据来约束字段数据。比如,在一个包含产品信息的表中,每个产品编号都应该只 阅读全文
posted @ 2016-06-12 12:02 韦宇 阅读(1088) 评论(0) 推荐(0) 编辑
摘要: 一个字段可以赋予缺省值。如果新创建了一个数据行,而有些字段的数值没有声明,那么这些字段将被填充为它们各自的缺省值。一条数据修改命令也可以明确地要求把一个字段设置为它的缺省值,而不用事先知道这个缺省值是什么。 如果没有明确声明缺省值,那么缺省值是 NULL 。这么做通常是合理的,因为 NULL 表示" 阅读全文
posted @ 2016-06-12 11:55 韦宇 阅读(1346) 评论(0) 推荐(0) 编辑
摘要: 关系型数据库中的表非常类似纸面上的一张表:它由行和列组成。字段的数目和顺序是固定的,每个字段都有一个名字。行的数目是变化的(它反映了给定时刻存储的数据量)。 SQL 对表中行的顺序没有任何承诺。当读取一个表时,行将会以一个未指定的顺序出现,除非你明确地要求排序。这些内容在http://www.inf 阅读全文
posted @ 2016-06-12 11:45 韦宇 阅读(339) 评论(0) 推荐(0) 编辑
摘要: PostgreSQL允许函数有命名参数,可以被位置 或名称表示法调用。名称表示法对有大量参数的函数特别有用,因为它更加明确和可靠的标记了形参和实参之间的联系。在位置表示法里,一个函数调用的参数值要用与函数声明相同的顺序来写出。在名称表示法里,参数是通过名称来与函数参数相匹配的,可以以任意顺序写出。 阅读全文
posted @ 2016-06-12 11:40 韦宇 阅读(11844) 评论(0) 推荐(0) 编辑
摘要: 4.2. 值表达式 值表达式用在各种语法环境中,比如在 SELECT 命令的目标列表中,在 INSERT 或 UPDATE 中用作新的列值,或者在许多命令的搜索条件中使用。我们有时候把值表达式的结果叫做标量 ,以便与一个表表达式的结果相区别(是一个表)。因此值表达式也叫做标量表达式(或简称表达式)。 阅读全文
posted @ 2016-06-09 14:44 韦宇 阅读(448) 评论(0) 推荐(0) 编辑
摘要: SQL 输入由一系列命令组成。一条命令由一系列记号构成,用一个分号(";")结尾。输入流的终止也结束一条命令。哪些记号是合法的取决于特定命令的语法。 记号可以是一个关键字、标识符、引号包围的标识符、文本(或常量)、特殊的字符符号。记号通常由空白分隔(空格/tab/换行符),但如果不存在混淆的时候也可 阅读全文
posted @ 2016-06-09 14:32 韦宇 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 继承是面向对象的数据库的概念。它开启了数据库设计新的有趣的可能性大门。 让我们创建两个表:一个 cities 表和一个 capitals 表。自然,首府(capital)也是城市(cities),因此在列出所有城市时你想要某种方法隐含地显示首府。如果你已经很高明了,那么你可能会创造类似下面这样的模式 阅读全文
posted @ 2016-06-09 14:25 韦宇 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 事务是所有数据库系统的一个基本概念。一次事务的要点就是把多个步骤捆绑成一个单一的、不成功则成仁的操作。其它并发的事务是看不到在这些步骤之间的中间状态的,并且如果发生了一些问题,导致该事务无法完成,那么所有这些步骤都完全不会影响数据库。 比如,假设一个银行的数据库包含各种客户帐户的余额,以及每个分行的 阅读全文
posted @ 2016-06-07 16:57 韦宇 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 考虑下面的问题:你想确保没有人可以在 weather 表里插入一条在 cities 表里没有匹配记录的数据行。这就叫维护表的参照完整性。在简单的数据库系统里,实现(如果也叫实现)这个特性的方法通常是先看看 cities 表里是否有匹配的记录,然后插入或者拒绝新的 weather 记录。这个方法有许多 阅读全文
posted @ 2016-06-07 16:55 韦宇 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 假设你的应用对天气记录和城市位置的组合列表特别感兴趣,而你又不想每次键入这些查询。那么你可以在这个查询上创建一个视图,它给这个查询一个名字,你可以像普通表那样引用它。 自由地运用视图是好的 SQL 数据库设计的一个关键要素。视图允许我们把表结构的细节封装起来,这些表可能随你的应用进化而变化,但这些变 阅读全文
posted @ 2016-06-07 16:53 韦宇 阅读(180) 评论(0) 推荐(0) 编辑