mysql数据库中的Schema是什么?
数据库中schema是数据库对象集合,它包含了表,视图等多种对象。schema就像是用户名,当访问数据表时未指明属于哪个schema,系统就会自动的加上缺省的schema。
我们在学习数据库中会碰到一个模糊的概念,它就是Schema。很多人对他都不是很了解,今天将要在文章中为大家详细介绍这个概念,具有一定的参考作用,希望对大家有所帮助。
Schema概念
schema在数据库中表示的是数据库对象集合,它包含了各种对像,比如:表,视图,存储过程,索引等等。一般情况下一个用户对应一个集合,所以为了区分不同的集合就需要给不同的集合起名字。用户的schema名就相当于用户名,并作为该用户缺省schema。所以说schema集合看上去像用户名。例如当我们访问一个数据表时,如果该表没有指明属于哪个schema,系统就会自动的加上缺省的schema。
Schema的创建
需要注意的是,在不同的数据库中要创建的Schema方法是不一样的,但是它们有一个共同的特点就是都支持CREATE SCHEMA语句
MySQL
在MySQL数据库中,我们可以通过CREATE SCHEMA语句来创建一个数据库
Oracle Database
在Oracle中,由于数据库用户已经创建了一个模式,所以CREATE SCHEMA语句创建的是一个schema,它允许将schema同表和视图关联起来,并在这些对象上真奇葩,原来授权,从而不必在多个事务中发出多个SQL语句。
SQL Server
在SQL Server中,CREATE SCHEMA会按照名称来创建一个模式,与MySQL不同,CREATE SCHEMA语句创建了一个单独定义到数据库的模式。和Oracle数据库也有不同,它实际上创建了一个模式,而且一旦创建了模式,就可以往模式中添加用户和对象。