ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • data dictionary와 주석
    Oracle-diary/DDL 2020. 1. 29. 19:10
    요약
    DATA DICTIONARY 정의 만들어진 테이블의 정보를 한곳에 모아둔 것
    DICTIONARY에서 정보찾기 접두사+관사 keyword+복수형
    주석 생성 COMMENT ON DATATYPE DATATYPE명
    IS '주석 내용'
    -------------------------------------------------------------------------------------------------------------------------------------
    -------------------------------------------------------------------------------------------------------------------------------------
    data dictionary란?
     
    유지,관리를 위한 meta-data
    방대한 테이블 관리 정보들을 모아 놓ㅇㄴ 곳으로 지금까지 생성한 테이블 등 각종 테이블 정보를 볼 수가 있다.
    oracle을 설치하게 되면 기본으로 깔려 있는 존재다.
    주어진 권한에 따라 접근할 수 있는 테이블 갯수가 다르다 .
     
    ex)
     
    select*
    from dict
    하면 출력이 되는데 최소한의 권한일 지라도 많은양의 데이타가 출력된다.
     
     
    835 개의 행이 선택되었습니다. <-835개의 테이블이 있음.(scott이라는 개인 사용자에서 실행하면
    접근 가능한 테이블 갯수)
     
     
     
    2553 개의 행이 선택되었습니다. <-2553개의 테이블이 있음.(관리자 권한 하에서 볼 수 있는 테이블)
     
    *다른 사용자 계정 연결
    connect id/pw 입력
     
    *set sqlprompt "_user>"
     
     
    *desc dba_users
     
    "SYS"."DBA_USERS" 객체는 존재하지 않습니다. <-scott 권한으로는 사용자들에 대한 정보는 볼수 없다.
     
    SYSTEM>desc dba_users
    이름 널? 유형
    ----------------------------------------- -------- ------------ <-system에선 볼 수 있다.
     
    USERNAME NOT NULL VARCHAR2(30)
    USER_ID NOT NULL NUMBER
    PASSWORD VARCHAR2(30)
    ACCOUNT_STATUS NOT NULL VARCHAR2(32)
    LOCK_DATE DATE
    EXPIRY_DATE DATE
    DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
    TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
    CREATED NOT NULL DATE
    PROFILE NOT NULL VARCHAR2(30)
    INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
    EXTERNAL_NAME VARCHAR2(4000)
    PASSWORD_VERSIONS VARCHAR2(8)
    EDITIONS_ENABLED VARCHAR2(1)
    AUTHENTICATION_TYPE VARCHAR2(8)
     
     
     
    SYSTEM>select username,password
    2 from dba_users;
     
    USERNAME PASSWORD
    ------------------------------ ---------- <-password가 안보인다.보안상의 이유
    MGMT_VIEW
    SYS
    SYSTEM
    DBSNMP
    SYSMAN
    SCOTT
    OUTLN
    FLOWS_FILES
    MDSYS
    ORDSYS
    EXFSYS
     
     
     
    SYSTEM>select username,account_status
    2 from dba_users;
    ---------------------------------------------------------------------------------------------------------------
    data dictionary에서 원하는 자료를 찾는 방법?
     
    data dictionary는 하나의 사전이다.
    명령어는
    접두사+관사 keyword+복수형으로 이루어져 있다.
     
    =>user_: 내가 생성한 것과 관련된 정보. <-우리가 볼것
    all_: 접근 권한이 있는 모든것과 관련된 정보. <-고급개발자가 볼것
    dba_: dba만 접근해야하는 것과 관련된 정보. <-관리자 권한
    v$ : 동적(현재 DB 메모리 사용량,동시 접속자 수 등등)이면서 성능과 관련된 정보. <-관리자 권한
     
    ex)내가 만든 테이블 보기
     
    SCOTT>DESC USER_TABLES
    ^ ^
    내가만든,테이블들
     
    SCOTT>select table_name
    2 from user_tables;
    ---------------------------------------------------------------------------------------------------------
    *주석 생성
     
    SCOTT>COMMENT ON TABLE EMP
    2 IS 'EMPLOYEE TABLE';
     
    *테이블 이름에 주석을 다는 이유?
    다른 사람이 나의 소스코드나 명령어를 보았을때 흐름과 역할을 파악하기 위함. 협업시 중요하다.
     
    ESC USER_TAB_COMMENTS <-테이블과 관련된 주석을 볼 수 잇다. 명령어가 너무 길면 가운데 글자를 3글자로 줄인다.
     
    SELECT*FROM USER_TAB_COMMENTS;

    'Oracle-diary > DDL' 카테고리의 다른 글

    테이블 생성 &열의 성질  (0) 2020.01.29
    TABLE생성과 수정  (0) 2020.01.29

    댓글

Designed by Tistory.