数据库模式(schema)是什么?_数据库schema-程序员宅基地

技术标签: 数据库  sql  

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

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

以下是 MySQL 中经典的 Sakila 示例数据库中的模式结构图:
Screenshot of the Sakila Sample Database schema.
该模式中包含四个部分:

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

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

MySQL

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

database

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 中没有模式的概念,一个文件对应一个数据库。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/horses/article/details/128943985

智能推荐

Nginx日志切割 手动+定时两种方式 非常详细_nginx 定时任务-程序员宅基地

文章浏览阅读1.2k次。Nginx日志切割 手动+定时两种方式 非常详细_nginx 定时任务

在Linux上使用yolov7训练自己的数据集【从零开始的教程】_yolov7的数据集格式-程序员宅基地

文章浏览阅读632次。yolov7的文件夹打开之后是这个样子啦以下是三个常见已经标注好的yolo格式数据集会按照以下格式进行存放train.txtval.txt网上有很多几种格式互相转换的教程。_yolov7的数据集格式

vc++加载透明png图片方法——GDI+和CImage两种 ,vs2005 vs2008 PNG背景_vs png贴图时透明-程序员宅基地

文章浏览阅读1.1k次。先看看GDI+的方法方法1:1.GDI+画透明图层(alpha)的png图片stdafx加入如下:#include //初始化一下com口#include "GdiPlus.h"using namespace Gdiplus;#pragma comment(lib,"gdiplus.lib")开始初始化:在app类的声_vs png贴图时透明

微信公众号生成带参数的二维码_微信公众号生成带参数的二维码登录-程序员宅基地

文章浏览阅读5.3k次。官网功能介绍:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp14434335421、获取access_token:根据公众号的appid和appsecket得到access_tokenhttps://mp.weixin.qq.com/debug?token=1795470382&lang=zh_CN2、获取ti..._微信公众号生成带参数的二维码登录

QT 在windows安装步骤 两种方法_qt windows安装-程序员宅基地

文章浏览阅读1.1w次。转自:https://www.cnblogs.com/mrcp/archive/2012/11/05/2754524.html折腾了2个小时,参考了网上的资料,终于把QT装好了要让qt能使用,两种套路都可行:1、安装傻瓜包QtSDK,大概1GB多,你要用到的所有东西都在这里面,按照默认的安装,装好后直接打开qt creator就可以用。2、自己组装:(1)下载Qt Creator (qt-crea..._qt windows安装

NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估-程序员宅基地

文章浏览阅读885次,点赞28次,收藏29次。在本文中,我们将研究使用 Deepset 的 SQUAD2 模型进行问答以及使用SQuAD v2 指标评估模型,我们将使用 model —deepset/minilm-uncased-squad2。

随便推点

php 生成验证码(带旋转和干扰线条)_php验证码干扰线-程序员宅基地

文章浏览阅读5.3k次。带旋转和干扰线条的验证码生成函数,代码如下:<?php // 把字符串做出验证码图片 // string $text,要处理的字符串 // int $linect,需要混淆的线条个数 // int $fontsize,字体大小,1到5 // bool $rotate,是否旋转 // array $textcol,字体颜色RGB值,array(R,G,B) // array $_php验证码干扰线</div>

【Flutter】使用PlatformView显示WebView-程序员宅基地

文章浏览阅读3.4k次。通过PlatformView实现Flutter插件,能够调用和显示Android的WebView等Native控件_platformview

The Folder Path "XXXX" Contains an Invalid Character 问题的另一个解决办法-程序员宅基地

文章浏览阅读1.6k次。今天安装一个自己写的.NET程序。程序使用Windows Installer打包,需要.NET 3.5。安装包没有问题,之前在其他机器上测过。系统是XP SP3. 我装好.NET所有需要的更新包后(包括语言包),运行安装包,直接出现“The Folder Path "XXXX" Contains an Invalid Character”错误,其中XXXX为乱码。安装无法继续。同时发现另一程序也无..._the folder path '??????????v6.0 2016 ???' contains an invalid character.

c的那些事_c的事-程序员宅基地

文章浏览阅读349次。1.在传递时时刻记得传递参数的类型保持一致2.在保存字符串时可以用char a[10],保存,在输出时,只需要printf("%s",a)就可以输出字符串,不可以写成printf("%s",a[10]).3.以前曾介绍过对内存中信息的存取一般以字节为单位。实际上,有时存储一个信息不必用一个或多个字节,例如,“真”或“假”用0或1表示,只需1位即可。在计算机用于过程控制、参数检测或数据通信领_c的事

python编写ARP拒绝服务攻击脚本_python拒绝服务攻击-程序员宅基地

文章浏览阅读2.5k次。python编写拒绝服务攻击脚本_python拒绝服务攻击

视频直播方案测试评估_测评类直播方案-程序员宅基地

文章浏览阅读2.2k次。阿里云的视频直播服务与百度云LSS的设定与使用测试前置条件:有已备案的可用域名(如果服务器在大陆)安装OBS软件, 用于录制与推流 https://obsproject.com安装可直播的软件,如kmplayer, 可直接贴 rmtp url并播放阿里云- 申请并授权开通视频直播功能- 视频直播-域名管理,添加 live-ali.xxx.com, 另需在域名解析添加CNAME live-ali...._测评类直播方案

推荐文章

热门文章

相关标签