
我实验测试两个完全不一样。create database是创建一个数据库,而create schema是创建一个架构。首先你要明白数据库和架构的区别,还要明白登录名和用户名的区别。我们正常登陆名是sa,但是映射的用户名是dbo,所有你打开数据库看表,前面都是dboXXX你先用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权限。
三级模式结构:外模式、模式、内模式
一、模式(Schema)
定义:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
理解:
①一个数据库只有一个模式;
②是数据库数据在逻辑级上的视图;
③数据库模式以某一种数据模型为基础;
④定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。
二、外模式(ExternalSchema)
定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
理解:
①一个数据库可以有多个外模式;
②外模式就是用户视图;
③外模式是保证数据安全性的一个有力措施。
三、内模式(InternalSchema)
定义:也称存储模式(StorageSchema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。
理解:
①一个数据库只有一个内模式;
②一个表可能由多个文件组成,如:数据文件、索引文件。
它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法
其目的有:
①为了减少数据冗余,实现数据共享;
②为了提高存取效率,改善性能。
人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,它包括外模式、概念模式、内模式,有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。用户级对应外模式,概念级对应概念模式,物理级对应内模式,使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中"的反映,很显然,不同层次(级别)用户所“看到”的数据库是不相同的。
美国国家标准协会(AmericanNationalStandardInstitute,ANSI)的数据库管理系统研究小组于1978年提出了标准化的建议,将数据库结构分为3级:面向用户或应用程序员的用户级、面向建立和维护数据库人员的概念级、面向系统程序员的物理级。
以上就是关于数据库中Schema和Database有什么区别全部的内容,包括:数据库中Schema和Database有什么区别、数据库三级模式之间的关系是什么、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)