赞
踩
一、数据库逻辑结构介绍
1、一个pg数据库服务下有多个db(多个数据库),当应用连接到一个数据库时,一般只能访问这个数据库中的数据,而不能访问其他数据库的内容(限制)
2、表索引:一个pg数据库服务包含多个db,一个db下面多个模式(schema),一个模式下多个对象(表,索引,视图等)
3、一个数据库服务叫做一个实例,一个数据库服务下可以有多个数据库,但是不能属于多个实例。
二、数据库基本操作
创建数据库命令
create database name;
修改数据库命令
alter database name rename to newname;
注意:
1、不能在事务块中删除创建数据库,会报错。
2、 可以在十五块中修改数据库
三、模式:
1、需要使用模式的几个主要原因:
允许多个用户在使用同一个数据库时彼此互相不干扰
把数据库对象放在不同模式下,然后组成逻辑组,让他们更便于管理
第三方的应用可以放在不同的模式中,这样就不会和其他对象的名字冲突。
2、oracle、mysql和pg模式的关系
pg中的不同模式可以相当与mysql的不同库,因为mysql中不同库可以互相访问查询操作,pg中的模式也可以互相访问查询操作,但是pg中的不同库不可以互相访问,所以其实pg中的schema相当于mysql中的db。
pg中的schema和oracle中的用户类似,或者说概念就是相同的,如果在pg中为每个用户都创建一个与用户同名的模式,那么就能与oracle数据库兼容了。即oracle有多少用户,就在pg中建多少与之同名 的模式,才可以开始迁移。
2、模式的移植性
在sql标准里没有public模式的概念。所以为了最大限度的遵守标准,并且与其他数据库兼容,不应该使用public模式。
当然有些数据库根本没有模式,或者时通过允许跨数据库访问来提供模式功能的(mysql),如果需要在这些数据库上实现最大限度的一致性,或许不应该使用模式。加入mysql实例中有三个数据库,在要移植到pg时,需要建三个模式,使其与mysql示例中的三个数据库相对应,而不是在pg中创建三个数据库与之对应。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。