关于数据库中的schema的注释
关于数据库中的schema
schema:模式,在SQL Server中文版文档中翻译为架构。
在数据库学习过程中,有一个schema概念,如概念模式、物理模式、内部模式、外部模式、逻辑模式,以及DBMS的schema等,每一个都有其特定的含义,在不同语境下的含义不同,容易初学者迷糊。
DBMS的schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。
☆ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合(a persistent, named collection of descriptors)。
☆MySQL的文档中指出,在物理上,模式与数据库是同义的,所以,模式和数据库是一回事。从概念上讲,模式是一组相互关联的数据库对象,如表,表列,列的数据类型,索引,外键等等。但是从物理层面上来说,模式与数据库是同义的。你可以在MySQL的SQL语法中用关键字SCHEMA替代DATABASE,例如使用CREATE SCHEMA来代替CREATE DATABASE。
参考: MySQL Glossary之schema ,链接是https://dev.mysql.com/doc/refman/5.7/en/glossary.html#glos_schema
☆Oracle的文档却指出,某些对象可以存储在数据库中,但不能存储在schema中。 因此,模式和数据库不是一回事。Oracle的schema与数据库用户密切相关。schema是数据或模式对象的逻辑结构的集合,由数据库用户拥有,并且与该用户具有相同的名称,也就是说每个用户拥有一个独立的schema。参考 Oracle Database Objects之 Schema Objects,链接是https://docs.oracle.com/database/121/SQLRF/sql_elements007.htm#SQLRF20003
☆SQL Server中schema是数据库SQL Server内部的一个独立的实体,包括表、字段、数据类型以及数据库的主键和外键的名称。参考:SQL Server Glossary之database schema ,链接是 https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2016/ms165911(v=sql.130)?redirectedfrom=MSDN
要理解SQL Server的架构(SCHEMA)可以参考
权限层次结构(数据库引擎)https://docs.microsoft.com/zh-cn/sql/relational-databases/security/permissions-hierarchy-database-engine?view=sql-server-ver15
安全对象范围:架构 https://docs.microsoft.com/zh-cn/sql/relational-databases/security/securables?view=sql-server-ver15#securable-scope-schema
尽管上述三个DBMS在定义schema方面有所不同:
★MySQL
在MySQL中,CREATE SCHEMA创建了一个数据库,这是因为CREATE SCHEMA是CREATE DATABASE的同义词。 换句话说,你可以使用CREATE SCHEMA或者CREATE DATABASE来创建一个数据库。
★Oracle Database
在Oracle中,CREATE SCHEMA语句实际上并不创建一个模式,这是因为已经为在创建用户时,数据库用户就已经创建了一个模式,也就是说在ORACLE中CREATE USER就创建了一个schema,CREATE SCHEMA语句允许你将schema同表和视图关联起来,并在这些对象上授权,从而不必在多个事务中发出多个SQL语句。
Oracle数据库将一个单独的模式与每个数据库用户相关联。一个模式由一组模式对象组成。
在Oracle数据库中不能新建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决,在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同。
★SQL Server
在SQL Server中,CREATE SCHEMA将按照名称创建一个模式,与MySQL不同,CREATE SCHEMA语句创建了一个单独定义到数据库的模式。和ORACLE也不同,CREATE SCHEMA语句实际创建了一个模式(前面说到这个语句在ORACLE中不创建一个模式),在SQL Server中,一旦创建了模式,就可以往模式中添加用户和对象。
另外,当我们用create user创建数据库用户时,我们可以用该用户指定一个已经存在的schema作为默认的schema,如果我们不指定,则该用户所默认的schema即为dbo schema。
参考
What is a Database Schema? https://database.guide/what-is-a-database-schema/
(译文见https://blog.csdn.net/u010429286/article/details/79022484)
如何理解数据库的Schema模式https://www.biaodianfu.com/database-schema.html
在数据库中,schema、catalog分别指的是什么?https://www.zhihu.com/question/20355738
关于数据库中的schema的注释相关推荐
- mysql schema和database_数据库中的Schema和Database的区别
在mysql中创建一个Schema和创建一个Database的效果好像是一样的,但是在sqlserver和orcal数据库中效果又是不同的,目前我只能理解为在mysql中schema<==> ...
- 数据库中的Schema是什么?
在数据库中,schema(发音 "skee-muh" 或者"skee-mah",中文叫模式)是数据库的组织和结构,schemas 和schemata都可以作为复 ...
- 数据库中的schema是什么(简)
数据库中的Schema 突然想到数据库中的schema是什么,于是多方搜索有了基本了解,做一个简单记录: 在SQL环境下,schema就是数据库对象的集合,所谓的数据库对象也就是常说的表,索引,视图, ...
- 数据库中的Schema(模式)和View(视图)
Schema(模式) 在mysql中,Schema和database即数据库的概念类似,利用建模式的语句 create schema name同样可以创建一个库 而在其他数据库中,例如oracle,S ...
- mysql schema table_关于数据库中table与schema的区别详解
什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User? 相关mysql视频教程推荐:<mysql教程> 我们可以把Database看作是一个大仓 ...
- mysql one database_数据库中schema和database有什么区别?
在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQL Server和Orcal数据库中好像又不一样. 目前我只能理解,在mysql中 schema<==> ...
- 达梦数据库中注释的使用
在管理规模较大的数据库时,我们往往需要面对大量的表与视图,与此同时在表与视图中可能会存在着许多的字段,让人难以迅速分辨,不利于对于数据库对象的管理.除了在命名时,对于有意义的表.视图及列,应尽量赋予具 ...
- 达梦数据库中的注释的使用
在管理规模较大的数据库时,我们往往需要面对大量的表与视图,与此同时在表与视图中可能会存在着许多的字段,让人难以迅速分辨,不利于对于数据库对象的管理.除了在命名时,对于有意义的表.视图及列,应尽量赋予具 ...
- 小工具-Greenplum数据库中AO表和非AO表获取
小工具-Greenplum数据库中AO表和非AO表获取 –执行说明 /*该脚本是用来获取数据库中每个 schema 下是否是 AO 表,如果有 AO 表,将会存储于临时表 *tab_aotable中, ...
最新文章
- 【Python】Numpy库之符号函数sign()的介绍及用法
- redis的主从数据库复制功能
- ecshop 全站内页 显示最新文章
- 003-redis-命令-key操作,字符串操作
- O-RAN:致力于ICDT融合,打造开放与智能的无线接入网
- outputStream
- PyQT5 helloworld教程(转载)
- python 随机数抽奖系统_python实现的简单抽奖系统实例
- mysql数据自定义随机_MySQL 利用事务自定义插入随机数据
- PHP中巧用curl 并发减少获取第三方网页内容时间
- Excel 培训笔记
- 《大数据之路:阿里巴巴大数据实践》-第4篇 数据应用篇 -第16章 数据应用
- 【黑帽SEO案例分析】10天爱站从0到6
- 东北四省赛E-Minimum Spanning Tree-贡献求和
- 塔夫斯大学计算机教授,塔夫茨大学开发出一系列3D打印半球形超材料 具有独特微波或光学特性...
- 有AI就不搬砖?超乎你的想象!道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
- C语音:输入两个整数,要求输出其中值较大者。要求用函数来找到大数。
- 2022-2028年全球与中国个人冷却装置行业竞争格局与投资战略研究
- 程序员需要了解的 现代散文精选翻译
- 第一周总结(2022.10.17~2022.10.22)
热门文章
- Vue中修改element-ui中的el-table中默认的暂无数据样式
- avplayer学习笔记
- Mac有什么好用的词典软件吗?苹果电脑第三方词典软件推荐
- Ansys Zemax / SPEOS | 3片式LCD投影仪的设计与仿真
- P228 10.2.2 希尔排序 完整源文件
- 字符串匹配算法——暴力算法
- Java实现控制台输出进度条
- Qt 解决报错:QBackingStore::endPaint() called with active painter
- 多元统计分析基于r课后答案_何晓群版—多元统计分析课后练习答案.pdf
- RK3399平台开发系列讲解(PCI/PCI-E)5.51、PCIE EP模式软件架构