前言:
数据库中的知识点从SQL Server 2008 软件的构成(4个结构 基本的服务)和基本的操作(数据的编辑和管理),在这个学习的过程中,我接触到了许多我之前都不知道的知识点,如: T-SQL (以前只知道 SQL)、存储过程、触发器、安全机制(操作员)、快照和备份(两个傻傻分不清)、自动化(厉害了)、基本服务(集成、报表、分析服务)。突然一大波知识涌过来,淹没我,其中有许多的知识像是硕石,让我无法无视它们,适逢一周一会的博客总结,让我将它们一个个击碎吧。
|今天我们先来理清 数据库登录名、架构、用户、角色之间的关系。
|
| 第三章
| 用户和角色这两个有什么联系?连带的与数据库登录名、架构名之间的关系?
|
|
| 一个数据库可以有多个用户
| 用户的作用:登录数据库、设置权限担任角色。 相当于看视频的时候的观众。同是观众,但是有些观众是VIP,能够看到 的内容不一样。
| 角色的作用:赋予不同的用户不同的权限,一个角色可以多个人承担。
| 登录名:登录名登录后,通过检查数据库有没有与该登录名映射到的用户名,如果有,则赋予该登录名相应的权限,如果无,则拒绝该登录名权限。一个用户可以有多个登录名。
|登录名和用户名之间的关系:SQL Server 就像一栋大楼,里面的每个房间都是一个数据库,登录名只是进入大楼的钥匙,而用户名则是进入房间的钥匙。一个登录名可以有多个房间的钥匙,但是一个登录名在一间房间只能拥有此房间的一把钥匙。
上图说明:登录名 sa 可以访问并操作 映射到的如下数据库: master, model, msdb, student, tempdb
----------------------------------------------------------------------------------------------------------------------------------------------------------
|
| 角色:
|
| 目的:降低维护成本
| 例如:用户A 本来是数据库管理员,有很多的权限,现在A跳槽了,他的任务由原来是程序员的用户B来干,又招了个用户C来接替B的任务。
|在没有角色的情况下,需要查询 A的所有的权限列表,一条一条的 GRANT 给B,然后将B的权限,一条一条GRANT给新来的C。
|但是在有角色的情况下,赋予不同的角色和职位相称的权限,当职务变更的时候,只需要进行角色的授权变换操作就行了。
|
| 在数据库属性中可以对相应的角色设置不同的权限:
|
----------------------------------------------------------------------------------------------------------------------------------------------------------
|数据库中的体系结构:[服务器名称].[数据库名称].[构架名称].[表名] 那其中的架构是什么呢?
| 架构:默认的是dbo
| 架构 就像是一个大项目里的各个小项目,这样如果遇到小项目里面有相同名字的表的话,就不会发生冲突。
| 例如:一个公司的系统,里面分2个子系统,分别为财务系统和人力资源系统,这两个子系统公用一个数据库。需要这么操作,将财务系统的表,放在财务的schema里,人力资源系统的表,可以放在人力资源系统的模式里,如此,这两个子系统可以相互访问对方的表,但是又不会因为表重名的原因,影响对方。
| 新建架构:(Express Edition 的建不了。。)
| 新建用户的时候,将架构和相应的数据库连接