一. PostgreSQL介绍

1.1 数据库基础

数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。即数据库包含两层含义:保管数据的“仓库”以及数据管理的方法和技术。

数据库的特点包括:

  • 实现数据共享,减少数据冗余
  • 采用特定的数据类型;
  • 具有较高的数据独立性;
  • 具有统一的数据控制功能。

表:在关系数据库中,数据库表是一系列二维数组的集合,用来存储数据和操作数据的逻辑结构。它由纵向的列和横向的行组成,行被称为记录,是组织数据的单位;列被称为字段,每一列表示记录的一个属性,都有相应的描述信息,如数据类型、数据宽度等。

数据类型:决定了数据在计算机中的存储格式,代表不同的信息类型。常用的数据类型有:整数数据类型,浮点数数据类型,精确小数类型,二进制数据类型,日期/时间数据类型,字符串数据类型。

主键(PRIMARY KEY)又称主码,用于唯一地标识表中得每一条记录。可以定义表中的一列或多列为主键,主键列上没有两行相同的值,也不能为空值。假如,下表给每一个作者分配一个“编号”,该编号作为表数据表的主键,如果出现相同的值,将提示错误,系统不能确定查询的究竟是哪一条记录;如果把作者的“姓名”作为主键,则不能出现重复的名字,这与现实不相符合,因此“姓名”字段不适合做为主键。

什么是开源:
PostgreSQL是一个开源数据库管理系统,那么什么是开源呢?开源是开放源码的简称,是被非赢利软件组织(美国的Open Source Initiative协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。这意味着软件在提供的时候,同时提供了源码。开源许可赋予用户使用、修改和重新发布它而不需要付许可费用的权力。

1.2 数据库技术构成

数据库技术构成:

  • 数据库系统
  • SQL语言
  • 数据库访问技术

1.数据库系统有3个主要的组成部分。

⑴ 数据库:用于存储数据的地方。
⑵ 数据库管理系统:用于管理数据库的软件。
⑶ 数据库应用程序:为了提高数据库系统的处理能力所使用的管理
数据库的软件补充。

2.sql语言
对数据库进行查询和修改操作的语言叫做SQL。SQL的含义是结构化查询语言。SQL语言包含4个部分。
⑴ 数据定义语言(DDL):DROP、CREATE、ALTER等语句。
⑵ 数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
⑶ 数据查询语言(DQL):SELECT语句。
⑷ 数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。

3.数据库访问技术

  1. ODBC
  2. JDBC
  3. ADO.NET
  4. PDO
1.3 什么是PostgreSQL

1.客户机-服务器软件
服务器是整个应用系统资源的存储与管理中心,多个客户端则各自处理相应的功能,共同实现完整的应用。在客户/服务器结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回给用户,从而减少了网络数据传输量。
用户使用应用程序时,首先启动客户端通过有关命令告知服务器进行连接以完成各种操作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。

2.PostgreSQL发展历程
PostgreSQL的发展历程可以追溯到1986年,加州大学伯克利分校开发一个名叫Postgres的关系数据库服务器。
到了1994年,向Postgres 中增加了SQL语言的解释器,命名为Postgres95,并随后将其源代码发布到互联网上供大家使用,成为一个开放源码的数据库管理系统。
到了1996年,Postgres95名称被更改为PostgreSQL,表示它支持查询语言标准,同时版本号也重新从6.0开始。自从版本6.0之后,出现了很多后续发行,在系统中也出现了很多改进。
2016年9月29日,PostgreSQL全球开发组发布PostgreSQL 9.6版本,该版本允许用户纵向扩展和横向扩展来提高数据库的查询性能,同时增加了并行查询、同步复制改进、短语搜索等功能,从而使复制、聚合、索引、排序等过程变得更加高效,使其性能和可用性得到极大提高。
2018年10月18日,PostgreSQL全球开发组发布PostgreSQL 11版本。

3.PostgreSQL的优势
⑴ 价格
⑵ 速度
⑶ 容易使用
⑷ 可移植性
⑸ 丰富的接口
⑹ 支持查询语言
⑺ 相互配合的开源软件较多
⑻ 安全性和连接性