본문 바로가기

SQL

(22)
2-1. SQL 기본_(4)TCL(TRANSACTION CONTROL LANGUAGE) 제4절 TCL(TRANSACTION CONTROL LANGUAGE) 1. 트랜잭션 개요 - 데이터베이스의 논리적 연산단위, 분할할 수 없는 최소의 단위 - 트랙잭션 특성 : 원자성(all or nothing), 일관성, 고립성, 지속성 2. COMMIT : 올바르게 반영된 데이터를 데이터베이스에 반영시키는 것 - INSERT, UPDATE, DELETE 를 사용한 후에 변경 작업이 완료되었음을 데이터베이스에 알려 주기 위해 사용 1) AUTO COMMIT - 명령어가 성공적으로 수행되면 자동으로 COMMIT을 수행하고 오류가 발생하면 자동으로 ROLLBACK을 수행 2) 암시적 트랜잭션 3) 명시적 트랜잭션 3. ROLLBACK : 트랜잭션 시작 이전의 상태로 되돌리는 것 4. SAVEPOINT : 저장점
2-1. SQL 기본_(3)DML(DATA MANIPULATION LANGUAGE) 제3절 DML(DATA MANIPULATION LANGUAGE) 테이블에 저장된 데이터를 입력, 수정, 삭제, 조회하는 명령어. 1. INSERT # 생성되어 있는 테이블에 데이터를 입력 INSERT INTO 테이블명 (컬럼1, 컬럼2, 컬럼3) VALUES (값1, 값2, 값3); INSERT INTO 테이블명 VALUES (값1, 값2, 값3...); INSERT INTO 테이블명 SELECT * FROM 같은_형태의_테이블; # Invoice_INSERT 라는 테이블에 ROW 추가하기 # 컬럼 순서대로 입력 INSERT INTO Invoice_INSERT VALUES (5, 'Seoul', 'Korea', 10.51) 2. UPDATE # 테이블 내의 값을 수정 UPDATE 테이블명 SET 수정할_..
2-1. SQL 기본_(2)DDL(DATA DEFINITION LANGUAGE) 제2절 DDL(DATA DEFINITION LANGUAGE) 1. 데이터 유형 - 데이터베이스의 테이블에 입력되는 자료를 유형별로 나누는 기준 데이터 유형 설명 CHARACTER (=CHAR) 고정 길이 문자열, 공백(BLANK)는 제거하고 비교 VARCHAR (=VARCHAR) 가변 길이 문자열 NUMERIC (=NUMBER) 정수, 실수 등 숫자 DATETIME (=DATE) 날짜와 시각 정보 2. CREATE TABLE 가. 테이블과 칼럼 정의 나. CREATE TABLE # 테이블 생성 기존 형식 CREATE TABLE 테이블이름 ( 칼럼명1 DATATYPE [DEFAULT 형식] , 칼럼명2 DATATYPE [DEFAULT 형식] , 칼럼명2 DATATYPE [DEFAULT 형식] ); # In..
2-1. SQL 기본_(1)관계형 데이터베이스 개요 제1절 관계형 데이터베이스 개요 1. 데이터베이스 - 일상적인 정보들을 모아 놓은 것 * 관계형 데이터베이스: 정규화를 통한 합리적인 테이블 모델링을 통해 이상(ANOMALY) 현상을 제거하고 데이터 중복을 피할 수 있으며 동시성 관리, 병행 제어를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작할 수 있도록 제공 2. SQL(Structured Query Language) - 관계형 데이터베이스에서 데이터 정의, 데이터 조작, 데이터 제어를 하기 위해 사용하는 언어 - SQL 문장들 종류 가. DML(Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE 나. DDL(Data Definition Language): CREATE, ALTER, DRO..
1-2. 데이터 모델과 성능_(3)데이터베이스 구조와 성능, 분산 데이터베이스와 성능 제5절 데이터베이스 구조와 성능 1. 슈퍼타입/서브타입 모델의 성능고려 방법 가. 슈퍼/서브타입 데이터 모델의 개요 나. 슈퍼/서브타입 데이터 모델의 변환 다. 슈퍼/서브 타입 데이터 모델의 변환기술 1) 개별로 발생되는 트랜잭션에 대해서는 개별 테이블로 구성 2) 슈퍼타입+서브타입에 대해 발생되는 트랜잭션에 대해서는 슈퍼타입+서브타입 테이블로 구성 3) 전체를 하나로 묶어 트랜잭션이 발생할 때는 하나의 테이블로 구성 2. 인덱스 특성을 고려한 PK/FK 데이터베이스 성능향상 가. PK/FK 칼럼 순서와 성능개요 나. PK칼럼의 순서를 조정하지 않으면 성능이 저하 이유 다. PK순서를 잘못 지정하여 성능이 저하된 경우 - 간단한 오류 라. PK순서를 잘못 지정하여 성능이 저하된 경우 - 복잡한 오류 3...
1-2. 데이터 모델과 성능_(2)반정규화와 성능, 대량 데이터에 따른 성능 제3절 반정규화와 성능 1. 반정규화를 통한 성능향상 전략 가. 반정규화(反, 역정규화, De-Normalization)의 정의 - 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정 나. 반정규화의 적용방법 1) 반정규화 대상조사: 범위처리빈도수, 대량의 범위, 통계성 프로세스, 테이블 조인 개수 2) 다른 방법유도 검토: 뷰(View) 테이블, 클러스터링, 인덱스 조정, 응용어플리케이션 3) 반정규화 적용: 테이블/속성/관계의 반정규화 2. 반정규화의 기법 가. 테이블 반정규화: 테이블 병합, 테이블 분할, 테이블 추가 나. 칼럼 반정규화: 중복칼럼 추가, 파생칼럼 추가, 이력테이블 칼럼 추가, PK에 의한 칼럼 추가, 응용시스템 오작동을 위한 칼럼 추가 다...
1-2. 데이터 모델과 성능_(1)성능 데이터 모델링의 개요, 정규화와 성능 제1절 성능 데이터 모델링의 개요 *정규화: 입력, 수정, 삭제 이상을 제거 *반정규화: 테이블 통합, 분리, 칼럼의 중복 1. 성능 데이터 모델링의 정의 - 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 성능과 관련된 사항(정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등)이 데이터 모델링에 반영될 수 있도록 하는 것 2. 성능 데이터 모델링 수행시점 - 분석/설계 단계에서 치밀하게 성능에 대비 3. 성능 데이터 모델링 고려사항 - 정규화 수행, 반정규화 수행, 용량산정, 트랜잭션의 유형 파악 등 제2절 정규화와 성능 1. 정규화를 통한 성능 향상 전략 - 정규화를 수행한다는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여..
1-1. 데이터 모델링의 이해_(5)식별자(Identifiers) 제5절 식별자 1. 식별자(Identifiers) 개념: 엔터티내에서 인스턴스들을 구분할 수 있는 구분자 2. 식별자의 특징 가. 주식별자 특징 1) 유일성: 유일하게 구분 2) 최소성: 최소의 수 3) 불변성: 수정되지 않아야 함 4) 존재성: NULL 존재하면 안됨 3. 식별자 분류 및 표기법 가. 식별자 분류 분류 식별자 대표성여부 주식별자 보조식별자 스스로 생성여부 내부식별자 외부식별자 속성의 수 단일식별자 복합식별자 대체여부 본질식별자 인조식별자 나. 식별자 표기법 4. 주식별자 도출기준 가. 해당 업무에서 자주 이용되는 속성을 주식별자로 지정하도록 함 (ex. 회원번호 사용) 나. 명칭, 내역 등과 같이 이름으로 기술되는 것은 피함 (ex. 일련번호 생성하여 사용) 다. 속성의 수가 많아지지 ..