1、定义
在SQL环境下,schema是数据库对象(表、索引、视图等)的集合。
2、区别
不同数据库对schema的定位不同。
(1)MySQL中的schema
MySQL中可以认为,物理层面schema与database同义,即schema的名称和数据库的实例名称相同,一个数据库有一个schema。你可以在MySQL的SQL语法中用关键字SCHEMA替代DATABASE,例如使用CREATE SCHEMA来代替CREATE DATABASE。
(2)PostgreSQL中的schema
在PostgreSQL中,可以创建一个数据库,然后在数据库中创建不同的schema,每个schema又有各自的表,索引等。
(3)SQL Server中的schema
(4)Oracle中的schema
Oracle中的schema是数据或模式对象的逻辑结构的集合,由数据库用户拥有,并且与该用户具有相同的名称,也就是说每个用户拥有一个独立的schema。也就是说在ORACLE中CREATE USER就创建了一个schema,CREATE SCHEMA语句允许你将schema同表和视图关联起来,并在这些对象上授权,从而不必在多个事务中发出多个SQL语句。
3、总结
schema这个词可以用在很多不同的环境中,在特定数据库管理系统创建一个schema时,一定要查看该系统是如何定义schema的。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219397.html原文链接:https://javaforall.net
