초보 전산관리자 입니다.
우선 기초적인 질문에 양해를 구합니다.
저희 인프라 담당자분이 제가 운영중인 시스템에서
특정 DB 오브젝트 명을 이야기하시며 description 정보를 달라 하시는데요. ( 쿼리 튜닝 목적 )
여기서 DB 오브젝트의 description이라 함은 무엇인지.. 용어가 좀 어려워서요.
결국 테이블에 대한 각 컬럼에 대한 description을 이야기 하시는걸까요?
초보적인 질문이지만, 답변 주시면 감사하겠습니다.
5개의 답변이 있습니다.
사용 하는 시스템의데이터베이스 정보를 달라는 것 같은대
테이블 리스트 정보들 달라는 것 같은대 이게 맞는지 다시 확인을 해 보시는게
각 DB는 Table 로 구성이 되어 지는데,
그 Table 에 대한 세세한 정보를 달라고 하는거 같네요.
Table 의 항목이 어떻게 구성되어 있는지에 대한 정보 입니다.
sqlplus 나 golden, toad 등을 이용해서 DB 접속한 후에
describe 명령을 이용해서
desc 테이블명
과 같이 실행한 결과를 복사해서 전달하면 되지 않을까 싶어 보이네요.
주석, 설명
이런 의미입니다.
보통 테이블 정보 또는 정의서 등등 달라고 하죠
syntn | 약 2년 전
감사합니다 !
네.. 맞습니다.
DB에서 Table desciption 은 Table 정보를 말합니다.
Table 의 정보에느
■컬럼명
■data type
■사이즈
■Nullable (Null 여부)
■Comment
■제약조건 (PK, FK 등)
■Index
■tablespace 정보
오라클이면 제가 사용하는 SQL문 첨부합니다.
SELECT D.COLORDER AS COLUMN_IDX -- Column Index
, A.NAME AS TABLE_NAME -- Table Name
, C.VALUE AS TABLE_DESCRIPTION -- Table Description
, D.NAME AS COLUMN_NAME -- Column Name
, E.VALUE AS COLUMN_DESCRIPTION -- Column Description
, F.DATA_TYPE AS TYPE -- Column Type
, F.CHARACTER_OCTET_LENGTH AS LENGTH -- Column Length
, F.IS_NULLABLE AS IS_NULLABLE -- Column Nullable
, F.COLLATION_NAME AS COLLATION_NAME -- Column Collaction Name
FROM SYSOBJECTS A WITH (NOLOCK)
INNER JOIN SYSUSERS B WITH (NOLOCK) ON A.UID = B.UID
INNER JOIN SYSCOLUMNS D WITH (NOLOCK) ON D.ID = A.ID
INNER JOIN INFORMATION_SCHEMA.COLUMNS F WITH (NOLOCK)
ON A.NAME = F.TABLE_NAME
AND D.NAME = F.COLUMN_NAME
LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES C WITH (NOLOCK)
ON C.MAJOR_ID = A.ID
AND C.MINOR_ID = 0
AND C.NAME = 'MS_Description'
LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES E WITH (NOLOCK)
ON E.MAJOR_ID = D.ID
AND E.MINOR_ID = D.COLID
AND E.NAME = 'MS_Description'
WHERE 1=1
AND A.TYPE = 'U'
AND A.NAME = @TABLE_NAME
ORDER BY D.COLORDER
syntn | 약 2년 전
상세 설명 감사합니다 ^^