본문 바로가기

반응형

데이터베이스 기본

[데이터베이스] 병행 제어(Concurrency Control) 1. 병행제어(Concurrency Control)의 개념 - 다중 프로그램의 이점을 활용하여 동시에 여러 개의 트랜잭션을 병행 수행할 때 실행되는 트랜잭션들이 일관성을 파괴하지 않도록 상호 작용을 제어하는 기술 2. 병행제어의 목적 데이터베이스의 공유를 최대화 시스템의 활용도를 최대화 사용자에 대한 응답 시간을 최소화 단위 시간당 트랜잭션 처리 건수를 최대화 데이터베이스의 일관성을 유지 3. 병행제어의 필요성 갱신 분실(Lost Update) : 2개 이상의 트랜잭션이 같은 데이터를 갱신할 때 갱신 결과의 일부가 분실되는 현상 모순성(Inconsistency) : 복수의 사용자가 동시에 같은 데이터를 갱신할 때 데이터들이 상호 일치하지 않아 모순된 결과가 발생되는 현상(불일치 분석이라고도 함) 연쇄 복.. 더보기
[데이터베이스] 정규화 1. 정규화의 개념 정규화는 테이블의 속성들이 상호 종속적이 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정으로, 정규화의 목적은 가능한 한 중복을 제거하여 삽입, 삭제, 갱신, 이상의 발생 가능성을 줄이는 것이다. 2. 정규화의 과정 정규화 과정 단계 암기는 필수!!!! 정규화라는 출소자가 말했다. 두부이겨다줘(도부이결다조) 도메인의 원자값 부분적 함수 종속 제거 이행적 함수 종속 제거 결정자이면서 후보키가 아닌 것 제거 다치 종속 조인 속성 이용 정규화의 과정을 알아보기 위해 테이블을 예시로 들어보자. 제품번호 제품명 재고수량 주문번호 고객번호 주소 주문수량 1001 모니터 2000 A345 D347 100 200 서울 부산 150 300 1007 마우스 9000 A210 A345 B230.. 더보기
[데이터베이스] 정규화 - 함수적 종속 함수적 종속은 제 2 정규화(부분 함수적 종속 제거), 제 3 정규화(이행 함수적 종속 제거)에 언급되는 부분으로 정규화를 이해하기 위해서는 함수적 종속의 개념이 필요합니다. 1. 함수적 종속의 개념 어떤 릴레이션(테이블) R의 속성 집합의 부분집합을 X와 Y라고 가정하자. 속성 X의 값 각각에 대해 시간과 관계없이 항상 속성 Y의 값이 오직 하나만 연관되어 있을 때, Y는 X에 함수적 종속 또는 X가 함수적으로 결정 ( 표기 : X -> Y )한다. 즉, X는 결정자, Y는 종속자다. 2. 함수적 종속의 필요성 함수적 종속은 데이터의 의미를 표현하는 것으로, 현실 세계를 표현하는 제약 조건이 되는 동시에 데이터베이스에서 항상 유지되어야 할 조건이다. 3. 함수적 종속의 종류 완전 함수적 종속 : 어떤 .. 더보기
[데이터베이스] SQL - DCL [출처] 2020 시나공 기본서 정보처리산업기사 실기 1. DCL(DATA CONTROL LANGUAGE)의 개념 - 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는 데 사용하는 언어 - 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용 - DCL의 유형 명령문 기능 COMMIT 데이터베이스 조작 작업을 영구적으로 반영하여 완료 ROLLBACK 데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래 상태로 복구 GRANT 데이터베이스 사용자에게 사용 권한을 부여 REVOKE 데이터베이스 사용자의 사용 권한을 취소 2. COMMIT / ROLLBACK >> 하나의 트랜잭션에서 COMMIT 또는 ROLLBACK이 되어야 함 COMMIT 트랜잭션의 모든 변경 내용들을 영구적으로 데이터베이스.. 더보기
[데이터베이스] 정규화 - 이상(Anomaly) [출처] 2020 시나공 기본서 정보처리산업기사 실기 이상이란? 테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생하고 이 중복으로 인해 테이블 조작 시 문제가 발행하는 현상을 의미 *중요! 이상이 발생하는 원인과 이상의 종류 기억하기 1. 이상의 종류 삽입 이상 : 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들로 인해 삽입할 수 없게 되는 현상 삭제 이상 : 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는, 즉 연쇄 삭제가 발행하는 현상 갱신 이상 : 튜플에 있는 속성 값을 갱신할 때 튜플의 정보만 갱신되어 정보에 불일치성이 생기는 현상 예시) 테이블 학번 과목번호 성적 학년 100 C413 A 4 100 E412 A 4 200 C123 B 3 300 C312 A 1 30.. 더보기
[데이터베이스] SQL - DML(DELETE & UPDATE) [출처] 2020 시나공 기본서 정보처리산업기사 실기 1. DELETE문 - 테이블에 있는 튜플을 삭제할 때 사용하는 명령문 - 표기형식 1) 특정 튜플을 삭제할 때(WHERE절) DELETE FROM 테이블명 WHERE 조건; 2) 모든 튜플을 삭제할 때(WHERE절 생략) DELETE FROM 테이블명; - 예시 문제1. 테이블에서 이름이 "임꺽정"인 튜플을 삭제하는 SQL문을 작성하시오. DELETE FROM 사원 WHERE 이름 = '임꺽정'; 문제2. 테이블의 모든 튜플을 삭제하는 SQL문을 작성하시오. DELETE FROM 사원; 2. UPDATE문 - 테이블에 있는 튜플을 갱신할 때 사용하는 명령문 - 표기형식 1. 특정 튜플(레코드)을 삭제할 때 - WHERE절 UPDATE 테이블명 SET.. 더보기
[데이터베이스] SQL - DML(INSERT) [출처] 2020 시나공 기본서 정보처리산업기사 실기 1. DML 사용자가 응용 프로그램이나 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용되는 언어 데이터베이스 사용자와 데이터베이스 관리 시스템 간의 인터페이스를 제공 DML 유형 : 튜플을 삽입, 삭제, 갱신 명령문 기능 INSERT 테이블에 새로운 튜플을 삽입 DELETE 테이블에서 퓨플을 삭제 UPDATE 테이블에서 튜플의 내용을 갱신 2. INSERT 표기 1) INSESRT INTO 테이블명[속성명1, 속성명2, ...] VALUES (삽입할 데이터1, 데이터2, ...); 2) INSERT INTO 테이블명 SELECT *(또는 테이블명2 속성명1, 속성명2, ...) FROM 테이블명2; - 삽입할 데이터는 대응하는 속성의 개수와 .. 더보기
[데이터베이스] SQL - SELECT [출처] 2020 시나공 기본서 정보처리산업기사 실기 1. SELECT SELECT [PREDICATE][테이블명.]속성명[ AS 별칭][, [테이블명.]속성명, ···] FROM 테이블명[, 테이블명, ···] [WHERE 조건] [GROUP BY 속성명[, 속성명, ···]] [HAVING 조건] [ORDER BY 속성명 [ASC | DESC][, 속성명[ASC | DESC], ···]]; SELECT절 PREDICATE : 검색할 튜플을 제한할 목적으로 사용되는 조건으로 ALL, DISTINCT, DISTINCTROW 등 올 수 있음 ALL : 모든 튜플들을 검색, 기본값 DISTINCT : 중복된 튜플을 제거 DISTINCTROW : 중복된 튜플을 제거하나, 선택된 속성의 값이 아닌 튜플의 전체 .. 더보기