博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Database、User、Schema、Tables、Col、Row
阅读量:5143 次
发布时间:2019-06-13

本文共 1520 字,大约阅读时间需要 5 分钟。

可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了。然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人(所以Schema包含的是Object,而不是User)。其实User是对应与数据库的(即User是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个Schema(房间)的 权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都 是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间。还可以给User分配具体的权限,也就是 他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role 了” 从中我们可以看出,schema为数据库对象的集合,为了区分各个集合,需要给这个集合起个名字,这些名字就是在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema。
schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是在企业管理器的方案下看到schema名都为数据库用户名的原因。Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的)。在创建一个用户的同时,为这个用户创建一个与用户名同名的schem并作为该用户的缺省 shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同,所有我们可以称schema为user的别名,虽然这样说并不准确,但是更容易理解一些。一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该表属于 哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。比如我们在访问数据库时,访问scott用户下的emp表,通过 select * from emp; 其实,这sql语句的完整写法为select * from scott.emp。在数据库中一个对象的完整名称为schema.object,而不属user.object。类似如果我们在创建对象时不指定该对象 的schema,在该对象的schema为用户的缺省schema。这就像一个用户有一个缺省的表空间,但是该用户还可以使用其他的表空间,如果我们在创 建对象时不指定表空间,则对象存储在缺省表空间中,要想让对象存储在其他表空间中,需要在创建对象时指定该对象的表空间。

转载于:https://www.cnblogs.com/caozengling/p/5445427.html

你可能感兴趣的文章
Set(集合)
查看>>
文本内容只显示两行,然后加...
查看>>
<知识整理>2019清北学堂提高储备D4
查看>>
ios基础控件之UITextView 2015-04-08 16:36 186人阅读 评论(0) 收藏...
查看>>
android与c# socket通信出现java.net.SocketTimeoutException错误
查看>>
基础小问题
查看>>
软件工程10道题
查看>>
python之打印日志logging
查看>>
相位插值
查看>>
C语言其他知识总结
查看>>
考勤系统 人员排班设置
查看>>
PHP获取自然周列表,周开始结束日期,月开始结束时间方法类
查看>>
汇编学习总结
查看>>
初识markdown
查看>>
jsp页面间传递参数 中文乱码问题(zz)
查看>>
计算科学的研究是什么?
查看>>
关于时钟频率
查看>>
网页生成图片快照
查看>>
php file_get_contents函数分段读取大记事本或其它文本文件
查看>>
WCF的https安全(ssl)访问实例
查看>>