PostgreSQL关系型数据库
来源:互联网 发布:windows nt 4.0补丁包 编辑:程序博客网 时间:2024/06/10 22:42
介绍
PostgreSQL是一个自由的对象-关系数据库服务器(数据库管理系统)。开发者把它读为“post-gress-Q-L”,简略念为postgres。
什么是关系型数据库?什么是关系型数据库管理系统?
见上篇。
PostgreSQL支持大部分SQL标准并且提供了许多现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。也可以用许多方法扩展,比如,通过增加新的数据类型、函数、操作符、集函数、索引。
特点
优点
1 多种数据类型支持
2 全功能
3 C/S架构
4 数据客户端接口
5 支持平台最多
缺点
1 学院味
早期的PostgreSQL继承了所有Ingres、Postgres、Postgres95的问题:过于学院味。首先它的目的是数据库研究,因此不论在稳定性、性能还是使用方面都没得到重视。
架构
软件特征
(1)函数:
(2)索引:
(3)触发器:
触发器是由SQL语句查询所触发的事件。触发器通常由INSERT或UPDATE语句触发。
在PostgreSQL中,可在数据表上设置触发器,但无法在视图中设置。
(4)并发控制:
PostgreSQL使用锁版本并发控制(MVCC)系统进行并发控制,该系统向每个用户提供了一个数据库快照,用户在事务内所做的每个修改,对其他用户都不可见,直到该事务成功提交。很大程度上减少了对读取锁的依赖,同时保证了数据库高效的ACID原则。
(5)规则:
允许一个查询能被重写,通常被用作实现可更新的视图。
(6)数据类型:
PostgreSQL内置丰富的数据类型,包括:任意精度的数值、无限制长度文本、几何图元、IP地址、MAC地址、数组。
此外,用户还可以自定义数据类型。
(7)定义对象:
用户可以为数据库内所有对象定义新的类型,包括:索引、操作符(可重载现有操作符)、聚合函数、数据域、数据类型转换、会话(编码转换)。
(8)继承:
数据表的结构及属性可从一个父表中继承,数据在两者间共享。对子表/父表中数据的插入或者删除也将在父表/子表中体现(至今还未实现)。
(9)扩展
- PostgreSQL关系型数据库
- SQLite vs MySQL vs PostgreSQL:关系型数据库比较
- SQLite vs MySQL vs PostgreSQL:关系型数据库比较
- SQLite vs MySQL vs PostgreSQL:关系型数据库比较
- SQLite vs MySQL vs PostgreSQL:关系型数据库比较
- 三款开源关系型数据库对比:MySQL、PostgreSQL、SQLite
- 三款开源关系型数据库对比:MySQL、PostgreSQL、SQLite
- postgresql模式与数据库的关系
- Postgresql数据库全文索引初试【对象关系型数据库管理系统】
- 毕业设计之外文翻译---SQLite vs MySQL vs PostgreSQL:关系型数据库管理系统的比较
- PostgreSQL每日一贴-数据库对象依赖关系
- PostGreSQL - 对象关系数据库系统(ORDBMS)初探
- 关系数据库比较:SQLite vs MySQL vs PostgreSQL
- php使用PDO扩展连接PostgreSQL对象关系数据库
- SQLite、MySQL和PostgreSQL 三种关系数据库哪个好?
- SQLite对MySQL对PostgreSQL:关系数据库管理系统比拼
- SQLite、MySQL和PostgreSQL 三种关系数据库比较
- SQLite、MySQL和PostgreSQL 三种关系数据库哪个好?
- IDEA中搭建struts2项目
- Rabbitmq集群高可用部署详细
- 数据结构(二 ) 线性结构
- 在Android Studio中修改包名?ApplicationId 与 PackageName
- 持续集成工具FinalBuilder使用心得
- PostgreSQL关系型数据库
- 一步一步学习Android TV/盒子开发(二)
- elasticsearch query DSL学习及使用——part1
- WEB前端开发快速入门教程
- Javascript中document.execCommand()的用法
- Android 工程报错解决 Unable to resolve target 'android-17'
- ExpressBox 3400
- 正在学习《鸟哥的Linux私房菜》
- tensorflow theano keras介绍