복붙노트

[SQL] 왜 당신은 데이터베이스에보기를 만들려면 어떻게해야합니까?

SQL

왜 당신은 데이터베이스에보기를 만들려면 어떻게해야합니까?

언제, 왜 어떤 사람은 자신의 데이터베이스에보기를 만들 필요가 결정합니까? 왜 그냥 일반 저장 프로 시저를 실행하거나 선택하지?

해결법

  1. ==============================

    1.뷰는 여러 가지 이점을 제공합니다.

    뷰는 여러 가지 이점을 제공합니다.

    복잡성을 숨길 수 있습니다 1.보기

    여러 테이블을 조인이 필요하거나 복잡한 논리 또는 계산이있는 쿼리가있는 경우, 당신이보기에 모든 로직을 코딩 할 수 있습니다, 다음 표와 유사한처럼보기에서 선택합니다.

    2. 뷰는 보안 메커니즘으로 사용할 수 있습니다

    보기 대신 기본 테이블의 도면에 설정된 소정의 열 및 / 또는 행에서 테이블 (또는 테이블) 및 권한을 선택할 수있다. 이것은 사용자가 볼 필요가 있다는만을 사용 데이터를 처리 할 수 ​​있습니다.

    3. 뷰는 레거시 코드를 지원하고 단순화 할 수 있습니다

    당신은 코드를 많이 끊을 테이블을 리팩토링해야하는 경우, 동일한 이름의 볼 수있는 테이블을 대체 할 수 있습니다. 실제 스키마가 변경하면서보기는 원래 테이블과 동일한 스키마를 제공합니다. 이는 기존의 코드를 유지 당신이 당신의 여가에서 기존 코드를 변경할 수 있도록, 파괴의 표 참조.

    이들은 단지보기는 유용 할 수있는 방법의 많은 예제의 일부입니다.

  2. ==============================

    2.무엇보다도, 그것은 보안을 위해 사용할 수 있습니다. 당신은 "고객"테이블이있는 경우, 당신은 이름, 주소, 우편 번호 등의 분야가 아닌 credit_card_number에 액세스하여 판매 사람들을 모두 제공 할 수 있습니다. 당신은 그들이에 액세스해야하고보기에 그들에 대한 액세스 권한을 부여 열을 포함하는 뷰를 만들 수 있습니다.

    무엇보다도, 그것은 보안을 위해 사용할 수 있습니다. 당신은 "고객"테이블이있는 경우, 당신은 이름, 주소, 우편 번호 등의 분야가 아닌 credit_card_number에 액세스하여 판매 사람들을 모두 제공 할 수 있습니다. 당신은 그들이에 액세스해야하고보기에 그들에 대한 액세스 권한을 부여 열을 포함하는 뷰를 만들 수 있습니다.

  3. ==============================

    3.뷰는 쿼리의 캡슐화입니다. 보기로 전환되는 조회 복잡 할 경향 재사용보기로 저장 등이 바람직 할 수있다.

    뷰는 쿼리의 캡슐화입니다. 보기로 전환되는 조회 복잡 할 경향 재사용보기로 저장 등이 바람직 할 수있다.

  4. ==============================

    4.나는 보통 뷰 - 드 정상화 및 / 또는 데이터를 집계 자주보고 목적을 위해 사용하기를 만듭니다.

    나는 보통 뷰 - 드 정상화 및 / 또는 데이터를 집계 자주보고 목적을 위해 사용하기를 만듭니다.

    편집하다

    동화로서, 나는 있다면 엔티티의 일부는 사람의 표는 모두 직원 및 연락처와 주소를 저장 사람, 회사, 역할, 오너 종류, 순서, 주문 세부 사항, 주소, 전화였다있는 데이터베이스가하고 전화 테이블은 개인과 기업 모두에 전화 번호를 저장하고, 개발 팀은 이러한 월별 지역별 직원에 의해 판매 또는 판매 고객이, 또는 판매, 판매 등 (비 개발자에 액세스 할 수있는 데이터를보고 또는 만들기) 보고서를 생성하는 임무했다 , 국가에 의한 고객 등 내가 사용할 수 있었던 실제 기관의보다 통합 된 뷰 (웃기려는 의도 없음) 그래서 데이터베이스 엔티티 사이의 관계를 드 정상화하는 뷰 세트를 만들 것입니다. 혜택 중 일부는 포함 할 수있다 :

  5. ==============================

    5.몇 가지 이유: 당신이 복잡한 경우는 모든 액세스는 항상 올바른 조인과 개발자가 돈이 수 있도록 뷰를 가지고 때로는 가장 좋습니다, 조인, t는 그들이 필요로 할 수있는 모든 테이블을 기억해야한다. 일반적으로이는 모든 재무 보고서는 동일한 데이터 집합을 기반으로하는 것이 매우 중요 할 것입니다 금융 응용 프로그램에 대한 수 있습니다.

    몇 가지 이유: 당신이 복잡한 경우는 모든 액세스는 항상 올바른 조인과 개발자가 돈이 수 있도록 뷰를 가지고 때로는 가장 좋습니다, 조인, t는 그들이 필요로 할 수있는 모든 테이블을 기억해야한다. 일반적으로이는 모든 재무 보고서는 동일한 데이터 집합을 기반으로하는 것이 매우 중요 할 것입니다 금융 응용 프로그램에 대한 수 있습니다.

    당신은 그들이 지금까지 볼 수있는 레코드를 제한하려면 사용자가있는 경우, 당신이보기를 사용할 수있는, 그들 만보기로하지 않는 기본 테이블에 액세스 한 다음 뷰를 쿼리 제공

    Crystal 보고서는 보고서 작성을 많이 할 사람들이 의견을 많이 사용하는 경향이 있으므로, 저장 발동에 뷰를 사용하는 것을 선호하는 것 같다

    데이터베이스를 리팩토링 할 때 뷰도 매우 유용합니다. 이전 코드는 뷰를 작성하여 표시되지 않도록 당신은 자주 변화를 숨길 수 있습니다. 이 같은이 작품은 리팩토링 매우 강력한 방법이 얼마나보고 데이터베이스를 리팩토링에 읽기.

  6. ==============================

    6.저장 프로 시저를 통해 뷰의 하나 큰 장점은 테이블을 사용하는 것처럼 당신이보기를 사용할 수 있다는 것입니다. 즉, 뷰는 쿼리의 FROM 절에서 직접 참조 할 수 있습니다. 예를 들어, dbo.name_of_view SELECT * FROM.

    저장 프로 시저를 통해 뷰의 하나 큰 장점은 테이블을 사용하는 것처럼 당신이보기를 사용할 수 있다는 것입니다. 즉, 뷰는 쿼리의 FROM 절에서 직접 참조 할 수 있습니다. 예를 들어, dbo.name_of_view SELECT * FROM.

    거의 모든 다른 방법으로, 저장 프로 시저가 더 강력하다. 당신은 당신이 SELECT, INSERT, UPDATE 및 DELETE 작업, 등 등을 할 수 효과적으로 한 번에 여러 값을 반환 할 수 있도록 out 매개 변수를 포함하여 매개 변수를 전달할 수 있습니다

    당신이 FROM 절 내에서 쿼리에 대한보기의 능력을 원하지만, 당신은 또한 매개 변수를 전달 할 수있게하려면, 그것도 할 수있는 방법이있다. 그것은 테이블 반환 함수라고합니다.

    여기에 주제에 꽤 유용한 문서입니다 :

    http://databases.aspfaq.com/database/should-i-use-a-view-a-stored-procedure-or-a-user-defined-function.html

    편집 : 그건 그렇고, 인상 이런 종류의 문제는, 뷰는 테이블 반환 함수를 어떤 장점이 이상이 있습니까? 나는 그에게 정말 좋은 답변이없는,하지만 난 뷰를 생성하는 T-SQL 구문은 테이블 반환 함수에 대한보다 간단하고, 데이터베이스의 사용자가보기에 더 익숙 할 수 있으므로주의한다.

  7. ==============================

    7.그것은 당신의 ORM과 테이블 사이 좋은 "중간 사람"으로 작동 할 수 있습니다.

    그것은 당신의 ORM과 테이블 사이 좋은 "중간 사람"으로 작동 할 수 있습니다.

    예:

    우리는 열 SomeColumn 다른 테이블로 이동 거라고과 많은 관계로 하나를 가질 것, 그래서 우리가 그것에 구조를 변경해야하는 사람이 테이블을했다.

    그러나, 사람에 관해서 시스템의 대부분은 여전히 ​​하나의 일이 많은없는 것들로 SomeColumn을 사용했다. 우리는 함께 SomeColumns의 모든을 가지고 뷰를 사용 좋게 근무보기에 넣어.

    데이터 계층이 변경했기 때문에이 일을하지만, 비즈니스 오브젝트는 변경하지 않았다 있도록 비즈니스 요구 사항이 근본적으로 변화하지 않았다. 비즈니스 오브젝트는 변경해야한다면 난이 가능한 솔루션했을 생각하지만, 좋은의 중간 지점으로보기 확실히 작동하지 않습니다.

  8. ==============================

    8.특정 데이터에에 초점 뷰는 사용자가 관심을 및 특정 작업에가있는 그들이 책임이 있음을 특정 데이터에 초점을 맞출 수 있습니다. 불필요한 데이터는 견해를 생략 할 수 있습니다. 사용자가 기본 테이블의 데이터를 뷰에 정의되지 않은 경우에만 데이터를 볼 수 있기 때문에 이것은 또한 데이터의 보안을 향상시킵니다. 보안을 위해 뷰를 사용하는 방법에 대한 자세한 내용은 보안 메커니즘으로보기 사용을 참조하십시오.

    특정 데이터에에 초점 뷰는 사용자가 관심을 및 특정 작업에가있는 그들이 책임이 있음을 특정 데이터에 초점을 맞출 수 있습니다. 불필요한 데이터는 견해를 생략 할 수 있습니다. 사용자가 기본 테이블의 데이터를 뷰에 정의되지 않은 경우에만 데이터를 볼 수 있기 때문에 이것은 또한 데이터의 보안을 향상시킵니다. 보안을 위해 뷰를 사용하는 방법에 대한 자세한 내용은 보안 메커니즘으로보기 사용을 참조하십시오.

    단순화 데이터 조작에 뷰는 사용자가 데이터를 조작하는 방법을 단순화 할 수 있습니다. 당신은 자주 예측, UNION 쿼리, 조인 사용하고 사용자가 모든 조건과 자격에 추가 작업이 해당 데이터에 대해 수행 될 때마다 지정하지 않아도 뷰와 같은 쿼리를 선택 정의 할 수 있습니다. 예를 들어, 테이블의 그룹에서 데이터를 검색하기 위해 복잡하고 수행 부질보고에 사용되는 쿼리 외부 결합, 응집은 도면과 같이 생성 될 수있다. 데이터에 대한 뷰 단순화 액세스는 기본 쿼리는 서면 또는 보고서가 생성 될 때마다 제출해야 할 필요가 없기 때문에, 뷰 대신 쿼리됩니다. 데이터 조작에 대한 자세한 내용은.

    또한 논리적으로 절 검색 조건에서 매개 변수가 매개 변수화 된 뷰 또는보기로 작동 인라인 사용자 정의 함수를 만들 수 있습니다. 자세한 내용은 인라인 사용자 정의 함수를 참조하십시오.

    하려면 사용자 정의 데이터 그들은 동시에 동일한 데이터를 사용하는 경우에도 뷰, 다른 사용자가 다른 방식으로 데이터를 볼 수 있습니다. 다양한 관심과 기술 수준을 가진 사용자가 동일한 데이터베이스를 공유 할 때 특히 유리하다. 예를 들어, 뷰를 생성 할 수있는 고객의 계정 관리자 거래에 대한 검색하여 데이터 만. 뷰는 뷰를 사용하는 계정 관리자의 로그인 ID를 기반으로 검색 할 수있는 데이터를 확인할 수 있습니다.

    로 내보내기 및 데이터 가져 오기 뷰는 다른 응용 프로그램으로 데이터를 내보낼 수 있습니다. 예를 들어, 마이크로 소프트 Excel을 사용하여 판매 데이터를 분석하는 pubs 데이터베이스에 저장 및 판매 테이블을 사용할 수 있습니다. 이렇게하려면, 당신은 저장 및 판매 테이블을 기반으로 뷰를 만들 수 있습니다. 그런 다음 뷰에 의해 정의 된 데이터를 내보낼 bcp 유틸리티를 사용할 수 있습니다. 데이터는 bcp 유틸리티 또는 행이 INSERT 문을 사용하여 뷰에 삽입 할 수있는 것을 제공하는 BULK INSERT 문을 사용하여 데이터 파일에서 특정보기로 가져올 수 있습니다. 뷰에 데이터를 복사하는 제한에 대한 자세한 내용은 INSERT를 참조하십시오. 에와보기에서 데이터를 복사 할 bcp 유틸리티 및 BULK의 INSERT 문을 사용하는 방법에 대한 자세한 내용은 복사 또는보기에서 참조하십시오.

    분할 된 데이터를 결합하려면 은 Transact-SQL UNION 집합 연산자는 하나의 결과 집합으로 별도의 테이블에서 두 개 이상의 쿼리의 결과를 결합하는 뷰 내에서 사용할 수 있습니다. 하나의 테이블로 사용자에게이 나타난다는 분할 된 뷰를했다. 하나 개의 테이블은 워싱턴에 대한 판매 데이터를 포함하고 다른 테이블에 캘리포니아에 대한 판매 데이터가 포함되어있는 경우 예를 들어, 뷰는 해당 테이블의 UNION에서 생성 될 수있다. 뷰는 두 지역의 판매 데이터를 나타냅니다. 분할 된 뷰를 사용하려면 각 테이블에 추가 할 수있는 데이터의 범위를 결정하기 위해 제약 조건을 지정하는 몇 가지 동일한 테이블을 만들 수 있습니다. 뷰는 다음이 기본 테이블을 사용하여 만들어집니다. 뷰를 쿼리하면 SQL Server는 쿼리 및 참조 테이블 만에 의해 영향을받는 테이블을 결정합니다. 예를 들어, 워싱턴 주 만 판매 데이터가 필요하다고 쿼리 지정은 SQL Server가 워싱턴 판매 데이터가 포함 된 경우에만 테이블을 읽는 경우; 다른 테이블에 액세스하지 않습니다 더.

    분할 뷰는 원격 서버, 동일한 데이터베이스 테이블 아니라 여러 이종의 소스로부터의 데이터에 기초 할 수있다. 예를 들어, 조직의 다른 지역에 대한 데이터를 저장, 당신은 각 데이터 소스에서 데이터를 검색 한 다음 그 분산 쿼리를 기반으로 뷰를 생성 쿼리를 분산 만들 수 있습니다 각각의 서로 다른 원격 서버에서 데이터를 결합합니다. 모든 쿼리는 쿼리에 의해 요청 된 데이터가 포함 된 원격 서버에있는 테이블의 데이터 만 읽을; 뷰에서 분산 쿼리에서 참조하는 다른 서버에 액세스하지 않습니다.

    때 여러 테이블 또는 여러 서버, 스캔 적은 데이터가 있기 때문에 빠르게 실행 할 수있는 데이터의 일부만을 액세스하는 쿼리에서 사용하면 파티션의 데이터입니다. 테이블이 서로 다른 서버에있는 경우, 또는 다중 프로세서 컴퓨터에서 쿼리에 관련된 각 테이블도하여 쿼리 성능을 향상, 병렬로 스캔 할 수 있습니다. 또한, 이러한 테이블을 인덱스를 재 구축 또는 백업 등의 유지 관리 작업이보다 신속하게 실행할 수 있습니다. 분할 된 뷰를 사용함으로써, 데이터는 여전히 하나의 테이블로 표시 수동 올바른 기본 테이블을 참조 할 필요없이 같은 질의 할 수있다.

    이러한 조건 중 하나가 충족되는 경우 분할 된 뷰를 업데이트 할 수 있습니다 : INSTEAD OF 트리거는 INSERT, UPDATE 및 DELETE 문을 지원하는 논리 뷰에 정의된다.

    뷰와 INSERT, UPDATE 및 DELETE 문은 모두 업데이트 할 수있는 분할 된 뷰에 정의 된 규칙을 따릅니다. 자세한 내용은 분할 된 뷰 만들기를 참조하십시오.

    https://technet.microsoft.com/en-us/library/aa214282(v=sql.80).aspx#sql:join

  9. ==============================

    9.여기에 일반적인 두 가지 이유가 있습니다 :

    여기에 일반적인 두 가지 이유가 있습니다 :

    당신은 보안을 위해 사용할 수 있습니다. 기본 테이블에 어떤 권한을 부여하지 않고 사용자에게 제한 열 또는 행 액세스 및 승인 권한이보기를 볼 수 있다는 견해를 만들 수 있습니다.

    당신은 편의를 위해 사용할 수 있습니다. 당신이보기에 모두 함께 시간을 사용하는 일부 테이블을 함께하세요. 이 쿼리의 일관성을 쉽게 만들 수 있습니다.

  10. ==============================

    10.이 작업을 수행하는 하나 이상의 이유가있다. 하나 그냥 대신에 조인 모든 일의 테이블 이름을 조회 할 수있는 경우에 일반적인 쉽게 쿼리에 가입한다.

    이 작업을 수행하는 하나 이상의 이유가있다. 하나 그냥 대신에 조인 모든 일의 테이블 이름을 조회 할 수있는 경우에 일반적인 쉽게 쿼리에 가입한다.

    또 다른 이유는 다른 사용자에게 데이터를 제한하는 것입니다. 예를 들어 그래서 :

    표 1 : 열 - USER_ID, USERNAME, 사회 보장 번호 (SSN)

    관리자 사용자는 실제 테이블에 privs 및있을 수 있지만 당신이 SSN을 말할 수있는 권한이 싶지 않아 사용자, 당신은보기로를 만들

    CREATE VIEW USERNAMES AS SELECT user_id, username FROM Table1;
    

    그리고 그 뷰가 아닌 테이블에 액세스 privs 및 제공합니다.

  11. ==============================

    11.기존 데이터베이스에보고 할 때 때 뷰는 신의 선물이 될 수 있습니다. 특히, (! 그 중 2 공통 접두사입니다) 대신 비밀 5 글자 이름의 sensical 테이블 이름을 사용하거나 확실 할 때 의미가 만든거야 것을 약어의 열 이름 전체.

    기존 데이터베이스에보고 할 때 때 뷰는 신의 선물이 될 수 있습니다. 특히, (! 그 중 2 공통 접두사입니다) 대신 비밀 5 글자 이름의 sensical 테이블 이름을 사용하거나 확실 할 때 의미가 만든거야 것을 약어의 열 이름 전체.

  12. ==============================

    12.일반적으로 내가 (가독성을 향상시키기 위해 코드에서 조인을 많이 제거), 인생을 더 쉽게 만들어 여러 테이블을 통해 저장된 일부 개체에서 확장 된 정보를 얻을 전망 가서 때때로 공유 데이터에 여러 데이터베이스를 통해 또는 읽을 삽입을 쉽게 할 수 있습니다.

    일반적으로 내가 (가독성을 향상시키기 위해 코드에서 조인을 많이 제거), 인생을 더 쉽게 만들어 여러 테이블을 통해 저장된 일부 개체에서 확장 된 정보를 얻을 전망 가서 때때로 공유 데이터에 여러 데이터베이스를 통해 또는 읽을 삽입을 쉽게 할 수 있습니다.

  13. ==============================

    13.다음은 사용자가 테이블에 업데이트 할 수 있습니다 열을 제한 할 수있는 권한과 함께보기를 사용하는 방법입니다.

    다음은 사용자가 테이블에 업데이트 할 수 있습니다 열을 제한 할 수있는 권한과 함께보기를 사용하는 방법입니다.

    /* This creates the view, limiting user to only 2 columns from MyTestTable */
    CREATE VIEW dbo.myTESTview 
    WITH SCHEMABINDING AS
    SELECT ID, Quantity FROM dbo.MyTestTable;
    
    /* This uses the view to execute an update on the table MyTestTable */
    UPDATE dbo.myTESTview
    SET Quantity = 7
    WHERE ID = 1
    
  14. ==============================

    14.나는 (읽기 전용 방식) 및 / 또는보기를 테이블 (들)의 스냅 샷을 표시 할 때

    나는 (읽기 전용 방식) 및 / 또는보기를 테이블 (들)의 스냅 샷을 표시 할 때

  15. ==============================

    15.나는 단지 쿼리를 실행하고시기를 저장 프로 시저보기를 사용할 것을 좋아합니다. 조회수도 간소화 보안, 삽입을 완화하는 데 사용할 수 있습니다 / 여러 테이블에 대한 업데이트 및 사용할 수있는 스냅 샷 / 구체화 데이터 (장기 실행 쿼리를 실행하고, 캐시 된 결과를 유지)한다.

    나는 단지 쿼리를 실행하고시기를 저장 프로 시저보기를 사용할 것을 좋아합니다. 조회수도 간소화 보안, 삽입을 완화하는 데 사용할 수 있습니다 / 여러 테이블에 대한 업데이트 및 사용할 수있는 스냅 샷 / 구체화 데이터 (장기 실행 쿼리를 실행하고, 캐시 된 결과를 유지)한다.

    나는 실시간으로 정확하게 유지해야 할 필요가 없습니다 실행 갈망 쿼리에 대한 구체화 된 뷰를 사용했습니다.

  16. ==============================

    16.뷰는 쉽게에 대해 조회되는 관리 가능한 청크로 매우 복잡한 구성과 테이블을 분해. 우리의 데이터베이스에서 우리의 전체 테이블 Managment를 시스템은 하나 개의 큰 테이블에서보기로 분류된다.

    뷰는 쉽게에 대해 조회되는 관리 가능한 청크로 매우 복잡한 구성과 테이블을 분해. 우리의 데이터베이스에서 우리의 전체 테이블 Managment를 시스템은 하나 개의 큰 테이블에서보기로 분류된다.

  17. ==============================

    17.이것이 바로 귀하의 질문에 대답하지 않습니다하지만 난 그것을 언급 할만큼 가치 실현보기 것이다라고 생각했다. 내 경험은 오라클과 대부분이지만, 가정 SQL-Server는 상당히 유사하다.

    이것이 바로 귀하의 질문에 대답하지 않습니다하지만 난 그것을 언급 할만큼 가치 실현보기 것이다라고 생각했다. 내 경험은 오라클과 대부분이지만, 가정 SQL-Server는 상당히 유사하다.

    우리는 주소 XML의 성능 문제에 대한 우리의 아키텍처에서 비슷한 것을 사용했다. 우리의 시스템은 그 안에 쿼리 특정 값을해야 할 수도 있습니다 행 및 응용 프로그램에 XML로 저장된 데이터의 많은 설계되었습니다. XMLType은 많이 취급하고 우리가 원하는 XML 관계형 테이블 언제로 기본 테이블 변경을 노드를 추출하기 위해 구체화 된 뷰의 양식을 사용하므로 행 많은 수의 성능에 큰 영향을 가로 질러 XPath의 실행. 필요에 따라 자신의 쿼리를 실행 할 표준 뷰와 달리이 효과적으로 시점에서 쿼리의 물리적 스냅 샷을 제공합니다.

  18. ==============================

    18.나에게보기 쿼리 나 저장 프로 시저를 만들 수있는에 대한 기본 데이터의 합성 버전을 생성하는 메커니즘을 제공하는 반면 나는 더 내 데이터에 대해 호출 할 수있는 방법으로 저장 프로 시저를 참조하십시오. 단순화 또는 집계가 의미가 때보기를 만듭니다. 나는 매우 구체적인 서비스를 제공 할 때 저장 프로 시저를 쓸 것이다.

    나에게보기 쿼리 나 저장 프로 시저를 만들 수있는에 대한 기본 데이터의 합성 버전을 생성하는 메커니즘을 제공하는 반면 나는 더 내 데이터에 대해 호출 할 수있는 방법으로 저장 프로 시저를 참조하십시오. 단순화 또는 집계가 의미가 때보기를 만듭니다. 나는 매우 구체적인 서비스를 제공 할 때 저장 프로 시저를 쓸 것이다.

  19. ==============================

    19.당신은 ODBC, 당신은 가능한 테이블 목록에서 테이블과 뷰를 참조하여 SQL 데이터베이스에 Microsoft Access에서 프런트 엔드를 연결할 때 : 뷰에 대한 한 가지 흥미로운 것은 그들이 테이블로 Microsoft Access에서 볼되어 있습니다. 당신은 MS Access에서 보고서를 복잡 준비하고있다 그렇다면, 당신은 SQL 서버가 가입하고 질의를하자, 크게 당신의 인생을 단순화 할 수 있습니다. MS Excel에서 쿼리를 준비하기위한 저두 요.

    당신은 ODBC, 당신은 가능한 테이블 목록에서 테이블과 뷰를 참조하여 SQL 데이터베이스에 Microsoft Access에서 프런트 엔드를 연결할 때 : 뷰에 대한 한 가지 흥미로운 것은 그들이 테이블로 Microsoft Access에서 볼되어 있습니다. 당신은 MS Access에서 보고서를 복잡 준비하고있다 그렇다면, 당신은 SQL 서버가 가입하고 질의를하자, 크게 당신의 인생을 단순화 할 수 있습니다. MS Excel에서 쿼리를 준비하기위한 저두 요.

  20. ==============================

    20.난 단지 내 프로덕션 데이터베이스에서 10 정도 전망이 있습니다. 나는 모든 시간을 사용하는 열에 대한 몇 가지 사용합니다. 나는 7 개 테이블에서 온 하나 개를 사용 세트는 외부 일부 조인 오히려 재보다 지속적으로 나는 단지 선택에 해당 뷰를 호출하고 하나 또는 2 조인 할 필요가있다. 나에게 그것은 단지 시간을 절약 할 수 있습니다.

    난 단지 내 프로덕션 데이터베이스에서 10 정도 전망이 있습니다. 나는 모든 시간을 사용하는 열에 대한 몇 가지 사용합니다. 나는 7 개 테이블에서 온 하나 개를 사용 세트는 외부 일부 조인 오히려 재보다 지속적으로 나는 단지 선택에 해당 뷰를 호출하고 하나 또는 2 조인 할 필요가있다. 나에게 그것은 단지 시간을 절약 할 수 있습니다.

  21. ==============================

    21.나는 모든 (제품 테이블 같은) 메인 테이블 사이의 관계와 (ProductType 또는 ProductDescriptionByLanguage 같은) 참조 테이블 매핑 XXX를 만드는 오전. 이 날은 제품 및 기술과의 외래 키에서 번역 된 모든 그것의 세부 정보를 검색하실 수보기를 만들 것입니다. 그럼 난 쉽게 등 그리드, 콤보 상자를 구축 할 객체를 생성하는 ORM을 사용할 수 있습니다

    나는 모든 (제품 테이블 같은) 메인 테이블 사이의 관계와 (ProductType 또는 ProductDescriptionByLanguage 같은) 참조 테이블 매핑 XXX를 만드는 오전. 이 날은 제품 및 기술과의 외래 키에서 번역 된 모든 그것의 세부 정보를 검색하실 수보기를 만들 것입니다. 그럼 난 쉽게 등 그리드, 콤보 상자를 구축 할 객체를 생성하는 ORM을 사용할 수 있습니다

  22. ==============================

    22.데이터베이스 스키마를 리팩토링이라고 생각.

    데이터베이스 스키마를 리팩토링이라고 생각.

  23. ==============================

    23.나는 첫 번째 .TO 쿼리의 복잡성을 숨길 생각합니다. 테이블의 수는 핸들에 내가 잘못 올바른 날 오전 views.If에 따라입니다 가장 좋은 방법은 increases.So 때 매우 우리가 데이터베이스 테이블에서 데이터를 가져 오기 위해 increases.Now 정상화 괜찮나 전망에 대한 적절한 그 것은 매우 어렵습니다.

    나는 첫 번째 .TO 쿼리의 복잡성을 숨길 생각합니다. 테이블의 수는 핸들에 내가 잘못 올바른 날 오전 views.If에 따라입니다 가장 좋은 방법은 increases.So 때 매우 우리가 데이터베이스 테이블에서 데이터를 가져 오기 위해 increases.Now 정상화 괜찮나 전망에 대한 적절한 그 것은 매우 어렵습니다.

  24. ==============================

    24.우리는 소유자가 그는 그 열이있는보기를 만들 것이다, 공유 할 그 특정 또는 제한 행 / 열 필요를 원하는 table.If의 모든 행 / 열을 액세스 제한 또는 ristrict에보기를 만들 수 있습니다.

    우리는 소유자가 그는 그 열이있는보기를 만들 것이다, 공유 할 그 특정 또는 제한 행 / 열 필요를 원하는 table.If의 모든 행 / 열을 액세스 제한 또는 ristrict에보기를 만들 수 있습니다.

  25. ==============================

    25.보안을 위해 : 다른 데이터에 대한 사용자 액세스를 제한, 사용자 만의 사용자 또는 그룹이 볼 수있는 권한이 특정 데이터를 포함하는 뷰의 작은 세트를 통해 데이터베이스에 액세스하는 각 사용자의 권한을 부여합니다.

    보안을 위해 : 다른 데이터에 대한 사용자 액세스를 제한, 사용자 만의 사용자 또는 그룹이 볼 수있는 권한이 특정 데이터를 포함하는 뷰의 작은 세트를 통해 데이터베이스에 액세스하는 각 사용자의 권한을 부여합니다.

    쿼리와 구조의 단순성, •보기는 여러 테이블에서 데이터를 끌어와 하나의 테이블을 제시, 정보를 단순화하고 뷰에 대한 단일 테이블 쿼리에 멀티 테이블 쿼리를 켜고는 제시, 사용자에게 데이터베이스 구조의 특정보기를 제공 할 수 있습니다 특정 사용자 또는 사용자 그룹에 특정 가상 테이블 세트로 데이터베이스.

    일관성있는 데이터베이스 구조를 만드는 경우 : 뷰는 기본 소스 테이블이 변경되는 경우에도, 데이터베이스 구조의 일관성, 변경되지 않은 이미지를 제시한다.

  26. from https://stackoverflow.com/questions/1278521/why-do-you-create-a-view-in-a-database by cc-by-sa and MIT license