스키마 사용은 보안 문제가있을 때 매우 유용합니다.
데이터베이스에 액세스하는 여러 응용 프로그램이있는 경우 물류 부서에 인사 레코드에 대한 액세스 권한을 부여하지 않을 수 있습니다. 따라서 모든 Human Resources 테이블을 hr 스키마에 넣고 hr 역할의 사용자 만 액세스 할 수 있습니다.
6 개월 만에 물류 센터는 내부 비용 계정을 알아야 이러한 파란색 펜 팔레트를 모두 올바른 위치 사람에게 보낼 수 있습니다. 그런 다음 hr 스키마와 물류 스키마를 볼 수있는 권한을 가진 사용자로 실행되는 저장 프로 시저를 만들 수 있습니다. 물류 사용자는 HR에서 무슨 일이 벌어지고 있는지 알 필요가 없지만 여전히 데이터를 얻습니다.
cfeduke가 제안한 방식으로 스키마를 사용할 수 있으며 객체 브라우저에서 객체를 그룹화하는 데 사용할 수 있습니다. 이 작업을 수행하는 경우 Person.Address 및 Company.Address를 작성하게 될 수도 있기 때문에 조심하십시오. 단일 dbo.Address가 필요한 것입니다. (예를 들어 두 번 해설하지 않고 cfeduke를 사용하여 주소 테이블은 같을 수도 있고 다를 수도 있습니다 YMMV).
SQL 2000과 SQL 2005를 혼동하지 마십시오. SQL 2005는 SQL 2005와 달리 스키마를 제대로 지원하지 않습니다. 둘 사이의 구별이 중요합니다. –
SQL 2000에서 테이블의 속성을 보면 dbo가 소유자라고합니다. SQL 2005의 속성을 보면 dbo가 스키마라는 것을 알 수 있습니다. 이것은 아마도 내 혼란의 일부입니다. – Jeremy