본문 바로가기
프로그래밍 공부/DBMS

[lesson] DBMS - DDL (데이터 정의어)

by Luna_lua 2021. 8. 11.
반응형

SQL문에서 오늘 배울 내용은 DDL입니다. 자! 오늘도 힘차게 배워볼까요!!!

 

<DDL (Data Deginition Language) : 데이터 정의어>

DDL은 주로 테이블 조작, 제어 관련된 쿼리문입니다.

 

1. CREATE : 테이블 생성

2. DROP : 테이블 삭제

+) (DML의 DELETE와 구분을 해야하며, DROP은 ROLLBACK이 되지 않고, 자동 COMMIT이 되기 때문에 꼭 주의하여 사용해야합니다.)

3. ALTER : 테이블 수정

                  - 테이블명 수정 : RENAME TO [새로운 테이블명]
                  - 컬럼 추가 : ADD([새로운 컬럼명] [컬럼 타입(데이터크기)])
                  - 컬럼명 변경 : RENAME COLUMN [생성된 컬럼명] TO [새로운 컬럼명]
                  - 컬럼 삭제 : DROP COLUMN [생성된 컬럼명]
                  - 컬럼 수정 : MODIFY([생성된 컬럼명] [컬럼 타입(데이터크기)])

4. TRUNCATE : 테이블 내용 전체 삭제 (테이블은 남아있고, 안의 내용물 전체 제거!)

+) TRUNCATE는 테이블 내용을 전체 삭제하므로, DELETE 보다 빠르게 처리할 수 있습니다.

    대용량 데이터 처리에 유리하지만 복구가 불가능하기 때문에(DDL으로 ROLLBACK이 불가능), 복구가 가능한(DML인)  DELETE를      사용하는것이 좋습니다.

-- CREATE
CREATE TABLE PRODUCT(
	PRODUCT_NUM NUMBER,
	PRODUCT_NAME VARCHAR2(2000),
	PRODUCT_PRICE NUMBER,
	PRODUCT_COUNT NUMBER,
CONSTRAINT PRODUCT_PK PRIMARY KEY(PRODUCT_NUM));

-- DROP
DROP TABLE PRODUCT;

-- ALTER
ALTER TABLE PRODUCT ADD GENDER VARCHAR2(100);

ALTER TABLE PRODUCT DROP COLUMN GENDER;

ALTER TABLE PRODUCT MODIFY GENDER VARCHAR(20);

-- TRUNCATE
TRUNCATE TABLE PRODUCT;

 

<자료형 (Type)>

(숫자)

 - NUMBER(precision) : 정수
 - NUMBER(precision, 소수점 자리수) : 실수
 - NUMBER : 생략 시 22byte까지 입력 가능(38자리 정수)

 

(문자열)

 - CHAR(길이) : 고정형
CHAR(4)에 'A'를 넣으면 A^^^ 빈 자리가 공백으로 채워진다.
형식을 정한 날짜, 주민등록번호처럼 글자 수가 절대 변하지 않는 값을 넣는다.

 - VARCHAR(길이), VARCHAR2(길이) : 가변형
값의 길이만큼 공간이 배정된다. 글자 수에 변화가 있는 값을 넣는다. 위에는 2가지 골라 쓸 수 있지만 VARCHAR2(길이)를 사용해야합니다! ORACLE에서 VARCHAR는 다른 키워드로 사용할 예정이라고 발표했다고 합니다!

 

(날짜)

 - DATE : FORMAT에 맞춰서 날짜를 저장하는 타입

 

 

<무결성>

무결성이란 데이터의 정확성, 일관성, 유효성이 유지되는것을 의미합니다.

 - 정확성 : 데이터는 애매하지 않아야 한다.
 - 일관성 : 각 사용자가 일관된 데이터를 볼 수 있도록 해야한다.
 - 유효성 : 데이터가 실제 존재하는 데이터여야 한다.

 

1. 개체 무결성 : 모든 테이블이 PK로 선택된 컬럼을 가져야 한다.

2. 참조 무결성 : 두 테이블의 데이터가 항상 일관된 값을 가지도록 유지하는 것.
3. 도메인 무결성 : 컬럼의 타입, NULL값의 허용 등에 대한 사항을 정의하고, 올바른 데이터가 입력되었는지를 확인하는 것.

 

 

테이블을 만들고 그에따른 데이터를 넣을 때 모델링이라는것을 통해 설계 및 테이블 생성을 합니다.

모델링이란 추상적인 주제를 DB에 맞게 설계하는 것이며, 5단계로 진행합니다. (예시로 설명 드리겠습니다.)

 

<모델링>

1. 요구사항 분석 : 회원, 주문, 상품으로 3개자 관리하고자 한다.

 

2. 개념적 설계(개념 모델링)

 

3. 논리적 설계(논리 모델링) :

개념적 설계와 달리 테이블 기본 구상시 회의를 통해 추가적으로 테이블을 구상할 수 있습니다.

 

4. 물리적 설계(물리 모델링)

5. 구현 (DBMS에서 작업)

 

 

반응형