create table 和 create schema的区别
Posted panda521的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了create table 和 create schema的区别相关的知识,希望对你有一定的参考价值。
什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?
我们可以把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了。
以上是关于create table 和 create schema的区别的主要内容,如果未能解决你的问题,请参考以下文章
create table 和 create schema的区别
何时将 CREATE TABLE AS SELECT 与 CREATE TABLE LIKE?
HiveQL/SQL:CREATE TABLE AS SELECT (CTAS) 和 CREATE EXTERNAL TABLE + INSERT INTO 有啥区别?
insert table 和create table as 区别