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

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

以下是 MySQL 中经典的 Sakila 示例数据库中的模式结构图:

该模式中包含四个部分:

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

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

MySQL

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

PostgreSQL

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

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

Oracle

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

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

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

Microsoft SQL Server

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

SQLite

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

数据库模式(schema)是什么?相关推荐

  1. SQL Server: 数据库模式SCHEMA

    在SQLServer等关系数据库管理系统(RDBMS)中,数据库包含各种对象. 在数据库中,模式(SCHEMA)是指数据库对象的逻辑集合.可以根据应用程序.访问权限和安全性使用模式(SCHEMA)来對 ...

  2. SQL Server查询所有数据库下模式schema

    SQL Server查询所有数据库下模式名 需求描述 找到SQL Server里所有数据库下的schema.输出格式为数据库名.模式名. 背景补充 关于SQL Server需要简单介绍下,从数据库对象 ...

  3. 数据库指向默认模式(Schema)

    数据库指向默认模式Schema 应用 1.场景 2.语句 应用 1.场景 在开发中,遇到过新建了一个新的数据库模式,但是你的程序又仅仅依赖这个模式下的表,而且也不想因为 不填模式名而报错,这样的话我们 ...

  4. 数据库中Schema(模式)概念相关

    数据库中Schema有两种含义,一种是概念上的Schema,指的是一组DDL语句集,该语句集完整地描述了数据库的结构.还有一种是物理上的 Schema,指的是数据库中的一个名字空间,它包含一组表.视图 ...

  5. Spring Boot学习总结(28)—— springboot连接postgresql 指定模式Schema

    springboot 连接 postgresql 指定模式Schema 一般的连接方式,我们创建数据库之后,在public 的Schema(模式)下建表,这时使用连接方式 jdbc:postgresq ...

  6. 笔记:SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX)

    SQL概述及数据定义(模式SCHEMA.表TABLE.索引INDEX)的学习笔记.修改与补充 目录 0.前言 1.思维导图 2.SQL概述 (1)什么是SQL? (2)SQL的特点 (3) SQL的基 ...

  7. Android MediaProvider数据库模式

    Android MediaProvider数据库模式 摘要: Android MediaProvider 使用 SQLite 数据库存储图片.视频.音频等多媒体文件的信息,供视频播放器.音乐播放器.图 ...

  8. db2设置默认schema_DB2模式schema

    DB2 Schema是在数据库中按逻辑分类的命名对象的集合. 在数据库中, 无法创建多个具有相同名称的数据库对象.为此, 架构提供了一个组环境. 你可以在一个数据库中创建多个模式, 也可以在具有不同名 ...

  9. 在应用环境中如何构造最优的数据库模式

    数据库设计(Database Design)的概念:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要 ...

  10. 初探mysql数据库模式(一)

    数据库模式是什么? 数据库模式是描述整个数据库的数据结构和数据库底层架构的事务.它分为逻辑模式(俗称:"模式"),外模式(俗称:"子模式"or"用户模 ...

最新文章

  1. [导入]Asp.net 2.0 实现自定义Email格式有效性验证(示例代码下载)
  2. 在 Google Go Team 工作是一种怎样的体验?
  3. 自定义实现ProgressDialog样式的Dialog
  4. 采用光线跟踪绘制场景 c++_虚拟演播室的跟踪系统以及色键器应要选择什么型号...
  5. Mongodb固定集合
  6. 【深度学习】生成对抗网络(GAN)的tensorflow实现
  7. MATLAB学习笔记————(MATLAB的矩阵及其操作②)
  8. 40个PPT下载 | 分享珍藏很久的大数据PPT合集(附链接)
  9. Linux SPI驱动(Linux驱动开发篇)
  10. 监控软件Zabbix安装使用
  11. 脉冲神经网络 神经元模型-IF模型(2)
  12. 小程序配置px2rem
  13. catboost介绍
  14. Golang Fyne项目实战(含源码)
  15. 录屏怎么录,这2个方法不容错过!
  16. 脑子笨的人可以学计算机吗,学理科吃力,我真的很笨吗
  17. 看完《指环王》说几句
  18. C++: ISO C++ forbids converting a string constant to ‘char*’ [-Wwrite-strings]
  19. 丁神去谷歌-北邮OJ416
  20. 网上打印纳税申报表等预览有网格打印不显示

热门文章

  1. 还有多少人,记得家谱的重要?
  2. PTA甲级 1097 Deduplication on a Linked List (25分)-链表处理
  3. 台北淡水 渔人码头之行 1
  4. 丁鹿学堂:css预处理器之less学习(一)
  5. jdk1.8版本下访问本地数据库文件(access数据库.mdb)与(火鸟数据库.fdb)踩坑记录
  6. 使用CSS连接数据库
  7. Docker踩坑笔记 - 解决Docker下载速度超级慢的问题
  8. 文件下载下来是php格式怎么办?
  9. 微信小程序wxml如何判断字符串中汉语某字符_python小课堂23 - 正则表达式(一)
  10. 蓝牙模块HC-05使用指南