数据库中Schema和Database有什么区别

数据库中Schema和Database有什么区别,第1张

我实验测试两个完全不一样。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有什么区别、数据库三级模式之间的关系是什么、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/sjk/9717078.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存