OracleDB - DDL
📘 DDL(DATA DEFINITION LANGUAGE)
- 데이터 정의 언어(객체 생성, 수정, 삭제)
- 객체(OBJECT)를 만들고(CREATE), 수정(ALTER)하고, 삭제(DROP) 등 데이터의 전체 구조를 정의하는 언어로 주로 DB관리자, 설계자가 사용한다.
📜 CREATE
- 테이블이나 인덱스, 뷰 등 다양한 데이터베이스 객체를 생성하는 구문으로 테이블로 생성된 객체는 DROP 구문을 통해 제거 할 수 있다.
✏ 테이블 생성하기
테이블이란?
- 행(row)과 열(column)으로 구성되는 가장 기본적인 데이터베이스 객체
- 데이터 배이스 내에서 모든 데이터는 테이블을 통해서 저장된다.
CREATE를 사용하여 테이블 만드는 방법
CREATE TABLE 테이블명 (
컬럼명 자료형(크기),
컬럼명 자료형(크기),
...);
✏ 컬럼에 주석 달기
- 데이터 정의 언어(객체 생성, 수정, 삭제)
- 객체(OBJECT)를 만들고(CREATE), 수정(ALTER)하고, 삭제(DROP) 등 데이터의 전체 구조를 정의하는 언어로 주로 DB관리자, 설계자가 사용한다.
- 테이블이나 인덱스, 뷰 등 다양한 데이터베이스 객체를 생성하는 구문으로 테이블로 생성된 객체는 DROP 구문을 통해 제거 할 수 있다.
CREATE TABLE 테이블명 (
컬럼명 자료형(크기),
컬럼명 자료형(크기),
...);
[표현식]
COMMENT ON COLUMN 테이블명.컬럼명 IS '주석내용';
📜 제약 조건(CONSTRAINTS)
- 사용자가 원하는 조건의 데이터만 유지하기 위해서 특정 컬럼에 설정하는 제약이다.
- 데이터 무결성 보장을 목적으로 한다.
--> 데이터 무결성이란? 중복 데이터 X, NULL X
- 입력 데이터에 문제가 없는지 자동으로 검사하는 목적
- 데이터의 수정/삭제 가능여부 검사등을 목적으로 한다.
--> 제약조건을 위배하는 DML 구문은 수행할 수 없음!
- 제약조건 종류
PRIMARY KEY, NOT NULL, UNIQUE, CHECK, FOREIGN KEY.
✏ NOT NULL
해당 컬럼에 반드시 값이 기록되어야 하는 경우 사용
삽입/수정시 NULL값을 허용하지 않도록 컬럼레벨에서 제한
✏ UNIQUE 제약조건
컬럼에 입력 값에 대해서 중복을 제한하는 제약조건
컬럼레벨에서 설정 가능, 테이블 레벨에서 설정 가능하다.
단, UNIQUE 제약 조건이 설정된 컬럼에 NULL 값은 중복 삽입 가능하다.
✏ PRIMARY KEY(기본키) 제약조건
테이블에서 한 행의 정보를 찾기위해 사용할 컬럼을 의미한다.
테이블에 대한 식별자(IDENTIFIER) 역할을 한다.
NOT NULL + UNIQUE 제약조건의 의미
한 테이블당 한 개만 설정할 수 있다.
컬럼레벨, 테이블레벨 둘다 설정 가능하다.
한 개 컬럼에 설정할 수도 있고, 여러개의 컬럼을 묶어서 설정할 수 있다.
✏ FOREIGN KEY(외부키 / 외래키) 제약조건
--> 다른 테이블의 PK 또는 UNIQUE 제약조건이 설정된 컬럼
참조(REFERENCES)된 다른 테이블의 컬럼이 제공하는 값만 사용할 수 있다.
FOREIGN KEY제약조건에 의해서 테이블간의 관계(RELATIONSHIP)가 형성된다.
제공되는 값 외에는 NULL을 사용할 수 있다.
[컬럼레벨일 경우]
컬럼명 자료형(크기) [CONSTRAINT 이름] REFERENCES 참조할 테이블명 [(참조할컬럼)][삭제룰]
[테이블레벨일 경우][CONSTRAINT 이름] FOREIGN KEY (적용할컬럼명) REFERENCES 참조할테이블명 [(참조할컬럼)][삭제룰]
--> 테이블 레벨에서만 FOREIGN KEY 단어가 사용된다.
참조될 수 있는 컬럼은 PRIMARY KEY컬럼과, UNIQUE 지정된 컬럼만 외래키로 사용할 수 있다.
참조할 테이블의 참조할 컬럼명이 생략이 되면, PRIMARY KEY로 설정된 컬럼이 자동 참조할 컬럼이 된다.
✏ CHECK 제약조건
컬럼에 기록되는 값에 조건 설정을 할 수 있다.
CHECK (컬럼명 비교연산자 비교값)
주의 : 비교값은 리터럴만 사용할 수 있음, 변하는 값이나 함수 사용 못한다.
Author And Source
이 문제에 관하여(OracleDB - DDL), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@orol116/OracleDB-DDL저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)