자원을 효율적으로 관리하기 위한 다양한 정보를 저장하는 시스템 테이블
사용자가 테이블을 생성하거나 사용자를 변경하는 등의 작업을 할 때
데이터베이스 서버에 의해 자동으로 갱신되는 테이블
USER_TABLES : 사용자가 작성한 테이블을 확인하는 뷰
SELECT * FROM USER_TABLES;
DESC : 테이블의 구조 표시
DESC MEMBER;
테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX),
프로시저(PROCEDURE), 트리거(TRIGGER), 함수(FUNCTION),
패키지(PACKAGE), 동의어(SYNONYM), 사용자(USER)
테이블의 컬럼에 주석을 다는 구문
COMMENT ON COLUMN 테이블명.컬럼명 IS '주석내용';
사용자가 원하는 조건의 데이터를 유지하기 위해 특정 컬럼에 사용하는 제약 조건
입력 데이터에 문제가 있는지, 데이터의 수정/삭제 가능 여부 등을 자동으로 검사하기 위해 사용
🌼 데이터 무결성 : 저장된 데이터의 정확성과 일관성을 보증하는 것 (중복 데이터 X)
NOT NULL
: 데이터에 NULL을 허용하지 않음 (반드시 값이 기록되어야 하는 경우 사용)
삽입/수정 시 NULL 값을 허용하지 않도록 컬럼 레벨에서 제한
UNIQUE
: 중복된 값을 허용하지 않음 (단, NULL 값은 중복 삽입 가능)
컬럼 레벨, 테이블 레벨에서 설정 가능
PRIMARY KEY ⭐ 한 테이블에 하나만 설정 가능
: NULL과 중복 값을 허용하지 않음 → 식별자(Identifier) 역할
컬럼 레벨, 테이블 레벨에서 설정 가능
FOREIGN KEY
: 참조되는 테이블의 컬럼의 값이 존재하면 허용 (참조 무결성 제약 조건)
PRIMARY KEY 컬럼, UNIQUE 컬럼만 외래키로 사용 가능
참조되는 값은 제공되는 값 외에 NULL 사용 가능
CHECK
: 저장 가능한 데이터 값의 범위나 조건을 지정하여 설정한 값만 허용
비교값은 리터럴만 사용 가능 (변하는 값 또는 함수 사용 불가)
⭐ 여러 컬럼을 묶어서 하나의 제약 조건으로 설정하였을 경우,
각 컬럼이 모두 제약 조건에 위배될 경우에만 에러 발생
CREATE TABLE USER_USED_FK(
USER_NO NUMBER PRIMARY KEY,
USER_NAME VARCHAR2(30),
GRADE_CODE NUMBER REFERENCES USER_GRADE (GRADE_CODE)
-- 컬럼 레벨 (제약 조건명 미지정)
GRADE_CODE NUMBER
);
CREATE TABLE USER_USED_FK(
USER_NO NUMBER PRIMARY KEY,
USER_NAME VARCHAR2(30),
GRADE_CODE NUMBER,
FOREIGN KEY (GRADE_CODE) REFERENCES USER_GRADE
-- 테이블 레벨(제약 조건명 미지정, 참조 컬럼 생략)
);