반응형

# DML (Data Manipulation Language)

  • SELECT (조회) / INSERT (입력) / UPDATE (수정) / DELETE (삭제)
  • 데이터베이스에 저장된 데이터를 조회,  입력, 수정, 삭제하는 데 사용하는 질의어.
  • 비절차적데이터 조작어.
  • 사용자가 무슨(What) 데이터를 원하는지만을 명세.
  • 데이터 부속어 (Data Sub Language) : C언어와 같은 호스트 프로그램 속에 삽입되어 사용되는 DML.

## DML 유형

1. SELECT

  • 데이터 조회.
  • 테이블을 구성하는 레코드 중 전체 또는 조건을 만족하는 레코드를 조회.
SELECT 문법)
SELECT [ALL | DISTINCT] 컬럼명 AS 별명
FROM 테이블명

=>
- SELECT 절에서 명시한 컬럼을 FROM 절의 테이블에서 조회.
- ALL, DISTINCT 키워드는 생략 가능
  (생략 시 기본적으로 ALL로 인식)
- ALL : 중복되는 데이터도 모두 조회(Default)
- DISTINCT : 중복된 데이터가 있는 경우 중복 제거하여 1건만 조회.
- AS : AS 키워드를 사용해서 컬럼의 별명(ALIAS) 변경 가능. 
  (AS 생략 가능)
- SELECT 절에서 WILDCARD(*) 및 ESCAPE 사용 가능.

2. INSERT

  • 데이터 입력.
  • 테이블에 새로운 레코드를 입력할 때 사용.
INSERT 문법 1)
INSERT INTO 테이블명(컬럼명) VALUES(입력값);

=>
- 데이터를 입력하고자 하는 테이블의 컬럼을 정의하여 데이터 입력.
- 컬럼과 입력값은 1:1 매핑, 정의하지 않은 컬럼은 디폴트로 NULL 입력.



INSERT 문법 2)
INSERT INTO 테이블명 VALUES (입력값);

=>
- 컬럼 생략하는 경우 모든 컬럼을 대상으로 데이터 입력.
- 입력값은 테이블의 컬럼 수와 같아야 함.

3. UPDATE

  • 데이터 수정.
  • 테이블에 있는 레코드 중 특정 레코드의 내용을 변경할 때 사용.
UPDATE 문법)
UPDATE 테이블명
  SET 컬럼명 = 입력값
WHERE 조건;

=>
- UPDATE 문의 테이블에서 SET 절의 컬럼을 입력값으로 수정.
- WHERE 절에서 데이터 수정 조건을 정의.

4. DELETE

  • 데이터 삭제.
  • 테이블에 있는 레코드 중 특정 레코드를 삭제할 때 사용.
DELETE 문법)
DELETE [FROM] 테이블명
WHERE 조건;

=>
- DELETE 문의 테이블에서 WHERE 절의 조건에 맞는 데이터 삭제.
- FROM 키워드 생략 가능.

 

# TCL (Transaction Control Language)

  • COMMIT / ROLLBACK / SAVEPOINT
  • 트랜잭션 제어 명령어.
  • 트랜잭션 : 업무 처리를 위한 데이터베이스의 논리적인 작업의 단위, 하나의 트랜잭션은 한 개 이상의 연산으로 이루어질 수 있고 해당 연산들은 완전히 처리 되거나 아예 한 개도 처리되지 않아야 한다. (All or Nothing)

1. COMMIT

  • 올바르게 수행된 트랜잭션의 결과를 데이터베이스에 반영.
COMMIT 문법)
INSERT INTO EMP
VALUES (102, 'AAA', 15, 100);
COMMIT;

=>
- INSERT 문을 이용하여 EMP 테이블에 데이터 입력.
- COMMIT 을 통해트랜잭션을 완료하고 데이터를 데이터베이스에 반영.
  • SQL Server : 기본적으로 AUTO COMMIT 모드, DML 구문이 성공이면 자동으로 COMMIT수행되고 오류가 발생하면 자동으로 ROLLBACK 이 수행된다. (AUTO COMMIT OFF인 경우 DDL 수행되어도 묵시적으로 COMMIT수행되지 않음)
  • ORACLE : 기본적으로 AUTO COMMIT OFF로 설정된 상태에서 DDL 수행 시 묵시적으로 COMMIT 수행

2. ROLLBACK

  • 문제 발생 시 하나의 트랜잭션을 취소.
ROLLBACK 문법)
UPDATE EMP
  SET EMP_NAME = 'AAAA'
WHERE EMP_NAME = 'B'
ROLLBACK;

=>
- UPDATE 문장으로 EMP 테이블에서 EMP_NAME이 'B' 이면 'AAAA' 로 변경.
- ROLLBACK 명령으로 트랜잭션을 취소하여 UPDATE 문장이 데이터베이스에 반영되지 않도록 함.
  • SQL Server : CREATE TABLE도 트랜잭션의 범주에 포함되어ROLLBACK 가능.

3. SAVEPOINT

  • 하나의 트랜잭션을 작게 분할하여 저장하는 기능을 수행.
SAVEPOINT 문법)
SAVEPOINT SP1;
INSERT INTO EMP VALUES(100, 'AAA', 30);
SAVEPOINT SP2;
UPDATE EMP
  SET EMP_NAME = 'AAAA'
WHERE EMP_NAME = 'B'
ROLLBACK TO SP2;

=>
- SAVEPOINT 저장점명; 으로 SP1 저장점 지정.
- INSERT 문으로 EMP 테이블에 데이터 입력.
- SAVEPOINT 저장점명; 으로 SP2 저장점 지정.
- UPDATE 문으로 EMP 테이블 데이터 업데이트.
- ROLLBACK TO 저장점명; 으로 트랜잭션을 취소.
  (SP2로 롤백하여 UPDATE 문의 실행은 데이터베이스에 반영되지 않도록 함)
반응형
반응형

# 엔티티의 다양한 정의

  • 엔티티는 실체 또는 객체라는 뜻으로, 업무에 필요하고 유용한 정보를 저장/관리 하기 위한 집합적인 것.
  • 엔티티는 인스턴스의 집합을 의미.
  • 변별할 수 있는 사물.
  • 데이터베이스 내에서 변별 가능한 객체.
  • 정보를 저장할 수 있는 어떤 것.
  • 정보가 저장될 수 있는 사람, 장소, 물건, 사건, 개념 등.

## 엔티티 정의 공통점

  • 엔티티는 사람, 장소, 물건,사건, 개념 등의 '명사'에 해당.
  • 엔티티는 업무상 관리가 필요한 '관심사'에 해당.
  • 엔티티는 저장되기 위한 '어떤것'.
반응형
반응형

# 데이터 모델링의 다양한 정의

  • 데이터 모델링은 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 과정을 의미.
  • 정보시스템 구축을 위해 현업, 고객의 요구사항을 분석 및 검증하여 적절한 기호를 사용해 객관적으로 표현하고물리적으로 구현하는 전체 과정.
  • 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법.
  • 현실 세계의 데이터(What)에 대해 약속된 표기법에 따라 표현하는 과정.
  • 데이터베이스를 구축하기 위한 분석/설계 과정.

 

반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

DML, TCL  (0) 2022.03.28
엔티티의 다양한 정의  (0) 2022.03.21
LIKE와 같이 사용하는 와일드카드 문자  (0) 2022.03.08
관계 표기법의 3가지 요소  (0) 2022.03.07
데이터베이스의 유형  (0) 2022.03.06
반응형

# 데이터 거버넌스

  • 기업에서 사용하는 데이터의 가용성, 유용성, 통합성, 보안성을 관리하기 위한 정책과 프로세스를다루며 프라이버시, 보안성, 데이터 품질, 관리 규정 준수를 강조하는 모델이다.

 

# 데이터 거버넌스의 구성요소

원칙 (Principle)

  • 데이터를 유지, 관리하기 위한 지침과 가이드.
  • 품질기준, 보안, 변경관리.

조직 (Organization)

  • 데이터를 관리할 조직의 역할과 책임.
  • 데이터 관리자, 데이터베이스 관리자, 데이터 아키텍처 등.

프로세스 (Process)

  • 데이터 관리를 위한 활동과 체계.
  • 작업절차, 모니터링 활동, 측정 활동 등.

 

# 데이터 거버넌스의 체계

데이터 표준화

  • 데이터 표준 용어 설명, 명명 규칙, 메타데이터 구축, 데이터 사전 구축.
  • 데이터 표준 준수 진단, 논리 및 물리 모델 표준에 맞는지 검증.

표준화 활동

  • 데이터 거버넌스 체계 구축 이후 표준 준수 여부를 주기적으로 점검 및 모니터링 실시.

데이터 관리 체계

  • 메타데이터와 데이터 사전의 관리 원칙 수립.

데이터 저장소 관리

  • 메타데이터 및 표준 데이터를 관리하기 위한 전사 차원의 저장소 구성.
반응형

+ Recent posts