코딩 공부/DB

[DB] 테이블 생성 및 관리

희원96 2022. 4. 7. 16:02

테이블 생성 및 관리

 

데이터베이스 객체

 

 

객체 설명
테이블 기본 저장 단위며 행과 열로 구성된다.
논리적으로 하나 이상의 테이블에 있는 데이터의 부분 집합을 나타낸다.
시퀀스 숫자 값 생성기입니다.
인덱스 질의의 성능을 향상시킵니다.
동의어 객체에 다른 이름을 제공합니다.

-테이블은 언제든지 생성할 수 있으며 사용자가 데이터베이스를 사용하는 중에도 생성할 수 있다.

-테이블 크기는 데이터베이스에 전체적으로 할당된 공간만큼 정의되므로 지정할 필요가 없다.

-테이블 구조는 온라인으로 수정할 수 있다.

 

이름 지정 규칙

1. 반드시 문자로 시작해야 한다.

2. 1자부터30자까지 사용 가능하다.

3. A-Z, a-z, 0~9,__,$,#만 포함해야 한다.

4. 동일한 사용자가 소유한 다른 객체의 이름과 중복되지 않아야 한다.

5. Oracle Server의 예약어가 아니어야 한다. ex) select 사용X

 

CREATE TABLE 문

오라클 데이터베이스의 테이블
  • 사용자 테이블

- 사용자가 생성 및 유지 관리하는 테이블의 collection입니다.

- 사용자가 정보를 포함합니다.

  • 데이터 딕셔너리

- Oracle Server가 생성 및 유지 관리하는 테이블의 collection입니다.

-데이터베이스 정보를 포함합니다.

접두어 설명
USER_ 사용자가 소유하는 객체에 관한 정보를 포함
ALL_ 사용자가 액세스할 수 있는 모든 테이블에 관한 정보를 포함
DBA_ 제한된 뷰로서 DBA롤을 할당 받은 사용자만 액세스 할 수 있다.
V$ 데이터베이스 서버 성능, 메모리 및 잠금에 대한 동적성능 뷰
데이터 유형

 

데이터 유형 설명
VARCHAR2 (#size) 가변 길이 문자 데이터
CHAR(size) 고정 길이 문자 데이터
NUMBER(p,#) 가변 길이 숫자 데이터
DATE 날짜 및 시간 값
LONG 최대 2GB의 가변 길이 문자 데이터
CLOB 최대 4GB의 문자 데이터
RAW 및 LONG RAW 원시 이진 데이터
BFILE 외부 파일에 저장된 이진 데이터(최대 4GB)
ROWID 테이블에서 행의 고유 주소를 나타내는 64진수

- size는 적절한 용량을 배정해준다.( x20%가 적절)

- 서브 쿼리를 사용하여 테이블을 생성한 경우  열은 복사되지 않는다.

- LONG 열은 GROUP BY 또는 ORDER BY절에 포함시킬 수 없다.

- LONG 열은 테이블 당 하나만 사용할 수 있다.

- LONG 열에는 제약 조건을 정의할 수 없다.

- LONG 열보다는 CLOB열을 사용하는것이 좋다.

 

DateTime 데이터

TimeStamp : 소수점 이하 초까지 포함하는 날짜

 

서브 쿼리 구문을 사용한 테이블 생성

- CRATE TABLE문과 서브쿼리 옵션을 결합하여 테이블을 생성하고 행을 삽입한다.

- 지정한 열 수를 서브 쿼리 열 수와 일치시켜야 한다.

- 열 이름 및 기본값을 사용하여 열을 정의한다.

 

90번부서에 근무하는 사원의 이름과 급여를 저장하는 dept90 테이블을 생성하시오.

ALTER TABLE문

-새 열 추가

 

 

-기존 열 수정

 

 

-열 삭제

 

SET UNUSED 옵션

-SET UNUSED 옵션을 사용하여 하나 이상의 열을 UNUSED로 표시한다.

- drop UNUSED COLUMNS 옵션을 사용하여 UNUSED로 표시된 열을 제거합니다.

 

 

테이블 삭제

- 테이블의 모든 데이터 및 구조를 삭제한다.

- 보류 중인 트랙잭션을 모두 커밋한다.

- 인덱스를 모두 삭제한다.

- DROP TABLE문은 롤백할 수 없다.