数据库模式(schema)是什么?

在数据库的术语中,模式(schema)是一个逻辑概念,用于组织数据库中的对象。模式中的对象通常包括表、索引、数据类型、序列、视图、存储过程、主键、外键等等。

模式可以为数据库对象提供逻辑隔离功能,不用应用程序可以使用各自的模式,实现安全的访问权限控制。

以下是 MySQL 中经典的 Sakila 示例数据库中的模式结构图:
数据库模式(schema)是什么?_第1张图片
该模式中包含四个部分:

  • Customer Data:客户相关的数据,例如客户名称、地址等;
  • Business:经营业务所需的数据,例如员工、商店、付款明细等;
  • Inventory:产品详细信息,例如电影、电影分类、演员等;
  • Views:数据视图。

SQL 标准并没有明确定义模式与数据库的关系,因而在不同的数据库产品中,模式的概念也存在差异。

MySQL

对于 MySQL 而言,模式和数据库是同义词。语法中的 SCHEMA 都可以使用 DATABASE 替代,例如 CREATE DATABASE 和 CREATE SCHEMA 的作用完全相同。

database

PostgreSQL

PostgreSQL 中的一个数据库包含一个或多个模式,一个模式包含多个对象(表、索引、函数等)。

数据库模式(schema)是什么?_第2张图片

模式的管理使用 CREATE SCHEMA、DROP SCHEMA 等语句。

Oracle

Oracle 数据库中的模式概念和其他数据库产品不同,它和用户的概念关系紧密。Oracle 数据库中的一个用户对应一个模式,用户名就是模式名。模式中的对象都属于这个用户。

数据库模式(schema)是什么?_第3张图片

对于模式的管理,实际上就是用户的管理,例如 CREATE USER、DROP USER。

另外,虽然 Oracle 也提供了 CREATE SCHEMA 语句,但是它的作用是在当前模式下创建对象。

Microsoft SQL Server

Microsoft SQL Server 中的模式概念和 PostgreSQL 几乎相同。

数据库模式(schema)是什么?_第4张图片

SQLite

SQLite 中没有模式的概念,一个文件对应一个数据库。

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