第1个回答 2017-09-24
我实验测试两个完全不一样。create database是创建一个数据库,而create schema是创建一个架构。首先你要明白数据库和架构的区别,还要明白登录名和用户名的区别。我们正常登陆名是sa,但是映射的用户名是dbo,所有你打开数据库看表,前面都是dbo.XXX.你先用sa登陆,然后会看见安全性,安全性下面有个登录名,打开就会看见sa这个登录名,双击之后会看见一个用户映射,点开之后有三项,数据库,用户名,默认架构,比如系统master数据库用户名就是dbo,默认架构dbo.到这里还是你肯定还是不明白。下面做个实验,1.先创建一个用户名se,在安全性下面右击登陆名就可以创建,验证选择sql身份验证,输入密码即可。2.右击数据库然后创建一个数据库test。3.打开数据库test,也会看见一个安全性,安全性下面有用户,点开你就会看见dbo,很多人问create schema authorization +用户名,这个用户名到底是什么,系统默认就是dbo.所以create schema authorization dbo这条指令是不会报错的。3.我们在test下面创建一个新用户admin,右击安全性下面用户名就可以创建,用户写admin,登录名选择我们刚才的se,架构选择默认的dbo.到此你就应该明白登录名和用户名的区别。登录名可以设置查看数据库权限,而用户名是数据库下面可以设置查看架构的权限。比如我们创建数据库test1,test2,test3.然后我们创建登录名se,se我可以给他查看test1数据库权限,但是不给他test2的权限,这样登陆se就只有查看test1权限。
第3个回答 2017-10-17
A schema is a collection of database objects (used by a user.).
schema objects are the logical structures that directly refer to the database’s data.
A user is a name defined in the database that can connect to and access objects.
schemas and users help database administrators manage database security.
从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables views sequences stored procedures synonyms indexes clusters and database links。
______百度百科