문제

정규화 된 데이터베이스에 대한 구체화 된 뷰를 정의하기 위해 DDL 스크립트를 생성하는 스크립트가 있습니다. 일부 테이블에는 특정 데이터베이스 사용자를 가리키는 "소유자"와 같은 열이있어서 현재 데이터베이스 사용자가 만든 테이블의 행만 표시 할 수 있습니다. 이러한 관점은 보안과 편의성 관점에서 유익 할 것입니다. 예를 들어, 자신의 객관식 퀴즈 결과 만 보여줍니다.

문제는 소수의 테이블 외에도 누군가가 그러한 견해를 요구하는 사람을 상상할 수있는 많은 테이블이 있지만 콘크리트 사용 사례를 생각할 수는 없습니다. 그러나 나는 때때로 그러한 일반적인 기능이 유용 할 수 있다고 생각합니다. 왜냐하면 나는 항상 모든 사용 사례를 예견 할 수 없기 때문입니다.

내 질문은, 이러한 개인화 된 견해 중 몇 명을 자동으로 생성해야합니까? 수백 테이블의 경우, 이로 인해 건물, 테스트 및 벤치마킹 프로세스에 많은 시간이 추가됩니다. 사용되지 않을 수있는 추가 기능의 측면에서 또는 귀하가 유용한 것으로 알고있는 뷰 만 사용할 수있는 측면에 오류가 있습니까?

도움이 되었습니까?

해결책

이것은 스스로에게 물어 보는 좋은 질문입니다. 일반성은 (일반적으로 ;-) 좋은 일이지만, 과도하게 관찰하면 조합 폭발로 당신을 던질 수 있습니다. 사용자가 그것을 사용하려고 할 때 필요한 DDL의 DDL이 "제 시간에"생성 될 수 있도록 준비 할 수 있습니까 (물론 이미 유용한 비트의 "캐시"를 보관할 수 있음)?

그렇지 않다면, "잠재적으로 유용한 견해"가 테이블과 열의 수에서 기하 급수적으로 성장할 수있는 가능성을 고려할 때, 나는 "유용한/원하는 것으로 알려진 것만 만들고"전략을 꺼려하고있다. 사용자가 더 많은 것을 추가해야 할 때 알려주는 것은 매우 쉽습니다 ...).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top