복붙노트

[SQL] 동의어 대 뷰를 사용하는 장점 / 단점은 무엇입니까?

SQL

동의어 대 뷰를 사용하는 장점 / 단점은 무엇입니까?

이것은 일반적인 데이터베이스 설계 질문 - 간단한보기를 통해, 데이터베이스 개발의 동의어를 사용의 이점은 무엇입니까? 둘 사이에 선택할 때 염두에 두어야 할 주요 고려 사항은 무엇입니까?

예보기 :

CREATE VIEW Users AS
SELECT * FROM IdentitySystem.dbo.Users

그리고 해당 동의어 :

CREATE SYNONYM Users 
FOR IdentitySystem.dbo.LCTs

해결법

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

    1.그들은 다른 것들입니다. 동의어 직접 개체의 별칭입니다, 뷰는 하나 개 이상의 테이블을 통해 구조입니다.

    그들은 다른 것들입니다. 동의어 직접 개체의 별칭입니다, 뷰는 하나 개 이상의 테이블을 통해 구조입니다.

    어떤 이유는보기를 사용하려면 :

    ... 게다가 더 많은.

    이유는 동의어를 사용합니다 :

    ... 게다가 더 많은.

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

    2.고려가 많이 있습니다. 즉, 각각의 상황에 가장 적합한 도구를 사용합니다.

    고려가 많이 있습니다. 즉, 각각의 상황에 가장 적합한 도구를 사용합니다.

    볼 수있는, 내가 할 수있는

    , 내가 할 수있는 동의어로 :

    동의어와 함께 할 수있는 아마 더있다. 우리 (Oracle 데이터베이스) 응용 프로그램의 설계에서, 우리는 데이터베이스 개체의 모든 (테이블, 뷰, 트리거 등)에 "소유자"스키마 (사용자)를 사용하여, 우리는 다른 "응용 프로그램"에 해당 개체에 대한 권한을 부여 사용자. '앱'사용자 스키마의 각에서 우리는 "소유자"객체를 참조 할 동의어를 만들 수 있습니다.

    HTH

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

    3.뷰는 주로 단순 / 복잡 "선택"문입니다. 기본적으로 당신은 마스크로 뷰를 사용하고, 사용 중입니다 만 열 값을 보여줍니다. 당신은 최종 사용자에 대한 추가 정보를 표시하지하는 의도로 뷰를 사용합니다.

    뷰는 주로 단순 / 복잡 "선택"문입니다. 기본적으로 당신은 마스크로 뷰를 사용하고, 사용 중입니다 만 열 값을 보여줍니다. 당신은 최종 사용자에 대한 추가 정보를 표시하지하는 의도로 뷰를 사용합니다.

    동의어 반면 데이터베이스 개체에 대한 대체 이름입니다.

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

    4.나는 닷넷 엔티티 프레임 워크 나는 모든 많은 데이터베이스에서 필요한 데이터에 액세스 할 수있는 하나의 ObjectContext를 사용할 수 있습니다 사용할 때 나는 다른 데이터베이스에서 공유 객체에 그래서 동의어를 사용합니다.

    나는 닷넷 엔티티 프레임 워크 나는 모든 많은 데이터베이스에서 필요한 데이터에 액세스 할 수있는 하나의 ObjectContext를 사용할 수 있습니다 사용할 때 나는 다른 데이터베이스에서 공유 객체에 그래서 동의어를 사용합니다.

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

    5.도면에서 열 돌기 작성 시간에 설정된다. 따라서 당신은 당신이보기를 변경할 때까지이 노출되지 않습니다 기본보기에 열을 추가합니다. 그리 동의어로. 간단한 이름은 보통 숨기기 복잡성, 당신의 TSQL에서 대체이라고 생각.

    도면에서 열 돌기 작성 시간에 설정된다. 따라서 당신은 당신이보기를 변경할 때까지이 노출되지 않습니다 기본보기에 열을 추가합니다. 그리 동의어로. 간단한 이름은 보통 숨기기 복잡성, 당신의 TSQL에서 대체이라고 생각.

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

    6.그것도 더보기보다 안전하게 보호 할 수있다, 난 아무데도 기록을 참조하지 않는 것이, 내가 틀렸다면 정정 해줘,하지만 난 (진행 OpenEdge 적어도) 동의어에 대한 또 다른 사용을 참조 생각하세요. DML의 SELECT 문 구문은 테이블, 뷰 또는 동의어를 사용할 수 있지만, INSERT는, UPDATE 및 DELETE 문은 테이블이나보기를 할 수 있습니다. 그들은 특정 기준을 충족하는 경우 일부 뷰는 데이터에, 갱신 삽입 및 삭제 가능한 액세스를 제공합니다. 동의어 뷰에 대한 권한을 부여 (또는 거부) 엉망으로하지 않고, 데이터에 대한 읽기 전용 액세스를 제공 할 수있는 좋은 방법처럼 보인다.

    그것도 더보기보다 안전하게 보호 할 수있다, 난 아무데도 기록을 참조하지 않는 것이, 내가 틀렸다면 정정 해줘,하지만 난 (진행 OpenEdge 적어도) 동의어에 대한 또 다른 사용을 참조 생각하세요. DML의 SELECT 문 구문은 테이블, 뷰 또는 동의어를 사용할 수 있지만, INSERT는, UPDATE 및 DELETE 문은 테이블이나보기를 할 수 있습니다. 그들은 특정 기준을 충족하는 경우 일부 뷰는 데이터에, 갱신 삽입 및 삭제 가능한 액세스를 제공합니다. 동의어 뷰에 대한 권한을 부여 (또는 거부) 엉망으로하지 않고, 데이터에 대한 읽기 전용 액세스를 제공 할 수있는 좋은 방법처럼 보인다.

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

    7.나는이 문서에서보기를했고 나는 동의어 대신보기를 사용하는 이유를 발견, 누군가를 도울 수 있기를 바랍니다.

    나는이 문서에서보기를했고 나는 동의어 대신보기를 사용하는 이유를 발견, 누군가를 도울 수 있기를 바랍니다.

    당신은 클라이언트와 DB 서버 및 SAS 등의 SQL Server를 사용하는 경우. 당신이 동의어를 사용하는 경우 그것은 당신의 SAS 라이브러리에 인식되지 않습니다. 내가보기를 작성했다.

    그것은 최적화 아니에요하지만 적어도 SQL 서버와 윈도우 SAS는 둘 다 최고의하지 않습니다 :)

  8. from https://stackoverflow.com/questions/869073/what-are-the-pros-cons-of-using-a-synonym-vs-a-view by cc-by-sa and MIT license