`
sonic126
  • 浏览: 20752 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

postgresql表继承

阅读更多
让我们创建两个表.表 capitals 包含各州的首府,同时也是cities表.自然而然,表 capitals 应该从 表 cities 继承下来. 
CREATE TABLE cities (
    name            text,
    population      float,
    altitude        int     -- (in ft)
);

CREATE TABLE capitals (
    state           char(2)
) INHERITS (cities);
在本例中,一条 capitals 的记录 继承 所有父表 cities 的字段(name,population,和 altitude). 字段 name 的类型是 text,Postgres用于变长ASCII字符串的本机类型.字段 population 的类型是 float, Postgres 用于双精度浮点数的类型.表 capitals 多一个字段,state,表明首府所在的州.在Postgres里,一个表可以从0到多个其他表继承下来,一个查询可以检索一个表的所有记录,或是检索该表和其所有后代的记录. 
注意:继承实际上是分级的不闭合的层次关系。(The inheritance hierarchy is a actually a directed acyclic graph.)
例如,下面查询将找出所有海拔500英尺及以上的城市: 
SELECT name, altitude
    FROM cities
    WHERE altitude > 500;

   name    | altitude
-----------+----------
 Las Vegas |     2174
 Mariposa  |     1953
(2 rows)
另一方面,如果要找出包括州首府在内的所有海拔超过500英尺的城市,查询应该是这样的: 
SELECT c.name, c.altitude
    FROM cities* c
    WHERE c.altitude > 500;
返回: 
   name    | altitude
-----------+----------
 Las Vegas |     2174
 Mariposa  |     1953
 Madison   |      845
在这里citics后的“*” 表明该查询应该遍历所有继承级别低于citics的表.许多我们已经讨论过的命令 -- SELECT,UPDATE 和 DELETE 等和其他象 ALTER TABLE 这样的命令都支持“*”(译注:像命令行中的通配符 "*")。 
分享到:
评论

相关推荐

    PostgreSQL表的继承和分区

    - **视图和查询**:视图可以基于继承表结构构建,这样可以方便地查询或更新继承层次结构中的数据。 - **数据维护**:在维护继承表时,需要注意数据的一致性和完整性。例如,如果修改了父表的结构,可能需要相应地...

    许中清-PostgreSQL表分区实践

    除了手动分区,PostgreSQL还支持分区继承,例如内容中提到的parent表和它的两个子分区child1和child2。通过使用inherits关键字,子表child1和child2继承了parent表的结构,并且可以包含额外的数据列。如果向parent表...

    PostgreSQL中文手册9.2

    PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (表的继承和分区 表的继承和分区 表的继承和分区 表的继承和分区 ) 10 一、表的继承: 一、表的继承: 一、表的继承: .10 PostgreSQL PostgreSQL ...

    PostgreSQL分区表实践与思考.pptx

    早期的PostgreSQL版本主要采用传统分区表的方式,通过继承和触发器实现分区表关系,这种方法虽然灵活,但在维护和性能优化上存在局限。从PostgreSQL 10版本开始,官方引入了内置分区表,大大简化了分区表的使用,并...

    postgresql 中文学习手册

    PostgreSQL学习手册(表的继承和分区) PostgreSQL学习手册(常用数据类型) PostgreSQL学习手册(函数和操作符<一>) PostgreSQL学习手册(函数和操作符<二>) PostgreSQL学习手册(函数和操作符<三>) PostgreSQL学习手册...

    postgresql表分区

    在 PostgreSQL 中,表分区主要是通过表继承(table inheritance)机制来实现的。这种机制允许我们创建一个主表,并在此基础上创建多个分区表。每个分区表继承自主表,并且通常包含某些特定的数据子集。例如,可以...

    PostgreSQL表分区的所有表结构和表分区及触发器.zip

    比如要创建子表,继承父表。给子表增加约束。通过作用于主表的触发器,把主表的修改重定向到适当的分区表等工作,分区的创建和管理都需要我们用语言来控制,增加了开发人员的工作量,PostgreSQL表分区的所有表结构和...

    Laravel开发-laravel-postgresql-inherit

    本主题聚焦于如何在Laravel中利用PostgreSQL的表继承特性,来设计更加灵活和可扩展的数据模型。 首先,理解PostgreSQL中的表继承是至关重要的。表继承允许一个表(父表)创建多个子表,子表会自动继承父表的所有列...

    PostgreSQL教程(三):表的继承和分区表详解

    第一个继承表:  代码如下:  CREATE TABLE cities ( –父表  name text,  population float,  altitude int  );  CREATE TABLE capitals ( –子表  state char(2)  ) INHERITS (c

    PostgreSQL教程.pdf

    在PostgreSQL中,一个重要的特性是表的继承功能,它允许创建一个表(子表)继承另一个表(父表)的特性。此外,PostgreSQL提供了多种扩展机制,通过安装扩展模块可以为系统增加额外的功能。 PostgreSQL的工具包括...

    PostgreSQL从入门到精通视频教程(全).zip

    9. **分区与表继承**:探索大型表的分区策略,以及表继承带来的代码复用和管理便利。 10. **复制与高可用**:理解主从复制、多节点复制和流复制的工作原理,以及如何构建高可用集群。 **三、高级篇** 11. **JSON...

    PostgreSQL Tutorial

    继承特性则允许表之间形成继承关系,扩展了表的结构。 在PostgreSQL的SQL语法部分,教程详细讲解了SQL语言的基础知识和语法结构。SQL语法是数据库操作的基础,理解其基本规则对于进行有效的数据库管理是必不可少的...

    postgresql-10 manual

    窗口函数可以用来执行复杂的查询,而继承特性则允许用户创建表的新层次结构。 在文档的后续章节中,还包含了SQL语言的更多细节部分,这部分内容是对基础和高级功能的进一步深化和扩展。 综上所述,PostgreSQL文档...

    POSTGRESQL中文学习手册

    -postgresql-是一个功能强大且开源的关系数据库管理系统,本手册旨在为读者提供一个系统的学习指南,涵盖PostgreSQL的基本概念、数据类型、模式设计、表的定义、继承和分区、函数和操作符等方面的知识点。...

    PostgreSQL1

    PostgreSQL的SQL语法遵循SQL标准,并扩展了诸如窗口函数、递归查询、物化视图、表继承等高级特性。这些功能使得PostgreSQL在数据分析和复杂的业务逻辑处理中具有强大优势。 安全性是另一个重要方面,PostgreSQL提供...

    postgresql-11-A4.pdf

    文档介绍了PostgreSQL的一些高级特性,比如视图(Views)、外键(Foreign Keys)、事务处理(Transactions)、窗口函数(Window Functions)和继承(Inheritance)等。 7. SQL语法 在文档的第二部分详细介绍了SQL...

    postgresql-9.4-A4

    - **继承**:说明 PostgreSQL 中的继承机制。 #### SQL 语言深入解析 - **深入解析 SQL 语言**:这部分将更详细地介绍 SQL 语言的各种特性和用法,包括但不限于数据类型、索引、存储过程等。 ### Bug 报告指南 -...

    PostgreSQL 8.2.3 中文文档

    PostgreSQL 是最初伯克利代码的一个开放源码的继承人。它支持大部分 SQL 标准并且提供了许多其它现代特性: 复杂查询 外键 触发器 视图 事务完整性 多版本并发控制 另外,PostgreSQL 可以用许多方法进行扩展...

    postgresql-10-A4

    2. The SQL Language(SQL语言):这是postgresql数据库的核心部分,涵盖了SQL语言的基础概念、创建新表、向表中填充数据、查询表、表与表之间的连接、聚合函数、更新和删除操作等基础知识。 3. Advanced Features...

Global site tag (gtag.js) - Google Analytics