知识大全 定义一个数据库用户

Posted 数据库

篇首语:任何事情的发生必有其目的,并且有助于我。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 定义一个数据库用户相关的知识,希望对你有一定的参考价值。

SQL实战新手入门:定义一个数据库用户  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   定义一个数据库用户

  尽管从一个门外汉直观的角度来看 用户的概念是非常简单的 但在各种RDBMS的实现中 它却是最混淆的概念之一 SQL标准并没有定义任何特定的语法(甚至连办法也未声明)用于创建数据库中的用户 这被留给数据库厂商自行实现 而数据库厂商已经创建了一些独创的解决方案 例如 在Oracle g中用户和数据库模式之间只有很小的区别 它既允许RDBMS的密码 也允许使用操作系统的账户进行验证 IDB DB LUW仅使用操作系统定义的用户(或者通过某种外部安全框架定义的用户) Microsoft SQL Server结合了这两种方法 可以使用Windows账户和特殊的系统过程来添加数据库的用户 PostgreSQL和MySQL则喜欢创建由数据库直接验证的用户(PostgreSQL还提供了对基于操作系统/网络的身份验证的支持)

  还有其他身份验证方法 包括LDAP和Kerberos协议 这些方法都是为基于网络的身份验证准备的 它们超出了本书的内容范围

  Microsoft SQL Server对LOGIN和USER进行了区分 LOGIN用于身份验证(登录到数据库) 而USER用于授权(为数据库对象分配特权)

  用户可以是在数据库级别定义的一个RDBMS用户 一个操作系统用户 一个角色或一个应用程序角色 为了允许对安全性进行精细的控制 数据库中的对象总是属于一个模式 并被指定的用户拥有 这同时也解决了通过授予或撤消特权的办法控制对数据库对象进行访问的问题

  根据定义 数据库用户就是RDBMS服务器所提供服务的使用者 它可以是一个应用程序 一个数据库管理员或者仅仅是一个在指定时间内恰好访问数据库的人 为了减轻管理上的负担 通常将用户指定到某些用户组或角色 对一个角色授予或撤消某种特权将立即对属于该角色的所有用户生效

  对于安全问题 对用户进行身份验证是第一道防线 在几乎所有RDBMS中 创建用户的基本语法都是类似的(只需要少许改变)

  CREATE USER LibraryUser

  IDENTIFIED BY letmein ;

  在Oracle和DB 中 在创建用户时使用类似的语法 将使很多选项设置为默认值 这勉强可以为数据库的安全提供一点保证 MySQL要求将用户绑定到数据库的IP地址(默认用户为LibraryUser@localhost) PostgreSQL则使用WITH PASSWORD letmein 来创建用户

  Microsoft Access也允许使用与之类似的SQL语句来创建用户 OpenOffice BASE以及嵌入的HSQLDB数据库并不支持这种功能

  Microsoft SQL Server 创建用户的语法与之不同 它要求首先创建LOGIN 下面就是在Microsoft SQL Server 中创建 LOGIN和USER的最基本的语法

  CREATE LOGIN libUsers WITH PASSWORD letmein ;

  GO;

  CREATE USER LibraryUser FOR LOGIN libUsers

  GO;

  在每一种RDBMS中 创建用户的语法都还有很多的选项 选择使用正确的选项要求对业务领域和安全问题都有着深入的理解 因此 创建用户等级的工作最好由数据库管理员来完成

  在创建了用户之后 还可以修改(ALTER)或删除(DROP)用户 对于所有RDBMS 修改或删除用户的基本语法几乎都是相同的 但ALTER的语法差别略大一点

  DROP USER LibraryUser;

  Oracle在DROP USER语法中具有一个附加的子句CASCADE 它指定在删除用户之前先删除该用户模式中的所有对象 除非指定了该子句 否则只要用户模式中包含了任何对象 Oracle将不允许删除该用户

  ALTER USER语句可以指定对用户的很多修改 但由于一种RDBMS与另外一种RDBMS的修改存在差异 因此没有单一的语法可适用于所有的RDBMS MySQL不支持ALTER关键字 而Oracle的ALTER USER语法则具有数十个有用的选项 Microsoft SQL Server先修改LOGIN 然后再修改USER DB 在修改用户的同时修改相应的可选参数集 因此 尽管都是SQL语句 但ALTER USER语句是非常方言化的 并且它要求对特定的RDBMS具有较深入的知识

  IBM DB LUW结合了外部安全服务和内部访问控制 IBM DB 并未提供身份验证服务 它依赖于外部服务 这意味着除非用户已经具有一个操作系统账户 否则将无法创建用户 这些操作系统包括Windows UNIX或者任何其他操作系统 因此 所有的用户身份验证工作都是在DB 数据库之外管理的 Microsoft SQL Server 引入了CREATE USER语句以及ALTER USER和DROP USER语句 它已经成为了标准的用户管理机制 另外 SQL Server 还提供了通过系统存储过程来管理用户的机制 这是从之前版本的SQLServer中继承而来的 注意 尽管目前仍然支持这些用户管理的存储过程 但是在将来发布的Microsoft SQL Server版本中可能会弃用

       返回目录 SQL实战新手入门

       编辑推荐

       Oracle索引技术

       高性能MySQL

cha138/Article/program/SQL/201311/16443

相关参考

知识大全 取消用户自定义数据库对象的公共读取权限

SQL技巧:取消用户自定义数据库对象的公共读取权限  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 PB中同时“继承”多个用户自定义数据窗口对象[3]

PB中同时“继承”多个用户自定义数据窗口对象[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&

知识大全 PB中同时“继承”多个用户自定义数据窗口对象[2]

PB中同时“继承”多个用户自定义数据窗口对象[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&

知识大全 PB中同时“继承”多个用户自定义数据窗口对象[1]

PB中同时“继承”多个用户自定义数据窗口对象[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&

在ExCe12003中,用户可以自定义序列,方法是

在ExCe12003中,用户可以自定义序列,方法是_____。A、通过“工具”/“自定义”命令B、通过“插入”/“自定义”命令C、通过“数据”/“自定义”命令D、通过“编辑”/“自定义”命令答案:A解

数据库管理系统的主要功能有哪些?

  数据库管理系统是整个数据库系统的核心和枢纽,是一个大型、复杂的系统软件,它不仅提供面向应用、面向用户的功能,而且提供面向数据库系统本身的功能。其主要功能如下:  (1)定义功能:包括数据库文件的逻

数据库管理系统的主要功能有哪些?

  数据库管理系统是整个数据库系统的核心和枢纽,是一个大型、复杂的系统软件,它不仅提供面向应用、面向用户的功能,而且提供面向数据库系统本身的功能。其主要功能如下:  (1)定义功能:包括数据库文件的逻

知识大全 通过自定义函数提高服务器性能

  在应用程序开发中可以通过函数来提高系统的性能与代码的重复利用在SQLServer数据库中也可以通过自定义函数来提高服务器的性能用户自定义函数可以从外部接受必要的参数并在内部执行一些复杂的操作最后返

知识大全 用户自定义函数实例描述

PHPWeb开发学习实录:用户自定义函数实例描述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 用户自定义函数实例应用

PHPWeb开发学习实录:用户自定义函数实例应用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!