- 博客(12)
- 收藏
- 关注
原创 PostgreSQL权限问题
权限如果你创建了一个数据库对象,那么你就成为它的所有者。缺省时,只有对象的所有者可以在对象上做任何事情。为了允许其它用户使用它,我们必须赋予他们权限。不过超级用户总是可以操作任何对象。有好多种不同的权限:SELECT, INSERT, UPDATE, DELETE, REFERENCES, TRIGGER, CREATE, CONNECT, TEMPORARY, EXECUTE, US...
2011-01-05 17:34:51
386
原创 PostgreSQL表表达式
表表达式表表达式 计算一个表,它包含一个 FROM 子句,该子句可以根据需要选用 WHERE, GROUP BY, HAVING 子句。大部分表表达式只是指向磁盘上的一个所谓的基本表,但是我们可以用更复杂的表表达式以各种方法修改或组合基本表。表表达式里的 WHERE, GROUP BY, HAVING 子句声明一系列对源自 FROM 子句的表的转换操作。所有这些转换最后生成一个虚拟表,...
2011-01-05 16:44:25
203
原创 PostgreSQL中继承
继承PostgreSQL 实现了表继承,这个特性对数据库设计人员来说是一个很有效的工具。SQL99 及以后的标准定义了类型继承特性,和我们在这里描述的很多特性有区别。让我们从一个例子开始:假设我们试图制作一个城市数据模型。每个州都有许多城市,但是只有一个首府。我们希望能够迅速检索任何州的首府。这个任务可以通过创建两个表来实现,一个是州府表,一个是非州府表。不过,如果我们不管什么城市都想...
2011-01-05 14:52:34
142
原创 数据库事物的定义
事务事务是所有数据库系统的一个基本概念。一次事务的要点就是把多个步骤捆绑成一个单一的、不成功则成仁的操作。其它并发的事务是看不到在这些步骤之间的中间状态的,并且如果发生了一些问题,导致该事务无法完成,那么所有这些步骤都完全不会影响数据库。比如,假设一个银行的数据库包含各种客户帐户的余额,以及每个分行的总余额。假设我们要记录一次从 Alice 的帐户到 Bob 的帐户的金额为 $100....
2011-01-05 13:52:49
118
SQL外键的应用
外键考虑下面的问题:你想确保没有人可以在 weather 表里插入一条在 cities 表里没有匹配记录的数据行。这就叫维护表的参照完整性。在简单的数据库系统里,实现(如果也叫实现)这个特性的方法通常是先看看 cities 表里是否有匹配的记录,然后插入或者拒绝新的 weather 记录。这个方法有许多问题,而且非常不便,因此 PostgreSQL 可以为你做这些。新的表声明看起来会像...
2011-01-05 13:51:17
318
数据库中视图的定义
视图假设你的应用对天气记录和城市位置的组合列表特别感兴趣,而你又不想每次键入这些查询。那么你可以在这个查询上创建一个视图,它给这个查询一个名字,你可以像普通表那样引用它。CREATE VIEW myview AS SELECT city, temp_lo, temp_hi, prcp, date, location FROM weather, cities...
2011-01-05 13:41:15
210
原创 SQL中的表约束
约束数据类型是限制我们可以在表里存储什么数据的一种方法。不过,对于许多应用来说,这种限制实在是太粗糙了。比如,一个包含产品价格的字段应该只接受正数。但是没有哪种标准数据类型只接受正数。另外一个问题是你可能需要根据其它字段或者其它行的数据来约束字段数据。比如,在一个包含产品信息的表中,每个产品编号都应该只有一行。对于这些问题,SQL 允许你在字段和表上定义约束。约束允许你对数据施加任意控...
2011-01-05 11:27:01
145
原创 SQL语法聚合函数
聚集函数和大多数其它关系数据库产品一样,PostgreSQL 支持聚集函数。一个聚集函数从多个输入行中计算出一个结果。比如,我们有在一个行集合上计算 count(数目), sum(总和), avg(均值), max(最大值), min(最小值)的函数。比如,我们可以用下面的语句找出所有低温中的最高温度:SELECT max(temp_lo) FROM weather; max...
2011-01-05 10:09:37
129
原创 SQL中连接查询
在表之间连接到目前为止,我们的查询一次只访问了一个表。查询可以一次访问多个表,或者用某种方式访问一个表,而同时处理该表的多个行。一个同时访问同一个或者不同表的多个行的查询叫连接查询。举例来说,比如你想列出所有天气记录以及这些记录相关的城市。要实现这个目标,我们需要拿 weather 表每行的 city 字段和 cities 表所有行的 name 字段进行比较,并选取那些这些数值相匹配的行。...
2011-01-05 09:19:12
96
SQL中AS的基本用法
要从一个表中检索数据就是查询这个表。SQL 的 SELECT 语句就是做这个用途的。该语句分为选择列表(列出要返回的字段)、表列表(列出从中检索数据的表)、以及可选的条件(声明任意限制)。比如,要检索表 weather 的所有行,键入:SELECT * FROM weather;这里的 * 是"所有字段"的缩写。[1]因此同样的结果可以用下面的语句获得:SELECT city, t...
2011-01-05 09:02:07
625
PostgreSQL培训
1.安装指导 1.1简版命令集 ./configure gmake su gmake install adduser postgres mkdir /usr/local/pgsql/data chown postgres /usr/local/pgsql/data su - pos...
2011-01-04 14:52:38
193
PostgreSQL培训手册
III. 服务器管理这部分覆盖的内容是那些 PostgreSQL 数据库管理员感兴趣的东西。包括安装软件、设置和配置服务器、管理用户和数据库、日常维护任务。任何运行 PostgreSQL 服务器的人,尤其是生产环境中的使用者,都应该熟悉这部分中讨论的内容。本部分的信息大致上是按照一个新用户的阅读顺序进行安排的。但是每个章节都是自包含的,可以独立阅读。本部分信息是以主题单元按照陈述风格排...
2011-01-04 10:38:54
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人