美文网首页
数据库中schema,表空间的意思

数据库中schema,表空间的意思

作者: 梦想怪 | 来源:发表于2016-12-27 09:51 被阅读0次

    1.什么是schema?

    定义:

    A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data. A user is a name defined in the database that can connect to and access objects. Schemas and users help database administrators manage database security.

    也就是说,schema是一个逻辑概念,是数据库对象的集合,数据库对象包括:tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。

    “我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了,然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西,如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了。换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了。”—摘自网络

    2.什么是表空间?

    在oracle中,数据库是由表空间来组成的,而表空间里面是具体的物理文件—数据文件。我们可以创建数据库并为其指定各种表空间。
    本质上是一个或多个数据文件的集合。

    3.总结

    数据库由表空间来组成,而Schema是各种数据库对象的集合,用户可以通过Schema来访问表等等这些数据库对象,而我们查询的时候通常是没有通过Schema.对象的方式访问,是因为当没有指明该表属于哪一个Schema中的,系统就会自动给我们在表上加上缺省的Schema名,缺省的Schema名就是用户名。
    mysql里innodb才有表空间的概念,但是它是全局的,也就是说,所有数据库都用这个表空间。

    相关文章

      网友评论

          本文标题:数据库中schema,表空间的意思

          本文链接:https://www.haomeiwen.com/subject/tsvsvttx.html