DDL - CREATE TABLE

DDL(Data Define Language, 데이터 정의어)

[ 형식 ]

CREATE TABLE 테이블명 ( 속성명 데이터_타입[DEFAULT 기본값] [NOT NULL]. ...
    [, PRIMARY KEY(기본키_속성명, ...)]
    [, UNIQUE(대체키_속성명, ...)]
    [, FOREIGN KEY(외래키_속성명, ...)]
        [REFERENCES 참조테이블(기본키_속성명, ...)]
        [ON DELETE옵션]
        [ON UPDATE옵션]
    [, CONSTRAINT 제약조건명][CHECK (조건식)] );

- DB구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어
- DDL은 번역한 결과가 데이터 사전(Data Dictionary)이라는 특별한 파일에 여러 개의 테이블로써 저장
- DDL에는 CREATE SCHEMA, CREATE DOMAIN, CREATE TABLE, CREATE VIEW, CREATE INDEX, ALTER TABLE, DROP 등이 있다.

 

DDL - CREATE VIEW

뷰(View)를 정의하는 명령문

[ 형식 ]
CREATE VIEW 뷰명(속성명,,,)
AS SELECT ~
[ FROM ~ WHERE ~];
- SELECT문을 서브 쿼리로 사용해서 결과를 뷰로 생성가능
- 서브 쿼리인 SELECT문에는 UNION이나 ORDER BY절을 사용 불가능
- 속성명을 기술하지 않으면 SELECT문의 속성명이 자동으로 사용된다.

 

DDL - ALTER TABLE

테이블에 대한 정의를 변경하는 명령문

[ 형식 ]
ALTER TABLE 테이블명 ADD 속성명 데이터_타입[DEFAULT '기본값'];
ALTER TABLE 테이블명 ALTER | MODIFY 속성명 [SET DEFAULT '기본값'];
ALTER TABLE 테이블명 DROP COLUMN 속성명[CASCADE];

 

- ADD : 새로운 속성(열)을 추가할 때 사용
- ALTER | MODIFY : 특정 속성의 정의를 변경할 때 사용
- DROP COLUMN : 특정 속성을 삭제할 때 사용

 

DDL - DROP TABLE

기본 테이블을 제거하는 명령문

[ 형식 ]
DROP TABLE 테이블명 [CASCADE | RESTRICTED];
- CASCADE : 제거할 요소를 참조하는 다른 모든 개체를 함께 제거함. 즉, 주 테이블의 데이터 제거 시 각 외래키와 관계를 맺고 있는 모든 데이터를 제거하는 참조 무결성 제약 조건을 설정하기 위해 사용
- RESTRICTED : 다른 개체가 제거할 요소를 참조중일때는 제거를 취소함.

 

DCL - GRANT / REVOKE

DCL(Data Control Language, 데이터 제어어)
- 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용하는 언어
- DCL은 데이터베이스 관리자(DBA)가 데이터를 관리를 목적으로 사용
- DCL에는 GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT 등이 있다.

 

GRANT / REVOKE

데이터베이스 관리자가 데이터베이스 사용자에게 권한을 부여하거나 취소하기 위한 명령어

[ 형식1 ] - 사용자등급 지정 및 해제
GRANT 사용자등급 TO 사용자_ID_리스트[IDENTFIED BY 암호];
REVOKE 사용자등급 FROM 사용자_ID_리스트;

[ 형식 2 ] - 테이블 및 속성에 대한 권한부여 및 취소
GRANT 권한_리스트 ON 개체 TO 사용자[WITH GRANT OPTION];
REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자[CASCADE];
- GRANT : 권한 부여를 위한 명령어
- REVOKE : 권한 취소를 위한 명령어
- 권한 종류 : ALL(*), SELECT, INSERT, DELETE, UPDATE, ALTER 등
- WITH GRANT OPTION : 부여받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한을 부여함
- GRANT OPTION FOR : 다른 사용자에게 권한을 부여할 수 있는 권한을 취소함
- CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취소함.

 

COMMIT / ROLLBACK / SAVEPOINT

COMMIT 트랙젝션이 성공적으로 끝나면 DB가 새로운 일관성(Consistency)상태를 가지기 위해 변경된 모든 내용을 DB에 반영하여야하는데, 이때 사용하는 명령어
ROLLBACK 아직 COMMIT되지 않은 변경된 모든 내용들을 취소하고
DB를 이전 상태로 되돌리는 명령어
SAVEPOINT 트랜잭션 내에 ROLLBACK할 위치인 저장점을 지정하는
명령어

 

DML - 삽입,삭제,갱신문

DML(Data Manipulation Language, 데이터 조작어)
- 데이터베이스 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어
- DML에는 SELECT, INSERT, DELETE, UPDATE 등이 있다.
삽입문(INSERT INTO ~ )
: 기본 테이블에 새로운 튜플 삽입
INSERT INTO 테이블명(속성명1,속성명2,....)
VALUES(데이터1,데이터2,....);
삭제문(DELETE FROM ~ )
: 기본 테이블에 있는 튜플들 중에서 특정 튜플 삭제
DELETE
FROM 테이블명
[ WHERE 조건 ];
갱신문(UPDATE ~ SET ~ )
: 기본 테이블에 있는 튜플들 중에서 특정 튜플 내용 변경
UPDATE 테이블명
SET 속성명 = 데이터[속성명 = 데이터]
[ WHERE 조건 ];

 

DML - SELECT

[ 형식 ]

SELECT [PREDICATE] [테이블명] 속성명 [AS 별칭][ 그룹함수(속성명) [AS 별칭]
FROM 테이블명 [ ,테이블명]
[WHERE 조건]
[GROUP BY 속성명,속성명,....]
[HAVING 조건]
[ORDER BY 속성명 [ASC|DESC]];
- PREDICATE : 불러올 튜플 수를 제한할 명령어를 기술 ( ALL, DISTINCT, DISTINCTROW )
- AS : 속성 및 연산의 이름을 다른 제목으로 표시하기 위해 사용
- GROUP BY절 : 특정 속성을 기준으로 그룹화하여 검색할 때 그룹화 할 속성을 지정
- HAVING절 : GROUP BY와 함께 사용되며, 그룹에 대한 조건을 지정
- ORDER BY절 : 특정 속성을 기준으로 정렬 검색시 사용 ( ASC : 오름차순, DESC : 내림차순 )
* SELECT문 실행 작동순서
= FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY

 

하위 질의

조건절에 주어진 질의를 먼저 수행하여 그 검색 결과를 조건절의 피연산자로 사용
  • 예시를 많이 보는것이 좋음

문제 1
결과 1

 

728x90
반응형

+ Recent posts