데이터베이스 객체 생성 및 편집
SQL 및 Data Modeler 페이지의 Navigator 탭에서 제공되는 Create and Edit Object 마법사를 사용하여 객체를 생성하고 편집할 수 있습니다.
다양한 객체 유형을 만들고 편집하기 위한 마법사는 다음 절에서 설명합니다.
- 테이블 속성 대화상자
테이블 속성 대화상자는 기존 테이블을 템플리트로 사용하여 테이블을 생성하거나, 기존 테이블을 편집하거나, 테이블을 생성할 때 표시됩니다. - 인덱스 속성 대화상자
인덱스를 생성하거나 편집할 때 [인덱스 속성] 대화상자가 표시됩니다. - 시퀀스 속성 대화상자
시퀀스를 생성하거나 편집할 때 [시퀀스 속성] 대화상자가 표시됩니다. - 뷰 속성 대화상자
뷰를 생성하거나 편집할 때 [뷰 속성] 대화상자가 표시됩니다. - 동의어 속성 대화상자
동의어를 생성할 때 [동의어 속성] 대화상자가 표시됩니다. - 구체화된 뷰 로그 속성 대화상자
구체화된 뷰 로그 속성 대화상자는 구체화된 뷰의 마스터 테이블과 연관된 테이블인 구체화된 뷰 로그를 생성하거나 편집할 때 표시됩니다. - 암시된 외래 키
암시된 외래 키는 테이블 간에 존재하지만 데이터베이스에 정의되지 않은 종속성입니다. 데이터 웨어하우스 환경에서는 Foreign Key를 생성하지 않는 것이 일반적입니다. 그러나 프리젠테이션 또는 보고를 위해 이러한 종속성을 표시해야 합니다.
상위 항목: SQL 및 데이터 모델러 페이지
[테이블 속성] 대화 상자
[테이블 속성] 대화상자는 테이블을 생성하거나, 기존 테이블을 편집하거나, 기존 테이블을 템플리트로 사용하여 테이블을 생성할 때 표시됩니다.
SQL 또는 Data Modeler의 Navigator 탭에서 Table Properties 대화상자를 열 수 있습니다.
특정 스키마에 대한 테이블을 생성하려면 네비게이터 탭의 객체 유형 드롭다운 목록에서 테이블을 선택하고 객체 하위 메뉴
를 누른 다음 객체 생성을 선택합니다.
특정 스키마에 대한 기존 스키마에서 테이블을 생성하려면 [네비게이터] 탭에서 테이블 객체를 마우스 오른쪽 단추로 누르고 그림 3-15와 같이 템플리트로 사용을 선택합니다.
특정 스키마에 대한 테이블을 편집하려면 [네비게이터] 탭에서 테이블 객체를 마우스 오른쪽 단추로 누르고 편집을 선택합니다.
테이블 특성은 여러 창으로 그룹화됩니다.
기존 테이블을 편집하는 경우 어떤 순서로든 창을 방문할 수 있습니다. 테이블 생성을 완료하기 전에 생성을 누른 경우 테이블 이름을 마우스 오른쪽 단추로 누르고 편집을 선택한 다음 테이블 생성을 계속합니다.
주:
분할된 테이블 편집은 권장되지 않습니다. 테이블이 분할되는지 여부를 식별하려면 테이블 이름을 마우스 오른쪽 단추로 누르고 편집을 선택합니다. 테이블이 분할된 경우 경고 메시지가 표시됩니다.스키마: 테이블을 생성할 데이터베이스 스키마입니다. 기본적으로 기존 스키마 또는 로그인한 스키마에 새 테이블이 생성됩니다.
이름: 테이블의 이름입니다.
대화상자의 여러 창은 다음 절에 설명되어 있습니다.
- 열 창
테이블의 각 열에 대한 속성을 지정합니다. - 기본 키 창
테이블에 대한 기본 키를 지정합니다. - 고유 키 창
테이블에 대해 하나 이상의 고유 제약 조건을 지정합니다. - 인덱스 창
테이블에 대해 정의된 인덱스를 나열합니다. - 외래 키 창
테이블에 대한 외래 키를 하나 이상 지정합니다. - 테이블 제약 조건 창
테이블에 대한 하나 이상의 검사 제약 조건을 지정합니다. - 설명 창
- 저장 영역 창
테이블에 대한 저장 영역 옵션을 지정할 수 있습니다. - 외부 테이블 속성 창
외부 테이블에 대한 옵션을 지정합니다. - 구체화된 뷰 창
구체화된 뷰에 대한 옵션을 지정합니다. - DDL 창
- 출력 창
상위 항목: 데이터베이스 객체 생성 및 편집
열 창
테이블의 각 열에 대한 속성을 지정합니다.
일반 사항 탭
테이블에서 사용할 수 있는 열을 나열합니다.
열을 추가하려면 열 추가(+)를 누릅니다. 아래 테이블에 새 행이 추가됩니다. 행을 선택하고 열에 대한 세부정보를 입력합니다.
열을 삭제하려면 행을 선택하고 열 제거(-)를 누릅니다. 테이블에서 열을 위 또는 아래로 이동하려면 열을 선택하고 위쪽 화살표 및 아래쪽 화살표 아이콘을 사용합니다.
-
이름: 열의 이름입니다.
-
데이터 유형: 열에 대한 데이터 유형입니다.
-
기본값: 값을 지정하지 않으면 행 삽입 시 열에 기본값이 삽입됩니다.
-
NULL에 대한 기본값: Oracle Database 12c 이상 릴리스에 적용할 수 있습니다. 이 옵션을 선택하면 테이블에 행이 삽입되고 열에 대해 지정된 값이 NULL이면 기본값이 열에 삽입됩니다.
-
표현식: 열의 값을 계산하기 위한 표현식입니다.
-
설명: 열에 대한 선택적 설명입니다. 이 필드를 사용하여 속성에 대한 설명을 제공합니다.
테이블에서 다음 사항에 주의합니다.
-
PK: 이 옵션을 선택하면 열이 기본 키가 됩니다.
-
ID 열: 이 옵션을 선택하면 열이 ID 열이 됩니다. Oracle Database 12c 및 이후 릴리스에만 적용할 수 있습니다. 자세한 내용은 [ID 열] 탭을 참조하십시오.
제약 탭
열에 대해 Not Null 및 Check 제약 조건을 표시합니다. check 제약 조건에는 지정된 조건을 준수하기 위한 열의 값이 필요합니다.
-
널이 아님 제약 조건: 이름: 널이 아님 제약 조건의 이름입니다.
-
널 없음 제약 조건: 널이 아님: 이 옵션을 선택하면 열에 데이터가 포함되어야 합니다. 행을 삽입할 때 이 열에 대해 값이나 명시적 null 값을 지정할 수 없습니다. 이 옵션을 선택하지 않으면 열에 데이터가 포함되거나 데이터가 포함되지 않을 수 있습니다. 기본 키 열은 널일 수 없습니다.
-
검사 제약 조건: 이름: 검사 제약 조건 정의의 이름입니다.
-
제약 조건 확인: 제약 조건: Check 제약 조건을 이행하기 위해 열이 충족되어야 하는 조건입니다. CHECK 키워드 없이 적합한 CHECK 절을 사용할 수 있습니다. 예를 들어, RATING이라는 숫자 열의 값이 1에서 10 사이여야 함을 나타내려면 등급 >=1 및 등급 <= 10을 지정할 수 있습니다.
-
사용: 이 옵션을 선택하면 열에서 데이터를 입력하거나 업데이트할 때 제약 조건이 검사됩니다.
-
지연 가능: 이 옵션을 선택하면 트랜잭션이 끝날 때까지 제약 조건의 유효성 검사를 지연할 수 있습니다.
-
초기 즉시: 이 옵션을 선택하면 열에서 데이터를 추가, 업데이트 또는 삭제할 때마다 제약 조건이 검사됩니다.
-
검증: 이 옵션을 선택하면 기존 데이터가 제약 조건을 준수하는지 확인합니다.
Identity Column 탭
Oracle Database 12c 및 이후 릴리스에 적용 가능합니다. [ID 열] 탭에는 ID 열의 속성이 나열됩니다. 이 탭은 [일반 사항] 탭의 열에 대해 [ID 열] 확인란을 선택한 후에만 사용할 수 있습니다. ID 열은 테이블 행을 식별하는 데 사용할 수 있는 자동 증가 열입니다. 테이블에 대해 하나의 ID 열만 지정할 수 있습니다.
-
생성: 항상 INSERT OR UPDATE 문의 ID 열에 대해 값을 명시적으로 포함할 수 없음을 의미합니다. 기본적으로는 값이 명시적으로 지정되지 않은 경우 ID 열의 값이 자동으로 생성됨을 의미하며, 기본적으로 NULL은 NULL 값이 제공된 경우에만 열에 대한 값이 생성됨을 의미합니다.
-
다음으로 시작: 시퀀스의 시작 값입니다.
-
증분: 시퀀스에서 연속되는 숫자 사이의 간격입니다.
-
최소값: 시퀀스에 대해 가능한 가장 낮은 값입니다. 기본값은 오름차순 시퀀스의 경우 1이고 내림차순 시퀀스의 경우 -(10^26)입니다.
-
최대값: 시퀀스에 대해 가능한 최대값입니다. 기본값은 오름차순 시퀀스의 경우 10^27이고 내림차순 시퀀스의 경우 -1입니다.
-
캐시 및 캐시 크기: 캐시를 사용하면 시퀀스 값이 캐시에 미리 할당되므로 응용 프로그램 성능이 향상될 수 있습니다. 캐시 크기는 캐시에 미리 할당된 시퀀스 값 수를 나타냅니다. 캐시가 없으면 시퀀스 값이 캐시에 미리 할당되지 않습니다.
-
주기: 시퀀스가 최대값(오름차순 시퀀스의 경우)에 도달한 후 숫자를 재사용하도록 "줄바꿈"할지 아니면 최소값(내림차순 시퀀스의 경우)에 도달할지를 나타냅니다. 값 순환이 사용으로 설정되지 않은 경우 시퀀스는 최대값이나 최소값에 도달한 후 더 많은 값을 생성할 수 없습니다.
-
순서: 순번이 요청된 순서대로 생성되는지 여부를 나타냅니다. 주문이 지정되지 않은 경우 순번은 요청된 순서대로 보장되지 않습니다.
상위 항목: 테이블 속성 대화상자
기본 키 창
테이블에 대한 기본 키를 지정합니다.
primary key는 테이블의 각 행을 고유하게 식별하는 열 또는 열 집합입니다. [일반 사항] 탭의 열에 대해 [기본 키] 확인란을 선택하면 [기본 키] 창에 해당 필드가 자동으로 채워집니다. 필요에 따라 등록 정보를 변경할 수 있습니다.
인덱스는 Primary Key에 자동으로 생성됩니다.
-
이름: 기본 키 정의와 연관될 제약 조건의 이름입니다.
-
사용: 이 옵션을 선택하면 기본 키 제약 조건이 적용됩니다. 즉, 기본 키 열(또는 열 집합)의 데이터는 널이 아닌 고유해야 합니다.
-
인덱스: 기본 키가 참조하는 인덱스의 이름입니다.
-
테이블스페이스: 인덱스와 연관된 테이블스페이스의 이름입니다.
-
사용 가능한 열: 기본 키 정의에 추가할 수 있는 열을 나열합니다. 필요한 경우 기본 키에 대해 여러 속성을 선택할 수 있습니다.
-
선택한 열: 기본 키 정의에 포함된 열을 나열합니다.
기본 키 정의에 열을 추가하려면 Available Columns에서 열을 선택하고 Add(>) 아이콘을 누릅니다. 기본 키 정의에서 열을 제거하려면 Selected Columns에서 열을 선택하고 Remove(<) 아이콘을 누릅니다. 모든 열을 사용 가능한 열에서 선택한 열로 이동하거나 반대로 이동하려면 모두 추가(>>) 또는 모두 제거(<<) 아이콘을 사용합니다. 기본 키 정의에서 열을 위 또는 아래로 이동하려면 [선택된 열]에서 열을 선택하고 화살표 단추를 사용합니다.
상위 항목: 테이블 속성 대화상자
고유 키 창
테이블에 대해 하나 이상의 고유 제약 조건을 지정합니다.
고유 제약 조건은 데이터 값이 고유해야 하는 열 또는 열 집합을 지정합니다. 각 데이터 값은 null이 아니어야 하며 열의 다른 값과 동일하지 않아야 합니다.
고유 제약 조건을 추가하려면 Add 버튼을 누르고, 고유 제약 조건을 삭제하려면 해당 제약 조건을 선택하고 Remove 버튼을 누릅니다.
-
이름: 고유한 제약 조건의 이름입니다.
-
사용: 이 옵션을 선택하면 고유 제약 조건이 적용됩니다.
-
신뢰: 이 옵션을 선택하면 질의 재작성 중 NOVALIDATE 모드의 제약 조건이 고려됩니다.
-
지연 가능: 이 옵션을 선택하면 이후 트랜잭션에서 SET CONSTRAINT(S) 문을 사용하여 트랜잭션이 끝날 때까지 제약 조건 검사를 지연할 수 있습니다.
-
초기 즉시: 이 옵션을 선택하면 이후의 각 SQL 문 끝에서 제약 조건이 검사됩니다.
-
검증: 옵션이 선택된 경우 기존 데이터가 제약 조건을 준수하는지 확인합니다.
-
인덱스: 고유 키가 참조하는 인덱스의 이름입니다.
-
테이블스페이스: 인덱스와 연관된 테이블스페이스의 이름입니다.
-
사용 가능한 열: 고유한 제약 조건 정의에 추가할 수 있는 열을 나열합니다.
-
선택된 열: 고유한 제약 조건 정의에 포함된 열을 나열합니다.
고유한 제약 조건 정의에 열을 추가하려면 Available Columns에서 해당 열을 선택하고 Add(>) 아이콘을 누릅니다. 고유한 제약 조건 정의에서 열을 제거하려면 Selected Columns에서 해당 열을 선택하고 Remove(<) 아이콘을 누릅니다. 모든 열을 사용 가능한 열에서 선택한 열로 이동하거나 반대로 이동하려면 모두 추가(>>) 또는 모두 제거(<<) 아이콘을 사용합니다. 고유한 제약 조건 정의에서 열을 위나 아래로 이동하려면 [선택된 열]에서 해당 열을 선택하고 화살표 단추를 사용합니다.
상위 항목: 테이블 속성 대화상자
인덱스 창
테이블에 대해 정의된 인덱스를 나열합니다.
인덱스를 추가하려면 인덱스 추가(+)를 누르고 인덱스를 삭제하려면 인덱스를 선택하고 인덱스 제거(-)를 누릅니다.
-
이름: 인덱스 이름입니다.
-
유형: Oracle 인덱스의 유형입니다.
Non-unique는 인덱스가 여러 개의 동일한 값을 포함할 수 있음을 의미하며,Unique는 중복 값이 허용되지 않음을 의미하며,Bitmap는 키 값과 연관된 rowids를 비트맵으로 저장합니다. -
테이블스페이스: 인덱스에 대한 테이블스페이스 이름입니다.
-
표현식: 열 표현식은 열, 상수, SQL 함수 및 사용자 정의 함수에서 작성된 표현식입니다. 열 표현식을 지정할 때 함수 기반 인덱스를 생성합니다.
-
사용 가능한 열 및 선택된 열: 인덱스에 대해 선택된 열입니다. 열을 선택하려면 [사용 가능한 열] 상자에서 열을 클릭한 다음 [선택된 열 추가] 아이콘을 클릭하여 [선택된 열] 상자로 이동합니다.
상위 항목: 테이블 속성 대화상자
외래 키 창
테이블에 대해 하나 이상의 외래 키를 지정합니다.
Foreign Key는 데이터 값이 Primary Key 또는 다른 테이블의 고유 제약 조건 값과 일치하는 열("로컬 열")을 지정합니다.
-
이름: 외래 키 정의의 이름입니다.
-
사용: 이 옵션을 선택하면 외래 키가 적용됩니다.
-
Rely, Deferrable, Initially Immediate, Validate: Unique Keys(고유 키) 창에서 이러한 필드 설명을 참조하십시오.
-
참조된 제약 조건: 스키마: 이 외래 키가 참조하는 기본 키 또는 고유 제약 조건이 있는 테이블을 포함하는 스키마의 이름입니다.
-
참조된 제약 조건: 테이블: 이 외래 키가 참조하는 기본 키 또는 고유 제약 조건이 있는 테이블의 이름입니다.
-
참조된 제약 조건: 제약 조건: 이 외래 키가 참조하는 기본 키 또는 고유 제약 조건의 이름입니다.
-
참조된 제약 조건: 삭제 시: 참조된 테이블의 행이 삭제되고 해당 값을 가진 행이 이 외래 키를 포함하는 테이블에 존재할 때 자동으로 수행할 작업:
NO ACTION(의 교차 행으로 표시됨) 다이어그램)은 이러한 행에 대해 아무 작업도 수행하지 않습니다.CASCADE("X"로 표시됨)은 이러한 행을 삭제하고,SET NULL(작은 원으로 표시됨)은 null 값으로 설정할 수 있는 행의 모든 열을 null로 설정합니다. -
지정: 로컬 열: 외래 키 정의에 포함된 현재 선택된(로컬) 테이블의 열을 나열합니다. 외래 키 정의의 참조된 각 열에 대해 편집된 테이블의 열 이름을 선택합니다.
-
연관: 참조된 열: 각 로컬 열에 대해 로컬 열의 값과 일치하는 값이 있어야 하는 다른(외래) 테이블의 열을 식별합니다.
상위 항목: 테이블 속성 대화상자
테이블 제약 조건 창
테이블에 대해 하나 이상의 검사 제약 조건을 지정합니다.
CHECK 제약 조건은 테이블에 행을 삽입하거나 기존 행을 수정할 때 충족해야 하는 조건을 지정합니다.
-
이름: 검사 제약 조건 정의의 이름입니다.
-
조건 확인: 행이 검사 제약 조건을 이행하기 위해 충족해야 하는 조건입니다. CHECK 키워드 없이 적합한 CHECK 절을 사용할 수 있습니다. 예를 들어, RATING이라는 숫자 열의 값이 1에서 10 사이여야 함을 나타내려면 요율 >=1 및 요율 <= 10을 지정할 수 있습니다.
-
사용: 이 옵션을 선택하면 검사 제약 조건이 적용됩니다.
상위 항목: 테이블 속성 대화상자
저장 영역 창
테이블에 대한 저장 영역 옵션을 지정할 수 있습니다.
테이블 또는 인덱스를 생성하거나 편집할 때 기본 저장 영역 옵션을 무효화할 수 있습니다.
-
조직: 테이블이 (인덱스) 또는 인덱스(힙) 없이 또는 외부 테이블(외부)로 저장 및 구성되도록 지정합니다.
-
테이블스페이스: 테이블 또는 인덱스에 대한 테이블스페이스의 이름입니다.
-
로깅: ON은 테이블 생성 및 테이블에 대한 모든 후속 INSERT 작업이 리두 로그 파일에 기록됨을 의미합니다. OFF는 이러한 작업이 리두 로그 파일에 기록되지 않음을 의미합니다.
-
행 아카이브: YES를 사용하면 데이터베이스 내 아카이브를 사용으로 설정할 수 있습니다. 그러면 행을 보이지 않음으로 표시하여 테이블 내 행을 아카이브할 수 있습니다.
상위 항목: 테이블 속성 대화상자
외부 테이블 속성 창
외부 테이블에 대한 옵션을 지정합니다.
External Table은 메타 데이터가 데이터베이스에 저장되지만 데이터는 데이터베이스 외부에 저장되는 읽기 전용 테이블입니다.
외부 테이블
-
액세스 드라이버 유형: 외부 테이블의 유형을 지정합니다.
-
ORACLE_LOADER: 텍스트 데이터 파일에서 데이터를 추출합니다. 이것은 External Table에서 내부 테이블로 데이터를 로드하는 기본 액세스 드라이버입니다.
-
ORACLE_DATAPUMP: 이진 덤프 파일에서 데이터를 추출합니다. 이 액세스 드라이버는 로드 및 언로드를 모두 수행할 수 있습니다.
-
ORACLE_BIGDATA: Oracle Big Data Appliance에서 데이터를 추출합니다.
-
ORACLE_HDFS: HDFS(Hadoop 분산 파일 시스템)에 저장된 데이터를 추출합니다.
-
ORACLE_HIVE: Apache HIVE에 저장된 데이터를 추출합니다.
-
-
기본 디렉토리: 디렉토리 객체의 이름을 명시적으로 지정하지 않는 모든 입력 및 출력 파일에 사용할 기본 디렉토리를 지정합니다. 위치는 디렉토리 경로가 아닌 디렉토리 객체로 지정됩니다.
-
액세스 매개변수: 외부 테이블에 대한 특정 액세스 드라이버의 매개변수에 값을 지정합니다. 액세스 매개변수는 선택 사항입니다.
-
OPAQUE_FORMAT_SPEC: OPAQUE_FORMAT_SPEC은 ORACLE_LOADER, ORACLE_DATAPUMP, ORACLE_HDFS 및 ORACLE_HIVE 액세스 드라이버에 대한 모든 액세스 파라미터를 지정합니다. 액세스 매개변수에 대한 설명은 Oracle AI Database Utilities를 참조하십시오. opaque_format_spec에 지정된 필드 이름은 테이블 정의의 열과 일치해야 하며 그렇지 않으면 Oracle Database에서 무시합니다.
-
USING CLOB: subquery를 통해 파라미터 및 해당 값을 파생할 수 있습니다. subquery는 집합 연산자나 ORDER BY 절을 포함할 수 없습니다. CLOB 데이터 유형의 단일 항목을 포함하는 하나의 행을 반환해야 합니다.
-
-
거부 제한: Oracle Database 오류가 반환되고 질의가 중단되기 전, 외부 데이터 질의 중에 발생할 수 있는 변환 오류 횟수입니다.
-
프로젝트 열: 액세스 드라이버가 후속 질의에서 외부 테이블의 행을 검증하는 방법을 결정합니다.
-
ALL: 선택된 열에 관계없이 모든 열 값을 처리하고 완전히 적합한 열 항목이 있는 행만 검증합니다. 열 값에 데이터 유형 변환 오류와 같은 오류가 발생하면 해당 열이 query의 select 리스트에서 참조되지 않은 경우에도 행이 거부됩니다.
-
REFERENCED: query의 select 리스트에 있는 열만 처리합니다.
ALL 설정은 일관된 결과 집합을 보장합니다. REFERENCED 설정은 후속 query에서 참조되는 열에 따라 반환되는 행의 수가 다를 수 있지만 ALL 설정보다 빠릅니다. 후속 query에서 External Table의 모든 열을 선택하면 설정은 동일하게 동작합니다.
-
-
위치: 외부 테이블에 대한 데이터 파일을 지정합니다. 추가(+) 아이콘을 사용하여 각 위치 지정을 추가합니다.
-
ORACLE_LOADER 및 ORACLE_DATAPUMP의 경우 파일 이름은
directory:file형식으로 지정됩니다. 디렉토리 부분은 선택 사항입니다. 누락된 경우 기본 디렉토리가 파일의 디렉토리로 사용됩니다. ORACLE_LOADER 액세스 드라이버를 사용하는 경우 파일 이름에 와일드카드를 사용할 수 있습니다. 별표(*)는 여러 문자를 나타내고 물음표(?)는 단일 문자를 나타냅니다. -
ORACLE_HDFS의 경우 LOCATION은 디렉토리나 파일에 대한 URI(Uniform Resource Identifiers) 목록입니다. URI와 연관된 디렉토리 객체가 없습니다.
-
ORACLE_HIVE의 경우 LOCATION이 사용되지 않습니다. 대신, Hadoop HCatalog 테이블을 읽어 데이터 소스의 위치(파일 또는 다른 데이터베이스일 수 있음)에 대한 정보를 얻습니다.
-
불투명 형식 사양
ORACLE_LOADER, ORACLE_DATAPUMP, ORACLE_HDFS 및 ORACLE_HIVE 액세스 드라이버에 대한 모든 액세스 파라미터를 지정합니다.
예:
RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
TERRITORY AMERICA
BADFILE log_file_dir:'ext_1v3.bad'
LOGFILE log_file_dir:'ext_1v3.log'
FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY '^' LDRTRIM
( PROD_ID,
CUST_ID ,
TIME_ID DATE(10) "YYYY-MM-DD",
CHANNEL_ID ,
PROMO_ID ,
QUANTITY_SOLD ,
AMOUNT_SOLD ,
UNIT_COST ,
UNIT_PRICE
)
전체 명령문:
CREATE TABLE SH.SALES_TRANSACTIONS_EXT
(
PROD_ID NUMBER ,
CUST_ID NUMBER ,
TIME_ID DATE ,
CHANNEL_ID NUMBER ,
PROMO_ID NUMBER ,
QUANTITY_SOLD NUMBER ,
AMOUNT_SOLD NUMBER (10,2) ,
UNIT_COST NUMBER (10,2) ,
UNIT_PRICE NUMBER (10,2)
)
ORGANIZATION EXTERNAL
(
TYPE ORACLE_LOADER
DEFAULT DIRECTORY DATA_FILE_DIR
ACCESS PARAMETERS
(
RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII
TERRITORY AMERICA
BADFILE log_file_dir:'ext_1v3.bad'
LOGFILE log_file_dir:'ext_1v3.log'
FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY '^' LDRTRIM
( PROD_ID ,
CUST_ID ,
TIME_ID DATE(10) "YYYY-MM-DD",
CHANNEL_ID ,
PROMO_ID ,
QUANTITY_SOLD ,
AMOUNT_SOLD ,
UNIT_COST ,
UNIT_PRICE
)
)
LOCATION ( "DATA_FILE_DIR":'sale1v3.dat')
)
REJECT LIMIT 100
;CLOB 하위 질의
조회를 입력하거나 복사하여 붙여넣습니다.
주:
외부 테이블 필드에 대한 자세한 내용은 Oracle AI Database Utilities 및 Oracle AI Database SQL Language Reference를 참조하십시오.
상위 항목: 테이블 속성 대화상자
구체화된 뷰 창
구체화된 뷰에 대한 옵션을 지정합니다.
질의: 뷰 정의의 질의 부분에 대한 SQL 코드를 포함합니다. 조회를 입력하거나 복사하여 붙여 넣습니다.
일반 사항
-
사전 작성된 테이블: 예인 경우 기존 테이블이 사전 초기화된 구체화된 뷰로 등록됩니다. 이 옵션은 특히 데이터 웨어하우징 환경에서 큰 Materialized View를 등록할 때 유용합니다. 테이블 이름은 결과 Materialized View와 동일한 스키마에 있어야 하고 테이블은 subquery의 Materialization을 반영해야 합니다.
-
축소된 전체 자릿수: 예를 지정하십시오. 테이블 또는 구체화된 뷰 열의 모든 자릿수가 하위 질의에 반환된 전체 자릿수와 정확히 일치하지 않을 경우 발생하는 전체 자릿수 손실을 허용합니다. 아니오인 경우 테이블 또는 구체화된 뷰 열의 모든 자릿수가 하위 질의에 반환한 전체 자릿수와 정확히 일치해야 하며, 그렇지 않을 경우에는 생성 작업이 실패합니다.
-
업데이트의 경우: 하위 질의, 기본 키, 객체 또는 ROWID 구체화된 뷰를 업데이트할 수 있도록 하려면 예를 선택합니다. 고급 복제와 함께 사용하면 이러한 업데이트가 마스터로 전파됩니다.
-
실시간 MV: 실시간 구체화된 뷰 또는 일반 뷰를 생성하려면 예를 선택합니다. 실시간 Materialized View는 데이터 변경으로 인해 Materialized View가 기본 테이블과 동기화되지 않은 경우에도 유저 Query에 새로운 데이터를 제공합니다. 최적기는 구체화된 뷰를 수정하는 대신 구체화된 뷰의 기존 행을 로그 파일에 기록된 변경 사항(구체화된 뷰 로그 또는 직접 로더 로그)과 결합하는 질의를 작성합니다. 이를 쿼리 계산이라고 합니다.
-
질의 재작성: 사용인 경우 구체화된 뷰가 질의 재작성에 대해 사용으로 설정되며, 마스터 테이블과 관련하여 작성된 사용자 요청을 하나 이상의 구체화된 뷰가 포함된 의미상 동등한 요청으로 변환합니다.
-
빌드: 구체화된 뷰를 채울 시기를 지정합니다. 즉시는 구체화된 뷰가 즉시 채워질 것임을 나타냅니다. 지연됨은 구체화된 뷰가 다음 새로 고침 작업에 의해 채워짐을 나타냅니다. Deferred를 지정하는 경우의 첫번째(deferred) refresh는 항상 complete refresh에 있어야 합니다. 그 때까지는 Materialized view의 실효성 값을 사용할 수 없으므로 Query Rewrite에 사용할 수 없습니다.
-
인덱스 사용: 예인 경우 기본 인덱스가 생성되고 구체화된 뷰의 증분(빠른) 새로 고침 속도를 높이는 데 사용됩니다. 아니오인 경우 이 기본 인덱스가 생성되지 않습니다. 예를 들어, 인덱스를 지금 생성하지 않고 나중에 명시적으로 생성하도록 선택할 수 있습니다.
-
인덱스 테이블스페이스: 구체화된 뷰가 생성될 테이블스페이스를 지정합니다. 테이블스페이스를 선택하지 않으면 구체화된 뷰가 구체화된 뷰를 포함하는 스키마의 기본 테이블스페이스에 생성됩니다.
-
캐시: 예인 경우 이 테이블에 대해 검색된 블록이 버퍼 캐시에서 가장 최근에 사용된 LRU(Least Recently Used) 목록 끝에 배치됩니다. 이 설정은 소형 조회 테이블에 유용합니다. 아니오인 경우 블록은 LRU 목록의 가장 오래 전에 사용된 끝에 배치됩니다.
절 새로고침
-
새로고침: 새로고침 작업을 사용으로 설정하려면 예를 선택합니다.
-
새로 고침 유형: 수행할 새로 고침 작업 방법:
-
Complete Refresh: Fast Refresh가 가능한 경우에도 Materialized view의 정의 query를 실행합니다.
-
Fast Refresh: Incremental Refresh 방식을 사용합니다. 이 방식은 마스터 테이블에 발생한 변경 사항에 따라 Refresh를 수행합니다. 기본 DML 변경 사항에 대한 변경 사항은 마스터 테이블과 연관된 구체화된 뷰 로그에 저장됩니다. 직접 경로 INSERT 작업에 대한 변경 사항은 직접 로더 로그에 저장됩니다.
-
Force Refresh: 가능한 경우 Fast Refresh를 수행하고 그렇지 않은 경우 Complete Refresh를 수행합니다.
-
-
작업: 수행할 새로고침 작업 유형:
-
On Demand: DBMS_MVIEW refresh 프로시저 중 하나가 호출되면 refresh를 수행합니다.
-
커밋 시: 데이터베이스가 Materialized view의 마스터 테이블에 대해 작동하는 트랜잭션을 커밋할 때마다 Fast Refresh를 수행합니다. 데이터베이스가 커밋 프로세스의 일부로 Refresh 작업을 수행하므로 커밋을 완료하는 데 걸리는 시간이 늘어날 수 있습니다.
-
지정: 시작 날짜 및 다음 필드에 지정한 내용에 따라 새로 고침 작업을 수행합니다.
-
-
시작 날짜: 첫번째 자동 새로고침 작업의 시작 날짜 및 시간입니다. 미래에 있어야 합니다.
-
다음 날짜: 다음 자동 새로고침 작업의 시간입니다. 시작 날짜와 다음 시간 사이의 간격은 후속 자동 새로 고침 작업 간격을 설정합니다. 값을 지정하지 않으면 새로 고침 작업은 시작 날짜에 지정된 시간에 한 번만 수행됩니다.
-
사용: 구체화된 뷰의 유형을 결정하는 새로고침 유형:
-
Primary Key: 빠른 새로 고침을 위한 Materialized View의 적합성에 영향을 주지 않고 Materialized View 마스터 테이블을 재구성할 수 있는 Primary Key Materialized View를 생성합니다.
-
Row ID: rowid materialized view를 생성합니다. 이 뷰는 materialized view가 마스터 테이블의 모든 primary key 열을 포함하지 않는 경우 유용합니다.
-
-
기본 저장 영역: [예]인 경우 DEFAULT는 Oracle Database가 사용할 롤백 세그먼트를 자동으로 선택하도록 지정합니다. DEFAULT를 지정하면 rollback_segment를 지정할 수 없습니다. DEFAULT는 Materialized View를 생성하는 대신 수정할 때 가장 유용합니다.
-
저장 영역 유형: MASTER는 개별 구체화된 뷰에 대해 원격 마스터 사이트에서 사용할 원격 롤백 세그먼트를 지정합니다. LOCAL은 구체화된 뷰를 포함하는 로컬 새로 고침 그룹에 사용할 원격 롤백 세그먼트를 지정합니다. 이는 기본값입니다.
-
롤백 세그먼트: 롤백 세그먼트의 이름을 입력합니다.
-
제약 조건 사용: 이 옵션을 선택하면 새로 고침 작업 중 더 많은 재작성 대안을 사용할 수 있으므로 새로 고침 실행의 효율성이 향상됩니다. 이 옵션의 동작은 [강제] 또는 [신뢰]를 선택했는지 여부에 따라 달라집니다.
-
Enforced: Refresh 작업 중에 강제 적용된 제약 조건만 사용합니다.
-
Trusted: 데이터베이스 관리자가 신뢰할 수 있지만 데이터베이스에 의해 검증되지 않은 차원 및 제약 조건 정보를 사용할 수 있습니다. 차원 및 제약 조건 정보가 유효하면 성능이 향상될 수 있습니다. 그러나 이 정보가 유효하지 않으면 Refresh 프로시저가 성공 상태를 반환하더라도 Materialized View가 손상될 수 있습니다.
-
상위 항목: 테이블 속성 대화상자
DDL 창
객체를 생성하거나 편집할 때 생성되는 SQL 문을 검토하고 저장할 수 있습니다. 변경하려는 경우 관련 창으로 돌아가서 내용을 변경합니다.
-
새 테이블의 경우 CREATE를 눌러 생성된 DDL 문을 확인합니다.
-
테이블 속성을 편집할 때 UPDATE를 눌러 생성된 ALTER 문을 확인합니다. 새 테이블의 경우 UPDATE 탭을 사용할 수 없습니다.
모두 마쳤으면 적용을 누릅니다.
상위 항목: 테이블 속성 대화상자
출력 창
DDL 명령의 결과를 표시합니다. 오류가 있는 경우 해당 창으로 이동하여 오류를 수정하고 명령을 다시 실행합니다. 텍스트 파일에 저장하거나 출력을 지울 수 있습니다.
상위 항목: 테이블 속성 대화상자
인덱스 속성 대화상자
인덱스를 생성하거나 편집할 때 [인덱스 속성] 대화상자가 표시됩니다.
선택한 스키마에 대한 인덱스를 생성하려면 SQL의 [네비게이터] 탭에서 객체 유형 드롭다운 목록에서 인덱스를 선택하고 [객체] 하위 메뉴
를 누른 다음 객체 생성을 선택합니다.
선택한 스키마에 대한 인덱스를 편집하려면 [네비게이터] 탭에서 테이블 객체를 마우스 오른쪽 단추로 누르고 편집을 선택합니다.
정의 창
-
스키마: 인덱스와 연관된 테이블을 소유하는 데이터베이스 스키마입니다.
-
테이블: 인덱스와 연관된 테이블의 이름입니다.
-
스키마: 인덱스를 생성할 데이터베이스입니다.
-
테이블스페이스: 인덱스에 대한 테이블스페이스입니다.
-
이름: 인덱스 이름입니다.
-
유형: Oracle 인덱스의 유형입니다.
-
고유하지 않음은 인덱스가 여러 개의 동일한 값을 포함할 수 있음을 의미합니다.
-
고유는 중복 값이 허용되지 않음을 의미합니다.
-
비트맵은 키 값과 연관된 rowids를 비트맵으로 저장합니다.
-
-
표현식: 열 이름 또는 열 표현식입니다. 열 표현식은 열, 상수, SQL 함수 및 유저 정의 함수에서 작성된 표현식입니다. 열 표현식을 지정할 때 함수 기반 인덱스를 생성합니다.
-
사용 가능한 열: 테이블에서 사용 가능한 열입니다.
-
선택된 열: 인덱스에 대해 선택된 열입니다. [선택한 열 추가] >를 클릭하여 [사용 가능한 열] 리스트에서 열을 이동합니다.
-
순서: 오름차순 인덱스의 경우 ASC(오름차순으로 정렬된 인덱스 값), 내림차순 인덱스의 경우 DESC(내림차순으로 정렬된 인덱스 값)
DDL 창
인덱스를 생성하거나 편집할 때 생성되는 SQL 문을 검토하고 저장할 수 있습니다. 변경하려는 경우 [정의] 창으로 돌아가서 내용을 변경합니다.
-
새 인덱스의 경우 CREATE를 눌러 생성된 DDL 문을 확인합니다.
-
인덱스 속성을 편집할 때 UPDATE를 눌러 생성된 ALTER 문을 확인합니다. 새 인덱스의 경우 UPDATE 탭을 사용할 수 없습니다.
모두 마쳤으면 적용을 누릅니다.
출력 창
DDL 명령의 결과를 표시합니다. 오류가 있는 경우 정의 창으로 이동하여 오류를 수정하고 명령을 다시 실행합니다. 텍스트 파일에 저장하거나 출력을 지울 수 있습니다.
상위 항목: 데이터베이스 객체 생성 및 편집
시퀀스 속성 대화상자
시퀀스 등록 정보 대화 상자는 시퀀스를 만들거나 편집할 때 표시됩니다.
선택한 스키마에 대한 시퀀스를 생성하려면 SQL의 네비게이터 탭에 있는 객체 유형 드롭다운 목록에서 시퀀스를 선택하고 [객체] 하위 메뉴
를 누른 다음 객체 생성을 선택합니다.
선택한 스키마에 대한 시퀀스를 편집하려면 [네비게이터] 탭에서 시퀀스 객체를 마우스 오른쪽 단추로 누르고 편집을 선택합니다.
시퀀스는 여러 유저가 고유한 정수를 생성할 수 있는 객체입니다. 시퀀스를 사용하여 Primary Key 값을 자동으로 생성할 수 있습니다.
등록정보 창
-
스키마: 시퀀스를 생성할 데이터베이스 스키마입니다.
-
이름: 시퀀스의 이름입니다.
-
다음으로 시작: 시퀀스의 시작 값입니다.
-
증분: 시퀀스에서 연속되는 숫자 사이의 간격입니다.
-
최소값: 시퀀스에 대해 가능한 가장 낮은 값입니다. 기본값은 오름차순 시퀀스의 경우 1이고 내림차순 시퀀스의 경우 -(10^26)입니다.
-
최대값: 시퀀스에 대해 가능한 최대값입니다. 기본값은 오름차순 시퀀스의 경우 10^27이고 내림차순 시퀀스의 경우 -1입니다.
-
캐시 및 캐시 크기:
Cache를 사용하면 시퀀스 값이 캐시에 미리 할당되므로 응용 프로그램 성능이 향상될 수 있습니다. 캐시 크기는 캐시에 미리 할당된 시퀀스 값 수를 나타냅니다.No Cache를 사용하면 시퀀스 값이 캐시에 미리 할당되지 않습니다. -
주기: 시퀀스가 최대값(오름차순 시퀀스의 경우)에 도달한 후 숫자를 재사용하도록 "줄바꿈"할지 아니면 최소값(내림차순 시퀀스의 경우)에 도달할지를 나타냅니다. 값 순환이 사용으로 설정되지 않은 경우 시퀀스는 최대값이나 최소값에 도달한 후 더 많은 값을 생성할 수 없습니다.
-
순서: 순번이 요청된 순서대로 생성되는지 여부를 나타냅니다. 주문 없음이 지정된 경우 순번이 요청된 순서대로 보장되지 않습니다.
DDL 창
시퀀스를 생성하거나 편집할 때 생성되는 SQL 문을 검토하고 저장할 수 있습니다. 변경하려는 경우 [속성] 창으로 돌아가서 변경사항을 적용합니다.
-
새 시퀀스의 경우 CREATE를 눌러 생성된 DDL 문을 확인합니다.
-
시퀀스를 편집할 때 UPDATE를 눌러 생성된 ALTER 문을 확인합니다. 새 시퀀스의 경우 UPDATE 탭을 사용할 수 없습니다.
완료되면 Apply를 누릅니다.
출력 창
DDL 명령의 결과를 표시합니다. 오류가 있는 경우 [속성] 창으로 이동하여 오류를 수정하고 명령을 다시 실행합니다. 텍스트 파일에 저장하거나 출력을 지웠습니다.
상위 항목: 데이터베이스 객체 생성 및 편집
뷰 속성 대화상자
뷰를 생성하거나 편집할 때 [뷰 속성] 대화상자가 표시됩니다.
SQL 또는 Data Modeler의 Navigator 탭에서 View Properties 대화상자를 열 수 있습니다.
선택한 스키마에 대한 뷰를 생성하려면 SQL의 네비게이터 탭에 있는 객체 유형 드롭다운 목록에서 뷰를 선택하고 [객체] 하위 메뉴
를 누른 다음 객체 생성을 선택합니다.
선택한 스키마에 대한 기존 템플리트에서 뷰를 생성하려면 [네비게이터] 탭에서 생성할 뷰를 선택하고 마우스 오른쪽 버튼을 누른 다음 템플리트로 사용을 선택합니다.
선택한 스키마에 대한 뷰를 편집하려면 [네비게이터] 창에서 뷰 객체를 마우스 오른쪽 단추로 누르고 편집을 선택합니다.
스키마: 뷰를 생성할 데이터베이스 스키마입니다.
이름: 뷰의 이름입니다.
대화상자의 여러 창은 다음 절에 설명되어 있습니다.
SQL 질의 창
원하는 정보를 검색하는 데 필요한 구문과 함께 SELECT 및 FROM 키워드를 사용하여 뷰에 대한 SQL 질의를 입력하거나 복사하여 붙여넣습니다. 질의 후에는 세미콜론이 필요하지 않습니다.
열 창
[열 새로고침]
을 눌러 이 창의 열을 자동으로 채웁니다. 필수 행을 선택하고 [머리글 별칭] 및 [주석] 필드를 변경하여 열을 편집할 수 있습니다.
저장소 창
-
생성 강제 적용: 뷰의 기본 테이블 또는 참조된 객체 유형이 존재하는지 또는 뷰를 포함하는 스키마의 소유자에 대한 권한이 있는지 여부에 관계없이 뷰를 생성하려면 예를 선택합니다. 뷰에 대해 SELECT, INSERT, UPDATE 또는 DELETE 문을 실행하려면 이러한 조건이 충족되어야 합니다. 뷰 정의에 제약 조건이 포함된 경우 CREATE VIEW ... 기본 테이블이 존재하지 않거나 참조된 객체 유형이 존재하지 않을 경우 FORCE가 실패합니다. 뷰 생성... 또한 뷰 정의에서 존재하지 않는 제약 조건의 이름을 지정하면 FORCE가 실패합니다.
-
질의 제한 사항: 읽기 전용은 뷰가 기본 테이블의 데이터를 추가, 삭제 또는 변경하는 데 사용되지 않도록 합니다.확인 옵션에서는 이 뷰에 포함되지 않은 행을 생성하는 기본 테이블을 변경할 수 없습니다.
기본 키, 고유 키, 외래 키 및 설명 창을 사용하여 필요에 따라 속성을 추가하거나 편집합니다.
DDL 창
제공된 입력에 준하여 DDL 문이 생성됩니다. SQL 문을 검토하고 저장할 수 있습니다. 변경하려는 경우 관련 창으로 돌아가서 내용을 변경합니다.
-
새 뷰의 경우 CREATE를 눌러 생성된 DDL 문을 확인합니다.
-
뷰를 편집할 때 UPDATE를 눌러 생성된 ALTER 문을 확인합니다. 새 뷰의 경우 UPDATE 탭을 사용할 수 없습니다.
모두 마쳤으면 Apply를 누릅니다.
출력 창
DDL 명령의 결과를 표시합니다. 오류가 있는 경우 해당 창으로 이동하여 오류를 수정하고 명령을 다시 실행합니다. 텍스트 파일에 저장하거나 출력을 지울 수 있습니다.
상위 항목: 데이터베이스 객체 생성 및 편집
동의어 속성 대화상자
동의어를 생성하면 [동의어 속성] 대화상자가 표시됩니다.
선택한 스키마에 대한 동의어를 생성하는 두 가지 방법이 있습니다.
-
SQL의 [탐색기] 탭에서 동의어를 생성할 객체를 마우스 오른쪽 단추로 누르고 동의어 추가를 선택합니다. 이 경우 [속성] 창에서 편집할 수 있는 필드는 공용 및 동의어 이름뿐입니다. 나머지 필드의 값은 선택한 객체에 의해 미리 결정됩니다.
-
SQL의 네비게이터 탭에 있는 드롭다운 목록에서 객체 유형을 동의어 또는 공용 동의어로 선택합니다. [객체] 하위 메뉴
를 누르고 객체 생성을 선택합니다. [속성] 대화상자의 모든 필드를 편집할 수 있습니다.
대화상자의 여러 창은 다음 절에 설명되어 있습니다.
등록정보 창
-
공용: 이 옵션을 선택하면 모든 사용자가 동의어에 액세스할 수 있습니다. 그러나 동의어를 사용하려면 각 사용자에게 기본 객체에 대한 적절한 권한이 있어야 합니다. 이 옵션을 선택하지 않으면 동의어는 전용 동의어이며 해당 스키마 내에서만 액세스할 수 있습니다.
-
동의어 스키마: 동의어를 생성할 데이터베이스 스키마입니다.
-
동의어 이름: 동의어의 이름입니다. 전용 동의어는 해당 스키마 내에서 고유해야 합니다. 공용 동의어는 데이터베이스 내에서 고유해야 합니다.
-
객체 유형: 이 동의어가 참조하는 객체 유형을 지정합니다.
-
객체 스키마: 이 동의어가 참조하는 객체 또는 이름을 포함하는 스키마입니다.
-
DB 필터: 객체 유형 및 객체 스키마를 선택한 후 선택한 유형의 객체 목록이 매우 길 수 있습니다. 객체 이름을 필터링하려면 검색 항목을 입력하고 Refresh
를 누릅니다. [오브젝트 이름] 필드는 드롭다운 리스트에 적절한 오브젝트 이름으로 자동 채워집니다.
-
객체 이름: 이 동의어가 참조하는 객체의 이름을 선택합니다.
-
DB 링크: 객체가 있는 원격 데이터베이스에서 스키마 객체에 대한 동의어를 생성하려면 전체 또는 부분 데이터베이스 링크를 입력합니다. DB 링크를 지정하고 스키마를 생략하면 동의어가 데이터베이스 링크로 지정된 스키마의 객체를 참조합니다. Oracle은 원격 데이터베이스의 객체를 포함하는 스키마를 지정할 것을 권장합니다. DB 링크를 생략하면 Oracle Database는 객체가 로컬 데이터베이스에 있다고 가정합니다.
DDL 창
제공된 입력에 준하여 DDL 문이 생성됩니다. SQL 문을 검토하고 저장할 수 있습니다. 변경하려는 경우 관련 창으로 돌아가서 내용을 변경합니다.
-
새 뷰의 경우 CREATE를 눌러 생성된 DDL 문을 확인합니다.
-
뷰를 편집할 때 UPDATE를 눌러 생성된 ALTER 문을 확인합니다. 새 뷰의 경우 UPDATE 탭을 사용할 수 없습니다.
모두 마쳤으면 Apply를 누릅니다.
출력 창
DDL 명령의 결과를 표시합니다. 오류가 있는 경우 해당 창으로 이동하여 오류를 수정하고 명령을 다시 실행합니다. 텍스트 파일에 저장하거나 출력을 지울 수 있습니다.
상위 항목: 데이터베이스 객체 생성 및 편집
구체화된 뷰 로그 속성 대화상자
구체화된 뷰 로그 속성 대화상자는 구체화된 뷰의 마스터 테이블과 연관된 테이블인 구체화된 뷰 로그를 생성하거나 편집할 때 표시됩니다.
선택한 스키마에 대한 구체화된 뷰 로그를 생성하려면 SQL의 [네비게이터] 탭에 있는 객체 유형 드롭다운 목록에서 구체화된 뷰 로그를 선택하고 [객체] 하위 메뉴
를 누른 다음 객체 생성을 선택합니다.
편집하려면 네비게이터 창에서 구체화된 뷰 로그 객체를 마우스 오른쪽 단추로 누르고 편집을 선택합니다.
스키마: 구체화된 뷰 로그를 생성할 데이터베이스 스키마입니다.
테이블: 이 구체화된 뷰 로그와 연관될 구체화된 뷰의 마스터 테이블 이름입니다.
등록 정보 탭
-
로그된 행 ID: 예는 변경된 모든 행의 rowid가 구체화된 뷰 로그에 기록되어야 함을 나타냅니다. 아니오는 변경된 모든 행의 rowid가 구체화된 뷰 로그에 기록되지 않아야 함을 나타냅니다.
-
PK 로깅됨: 예는 변경된 모든 행의 기본 키가 구체화된 뷰 로그에 기록되어야 함을 나타내고, 아니오는 변경된 모든 행의 기본 키가 구체화된 뷰 로그에 기록되지 않아야 함을 나타냅니다.
-
새 값: 예는 구체화된 뷰 로그에서 업데이트 DML 작업에 대한 이전 값과 새 값을 모두 저장합니다. 아니오는 구체화된 뷰 로그에서 새 값의 기록을 사용 안함으로 설정합니다. 이 로그가 단일 테이블 구체화 합계 뷰가 있는 테이블에 대한 것이고 구체화된 뷰의 빠른 새로 고침이 가능하도록 하려는 경우 Yes를 지정해야 합니다.
-
객체 ID 기록됨: 객체 테이블에 대한 로그의 경우에만: 예는 수정된 모든 행의 시스템 생성 또는 사용자 정의 객체 식별자가 구체화된 뷰 로그에 기록되어야 함을 나타냅니다. 아니오는 수정된 모든 행의 시스템 생성 객체 식별자 또는 사용자 정의 객체 식별자가 구체화된 뷰 로그에 기록되지 않아야 함을 나타냅니다.
-
캐시: 자주 액세스하는 데이터의 경우 CACHE는 전체 테이블 스캔이 수행될 때 이 로그에 대해 검색된 블록이 버퍼 캐시의 가장 최근에 사용한 LU 목록 끝에 놓이도록 지정합니다. 이 속성은 소형 조회 테이블에 유용합니다. NOCACHE는 블록이 LRU 목록의 가장 오래전에 사용된 품목 끝에 배치되도록 지정합니다.
-
병렬: 예인 경우 구체화된 뷰 로그에 대해 병렬 작업이 지원됩니다.
-
순서 기록됨: 예는 추가 순서 지정 정보를 제공하는 시퀀스 값이 구체화된 뷰 로그에 기록되어야 함을 나타냅니다. 아니오는 추가 순서 지정 정보를 제공하는 시퀀스 값이 구체화된 뷰 로그에 기록되지 않아야 함을 나타냅니다. 시퀀스 번호는 일부 갱신 시나리오 이후 빠른 새로 고침을 지원하는 데 필요합니다. 즉, 이 옵션의 경우 Yes입니다.
-
SCN 커밋: 이 옵션이 사용으로 설정된 경우 데이터베이스에 시간 기록이 아닌 커밋 SCN 데이터를 사용하도록 지시합니다.
-
사용 가능한 열 및 선택된 열: 구체화된 뷰 로그에 기록될 하위 질의 구체화된 뷰에서 참조하는 비기본 키 열인 추가 열입니다. 하나 이상의 필터 열을 선택하려면 화살표 단추를 사용하여 [사용 가능]에서 [선택됨]으로 열을 이동합니다.
스토리지 탭
-
테이블스페이스: 구체화된 뷰 로그가 생성될 테이블스페이스
-
로깅: YES 또는 NO - 구체화된 뷰 로그에 대한 로깅 특성을 설정합니다.
-
버퍼 모드: 세그먼트의 블록을 KEEP 버퍼 풀에 넣으려면 KEEP를 선택합니다. 세그먼트의 블록을 RECYCLE 풀에 넣으려면 RECYCLE을 선택합니다. DEFAULT를 선택하여 기본 버퍼 풀을 나타냅니다.
-
사용 가능한 백분율: 이후 객체 행 업데이트용으로 예약된 데이터베이스 객체의 각 데이터 블록에 있는 공간의 백분율을 나타내는 정수를 지정합니다. PCTFREE의 값은 0에서 99 사이의 값이어야 합니다.
-
사용된 백분율: Oracle이 데이터베이스 객체의 각 데이터 블록에 대해 유지 관리하는 사용된 공간의 최소 백분율을 나타내는 정수를 지정합니다. PCTUSED는 0에서 99까지의 양의 정수로 지정되며 기본값은 40입니다.
-
비트랜: 데이터베이스 객체에 할당되는 각 데이터 블록 내에서 할당되는 동시 트랜잭션 항목의 초기 수를 지정하십시오. 이 값의 범위는 1에서 255까지이며 기본값은 1입니다.
-
자유 목록: 수동 세그먼트 공간 관리를 사용하는 테이블스페이스에서 테이블스페이스 및 롤백 세그먼트 이외의 객체에 대해 테이블, 분할 영역, 클러스터 또는 인덱스에 대한 각 사용 가능한 목록 그룹의 사용 가능한 목록 수를 지정합니다. 이 매개변수의 기본값과 최소값은 1입니다. 이것은 각 사용 가능한 목록 그룹에 하나의 무료 목록이 포함되어 있음을 의미합니다.
-
자유 목록 그룹: 수동 세그먼트 공간 관리가 있는 테이블스페이스에서 생성 중인 데이터베이스 객체에 대한 사용 가능한 목록 그룹 수를 지정합니다.
-
초기 확장 영역: 객체의 첫번째 확장 영역의 크기를 지정합니다.
-
다음 확장 영역: 객체에 할당할 다음 확장 영역 크기를 바이트 단위로 지정합니다.
-
백분율 증가: 로컬로 관리되는 테이블스페이스에서 Oracle Database는 세그먼트 생성 중 PCTINCREASE 값을 사용하여 초기 세그먼트 크기를 결정하고 이후 공간 할당 시 이 매개변수를 무시합니다.
-
최소 확장 영역: 로컬에서 관리되는 테이블스페이스에서 Oracle Database는 PCTINCREASE, INITIAL 및 NEXT와 함께 MINEXTENTS 값을 사용하여 초기 세그먼트 크기를 결정합니다.
-
최대 확장 영역: 이 저장 영역 매개변수는 딕셔너리 관리 테이블스페이스의 객체에 대해서만 유효합니다. 첫번째 확장 영역을 포함하여 Oracle이 객체에 대해 할당할 수 있는 총 확장 영역 수를 지정하십시오.
-
무제한: 필요에 따라 확장 영역을 자동으로 할당하려면 이 옵션을 선택합니다. Oracle은 단편화를 최소화하기 위해 이 설정을 권장합니다.
삭제 탭
-
유형: IMMEDIATE SYNCHRONOUS에서 구체화된 뷰 로그는 새로고침 후 즉시 비워집니다. 이는 기본값입니다. IMMEDIATE ASYNCHRONOUS에서 구체화된 뷰 로그는 새로고침 작업 후 별도의 Oracle Scheduler 작업에서 비워집니다.
-
Deferred, Start With, Next, Repeat Interval: 구체화된 뷰 새로 고침과 무관하며 CREATE 또는 ALTER MATERIALIZED VIEW LOG 문 중 시작되는 일정이 잡힌 비우기를 설정합니다.
새로고침 탭
-
유형: 동기 새로고침은 동기 새로고침에 사용할 수 있는 스테이징 로그를 생성합니다. 생성할 스테이징 로그의 이름을 지정합니다. 스테이징 로그는 마스터 테이블이 상주하는 스키마에 생성됩니다. 빠른 새로 고침은 빠른 새로 고침에 사용할 수 있는 구체화된 뷰 로그를 생성합니다. 구체화된 뷰 로그는 마스터 테이블이 상주하는 동일한 스키마에 생성됩니다. 이는 기본값입니다.
DDL 창
제공된 입력에 준하여 DDL 문이 생성됩니다. SQL 문을 검토하고 저장할 수 있습니다. 변경하려는 경우 관련 창으로 돌아가서 내용을 변경합니다.
-
새 구체화된 뷰 로그의 경우 CREATE를 눌러 생성된 DDL 문을 확인합니다.
-
구체화된 뷰 로그를 편집할 때 UPDATE를 눌러 생성된 ALTER 문을 확인합니다. 새 구체화된 뷰 로그의 경우 UPDATE 탭을 사용할 수 없습니다.
모두 마쳤으면 Apply를 누릅니다.
출력 창
DDL 명령의 결과를 표시합니다. 오류가 있는 경우 해당 창으로 이동하여 오류를 수정하고 명령을 다시 실행합니다. 텍스트 파일에 저장하거나 출력을 지울 수 있습니다.
상위 항목: 데이터베이스 객체 생성 및 편집
암시적 외래 키
암시적 외래 키는 테이블 간에 존재하지만 데이터베이스에 정의되지 않은 종속성입니다. 데이터 웨어하우스 환경에서는 Foreign Key를 생성하지 않는 것이 일반적입니다. 그러나 프리젠테이션 또는 보고를 위해 이러한 종속성을 표시해야 합니다.
스타 스키마의 객체에 대해 암시적 외래 키를 정의하거나 데이터 딕셔너리에서 객체를 검색하여 표시할 수 있습니다. 암시적 외래 키에 대한 소스가 두 개 이상 있을 수 있습니다.
암시적 외래 키 정의
암시적 외래 키는 다음 두 가지 방법으로 정의할 수 있습니다.
-
암시적 외래 키 대화 상자 사용
-
다이어그램에서 참조된 객체로 화살표 끌기
암시적 외래 키 대화상자 사용
Data Modeler의 Implied Foreign Keys 대화상자를 사용하여 암시적 외래 키를 정의할 수 있습니다.
-
데이터 모델러 다이어그램에서 객체(테이블 또는 뷰)를 마우스 오른쪽 단추로 누르고 암시된 외래 키를 선택합니다.
그림 3-17 객체에 대한 암시적 외래 키 선택
Implied Foreign Keys(암시된 외래 키) 대화 상자가 표시됩니다.
-
Implied Foreign Keys(암시된 외래 키) 대화상자에서 +를 눌러 그리드에 항목을 추가합니다.
-
그리드에서 항목을 선택하여 사용으로 설정하고 다음 필드에 값을 입력합니다.
-
참조된 객체: 소스 객체에 대한 종속성이 있는 다이어그램의 객체입니다.
-
로컬 열: 소스 객체의 열 이름입니다.
-
참조된 열: 대상 객체에 있는 열의 이름입니다.
-
검색 소스: 자동으로 미리 채워지고 암시적 외래 키가 데이터 딕셔너리에서 정의되었는지 아니면 검색되었는지를 표시합니다.
-
-
확인을 누릅니다. 암시적 외래 키 종속성은 도표에 점선으로 표시됩니다.
그림 3-18 두 객체 사이의 점선

다이어그램에서 참조된 객체로 화살표 끌기
다음과 같은 방법으로 암시적 외래 키를 정의할 수도 있습니다.
-
다이어그램에서 소스 객체를 선택합니다.
-
파란색 표시기가 있는 작은 곡선 화살표를 눌러 참조된 객체로 끕니다. 종속성이 다이어그램에 점선으로 표시됩니다.
-
소스 객체를 마우스 오른쪽 버튼으로 누르고 Implied Foreign Keys(암시된 외래 키) 대화상자에 열 이름을 입력합니다.
데이터 딕셔너리에서 암시적 외래 키 검색
스타 스키마는 데이터 딕셔너리에서 여러 유형의 정의를 검색하여 검색할 수 있습니다.
네비게이터 탭에서 객체(테이블 또는 뷰)를 마우스 오른쪽 단추로 누르고 다이어그램에 스타 스키마로 객체 추가를 선택합니다. 객체는 사실 값 테이블이어야 합니다. 그런 다음 다음과 같이 객체와 관련된 조인 및 종속성을 데이터 딕셔너리에서 검색합니다.
-
선택한 테이블에 대해 정의된 외래 키가 다른 테이블에 있습니다. 나중에 동일한 열에 대해 암시된 외래 키가 검색되면 도표에 표시되지 않습니다.
-
비트맵 조인 인덱스 정의, 합계가 있는 구체화된 뷰 및 속성 클러스터화에 사용되는 조인입니다.
-
차원 정의 및 사실 값 테이블의 열 이름 일치에 기반한 종속성입니다.
-
분석 뷰와 OLAP 큐브 및 차원에 대한 팩트 및 차원 정의입니다.
상위 항목: 데이터베이스 객체 생성 및 편집




