**提示**：此条目的主题不是**Ingress**。 
  与「**Ingres**」標題相近或相同的条目，請見「**讓·奧古斯特·多米尼克·安格爾**」。

**Ingres** 是比较早的数据库系统，开始于加利福尼亚大学柏克莱分校的一个研究项目，该项目开始于 70 年代早期，在 80 年代早期结束。像柏克莱大学的其他研究项目一样，它的代码使用BSD许可证。从 80 年代中期，在Ingres 基础上产生了很多商业数据库软件，包括 Sybase、Microsoft SQL Server、NonStop SQL、Informix 和许多其他的系统。在 80 年代中期启动的后继项目 **Postgres**，产生了 PostgreSQL、Illustra，无论从任何意义上来说，Ingres 都是历史上最有影响的计算机研究项目之一。

历史
--

### Ingres

1973 年 IBM 启动了 System R 项目，项目组发表了一系列关于关系数据库的的文章。两个伯克莱大学的科学家，Michael Stonebraker 和 Eugene Wong 读了这些文章后非常感兴趣，于是决定自己启动一个关系数据的研究项目。

他们已经为一个地理数据库系统申请到了资金，他们称为 ingres，意思是交互式图形获取系统，他们决定使用这些钱进行这个项目，并在这个项目的基础上进行其他更大的项目。为了得到更多的资助，Stonebraker 去找了 DARPA，在那个时代，计算机方面的研究项目当然是找他们了。但是 DARPA 和 Office of Naval Research 拒绝了他，因为他们已经在别的地方资助了数据库研究项目，Stonebraker 转而向其他部门求助，在他的同事的帮助下，他最终获得了自然科学基金和三个军事机构的支持。

得到资助后，Ingres 在 70 年代中期由几批学生和员工开发完成， Ingres 经历了和 System R 类似的发展，为提高代码的维护性，对 74 年的早期原型进行了比较大的修订，然后在一个小的范围内发布，随着经验的积累和接收到用户的反馈，或者有新的想法，项目成员不停的对原型进行改进，重写，Ingres 在概念上基本上与 Sysytem R 相似，但是基于比较低端的系统，主要是 UNIX 和 DEC。

### 商业化

与 System R 不同，Ingres的代码是可以免费获得的，到 1980 年止，共分发了 1000 份拷贝，不少公司使用这些代码形成了自己的产品线。

Informix 是最早的用户之一，并且其员工完全是 Ingres 项目的人员。他们在 1984 发布了基于 Ingres 的第一版产品，到 1997 年已经成了第二大数据库供应商。然而，一系列管理和财会方面的失误在短短两年内毁了公司的信誉，并于 2000 年被 IBM 收购。

Robert Epstein 在伯克立大学项目中的重要的程序员，创建了 Britton-Lee，后来的 Sybase，Sybase 在 80 到 90 年期间是第二号数据库产品，Sybase 于1992年将产品卖给微软，微软称之为 MS SQLServer。

Jerry Held 和 Carol Youseffi 迁移到了 Tandem Computers，他们在那里建造了发展成了 NonStop SQL 的一个系统。NonStop 是在并行计算机上高效运行的 Ingres 的一个修改版本，增加了分布式数据，分布式执行和分布式事务功能（后者非常困难）。首次发行于 1987 年，1989 年的第二版增加了并行运行查询的能力，这个产品也由于是可随着机器中的处理器的数目做几乎线性的伸缩的少数系统之一而非常出名：向现存的 NonStop SQL 服务器增加第二个 CPU 将几乎精确的翻倍它的性能。Tandem 最后被 Compaq 并购并在 2000 年开始重写，而产品现在是 HP 的。

最后 Stonebraker 自己离开了伯克立大学在1982年创建了Ingres 公司，Stonebraker 在这个公司工作到 1991 年，然后公司卖给了 ASK，1994年 ASK/ingres 被 CA公司 收购。

2004 年 CA 在开源许可下发布了 Ingres release 3，并继续开发销售 Ingres。

### Postgres

在返回 Berkeley 之后，Stonebraker 开始了一项后-Ingres 计划来致力于解决关系模型的数据库管理现有实现的局限性。其中主要的是它们不能让用户定义组合更简单域的新域（或者叫"类型"）（参见关系模型获得对术语"域"的解释。）

结果的计划叫做 **Postgres**，以介入对增加完整的类型支持所需要的最小数目的特征为目标。其中包括定义类型的功能，还有完全描述联系的能力 - 联系至今已经广泛使用但仍由用户完全维护。在 Postgres 中数据库"理解"联系，并能以使用*规则*的自然方式在有关联的表中检索信息。详情请参见 PostgreSQL 的文章。

在 1990 年 Stonebraker 再次离开 Berkeley 去商业化 Postgres，使用了名字 **Illustra**。Illustra 后来被 Informix 并购，而 Stonebraker 再次回去搞高等教育了。

参见
--

* 关系型数据库管理系统对比

外部链接
----

*文章：*

* INGRES 的设计与实现 （页面存档备份，存于） Stonebraker 著
* 数据库系统回顾 Stonebraker 著
* Ingres 常见问题 （页面存档备份，存于）

*产品链接*:

* 大学 INGRES，版本 8.9
* CA 公司 Ingres r3

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
数据库管理系统（DBMS） |
| --- |
|  |
| 概念 | 
* 数据库
	+ 理論
* 数据模型
* 数据库存储结构（英语：）
* 关系 (数据库)
* 关系模型
* 分布式数据库
* ACID
	+ 原子性（英语：）
	+ 一致性
	+ 隔離性
	+ 持久性
* Null值
* 数据库规范化
* 數據庫完整性
* 實體完整性
* 參照完整性
* 关系数据库管理系统
* 主键
* 外键
* 代理键
* 超键
* 候选键
* 事务处理
* 增刪查改

 |
|  |
| 数据库组件 | 
* 触发器
* 视图
* 数据库表
	+ 
	+
* 指标
* 事务日志（英语：）
* 数据库事务
* Savepoint
* 并发控制
* 乐观锁
* 悲观锁
* 数据库索引
* 存储程序
* 資料庫分割（英语：）

 |
|  |
| SQL | 

|  |  |
| --- | --- |
| 分类 | 
* 数据查询语言（DQL）
* 資料定義語言（DDL）
* 資料操縱語言（DML）
* 資料控制語言（DCL）

 |
|  |
| 指令 | 
* SELECT
* INSERT
* UPDATE
* MERGE
* DELETE
* JOIN
* UNION
* CREATE
* DROP
* Begin work
* COMMIT
* ROLLBACK
* TRUNCATE
* ALTER

 |
|  |
| 安全 | 
* 
* 參數化查詢

 |

 |
|  |
| 实现 | 

|  |  |
| --- | --- |
| 类型 | 
* 关系数据库
* 面向文檔的數據庫
* 平面文件数据库
* Deductive（英语：）
* 維度化資料庫
* 階層式
* 图数据库
* NoSQL
* NewSQL
* 对象数据库
* 物件關聯式資料庫（英语：）
* Temporal
* XML資料庫（英语：）

 |
|  |
| 数据库产品 | 
* 对象型
	+ 对比
* 关系型
	+ 对比

 |
|  |
| 数据库组件 | 
* 数据查询语言
* 查詢最佳化器（英语：）
* 查詢計畫（英语：）
* 嵌入式SQL
* ORM
* LINQ
* 数据访问层
* ODBC
* OLE DB
* ADO
* ADO.NET
* JDBC
* PDO

 |

 |

 |

1. ↑  ; 检索日期: 2022年4月15日.