목록Database (13)
공부하자
1. Transaction이란 ? : 논리적 기능을 수행하기 위한 작업의 단위 또는 한번에 모두 수행되어야 할 일련의 연산들 ( 작업이 순서대로 끝나고 완료 됐다~) 2. Transaction의 특징 - 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위 - 사용자가 시스템에 대한 서비스를 요구할 시, 시스템이 응답하기 위한 상태 변환 과정의 작업단위이다. - 하나의 트랜잭션은 COMMIT되거나 ROLLBACK되어야 함 3. Transaction의 성질 1) 원자성(Atomicity) - 트랜잭션 내의 모든 명령은 반드시 "완벽하게" 수행되어야 함 - 전부가 완벽히 수행되지 않고 어느 하나라도 오류가 발생할 경우 트랜잭션 전부가 취소되어야 함. ( 트랜잭션이 데이터..
1. 정규화란? - 데이터 베이스의 변경 시 일어날 수 있는 이상현상을 제거하기 위해 관계형 데이터 베이스의 설계에서 데이터를 구조화하는 프로세스. - 단계별로 구분하여 정규화가 높아질수록 이상현상이 줄어듦 2. 정규화의 장점 - DB 변경 시 발생하는 이상현상을 제거 : 삽입 이상 - 레코드 삽입 시 특정 속성에 해당하는 값이 없어 NULL을 입력해야 하는 현상 : 삭제 이상 - 레코드 삭제 시 같이 저장된 다른 정보까지 연쇄적으로 삭제되는 현상 : 갱신 이상 - 레코드 갱신 시 중복된 데이터의 일부만 갱신되어 일어나는 데이터 불일치 현상 - 새로운 데이터 형의 추가로 인한 확장 시, 구조 변경에 용이함 - DB와 연동된 응용 프로그램의 생명을 연장 3. 정규화의 단점 - 테이블의 분해로 인해 JOIN..
1. Data Modeling 이란? - 데이터 베이스의 핵심 과정 - 대상이 되는 업무 내용을 분석하고 약속된 표기법에 의해 표현하는 것 - 현 세계에서 사용되는 사물이나 작업들을 DBMS의 데이터베이스 개체로 옮기기 위한 과정 2. Data Modeling 절차 1) 요구사항 수집 및 분석 - 고객의 요구를 수집 및 분석하는 단계 - UI를 고객과 함께 확인해 나아가는 방법이 있음 2) 개념적 데이터 모델링 - 구현을 하기 위해 데이터 간의 관계를 구상하는 단계 - 피터 첸 표기법으로 ERD 작성 : 도형과 화살표를 통해 관계를 그림으로 표현 3) 논리적 데이터 모델링 - 개념적 데이터 모델링을 기반으로 구체화된 데이터 모델을 구상하는 단계 - 관계형 DB에서 IE표기법을 통해 ERD 작성 (IE 표..
INDEX란? - 데이터 베이스 테이블 검색에 대한 검색 성능 속도를 높여주는 기능 - 인덱스 생성 시 데이터 오름차순으로 정렬 - 일반적으로 DB에서 B+tree방식 사용 INDEX 종류 1. 클러스터 인덱스 - PK생성시, 자동으로 생성되는 인덱스 - 테이블당 1개 2. 보조 인덱스 - 클러스터 인덱스를 제외한 인덱스 - 개발자가 따로 지정 - 복수 설정 가능 INDEX 장점 1. 테이블 조회 속도 , 성능 향상 2. 시스템 부하 감소 INDEX 단점 1. 인덱스를 관리하기 위해 추가 저장공간이 필요(DB의 약 10%) 2. 인덱스를 관리하기 위해 추가 작업(추가, 삭제, 수정, …)이 필요하다 -> 인덱스 관리를 하지 않을 경우 오히려 성능이 저하됨. INDEX 사용 주의점 1. INSERT, UP..

Transaction 이란? : 데이터 베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위 (데이터 베이스의 상태를 변화시킨다 => DML을 통해 데이터 베이스에 접근한다) (논리적 기능을 수행하기 위한 작업의 단위 또는 한번에 모두 수행되어야 할 일련의 연산들) Transaction 특징 - 트랜잭션은 데이터 베이스 시스템에서 병행 제어 및, 회복 작업 시 처리되는 작업의 논리적 단위 - 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위 - 트랜잭션은 commit되거나 rollback되어야 함 Transaction 성질 1. 원자성 (Atomicity) - 트랜잭션 내의 모든 명령은 반드시 “완벽히” 수행되어야 함 - 완벽히 수행되지 않고 어느 하나라도 오류가..
1. VIEW란? - 가상의 테이블 - 보안과 함께 사용자의 편의성을 높이기 위해 사용 - 장점 : 여러 테이블을 조인 할 시에 VIEW를 생성하여 복잡한 SQL을 편리하게 조회 할 수 있음 - 단점 : 뷰를 생성하는 데에도 용량이 들어가기 때문에 최소한만 사용 - 쿼리를 가져오는 데 시간이 오래 걸린다 하면 VIEW 사용 2. VIEW 생성 CREATE [OR REPLACE] VIEW 명 AS SELECT 문; OR REPLACE : 기본의 뷰가 있을 경우 덮어쓰기를 함. 3. VIEW 삭제 DROP VIEW VIEW명;
1. 데이터 베이스 제약조건 이란? - 데이터의 무결성을 지키기위한 규칙 (데이터의 무결성 : 데이터의 정확성, 일관성, 유효성이 유지되는 것) - 테이블을 수정 작업 하는 경우, 잘못된 트랜잭션 수행 방지 - 테이블 간 제약조건이 있어서 종속성이 있는 경우 , 테이블 삭제를 방지함. 2. 제약 조건의 종류 1. PRIMARY KEY (PK) - 레코드의 값을 식별할 수 있는 단 하나의 키 - 테이블 생성 시, 고유의 단 한 개의 PK 설정 - 중복 불가, NULL 불가 - 고유 인덱스 자동 생성 - 여러 컬럼을 하나의 PK로 생성 가능 - 장점 > 데이터 일관성 유지 > 데이터 모호함 제거 > 중복 행으로 인한 데이터 꼬임 방지 > 레코드 검색으로 빠르게 원하는 데이터를 찾을 수 있음 2. FOREIG..

JOIN이란? - 두개 이상의 테이블을 묶어서 하나의 결과 집합으로 출력하는 것. 1. INNER JOIN 구조 SELECT [컬럼명] FROM [테이블 1] INNER JOIN [테이블2] ON [조인 조건] WHERE [조건] (FROM 테이블과 INNER JOIN테이블을 먼저 작성하고 SELECT 작성하는 것이 편함.) * WHERE / GROUP BY / ORDER BY 순으로 작성해야함 1. OUTER JOIN 구조 - 기준이 되는 테이블 레코드는 조인의 조건에 만족되지 않아도 출력된다. SELECT [컬럼명] FROM [테이블 1] LEFT / RIGHT/ FULL OUTER JOIN [테이블2] ON [조인 조건] WHERE [조건] (FROM 테이블과 INNER JOIN테이블을 먼저 작성하..