상세 컨텐츠

본문 제목

[오라클 스터디] DDL 명령과 딕셔너리

프로그래밍 도서

by DeepinDev 2024. 12. 9. 00:10

본문

1. Delete, Truncate, Drop의 차이

Delete는 데이터를 삭제하지만 메모리는 그대로 둔다. Truncate는 그에 비해 메모리를 날린다. 하지만 Table의 컬럼은 그대로 남아있는다. Drop은 메모리도 날리고 컬럼까지 그대로 날린다(인덱스와 제약조건 등 오브젝트도 다 삭제). 

 

2. 읽기전용 테이블(read-only)로 변경하기

▷t_readonly테이블을 정의하고 no에는 1, name에는 'AAA'를 가진 레코드를 삽입한다. 

 

 

 

 

 

 

 

 

 

▷ t_readonly 테이블을 읽기전용으로 세팅한다. 그러면 쓰기(적재) 시 에러가 발생한다. 

 

 

 

 

 

3. 가상 컬럼 테이블 사용하기

특정 컬럼값들의 연산결과를 하나의 컬럼으로 세팅하거나 케이스문을 만들어 타 컬럼값에 따라 특정 값을 컬럼값으로 정하든지 하여 논리적인 컬럼을 따로 정의하는 것을 이야기한다.

col3이 가상컬럼을 나타내는 문법이다
자동으로 col3의 결과가 세팅된다

 

4. 데이터 딕셔너리(Data Dictionary)의 종류와 특징

데이터 딕셔너리는 데이터베이스를 운영하기 위해 메타데이터들을 특정한 테이블에 모아두고 관리하는 것

저장되는 주요 정보들

  • 오라클 데이터베이스의 메모리 구조와 파일에 대한 구조 정보
  • 각 오브젝트들이 사용하고 있는 공간의 정보
  • 제약 조건 정보
  • 사용자에 대한 정보
  • 권한이나 프로파일, 롤에 대한 정보
  • 감사(Audit)에 대한 정보

종류

  • -- 구분기준 1
  • Base Table (DBA도 접근할 수 없음)
  • Data Dictionary View (DBA포함 사용자들이 접근해서 딕셔너리를 SELECT할수 있는 것)
  • -- 그외 구분 기준
  • Static Dictionary : (수동으로 변경해주어야 한다는 뜻) DBA_, ALL_, USER_ 등으로 시작
    (조회 오브젝트의 수가 DBA_가 가장 많고, USER_가 자기가 생성한 오브젝트만 볼수 있다는 점에서 가장 제한적)
  • Dynamic Dictionary : V$로 시작 

Base Table은 create table시에 자동으로 만들어지나 Data Dictionary View는 Catalog.sql파일이 수행되어야만 만들어진다. 이 파일은 DBCA로 Database를 생성할때는 자동으로 수행되지만 CREATE DATABASE라는 명령어로 수동으로 Database를 생성할때는 수행되지 않으므로 DBA가 수동으로 생성해야 한다. 

'프로그래밍 도서' 카테고리의 다른 글

[오라클 DB스터디] 인덱스  (1) 2025.01.05
[오라클 스터디] DML  (0) 2024.12.15
rollup과 cube의 차이  (0) 2024.11.26
[오라클 스터디] JOIN 연습문제  (0) 2024.11.21
[오라클 스터디] 3. JOIN  (0) 2024.11.17

관련글 더보기

댓글 영역