解决方法
这可能是一种很好的做法,因为当您让其他用户使用数据库时,您希望能够使用模式限制他们的访问权限.例如,在数据库中,您有以下表格.
HR.Payhist HR.Payscale HR.Jobdesc IT.username IT.useraccesslevel ENG.jobsite ENG.trainings
作为人力资源总监,我能够访问HR模式中的任何内容,作为IT主管,我可以看到员工的用户名和访问级别.工程部门可以查看哪些作业站点处于活动状态等.如果dbo是所有表的设置架构,我将更难分割出我的数据并提供访问角色.
我相信,在sql Server中的想法是提供一种可以被不同部门访问和查询的产品.实际上,只有DBA / DBDev真正访问数据库,它通常只存储应用程序数据.
它还有助于提高可读性和可管理性.乍一看,我可以轻松识别哪个表包含哪些数据以及数据如何分离.
我个人更喜欢将模式定义为一般实践.记住模式是计划的希腊,具有布局的模式结构可以帮助您规划和识别数据.