database:数据库
RDBMS:关系数据库管理系统
ORDBMS:对象关系数据库系统
OODBMS:面对对象数据库系统
C/S:客户端/服务端
数据库的认识
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
作 用:对数据进行存储以及删除等操作
功 能:组织、存储和管理数据
类别分类:关系数据库、非关系数据库
数据库是一个按数据结构来存储和管理数据的计算机软件系统。
数据库的概念实际包括两层意思:
(1)数据库是一个实体,它是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
(2)数据库是数据管理的新方法和技术,它能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。
关系数据库
关系型数据库有Mysql,SqlServer等。
关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。 在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。
非关系型数据库(NoSQL)
NoSql数据库有MongoDB、Redis、Memcache等。
目前NoSQL数据库仍然没有一个统一的标准,它现在有四种大的分类:
(1)键值对存储(key-value):代表软件Redis,它的优点能够进行数据的快速查询,而缺点是需要存储数据之间的关系。
(2)列存储:代表软件Hbase,它的优点是对数据能快速查询,数据存储的扩展性强。而缺点是数据库的功能有局限性。
(3)文档数据库存储:代表软件MongoDB,它的优点是对数据结构要求不特别的严格。而缺点是查询性的性能不好,同时缺少一种统一查询语言。
(4)图形数据库存储:代表软件InfoGrid,它的优点可以方便的利用图结构相关算法进行计算。而缺点是要想得到结果必须进行整个图的计算,而且遇到不适合的数据模型时,图形数据库很难使用。
其他查看百科词条数据库
ORDBMS 术语
在我们开始学习 PostgreSQL 数据库前,让我们先了解下 ORDBMS 的一些术语:
数据库: 数据库是一些关联表的集合。
数据表: 表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
列: 一列(数据元素) 包含了相同的数据, 例如邮政编码的数据。
行: 一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的数据。
冗余: 存储两倍数据,冗余降低了性能,但提高了数据的安全性。
主键: 主键是唯一的。一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键: 外键用于关联两个表。
复合键:复合键(组合键)将多个列作为一个索引键,一般用于复合索引。
索引: 使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性: 参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
安装PostgreSQL,点击下方链接可查看教程:
Windows 上安装 PostgreSQL
Linux 上安装 PostgreSQL
Mac OS 上安装 PostgreSQL
打开SQL shell(psql)
1、可以使用 \help 来查看各个命令的语法 :
//语法
postgres=# \help <command_name>
//示例
postgres=# \help
postgres=# \help SELECT
创建数据库
2、PostgreSQL 创建数据库
注意:
=# 表示运行环境为SQL shell(psql)
$ 表示运行环境为cmd
//语法
postgres=# CREATE DATABASE dbname;
// 一个SQL命令CREATE DATABASE 的封装:createdb命令
$ createdb [option...] [dbname [description]]
//实例1
postgres=# CREATE DATABASE mydb;
//实例2
$ cd D:\SoftProgram\PostgreSQL\bin
$ createdb -h localhost -p 5432 -U postgres mydbtest;
password ******
参数说明:
dbname:要创建的数据库名。
description:关于新创建的数据库相关的说明。
options:参数可选项,可以是以下值:
选择数据库
3、使用 \l 用于查看已经存在的数据库
postgres=# \l
4、使用 \c + 数据库名 来进入数据库
postgres=# \c mydb
cmd中,可在连接数据库后面添加数据库名来选择数据库
psql -h localhost -p 5432 -U postgres mydb
删除数据库
5、DROP DATABASE 删除数据库
DROP DATABASE 会删除数据库的系统目录项并且删除包含数据的文件目录。
DROP DATABASE 只能由超级管理员或数据库拥有者执行。
postgres=# DROP DATABASE [ IF EXISTS ] dbname;
//参数说明:IF EXISTS:如果数据库不存在则发出提示信息,而不是错误信息。
//示例:
postgres=# DROP DATABASE runoobdb;
postgres=# DROP DATABASE IF EXISTS runoobdb;
6、dropdb 命令删除数据库
dropdb 是 DROP DATABASE 的包装器,用于删除 PostgreSQL 数据库。
dropdb 命令只能由超级管理员或数据库拥有者执行。
dropdb [connection-option...] [option...] dbname
参数说明:options:参数可选项,可以是以下值:
7、总结