您的位置:首页 > 数据库

数据库管理系统的登录名、角色,数据库的用户、角色和架构

2014-05-24 15:00 239 查看

概述

       之前的一篇博客中写到过关于服务器登录名,服务器角色,数据库用户,数据库角色的关系,理论的一些知识,大家可以看看这篇博客:登录名,服务器角色,用户名和数据库角色。本片博客注重操作。

数据库架构

       在具体的操作时,先普及一下数据库架构的知识,这里需要注意一下,这里说的数据库架构不是针对数据库的拓扑结构来说的,而是针对数据库管理系统中,针对数据库的一个功能。

       举例说架构和架构的好处,数据库为一座楼,那么架构就是一层楼,一层楼中的房子就是表,由表产生的存储过程,触发器等等也都属于这个架构,将一层楼租给多人去住,这些人在这层楼房里随便折腾,但是,这些人走后,他折腾的东西不需要改变,后来人可以再次基础上接着折腾,因为前人折腾出来的东西都属于这个架构,东西属于架构不是属于人,所以,人走了之后,东西不需要再进行相应的改变。

       框架:存放数据库对象的一个容器,框架里面的对象必须是唯一的,不同框架的对象的名称可以相同,一个数据库有多个框架。在之前(sql 2000)的数据库对象访问时,采用的是服务器名.数据库名.用户名.表名称,之后的数据库访问方式是这样的,服务器名.数据库名.框架名.表名称,这样做的好处就是,某个用户辞职不干了,我就可以直接删除这个用户就行了,但是,之前是不行的,因为数据库对象是通过用户名查找的,这样的一个修改是非常麻烦的。当然框架的作用不仅仅如此,如:框架限制了用户对数据库其它框架表的访问。好了,理论方面的东西到此结束,下面开始实战。

创建数据库系统登录名

       创建3个系统登录名,分别为Student、Teacher和Person,具体操作如下图



创建数据库

[sql]
view plaincopyprint?





create database DataBaseName 

go 

create database DataBaseName
go


创建数据库架构

       创建3个架构,架构的名字分别为:Teacher_KJ、Student_KJ和Person_KJ,具体操作如下图



创建数据库角色

       创建2个数据库角色,角色名字分别为:Teacher_JS和Student_JS,分别对象上面的架构名称,具体对应一看就可以看出,如:Teacher_JS对应Teacher_KJ,具体操作如下图



创建数据库用户

       创建3个用户,分别为Teacher_User、Student_User和Person_User,其中Teacher_User和Student_User的属于角色,没有具体的架构,Person_User不属于创建的角色,拥有Person_KJ,具体操作如下图







创建相应架构下的表

[sql]
view plaincopyprint?





use DataBaseName 
go 
create table [Teacher_KJ].TableName1 


    id int primary
key, 
    name varchar
not null 


go 
create table [Student_KJ].TableName1 


    id int primary
key, 
    name varchar
not null 


go 
create table [Person_KJ].TableName1 


    id int primary
key, 
    name varchar
not null 


go 
create table TableName1 


    id int primary
key, 
    name varchar(20)
not null 



use DataBaseName
go
create table [Teacher_KJ].TableName1
(
id int primary key,
name varchar not null
)
go
create table [Student_KJ].TableName1
(
id int primary key,
name varchar not null
)
go
create table [Person_KJ].TableName1
(
id int primary key,
name varchar not null
)
go
create table TableName1
(
id int primary key,
name varchar(20) not null
)


最终结果

        有图有真相,下图为最终的结果图



总结

       下面是一张总结图,不是本人画的,但是非常的经典,所以就直接拿来用了



       Sql Server的功能非常的强大,例如,可以通过SQL Agent服务,也就是代理服务器进行很多其他事情的操作,例如:作业,维护计划,发送邮件等等,当然,在进行这些之前最好对数据库进行过备份和还原(完全备份,差异备份,日志备份)操作,因为SQL Agent服务的一个功能就是实现备份和还原的自动化。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐