MySQL和Oracle等数据库概念中的Schema

  1. MySQL中Schema,模式。关于数据库和表的布局和特性的信息,一般情况下,模式是数据库(整个Database)的同义词。MySQL中Schema等同于Database,即CREATE DATABASE和CREATE SCHEMA等效。在很多地方,Schema也可翻译为数据源。
  2. 但是在其他所有的商业数据库比如Oracle、SQLServer、Informix中,Schema是Database的一部分,表示The tables and other objects owned by a single user,这句话的意思是说,Schema强调归属于用户User的一个空间,它用于存储Object比如Table。如果把Database当作一个仓库,那么Schema就是其中的一个个房间,每个Schema都有对应的主人User。当然,数据库映射的User可以被分配具体的权限,操作数据库中不同的房间。在这些数据库中,创建一个用户User,默认需要指定一个已存在的Schema或者创建一个同名Schema,同时数据库也会把一些系统Schema和附加Schema的权限指定给这个User。Select的时候,如果不指定Schema,会从sys.table中先找,然后user.table(默认)等依次类推;Create Table的时候,table会依据用户默认Schema、同名Schema、有权限的前缀Schema的顺序创建在对应的位置。

你可能感兴趣的:(数据库)