관계형 쿼리 디자이너 사용자 인터페이스
SQL Server Data Tools(SSDT)의 보고서 디자이너는 Microsoft Windows Azure SQL 데이터베이스 및 Microsoft SQL Server 2008 R2 병렬 데이터 웨어하우스에서 보고서 데이터 집합에 대해 검색할 데이터를 지정하는 쿼리를 만들 수 있도록 그래픽 쿼리 디자이너와 텍스트 기반 쿼리 디자이너를 모두 제공합니다. 그래픽 쿼리 디자이너를 사용하면 메타데이터를 탐색하고, 쿼리를 대화형으로 작성하고, 쿼리 결과를 볼 수 있습니다. 텍스트 기반 쿼리 디자이너를 사용하면 그래픽 쿼리 디자이너로 만든 쿼리를 보거나 쿼리를 수정할 수 있습니다. 파일 또는 보고서에서 기존 쿼리를 가져올 수도 있습니다.
[!참고]
SQL 데이터베이스 및 SQL Server 2008 R2 병렬 데이터 웨어하우스에서 데이터를 검색하기 위한 쿼리를 작성하는 그래픽 쿼리 디자이너는 SQL Server에서 사용하는 쿼리 디자이너와는 다릅니다. SQL Server에서 데이터를 검색하는 쿼리를 작성하려면 Visual Studio에서 제공하는 Visual Database Tools를 사용합니다. 자세한 내용은 그래픽 쿼리 디자이너 사용자 인터페이스를 참조하세요.
보안 정보 |
---|
사용자는 쿼리를 작성하고 실행할 때 데이터 원본에 액세스합니다. 데이터 원본에 대해서는 읽기 전용 권한과 같이 최소한의 사용 권한을 부여해야 합니다. |
그래픽 쿼리 디자이너
그래픽 쿼리 디자이너에서는 데이터베이스 테이블 및 뷰를 탐색하고, 데이터 집합의 데이터를 검색할 데이터베이스 테이블과 열을 지정하는 SQL SELECT 문을 대화형으로 작성할 수 있습니다. 데이터 집합에 포함할 필드를 선택하고 필요에 따라 데이터 집합의 데이터를 제한할 필터를 지정합니다. 필터를 매개 변수로 사용하여 런타임에 필터의 값을 제공하도록 지정할 수 있습니다. 여러 개의 관련 테이블을 선택할 경우 쿼리 디자이너는 두 테이블 집합 간의 관계를 설명합니다.
그래픽 쿼리 디자이너는 3개의 영역으로 구분됩니다. 쿼리가 테이블/뷰 또는 저장 프로시저/테이블 반환 함수를 사용하는지에 따라 쿼리 디자이너의 레이아웃이 달라집니다.
[!참고]
SQL Server 2008 R2 병렬 데이터 웨어하우스는 저장 프로시저나 테이블 반환 함수를 지원하지 않습니다.
다음 그림에서는 테이블 또는 뷰와 함께 사용할 때의 그래픽 쿼리 디자이너를 보여 줍니다.
다음 그림에서는 저장 프로시저 또는 테이블 반환 함수와 함께 사용할 때의 그래픽 쿼리 디자이너를 보여 줍니다.
다음 표에서는 각 창의 기능을 설명합니다.
데이터베이스 뷰(Database view)
데이터베이스 스키마별로 구성된 테이블, 뷰, 저장 프로시저 및 테이블 반환 함수의 계층 뷰를 표시합니다.선택한 필드
데이터베이스 뷰 창에서 선택된 항목의 데이터베이스 필드 이름 목록을 표시합니다. 이러한 필드는 보고서 데이터 집합에 대한 필드 컬렉션이 됩니다.함수 매개 변수
데이터베이스 뷰 창의 저장 프로시저 또는 테이블 반환 함수에 대한 입력 매개 변수 목록을 표시합니다.관계
데이터베이스 뷰 창의 테이블 또는 뷰에 대해 선택한 필드에서 유추된 관계나 수동으로 만든 관계의 목록을 표시합니다.적용된 필터
데이터베이스 뷰의 테이블 또는 뷰에 대한 필드 및 필터 조건 목록을 표시합니다.쿼리 결과
자동으로 생성된 쿼리의 결과 집합에 대한 예제 데이터를 표시합니다.
데이터베이스 뷰 창
데이터베이스 뷰 창에는 데이터 원본 연결 및 자격 증명에 따라 사용자가 볼 수 있는 권한이 있는 데이터베이스 개체에 대한 메타데이터가 표시됩니다. 데이터베이스 스키마별로 구성된 데이터베이스 개체가 계층 뷰에 표시됩니다. 각 스키마 노드를 확장하여 테이블, 뷰, 저장 프로시저 및 테이블 반환 함수를 볼 수 있습니다. 열을 표시하려면 테이블이나 뷰를 확장합니다.
선택한 필드 창
선택한 필드 창에는 보고서 데이터 집합의 필드 및 쿼리에 포함할 그룹화와 집계가 표시됩니다.
다음 옵션이 표시됩니다.
선택한 필드 저장 프로시저 또는 테이블 반환 함수의 입력 매개 변수나 테이블 또는 뷰에 대해 선택한 데이터베이스 필드를 표시합니다. 이 창에 표시되는 필드는 보고서 데이터 집합의 필드 컬렉션이 됩니다.
보고서 데이터 창을 사용하여 보고서 데이터 집합에 대한 필드 컬렉션을 볼 수 있습니다. 이러한 필드는 보고서를 볼 때 테이블, 차트 및 기타 보고서 항목에 표시할 수 있는 데이터를 나타냅니다.
그룹 및 집계 쿼리의 그룹화 및 집계 사용을 설정/해제합니다. 그룹화 및 집계를 추가한 후 그룹화 및 집계 기능을 해제하면 그룹화 및 집계가 제거됩니다. (없음) 텍스트는 그룹화 및 집계가 사용되지 않음을 나타냅니다. 그룹화 및 집계 기능을 다시 설정하면 이전의 그룹화 및 집계가 복원됩니다.
필드 삭제 선택한 필드를 삭제합니다.
그룹화 및 집계
대형 테이블이 포함된 데이터베이스에 대해 쿼리를 수행하면 반환되는 데이터 행이 너무 많아서 보고서에 유용하게 사용할 수 없으며 대량의 데이터를 전송하는 네트워크 및 보고서를 처리하는 보고서 서버의 성능에 영향을 줄 수 있습니다. 데이터베이스 서버의 데이터를 요약하는 SQL 집계를 쿼리에 포함하여 데이터 행 수를 제한할 수 있습니다. SQL 집계는 보고서를 렌더링할 때 적용되는 클라이언트 쪽 집계와 다릅니다.
집계는 데이터에 대한 요약을 제공하며 데이터는 요약 데이터를 전달하는 집계를 지원하도록 그룹화됩니다. 쿼리에 집계를 사용하는 경우 쿼리에서 반환되는 다른 필드는 모두 자동으로 그룹화되며 쿼리에는 SQL GROUP BY 절이 포함됩니다. 그룹화 및 집계 목록에서 그룹화 기준 옵션만 사용하면 집계를 추가하지 않고 데이터를 요약할 수 있습니다. 대부분의 집계에는 DISTINCT 키워드를 사용하는 버전이 포함됩니다. DISTINCT를 포함하면 중복 값이 제거됩니다.
SQL Server 2008 R2 병렬 데이터 웨어하우스에서는 Transact-SQL을 사용하고 Microsoft SQL Server 2008 R2 병렬 데이터 웨어하우스에서는 SQL을 사용합니다. 두 SQL 언어 모두 쿼리 디자이너가 제공하는 집계, 절 및 키워드를 지원합니다.
Transact-SQL에 대한 자세한 내용은 msdn.microsoft.com의 SQL Server 온라인 설명서에 있는 Transact-SQL 참조(데이터베이스 엔진)를 참조하십시오.
다음 표에서는 집계를 나열하고 각 집계에 대한 간단한 설명을 제공합니다.
집계 |
설명 |
---|---|
Avg |
그룹에 속한 값의 평균을 반환합니다. SQL AVG 집계를 구현합니다. |
개수 |
그룹에 포함된 항목 개수를 반환합니다. SQL COUNT 집계를 구현합니다. |
Count Big |
그룹의 항목 개수를 반환합니다. SQL COUNT_BIG 집계입니다. COUNT와 COUNT_BIG의 차이점은 COUNT_BIG은 항상 bigint 데이터 형식 값을 반환한다는 점입니다. |
Min |
그룹의 최소값을 반환합니다. SQL MIN 집계를 구현합니다. |
Max |
그룹의 최대값을 반환합니다. SQL MAX 집계를 구현합니다. |
StDev |
그룹의 모든 값에 대한 통계적 표준 편차를 반환합니다. SQL STDEV 집계를 구현합니다. |
StDevP |
그룹에서 지정한 식에 있는 모든 값의 모집단에 대한 통계 표준 편차를 반환합니다. SQL STDEVP 집계를 구현합니다. |
Sum |
그룹에 포함된 모든 값의 합계를 반환합니다. SQL SUM 집계를 구현합니다. |
Var |
그룹에 있는 모든 값의 통계 분산을 반환합니다. SQL VAR 집계를 구현합니다. |
VarP |
그룹에 있는 모든 값의 모집단에 대한 통계 분산을 반환합니다. SQL VARP 집계를 구현합니다. |
Avg Distinct |
고유 평균을 반환합니다. AVG 집계와 DISTINCT 키워드의 조합을 구현합니다. |
Count Distinct |
고유 개수를 반환합니다. COUNT 집계와 DISTINCT 키워드의 조합을 구현합니다. |
Count Big Distinct |
그룹에 포함된 항목의 고유 개수를 반환합니다. COUNT_BIG 집계와 DISTINCT 키워드의 조합을 구현합니다. |
StDev Distinct |
고유 통계 표준 편차를 반환합니다. STDEV 집계와 DISTINCT 키워드의 조합을 구현합니다. |
StDevP Distinct |
고유 통계 표준 편차를 반환합니다. STDEVP 집계와 DISTINCT 키워드의 조합을 구현합니다. |
Sum Distinct |
고유 합계를 반환합니다. SUM 집계와 DISTINCT 키워드의 조합을 구현합니다. |
Var Distinct |
고유 통계 분산을 반환합니다. VAR 집계와 DISTINCT 키워드의 조합을 구현합니다. |
VarP Distinct |
고유 통계 분산을 반환합니다. VARP 집계와 DISTINCT 키워드의 조합을 구현합니다. |
함수 매개 변수 창
함수 매개 변수 창에는 저장 프로시저 또는 테이블 반환 함수에 대한 매개 변수가 표시됩니다. 표시되는 열은 다음과 같습니다.
매개 변수 이름 저장 프로시저 또는 테이블 반환 함수로 정의된 매개 변수 이름이 표시됩니다.
값 디자인 타임에 쿼리 결과 창에 표시할 데이터를 검색하기 위해 쿼리를 실행할 때 매개 변수에 사용할 값입니다. 보고서가 런타임에 실행될 때는 이 값이 사용되지 않습니다.
관계 창
관계 창에는 조인 관계가 표시됩니다. 관계는 데이터베이스 메타데이터에서 검색된 외래 키 관계에서 자동으로 검색하거나 수동으로 만들 수 있습니다.
다음 옵션이 표시됩니다.
자동 검색 테이블 간 관계를 자동으로 만드는 자동 검색 기능을 설정/해제합니다. 자동 검색을 설정하면 쿼리 디자이너를 통해 테이블의 외래 키에서 관계가 만들어지고, 자동 검색을 설정하지 않으면 수동으로 관계를 만들어야 합니다. 데이터베이스 뷰 창에서 테이블을 선택하면 자동 검색 기능을 통해 자동으로 관계가 만들어집니다. 수동으로 조인을 만든 후 자동 검색을 설정하면 해당 조인이 삭제됩니다.
중요 SQL Server 2008 R2 병렬 데이터 웨어하우스와 함께 사용할 경우 조인을 만드는 데 필요한 메타데이터가 제공되지 않으며 자동으로 관계를 검색할 수 없습니다. 쿼리가 SQL Server 2008 R2 병렬 데이터 웨어하우스에서 데이터를 검색하는 경우 모든 테이블 조인을 수동으로 만들어야 합니다.
관계 추가 관계 목록에 관계를 추가합니다.
자동 검색이 설정되어 있으면 쿼리에 사용되는 열이 있는 테이블이 자동으로 관계 목록에 추가됩니다. 자동 검색에서 두 테이블이 관련되어 있음을 확인하면 한 테이블은 왼쪽 테이블 열에 추가되고 나머지 테이블은 오른쪽 테이블 열에 추가되며 두 테이블 간에 내부 조인이 만들어집니다. 각 관계는 쿼리에 JOIN 절을 생성합니다. 테이블이 서로 관련되어 있지 않으면 왼쪽 테이블 열과 조인 유형 열에 모든 테이블이 나열되어 테이블이 서로 관련이 없음을 나타냅니다. 자동 검색이 설정되어 있으면 자동 검색에서 관련이 없는 테이블로 확인된 테이블 간 관계를 수동으로 추가할 수 없습니다.
자동 검색이 해제되어 있으면 테이블 간 관계를 추가하거나 변경할 수 있습니다. 필드 편집을 클릭하여 두 테이블을 조인하는 데 사용할 필드를 지정할 수 있습니다.
관계 목록에 나타나는 관계 순서는 쿼리에서 조인이 수행되는 순서입니다. 목록에서 관계를 위나 아래로 이동하여 순서를 변경할 수 있습니다.
쿼리에 여러 관계를 사용할 경우 이후 관계에서 각 관계(첫 번째 관계 제외)의 테이블 중 하나를 참조해야 합니다.
이전 관계에서 관계의 두 테이블을 모두 참조하는 경우 관계는 별도의 조인 절을 생성하지 않고 대신 이전 관계에 대해 생성된 조인 절에 조인 조건이 추가됩니다. 조인 유형은 같은 테이블을 참조하는 이전 관계에 의해 유추됩니다.
필드 편집 테이블 간 관계를 추가 및 수정할 수 있는 관련 필드 편집 대화 상자를 엽니다. 오른쪽 테이블과 왼쪽 테이블에서 조인할 필드를 선택했으므로 왼쪽 테이블과 오른쪽 테이블의 여러 필드를 조인하여 관계에 여러 조인 조건을 지정할 수 있습니다. 왼쪽 테이블과 오른쪽 테이블을 조인하는 두 필드의 이름이 같을 필요는 없습니다. 조인된 필드의 데이터 형식은 호환되어야 합니다.
관계 삭제 선택한 관계를 삭제합니다**.**
위로 이동 및 아래로 이동 관계 목록에서 관계를 위나 아래로 이동합니다. 관계가 쿼리에 배치되는 순서에 따라 쿼리 결과가 달라질 수 있습니다. 관계는 관계 목록에 나타나는 순서대로 쿼리에 추가됩니다.
표시되는 열은 다음과 같습니다.
왼쪽 테이블 조인 관계에 속하는 첫 번째 테이블의 이름이 표시됩니다.
조인 유형 자동으로 생성된 쿼리에 사용된 SQL JOIN 문의 유형을 표시합니다. 외래 키 제약 조건이 있는 경우 기본적으로 INNER JOIN이 사용됩니다. 다른 조인 유형으로는 LEFT JOIN 또는 RIGHT JOIN이 사용될 수 있습니다. 이러한 조인 유형 중 어느 것도 적용되지 않으면 조인 유형 열에 관련 없음이 표시됩니다. 관련 없는 테이블에 대해서는 CROSS JOIN 조인이 만들어지지 않습니다. 대신 왼쪽 테이블의 열과 오른쪽 테이블의 열을 조인하여 수동으로 관계를 만들어야 합니다. 조인 유형에 대한 자세한 내용은 msdn.microsoft.com의 SQL Server 온라인 설명서에 있는 "조인 기본 사항"을 참조하세요.
오른쪽 테이블 조인 관계에서 두 번째 테이블의 이름이 표시됩니다.
조인 필드 조인된 필드 쌍이 나열됩니다. 관계에 여러 개의 조인 조건이 있는 경우 조인된 필드 쌍은 쉼표(,)로 구분됩니다.
적용된 필터 창
적용된 필터 창에는 런타임에 검색되는 데이터 행 수를 제한하는 데 사용되는 조건이 표시됩니다. 이 창에 지정한 조건을 사용하여 SQL WHERE 절이 생성됩니다. 매개 변수 옵션을 선택하면 보고서 매개 변수가 자동으로 생성됩니다. 쿼리 매개 변수에 기반을 둔 보고서 매개 변수를 사용하면 사용자가 쿼리 값을 지정하여 보고서의 데이터를 제어할 수 있습니다.
표시되는 열은 다음과 같습니다.
**필드 이름 **조건을 적용할 필드 이름이 표시됩니다.
연산자 필터 식에 사용할 연산자가 표시됩니다.
**값 **필터 식에 사용할 값이 표시됩니다.
**매개 변수 **쿼리 매개 변수를 쿼리에 추가하기 위한 옵션이 표시됩니다. 쿼리 매개 변수와 보고서 매개 변수 간의 관계를 보려면 데이터 집합 속성을 사용합니다.
쿼리 결과 창
쿼리 결과 창에는 다른 창의 선택 내용에 따라 지정되어 자동으로 생성된 쿼리에 대한 결과가 표시됩니다. 결과 집합의 열은 선택한 필드 창에서 지정한 필드이며 행 데이터는 적용된 필터 창에서 지정한 필터에 따라 제한됩니다. 쿼리에 집계가 포함되어 있으면 결과 집합에 새 집계 열이 포함됩니다. 예를 들어 Color 열이 Count 집계를 사용하여 집계되어 있으면 쿼리 결과에 새 열이 포함됩니다. 이 열의 기본 이름은 Count_Color입니다.
이 데이터는 쿼리를 실행할 때의 데이터 원본의 값을 나타냅니다. 이 데이터는 보고서 정의에 저장되지 않습니다. 보고서의 실제 데이터는 보고서를 처리할 때 검색됩니다.
결과 집합의 정렬 순서는 데이터 원본에서 데이터가 검색되는 순서에 따라 결정됩니다. 보고서 데이터를 검색한 후 쿼리를 수정하여 정렬 순서를 변경할 수 있습니다.
그래픽 쿼리 디자이너 도구 모음
관계형 쿼리 디자이너 도구 모음은 쿼리 결과를 지정하거나 보는 데 사용할 수 있는 다음 단추를 제공합니다.
단추 |
설명 |
---|---|
텍스트로 편집 |
자동으로 생성된 쿼리를 보거나 쿼리를 수정할 수 있도록 텍스트 기반 쿼리 디자이너로 전환합니다. |
가져오기 |
파일 또는 보고서에서 기존 쿼리를 가져옵니다. .sql 및 .rdl 파일 형식이 지원됩니다. |
쿼리 실행 |
쿼리를 실행합니다. 쿼리 결과 창에 결과 집합이 표시됩니다. |
자동으로 생성된 쿼리 이해
데이터베이스 뷰 창에서 테이블과 열 또는 저장 프로시저와 뷰를 선택할 때 쿼리 디자이너는 데이터베이스 스키마에서 기본 키 및 외래 키 관계를 검색합니다. 쿼리 디자이너는 이러한 관계를 분석하여 두 테이블 간 관계를 검색하고 쿼리에 조인을 추가합니다. 그러면 그룹과 집계를 추가하고 관계를 추가하거나 변경하고 필터를 추가하여 쿼리를 수정할 수 있습니다. 데이터, 두 테이블 간 조인 및 모든 그룹이나 집계를 검색할 열을 표시하는 쿼리 텍스트를 보려면 텍스트로 편집을 클릭합니다.
텍스트 기반 쿼리 디자이너
쿼리를 최대한 제어하려면 텍스트 기반 쿼리 디자이너를 사용합니다. 텍스트 기반 쿼리 디자이너로 전환하려면 도구 모음에서 텍스트로 편집을 클릭합니다. 텍스트 기반 쿼리 디자이너에서 쿼리를 편집한 후에는 관계형 쿼리 디자이너를 더 이상 사용할 수 없습니다. 이후에는 해당 쿼리가 항상 텍스트 기반 쿼리 디자이너에서 열립니다. 자세한 내용은 텍스트 기반 쿼리 디자이너 사용자 인터페이스를 참조하세요.