数据库中的Schema是什么?

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 翻译自:http://database.guide/what-is-a-database-schema/   在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式。

 

翻译自:http://database.guide/what-is-a-database-schema/

 

在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式。

模式中包含了schema对象,可以是表(table)、列(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、

主键(primary key)、外键(foreign key)等。数据库模式可以用一个可视化的图来表示,它显示了数据库对象及其相互之间的关系

以上是架构图的简单示例。它显示了三个表,以及它们的数据类型,表之间的关系,以及它们的主键和外键。

 

这是一个更复杂的数据库模式示例:

 

在这种情况下,模式图分为四个部分:

(1)Customer Data(客户数据):与客户有关的数据,如姓名,地址等

(2)Business(业务):业务所需的数据,例如员工,商店位置,付款细节等

(3)Inventory(库存):所有产品的细节。在这里,产品是电影,所以它包含电影标题,类别,演员等数据。

(4)Views(视图):关于用于评估的数据的特别观点,所以通过这些模式图,我们可以进一步创建一个数据库,

实际上,MySQL Workbench允许我们直接从图中生成一个Create Table脚本,然后我们就可以直接用这个脚本去创建一个数据库,还可以直接将一个数据库转换为一个关系图表。

 

架构和数据库是一样的吗?

在涉及数据库时,有很多关于模式的混淆。问题经常出现在模式和数据库之间是否存在差异,如果是,那么差异是什么。

 

取决于供应商

造成混淆的部分原因是数据库系统倾向于以自己的方式处理模式。

  • MySQL文档指出,物理,一个模式是与数据库的代名词。因此,模式和数据库是一回事
  • 但是,Oracle数据库文档指出某些对象可以存储在数据库中,但不能存储在模式中。因此,模式和数据库是两回事
  • 根据这篇SQL Server技术文章,模式是数据库中的一个独立实体。所以,它们是两个不同的东西

因此,根据您使用的RDBMS,模式和数据库可能是也可能不是同一个东西。

那么SQL标准呢?

ISO / IEC 9075-1 SQL标准定义了一个模式作为  描述符的持久性,命名集合。

如果你之前感到困惑,希望我没有让它变得更糟......

广义

混淆的另一个原因可能是由于术语模式具有如此广泛的含义。它在不同的背景下具有不同的内涵。

单词schema来自希腊语  skhēma,意思是形式,  形象形状计划

模式在心理学中用于描述组织信息类别及其之间关系的有组织的思想或行为模式。

在设计数据库之前,我们还需要查看信息类别以及它们之间的关系。在我们开始使用DBMS中的物理模式之前,我们需要创建一个概念模式。

在软件开发中,在讨论模式时,可以讨论概念模式,物理模式,内部模式,外部模式,逻辑模式等。其中每一个都有其特定的含义。

DBMS的模式定义

以下是三个领先数据库系统的模式的快速定义:

MySQL的

从概念上讲,模式是一组相互关联的数据库对象,例如表,表列,列的数据类型,索引,外键等。

...。

在MySQL中,物理上,模式数据库是同义词。您可以替换关键字SCHEMA而不是DATABASEMySQL SQL语法,例如使用CREATE SCHEMA而不是CREATE DATABASE

资料来源:  “MySQL词汇表”。MySQL 5.7参考手册。MySQL的。检索2016年6月6日。

 

SQL Server

表,字段,数据类型以及数据库的主键和外键的名称。

“词汇表”。SQL Server 2016技术文档。Microsoft Developer Network。检索2016年6月6日。

 Oracle数据库

Oracle数据库的模式系统与其他系统完全不同。Oracle的架构与数据库用户密切相关。

模式是数据的逻辑结构,或架构对象的集合。模式由数据库用户拥有,并且与该用户具有相同的名称。每个用户拥有一个架构。

来源:  “数据库对象”。Oracle Database Online Documentation 12c第1版(12.1)。Oracle帮助中心。检索2016年6月6日。

这篇关于DBMS的模式定义的文章提供了更多细节。

创建架构

尽管它们在定义模式方面存在差异,但上述三个DBMS中的每一个都支持该CREATE SCHEMA语句。

这就是相似性结束的地方。

MySQL的

在MySQL中,  CREATE SCHEMA创建一个数据库。

这是因为  CREATE SCHEMA 是它的同义词  CREATE DATABASE。换句话说,您可以使用 CREATE SCHEMA或  CREATE DATABASE执行相同的操作。

Oracle数据库

在Oracle数据库中,该CREATE SCHEMA语句实际上并不创建模式。这是因为已经为每个数据库用户创建了一个模式。

在Oracle中,该  CREATE USER  语句创建模式。

在Oracle中,  CREATE SCHEMAstatement允许您使用表和视图填充模式,并为这些对象授予权限,而无需在多个事务中发出多个SQL语句。

SQL Server

在SQL Server中,CREATE SCHEMA将根据您提供的名称创建架构。

与MySQL不同,该  CREATE SCHEMA 语句创建一个与数据库分开定义的模式。

与Oracle不同,该  CREATE SCHEMA 语句实际上创建了模式。

在SQL Server中,一旦创建了架构,就可以向其中添加用户和对象。

结论

术语模式可以在许多不同的上下文中使用。在特定数据库管理系统中创建模式的上下文中,您需要使用DBMS定义模式。

当您切换到新的DBMS时,请务必查找该系统如何定义模式。

 

您可以考虑给博主来个小小的打赏以资鼓励,您的肯定将是我最大的动力。

微信 支付宝
关于作者:潜心于网络安全学习。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接.
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
6天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
4天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
10天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式(Schema)
|
12天前
|
存储 SQL 数据处理
数据库模式(Schema)
数据库模式,即逻辑模式,描述了数据库数据的整体逻辑结构与特性,为所有用户提供统一的数据视图。一个数据库仅有一个模式,基于某种数据模型构建,并通过DDL定义数据结构、安全性和完整性要求。外模式,作为子模式或用户模式,提供用户可见的局部数据逻辑视图,确保数据安全性,允许数据库具有多个面向不同应用的视图。内模式或存储模式,则具体规定了数据的物理存储结构和方式,包括存储类型、索引组织及数据处理细节。
|
14天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式,即逻辑模式,是数据库中数据逻辑结构与特性的整体描述,为所有用户的公共数据视图。每个数据库仅有一个模式,基于特定数据模型,不仅定义数据结构,还涉及安全性和完整性的要求。外模式,又称用户模式,是用户可见及使用的局部数据视图,体现数据安全性,一个数据库可有多重外模式。内模式,即存储模式,描述数据的物理结构和存储方式,如存储结构、索引组织等,确保数据的有效管理和存取。
|
16天前
|
存储 SQL 数据管理
数据库模式(Schema)
数据库模式,即逻辑模式,是数据逻辑结构及特性的描述,为全体用户的共享视图,基于某种数据模型,定义数据结构、约束及关联关系。一个数据库仅有一个模式。外模式为用户视图,允许不同用户拥有不同的数据视图,增强安全性,一个数据库可有多重外模式。内模式描述数据的物理存储细节,如存储结构和访问技术,确保高效的数据管理。
|
22天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式,即逻辑模式,为全体数据的逻辑结构和特性的描述,构成所有用户的公共视图,基于某种数据模型,定义数据结构及关联关系,并确保完整性和安全性。每个数据库仅有一个模式,通过DDL定义。外模式为用户视图,允许多视图共存,保障数据安全,使用DML操作数据。内模式定义数据的物理存储结构,如索引组织、压缩与加密等细节。
|
27天前
|
存储 SQL 数据库
数据库模式(Schema)
数据库模式,即逻辑模式,唯一地定义了数据库数据的逻辑结构与特性,作为所有用户的共享视图。基于特定数据模型,不仅描述数据结构,还包括安全性和完整性约束。外模式为用户视图,允许一个数据库拥有多个针对不同应用的视图,增强数据安全性。内模式描述数据的实际存储方式和物理结构,如存储类型、索引组织及是否采用压缩或加密技术。
|
29天前
|
存储 SQL 安全
数据库模式(Schema)
数据库模式,即逻辑模式,唯一地定义了数据库数据的逻辑结构与特性,作为所有用户的共享视图。每个数据库仅有一个模式,基于特定数据模型,不仅描述数据结构还包含安全与完整性的规则。外模式,即子模式或用户模式,允许数据库呈现多个针对不同应用的视图,增强数据安全性。内模式定义了数据的实际存储方式,涉及物理结构与存取技术。
下一篇
DDNS