데이터베이스 객체
객체 | 설명 |
테이블 | 기본 저장 단위, 행으로 구성 |
뷰 | 하나 이상의 테이블에 있는 데이터의 부분 집합 |
시퀀스 | 숫자 값 생성 |
인덱스 | 일부 쿼리의 성능 향상 |
동의어 | 객체에 다른 이름 부여 |
이름 지정 규칙
- 문자로 시작
- 길이는 1 - 30자 사이
- A-Z, a-z, 0-9, _, $, #만 포함
- 동일한 유저가 소유한 다른 객체의 이름과 중복 X
- ORACLE 서버 예약어는 사용 X
CREATE TABLE 문
💡 다음 사항이 필요
- CREATE TABLE 권한
- 저장 영역
DEFAULT 옵션
- 리터럴 값, 표현식 또는 SQL 함수는 올바른 값
- 다른 열의 이름이나 pseudocolumn은 잘못된 값
- 기본 데이터 유형은 열 데이터 유형과 일치
데이터 유형
데이터 유형 | 설명 |
VARCHAR2 (size) | 가변 길이 문자 데이터 |
CHAR (size) | 고정 길이 문자 데이터 |
NUMBER (p, s) | 가변 길이 숫자 데이터 |
DATE | 날짜 및 시간 값 |
LONG | 가변 길이 문자 데이터 (최대 2GB) |
CLOB | 문자 데이터 (최대 4GB) |
RAW 및 LONG RAW | Raw binary data |
BLOB | 이진 데이터 (최대 4GB) |
BEILE | 외부 파일에 저장된 이진 데이터 (최대 4GB) |
ROWID | 테이블에 있는 행의 고유한 주소를 나타내는 base-64 숫자 체계 |
Datetime 데이터 유형
데이터 유형 | 설명 |
TIMESTAMP | 소수 표시 초 단위의 날짜 |
INTERVAL YEAR TO MONTH | 년 및 월 간격으로 저장됨 |
INTERVAL DAY TO SECOND | 일, 시, 분 및 초 간격으로 저장됨 |
제약 조건 포함
💡 테이블 레벨에서 규칙을 강제 적용 테이블에 종속 관계가 있는 경우 삭제 방지
유효한 제약 조건 유형
- NOT NULL
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
- CHECK
제약 조건 지침
💡 다음 시점 중 하나에서 제약 조건 생성
- 테이블이 생성되는 시점
- 테이블 생성 후
FOREIGN KEY 제약 조건: 키워드
- FOREIGN KEY : 테이블 제약 조건 레벨에서 하위 테이블 열 지정
- REFERENCES : 테이블 및 상위 테이블의 열 식별
- ON DELETE CASCADE : 상위 테이블의 행이 삭제될 때 하위 테이블의 종속 행 삭제
- ON DELETE SET NULL : 종속 Foreign Key 값을 NULL로 변환
CHECK 제약 조건
💡 각 행이 충족해야 하는 조건 정의
다음 표현식은 허용 X
- CURRVAL, NEXTVAL, LEVEL 및 ROWNUM pseudocolumn에 대한 참조
- SYSDATE, UID, USER 및 USERENV 함수 호출
- 다른 행의 다른 값을 참조하는 쿼리
ALTER TABLE 문
💡 ALTER TABLE문을 사용하여 다음 수행
- 새 열 추가
- 기존 열 정의 수정
- 새 열에 기본 값 정의
- 열 삭제
- 열 이름 바꾸기
- 읽기 전용 상태로 테이블 변경
테이블 삭제
💡 PURGE 절이 지정되면 테이블 및 해당 데이터를 완전히 제거