数据库Schema两种含义
数据库Schema有两种含义,一种是概念上的Schema,指的是一组DDL语句集,该语句集完整地描述了数据库的结构。还有一种是物理上的 Schema,指的是数据库中的一个名字空间,它包含一组表、视图和存储过程等命名对象。物理Schema可以通过标准SQL语句来创建、更新和修改。例 如以下SQL语句创建了两个物理Schema:
create schema SCHEMA_A; create schema SCHEMA_B; 简单的说:就是一个数据库用户所拥有的数据库的对象。 数据库schema与catalog简介 按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要 用来解决命名冲突问题。从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数 据库对象(表、视图、字段等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该 数据库对象的完全限定名称从而解决命名冲突的问题了;例如数据库对象表的完全限定名称就可以表示为:Catalog名称.Schema名称.表名称。这里 还有一点需要注意的是,SQL标准并不要求每个数据库对象的完全限定名称是唯一的,就象域名一样,如果喜欢的话,每个IP地址都可以拥有多个域名。 从实现的角度来看,各种数据库系统对Catalog和Schema的支持和实现方式千差万别,针对具体问题需要参考具体的产品说明书,比较简单而常用的实现方式是使用数据库名作为Catalog名,使用用户名作为Schema名,具体可参见下表: 表1 常用数据库
最后一点需要注意的是Schema这个单词,它在SQL环境下的含义与其在数据建模领域中的含义是完全不同的。在SQL环境下,Schema是一组相关的 数据库对象的集合,Schema的名字为该组对象定义了一个命名空间,而在数据建模领域,Schema(模式)表示的是用形式语言描述的数据库的结构;简 单来说,可以这样理解,数据建模所讲的Schema<也就是元数据>保存在SQL环境下相应Catalog中一个Schema<名叫 DEFINITION_SCHEMA>下的表中,同时可以通过查询该Catalog中的另一个Schema<名叫 INFORMATION_SCHEMA>下的视图而获取,具体细节不再赘述。 另外我结合MySQL官方的MySQL administrater数据库管理工具理解一下所谓的schema,catalog:
点击那个catalogs,下面就出来了所有的database。想了一下,我这样来总结: 数据库:指的是说MySQL(或者说Oracle等) schema: 指的是说当偶create database caiceclb时,caiceclb就是一个schema catalog: 指的是所有的database目录,就像上图显示的那样,将MySQL原来的(mysql,infomation_schema)及后来新建的的database的集合。 SQL Server 数据库 schema 一词的不同含义
|
数据库Schema两种含义相关推荐
- mysql scheme是什么意思_数据库Schema两种含义~~
1.数据库Schema有两种含义,一种是概念上的Schema,指的是一组DDL语句集,该语句集完整地描述了数据库的结构.还有一种是物理上的 Schema,指的是数据库中的一个名字空间,它包含一组表.视 ...
- mysql创建库几种方法_MySQL创建数据库的两种方法
本文为大家分享了两种mysql创建数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 创建数据库使用普通用户,你可能需要特定的权限来创建或者删除 mysql 数据库. 所以 ...
- mysql+数据库连接标识_新人必看!连接到MySQL数据库的两种方法
原标题:新人必看!连接到MySQL数据库的两种方法 使用mysql二进制方式连接 您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库. 实例 以下是从命令行中连接mysq ...
- Mysql数据库有两种安装方法
Mysql数据库有两种安装方法: 第一种是安装 mysql-5.7.16-winx64,Zip 发杂.麻烦,下载容量大 第二种方式:下载mysql-5.7.13-winx64.msi 内存小,点击自 ...
- django 不用自带的mysql_21_django配置使用mysql数据库的两种方式
配置django项目使用mysql数据库的两种方式 1. 直接在settings.py 文件中添加数据库配置信息 # 配置数据库的第一种方式 DATABASES = { 'default': { 'E ...
- 【转载】面向对象建模与数据库建模两种分析设计方法的比较
[转载]面向对象建模与数据库建模两种分析设计方法的比较 板桥里人 http://www.jdon.com 2007/9/23(转载请保留) 我们知道:一个软件从无到有需要经过如下几个阶段:分析.设计. ...
- c 连接mysql数据库_C++连接mysql数据库的两种方法
现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...
- cad与连接mySQL数据库_C++连接mysql数据库的两种方法
现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...
- Python操作Neo4j图数据库的两种方式
Python操作Neo4j图数据库的两种方式 前言 1. 用neo4j模块执行CQL ( cypher ) 语句 2. 用py2neo模块通过操作python变量,达到操作neo4j的目的 3. 用p ...
最新文章
- c#.net配置mysql数据库连接池_C#MySQL连接池
- 【Python数据结构】 抽象数据类型 Python类机制和异常
- 2017-06-18 前端日报
- java好学还是ui好学_java编程和ui设计哪个好学?
- BZOJ1054(搜索)
- iOS UITextView和UITextViewDelegate
- 【计算机网络安全基础(第五版)袁津生 课后习题答案】
- 骑士问题-BFS求解
- *TEST 5 for NOIP 。。。
- Backbone Events 源码笔记
- 活动预告|CodeWisdom软件供应链系列学术报告:第4期(何昊 北京大学)
- Zemax 快捷键及使用技巧(持续更新中)
- C++友元(友元函数)
- JS修改style样式
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制
- MCAL中MCU的配置
- 海豚php 授权价格,数据授权(1.3.2+) · DolphinPHP1.5.0完全开发手册-基于ThinkPHP5.1.41LTS的快速开发框架 · 看云...
- 2023年,“新一代”固定资产管理平台——支持低代码平台
- 上海python周末培训班_上海python周末班
- 网络安全专家,这5本入门秘籍人手一套