
2008-7-5 16:09
snow_winter
请教create schema语句有什么意义吗?
请教create schema语句有什么意义吗?
2008-7-5 16:18
gy1982329
你可以看看ocp043的sg专门讲的是schema!
要说这个这是小孩没娘,说来话长!
2008-7-5 16:54
ccbzzp
schema就是在数据库下面的一个名字空间,只是用来存放表的名字,当一个数据库用户做查询或什么别的动作的时候,有个search_path来限定它的查询顺序,通常是$user,public,这样,实际上一个数据库可以有多个同名的表,只要挂在不同的schema下就可以了。
实际上, schema类似于操作系统层次的目录(这个“目录”用来存放表名称),那么一个数据库就相当于一个操作系统, schema相当于这个操作系统的目录,表相当于这个系统中的文件,因此,一个库中可以有多个同名的表。
2008-7-5 16:58
snow_winter
[quote]原帖由 [i]gy1982329[/i] 于 2008-7-5 16:18 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10865991&ptid=1017257][img]http://www.itpub.net/images/common/back.gif[/img][/url]
你可以看看ocp043的sg专门讲的是schema!
要说这个这是小孩没娘,说来话长! [/quote]
谢谢,我没有OCP的教程
2008-7-5 17:00
snow_winter
[quote]原帖由 [i]ccbzzp[/i] 于 2008-7-5 16:54 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10866260&ptid=1017257][img]http://www.itpub.net/images/common/back.gif[/img][/url]
schema就是在数据库下面的一个名字空间,只是用来存放表的名字,当一个数据库用户做查询或什么别的动作的时候,有个search_path来限定它的查询顺序,通常是$user,public,这样,实际上一个数据库可以有多个同名的表,只要挂在不同的schema下就可以了。
实际上, schema类似于操作系统层次的目录(这个“目录”用来存放表名称),那么一个数据库就相当于一个操作系统, schema相当于这个操作系统的目录,表相当于这个系统中的文件,因此,一个库中可以有多个同名的表。 [/quote]
谢谢
看了文档,现在的理解是create schema并不真的建立schema,schema是随着create user的同时自动建立的
create schema authoration 的目的似乎是可以同时create table create view grant
也就是这些DLL,DCL可以在同一个事务里完成,而不是在3个里完成
我问的不是schema的概念问题
谢谢
2008-7-5 19:09
ryq0000
[quote]原帖由 [i]ccbzzp[/i] 于 2008-7-5 16:54 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10866260&ptid=1017257][img]http://www.itpub.net/images/common/back.gif[/img][/url]
schema就是在数据库下面的一个名字空间,只是用来存放表的名字,当一个数据库用户做查询或什么别的动作的时候,有个search_path来限定它的查询顺序,通常是$user,public,这样,实际上一个数据库可以有多个同名的表,只要挂在不同的schema下就可以了。
实际上, schema类似于操作系统层次的目录(这个“目录”用来存放表名称),那么一个数据库就相当于一个操作系统, schema相当于这个操作系统的目录,表相当于这个系统中的文件,因此,一个库中可以有多个同名的表。 [/quote]
和模式有什么区别吗?
2008-7-5 19:10
snow_winter
[quote]原帖由 [i]ryq0000[/i] 于 2008-7-5 19:09 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10866958&ptid=1017257][img]http://www.itpub.net/images/common/back.gif[/img][/url]
和模式有什么区别吗? [/quote]
谢谢
没有区别
我问的问题不是user和schema的区别
我问的是create schema有什么意义和用途
2008-7-5 19:23
OoNiceDream
单单这条命令,平时管理维护中应该用不到吧。
2008-7-5 19:42
snow_winter
[quote]原帖由 [i]OoNiceDream[/i] 于 2008-7-5 19:23 发表 [url=http://www.itpub.net/redirect.php?goto=findpost&pid=10867056&ptid=1017257][img]http://www.itpub.net/images/common/back.gif[/img][/url]
单单这条命令,平时管理维护中应该用不到吧。 [/quote]
谢谢,我问的有什么用途,即什么时候会这样用
2008-7-5 20:33
chinecj
语法
CREATE SCHEMA AUTHORIZATION owner
[ < schema_element > [ ...n ] ]
< schema_element > ::=
{ table_definition | view_definition | grant_statement }
参数
AUTHORIZATION owner
指定架构对象所有者的 ID。此标识符必须是数据库中有效的安全帐户。
table_definition
指定在架构内创建表的 CREATE TABLE 语句。
view_definition
指定在架构内创建视图的 CREATE VIEW 语句。
grant_statement
指定授予用户或用户组权限的 GRANT 语句。
CREATE SCHEMA 提供了在单个语句中创建表、视图以及授予对象权限的方法。如果在创建任何对象或授予任何权限(这些是在 CREATE SCHEMA 语句中指定的)时发生错误,则不会创建任何对象。
创建的对象不必按逻辑顺序出现,但引用其它视图的视图除外。例如,GRANT 语句可以在创建某个对象之前授予该对象的权限,CREATE VIEW 语句也可以出现在创建该视图所引用表的 CREATE TABLE 语句之前。同样,CREATE TABLE 语句中声明的外键可以指向后面指定的表。例外情况是,如果一个视图的选择语句引用另一个视图,则必须在指定引用视图之前指定被引用的视图。
页:
[1]

Powered by ITPUB论坛