sql server数据库中要创建模式,create schema有什么用

sql server数据库中要创建模式,create schema有什么用,第1张

每个数据都得建schema,需要将创建schema,跟他的表的索引区别开来,同时可以让索引,表,视图不在同一个命名空间,让没有权限的用户不能 *** 作。

1、如果把database看作是一个仓库,仓库很多房间(schema),一个schema代表一个房间,table可以看作是每个房间中的储物柜,user是每个schema的主人,有 *** 作数据库中每个房间的权利,就是说每个数据库映射的user有每个schema(房间)的钥匙。

2、在SQL Server 2000中,user和schema总有一层隐含的关系,让我们很少意识到其实user和schema是两种完全不同的概念,假如我们在某一数据库中创建了用户Bosco,那么此时后台也为我们默认的创建了schemaBosco,schema的名字和user的名字相同。

3、在Oracle数据库中不能新建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决,在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同。

create database 是创建 数据库

create schema 是创建 模式

数据库分 内模式 和 外模式

内模式 是数据库的 逻辑

外模式 是数据库在外的 表现形式

这个就是创建一个模式

schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。

一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。

最简单的理解:以你计算机的用户为例,如果你的计算机有3个用户,那么每个用户登录系统看到的(使用的)功能是可以不相同的!

引用:>

1一般我本地的mysql数据库都是关闭的,在使用的时候需要手动把服务起来,我一般是在任务管理器服务中找到mysql,启动。

2使用DBsolo工具,我使用的是35版本,因为之前我已经有连接过,所以这里就不写如何配置连接参数了,这里只需右键连接即可。

3打开一个Query Edit Tab窗口,写一下sql语句,记住因为这里只能在information_schema库中写sql脚本。

如果是用的microsoft sql server的话,可以sql server的notification services命令提示,然后输入sqlcmd -S "localhost\SQLEXPRESS",点击回车等待直至出现向右箭头,输入create database mydatabase(其中mydatabase是数据库名称,可自由发挥),回车后再输入go再回车(表示执行上面创建数据库mydatabase),这样就已经创建了数据库。然后可以创建表create table mytable(id int,birth datetime,height int),回车后输入go再回车,这样就创建了名为mytable的表,然后可以往表中insert数据等 *** 作。

建议到MYSQL官方下载图形管理工具,MYSQL Quary Browser,安装后,设置连接地址:本机IP;server Host:localhost;Port:3306(默认即可);username:root;password:(你的密码);default Schema:mysql

在MySQL中创建一个Schema好像就跟创建一个Database是一样的效果,在SQL

Server和Orcal数据库中好像又不一样

目前我只能理解,在mysql中

schema<==>database。

数据库中User和Schema的关系

假如我们想了解数据库中的User和Schema究竟是什么关系,首先必须了解一下数据库中User和Schema到底是什么概念。

在SQL

Server2000中,由于架构的原因,User和Schema总有一层隐含的关系,让我们很少意识到其实User和Schema是两种完全不同的概念,不过在SQL

Server2005中这种架构被打破了,User和Schema也被分开了。

首先我来做一个比喻,什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User?我们可以可以把Database看作是一个

大仓库

,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了J。,然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床,

User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),其实User是对应与数据库的(即User是每个对应数据库的主人),既然有 *** 作数据库(仓库)的权利,就肯定有 *** 作数据库中每个Schema(房间)的权利,就是说每个数据库映射的User有每个Schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的 *** 作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。

以上就是关于sql server数据库中要创建模式,create schema有什么用全部的内容,包括:sql server数据库中要创建模式,create schema有什么用、SQL语言create database跟create schema有什么区别,愿闻详解!、在oracle中创建schemal是指什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10180249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存