在哪种数据库软件/语言中,我们可以拥有一个可供多个用户访问的数据库,除了它的两列只能由管理员用户访问之外
使用哪种数据库软件/语言可以创建可供多个用户访问的数据库,但其两列只能由管理员用户访问。请详细说明如何创建该数据库。
in which database software / language is it possible to create a database accessible by multiple users except its two columns to be accessed only by admin user. please give details how this database can be created.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
下面是一个使用视图控制访问来屏蔽对数据库中某些列的访问的示例(来自Oracle)。请注意,我们可以进一步限制哪些列可以更新。
这是一个相对简单的示例,因为视图与表是一对一的,并且屏蔽列是可选的。如果屏蔽列已定义为 NOT NULL,那么我需要一个 INSTEAD OF 触发器来默认或派生 INSERT 上的值(否则我将不得不放弃 INSERT 权限)。
Here is an example (from Oracle) of using a view to control access to shield access to some columns in a database. Note that we can further restrict which columns can be updated.
This is a relatively straightforward example because the view is one-to-one with the table and the shielded columns are optional.; If the shielded columns had been defined as NOT NULL then I would need an INSTEAD OF trigger to default or derive values on INSERT (or I would have to withold the INSERT privilege).
Oracle 可以使用视图来做到这一点,但更“正确”的方法是使用具有列屏蔽行为的列级虚拟专用数据库,其中敏感列对非特权用户显示为空。
Oracle can do this using views, but the more "proper" way would be to use Column-Level Virtual Private Database with column-masking behavior, in which sensitive columns appear as null to non-privileged users.
在大多数 DBMS(例如 Oracle、Mysql、SQL Server...)中,您可以授予用户对您想要的任何列的访问权限或撤销任何权限。
In most DBMS like (Oracle, Mysql, SQL server...) you can grant users access to any column you want or revoke any permission.