본문 바로가기

분류 전체보기142

SQL - 병행제어 병행제어 다중 프로그램의 이즘얼 활용하여 동시에 여래 개의 트랜잭션을 병행 수행할 때 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 기술. 병행성이란 여러 개의 트랜잭션들이 동시에 인터리빙하게 실행되는 것을 의미 (인터리빙 : 트랜잭션들이 번갈아가며 조금씩 자신이 처리해야 할 일을 처리하는 것) 병행 제어의 목적 데이터베이스의 공유도 최대화 시스템의 활용도 최대화 사용자에 대한 응답 시간을 최소화 단위 시간당 트랜잭션 처리 건수를 최대화 데이터베이스의 일관성 유지 병행 제어의 필요성 문제점 의미 갱신분실 (Lost Update) 2개 이상의 트랜잭션이 같은 데이터를 공유하여 갱신할 때 갱신 결과의 일부가 없어지는 현상 모순성 (Inconsistency) .. 2018. 9. 12.
SQL - 트랜잭션 트랜잭션 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 일련의 연산 집합으로 작업의 단위 데이터베이스 관리 시스템에서 회복 및 병행 수행 시 처리되는 작업의 논리적 단위 하나의 트랜잭션은 정상적으로 종료될 경우 COMMIT연산이 수행되고, 비정상적으로 종료될 경우 ROLLBACK 연산이 수행된다. COMMIT 트랜잭션 처리가 정상적으로 종료되어 트랜잭션이 수행한 변경 내용을 데이터베이스에 반영하는 연산. 내용을 변경한 트랜잭션이 완료되면 그 트랜잭션에 의해 데이터베이스는 새롭게 일관된 상태로 변경되며, 이 상태는 시스템에 오류가 발생하더라도 취소되지 않는다. ROLLBACK 하나의 트랜잭션 처리가 비정상으로 종료되어 데이터베이스의 일관성이 깨졌을 때 트랜잭션이 행한 모든 변경 작업을 취소하고 이전 .. 2018. 9. 12.
SQL - 정규화 정규화 정규화는 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정으로, 정규화의 목적은 가능한 한 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것. 정규형에는 제 1정규형, 제 2정규형, 제 3정규형, BCNT(Boyce-Codd Normal Form), 제 4정규형, 제 5정규형이 있으며, 순서대로 정규화의 정도가 높아진다. 도메인 원자값 -> 부분함수종속 제거 -> 이행적 함수종속 제거 -> 결정자이면서 후보키가 아닌 함수종속 제거 -> 다치종속 제거 -> 조인종속 제거 정규화 과정 제품번호 제품명 재고수령 주문번호 고객번호 주소 주문수량 1001 모니터 2000 A345 D347 100 200 서울 부산 150 300 1007 마우스 90.. 2018. 9. 12.
SQL - 함수적 종속 함수적 종속 어떤 테이블 R에서 X와 Y를 각각 R의 속성 집합의 부분 집합이라 하면, 속성 X의 값 각각에 대해 시간에 관계없이 항상 속성 Y의 값이 오직 하나만 연관되어 있을 때 Y는 X에 함수 종속 또는 X가 Y를 함수적으로 결정한다고 하고, X->Y로 표기. 함수적 종속은 데이터의 의미를 표현하는 것으로, 현실 세게를 표현하는 제약 조건이 되는 동시에 데이터베이스에서 항상 유지되어야 할 조건이다. 학번 이름 학년 학과 400 이순신 4 컴공 422 간디 4 물리 301 윤봉길 3 수학 320 장보고 3 체육 205 김좌진 2 컴공 240 김구 2 수학 241 이승만 2 물리 104 강호동 3 컴공 101 쌈자 1 체육 학생 테이블에서 이름, 학년, 학과는 각각 학번 속성에 함수적 종속이다. 학번 .. 2018. 9. 12.