2017-02-20 1 views
0

나는 약간의 db2 테이블 명명에 혼란스러워지고있다. DB2에서 우리는 ... 등 테이블, 스키마, 데이터베이스 이름, 이름, 테이블 이름을 보유하고 있습니다.
내 질문은 : 이 (가)이고 인 테이블의 이름을 쿼리 할 때 (즉, *를 선택하면) 무엇입니까? 어떤 상황 에서처럼 테이블 이름을으로 입력하면 작동하지 않습니다. (즉 테이블 스페이스스키마도 필요합니다.)
예를 들어, MySQL에서는 [데이터베이스] [테이블]입니다. 그러나 DB2는 어떻습니까?DB2 테이블의 전체 이름

많은 관심을 가져 주셔서 감사합니다. DB2에서

답변

2

당신은 데이터베이스에 연결 한 다음 인 최종 사용자에 대한 스키마 및 테이블 이름

schema.tablename 

에서 선택합니다. 백그라운드에서 닉네임이 계속되는 미친 일들이있을 수 있습니다. 어떤 경우 든 다른 서버 (페더레이션이있는 다른 서버까지)의 별칭이 될 수 있지만 쿼리의 관점에서는 schema.tablename 위치에 있습니다.

테이블과 indexspaces는 데이터가 디스크에 저장되는 위치를 매핑하는 데 내부적으로 사용하고 테이블을 작성하는 경우에만 중요합니다.

버퍼 풀은 데이터가 메모리에 저장된 위치를 매핑하기 위해 내부적으로 사용되며 테이블 공간을 생성 할 때만 중요합니다.

다른 목적 (뷰, 인덱스, 저장 프로 시저, 함수 및 시퀀스)는 이름에 특수 문자를 가질 수 있습니다 단지 테이블처럼

schema.<objectname> 

특수 문자 DB2에서

있습니다. 당신은 당신의 이름에 대문자와 소문자를 결합 할 경우

schema."tablename with space" 

지수도 필요한 특별한 이름 주위에 "를 사용합니다. 이름이 너무 선도적 실천하는 것입니다 대문자로 선언 된 경우 DB2는 대문자로 변환합니다 모든 이름에서 대문자와 밑줄을 사용하십시오 - 따옴표 붙이거나 대소 문자를 구분할 필요가 없습니다.