# 数据库访问实现权限分层
DWS中可以使用Database和Schema实现业务的隔离，区别在于：
- Database之间无法直接互访，通过连接隔离实现彻底的权限隔离。各个Database之间共享资源极少，可实现连接隔离、权限隔离等。
- Schema隔离的方式共用资源较多，可以通过GRANT与REVOKE语法便捷地控制不同用户对各Schema及其下属对象的权限，从而赋给业务更多的灵活性。
从便捷性和资源共享效率上考虑，推荐使用Schema进行业务隔离。建议系统管理员创建Schema和Database，再赋予相关用户对应的权限。
1. 每个数据库包括一个或多个Schema。每个Schema包含表、视图、函数等其他类型的对象。
2. 用户要访问底层的对象，必须先赋予上层对象的权限。
3. 用户要创建或者删除Schema，需要首先被授予Database的CREATE权限。
4. 用户要访问包含在Schema中的table1，需要首先被授予Database的CONNECT权限，再被授予Schema的USAGE权限，最后授予table1的SELECT权限。
了解更多请参见[DWS如何实现业务隔离](https://support.huaweicloud.com/dws_faq/dws_03_0200.html)。
图1权限分层   
![](https://support.huaweicloud.com/productdesc-dws/figure/zh-cn_image_0000002617625471.png "点击放大")
