时间:2021-07-01 10:21:17 帮助过:29人阅读
视图,就是把数据库中单个表或多个用JOIN连接起来的表中的数据,通过提取并生成到一个新窗口的方式提供给用户察看的一种功能。数据库开发和管理人员广泛使用视图功能主要基于如下两个原因: 对数据库安全的管理 -视图可以通过隐藏元表中的某些敏感信息列来帮
视图,就是把数据库中单个表或多个用JOIN连接起来的表中的数据,通过提取并生成到一个新窗口的方式提供给用户察看的一种功能。数据库开发和管理人员广泛使用视图功能主要基于如下两个原因:mysql> select * from customer;
+-------------+---------------------+--------------------+------------------+
| customer_id | customer_first_name | customer_last_name | customer_ssn |
+-------------+---------------------+--------------------+------------------+
| 1 | fred | smith | ☼Q,U¶ ¢ƒ╠▒4╨☺ö|
+-------------+---------------------+--------------------+------------------+
1 row in set (0.03 sec)
mysql> create view v_customer as t_name,
-> select customer_id, customer_first_name, customer_last_name
-> aes_decrypt(cusomer_ssn,'password') as customer_ssn
-> from customer;
Query OK, 0 rows affected (0.03 sec)
mysql> select * from v_customer;
+-------------+---------------------+--------------------+--------------+
| customer_id | customer_first_name | customer_last_name | customer_ssn |
+-------------+---------------------+--------------------+--------------+
| 1 | fred | smith | 456097234 |
+-------------+---------------------+--------------------+--------------+
从上例可以看到,通过使用解密函数aes_decrypt()得到指定的customer_ssn的值并利用创建视图的方式把该值显示出来,而且 并未破环原始表对其他customer_ssn值在磁盘或数据库的加密式存放。这样管理人员就保证敏感信息不会被随意破坏。(51CTO.COM教程)