정보시스템감리사 289

정규화- BCNF 분해

▣ 정규화- BCNF 분해 2015년 51번 정답 : 3번 후보키(A,B)가 C를 종속하고, C가 후보키 B를 종속 2012년 56번 정답 : 3번 C->D가 R3(C,D)릴레이션으로 추출 E->C가 R2(E,C)릴레이션으로 추출 마지막으로 A->(B,C,D,E), B->(A,C,D,E)에서 C,D,E가 나왔으므로 A->(B,E) 혹은 B->(A,E)만 추가하면 문제에서 제시하는 종속이 보존되므로 R1(A,B,E) 혹은 R1(B,A,E) A와 B는 같은 릴레이션 내 동격인 후보키임 (A->B, B->A) ∴ R1(A,B,E), R2(E,C), R3(C,D) 이거나 R1(B,A,E), R2(E,C), R3(C,D) 로 분해됨 2013년 55번 정답 : 4번 보이스/코드(BCNF) 분할 결과는 (X, Z)와..

데이터베이스 2021.08.29

GROUP BY, HAVING SQL 예제 3, 부양가족 2명이상, 사원, 사번, 성명

▣ GROUP BY, HAVING 예제 3 2015번 69번 정답 : 3번, 4번 1) 1번 보기 : 집계 함수에 대한 조건절은 HAVING 을 사용해야 함 2) 2번 보기 : Group by 절을 사용했으나 SELECT 절 count(*) 전체 갯수 리턴 -- 2015년 정보시스템감리사 DB 69번 CREATE TABLE DEPEND_69 ( ENO INT , DNAME VARCHAR(20) , REL VARCHAR(20) , PRIMARY KEY (ENO, DNAME) ) ; INSERT INTO DEPEND_69 VALUES (1, '홍길동', '부'); INSERT INTO DEPEND_69 VALUES (1, '김영희', '모'); INSERT INTO DEPEND_69 VALUES (2, '이..

데이터베이스 2021.08.28

GROUP BY 관련 SQL 예제 2, 고객, 주문, 총액, 쇼핑몰 데이터베이스

▣ GROUP BY 관련 SQL 예제 2 - SELECT문에 있는 서브쿼리 : Scalar Subquery - FROM절에 있는 서브쿼리 : Inline View - WHERE절에 있는 서브쿼리 : Subquery 2012년 57번 정답 : 3번 쇼핑몰 데이터베이스 중 고객 테이블의 고객번호 컬럼을 GROUP BY한 값이 10보다 큰 고객의 이름과 주문 수량의 합을 구하는 조회문임 고객번호로 GROUP BY 한 값이 10보다 크다는 것은 주문 횟수가 11번 이상이라는 의미임 3번 '열한 번 이상 상품을 주문한 고객이름과 주문한 수량의 합을 구한다.' 정답임 2015년 65번 정답 : 3번 -- 실제 SQL 실행시 에러 발생, WHERE 절의 ALIAS명 인식 불가 -- WHERE절에서 서브쿼리 사용 시 ..

데이터베이스 2021.08.28

병행제어 - 낙관적 동시성 제어

▣ 낙관적 동시성 제어(optimistic concurrency control) 읽기 단계 (read phase) - 트랜잭션이 다른 사본(copy)을 만들어 관리 - 트랜잭션의 갱신(update)는 사본에 대해서 실행하고, 실제 DB에는 실행하지 않음 검증 단계 (validation phase) - 트랜잭션 실행 결과가 직렬가능성 위반 check - 검증 조건 - 3조건 중 하나만 만족하면 검증 성공 - 검증 실패시 트랜잭션은 rollback, 재실행(반복적 재시작) 쓰기 단계 (write phase) - 검증 단계를 통화하면, 트랜잭션의 실행결과를 데이터베이스에 반영 2015년 59번 정답 : 1번

데이터베이스 2021.08.28

트랜잭션_병행제어 _ 충돌 직렬, 뷰 직렬 가능 스케쥴, 직렬성

▣ 트랜잭션_병행제어 _ 충돌 직렬, 뷰 직렬 가능 스케쥴, 직렬성 1. 충돌(Conflict) 서로 다른 트랜잭션의 두 명령어가 동일한 항목(x)에 접근하고 하나 이상의 쓰기가 발생하는 경우 Ti-R(x) ->Tj-R(x) : 비충돌 Ti-R(x) ->Tj-W(x) : 충돌 Ti-W(x) ->Tj-R(x) : 충돌 Ti-W(x) ->Tj-W(x) : 충돌 2. 충돌 직렬(Serialize) 가능 스케쥴 충돌 동등 : 비충돌 연산의 교환 원리를 적용하여 어떤 스케쥴로 변환 가능한 경우 충돌 연산이 아닌 두 연속 연산은 그 순서를 교환하더라도 상관없음 두 트랜잭션 간 충돌하지 않는 나머지 연산자(비 충돌 명령)의 순서를 서로 맞바꿈으로서 직렬 스케줄과 동일한 스케줄이 가능할 경우 충돌 직렬 가능하다고 함 ..

데이터베이스 2021.08.28

동시성제어_검사시점, 체크포인트(checkpoint) 회복 기법, 검사시점, UNDO, REDO

▣ 동시성제어_검사시점, 체크포인트(checkpoint) 회복 기법, 검사시점, UNDO, REDO - 트랜잭션 수행 도중 변경된 데이터를 로그파일에 기록하고, 일정 기간 단위로 로그와 버퍼를 디스크에 반영하고 로그파일에 검사시점(checkpoint)을 표시 - 로그기반 회복 기법의 단점을 보완하고 최적화 - 일정시간 간격으로 1) Log Buffer를 로그파일에 저장 2) DB Buffer 블록을 디스크에 저장 3) 체크포인트 시점 기록 - 검사시점 회복시 수행 알고리즘 UNDO list / REDO list 생성, 최종 Checkpoint 당시 모든 트랜잭션 UNDO list에 삽입 로그 순차 검색 이면 UNDO list로, 이면 UNDO list삭제, REDO list로 UNDO list 역순으로,..

데이터베이스 2021.08.25

데이터베이스 스키마 외부, 개념, 내부

▣ 데이터베이스 스키마 구분 설명 외부 스키마 (External Schema) - 개개 사용자나 특정 응용에 한정된 데이터베이스 정의 - 전체 데이터베이스의 한 논리적인 부분 - 서브스키마 혹은 뷰(View)라고도 함 개념 스키마 (Conceptual Schema) - 범 기관적 입장에서 데이터베이스를 정의 - 모든 응용시스템이나 사용자들이 필요로 하는 데이터의 통합한 조직 전체의 데이터베이스 구조 - 데이터베이스의 접근 권한, 보안 정책, 무결성 규칙 명세 - 단순히 스키마(Schema)라고도 함 내부 스키마 (Internal Schema) - 물리적 저장 장치 구조에 대한 데이터베이스가 저장하는 방법 명세 - 레코드 형식, 인덱스 유무, 데이터 항목의 표현방법, 레코드의 물리적 순서 등 명세 - 개념..

데이터베이스 2021.08.25

NoSQL 특징 및 제품 분류, CAP 이론, Consistency 일관성, Availability 가용성, Partition Tolerance 파티션 허용, 분할내성, 부분 결함 허용

▣ NoSQL 특징 및 제품 분류, CAP 이론, Consistency 일관성, Availability 가용성, Partition Tolerance 파티션 허용, 분할내성, 부분 결함 허용 1. CAP 이론 - Consistency(일관성) : 모든 사옹자는 같은 데이터의 뷰를 가짐 - Availability(가용성) : 모든 사용자는 항상 데이터 사용이 가능해야 함 - Partition Tolerance(파티션허용, 분할 내성, 부분 결함 허용) : 분산된 특정 노드에 장애가 발생해도 데이터 사용이 가능 * NoSQL : CAP 이론 중 CP or AP 즉, 가용성과 파티션 오류허용(부분 결함 허용)을 강조한 모델 * 관계형DB : CAP 이론에서 CA, 일관성과 가용성을 강조한 모델 2. NoSQL ..

데이터베이스 2021.08.25

회복과 동시성 제어_즉시갱신, 지연 갱신 회복 기법, 그림자 페이징 shadow

▣ 회복과 동시성 제어_즉시갱신, 지연 갱신 회복 기법 구분 즉시 갱신 회복 기법 (Immediate update) 지연 갱신 회복 기법 (Deferred update) 회복방법 트랜잭션 수행 과정의 변경 결과를 데이터베이스에 즉시 반영하고 로그파일에도 기록하는 방법 데이터베이스 변경을 Log에 기록 했다가 한꺼번에 실행하고, 트랜잭션의 부분완료 상태 전까지 모든 output 연산을 지연시키는 회복 기법 알고리즘 Undo -> Redo 필요 (Undo / No-Redo 알고리즘) Redo 연산만 필요 (No-Undo / Redo 알고리즘) 로그내용 Log Record : Log Record : 특징 구현이 복잡함 로그에 변경 전 값도 관리함 구현이 단순함 로그에 변경된 값만 관리함 ▣ 그림자 페이징(Sh..

데이터베이스 2021.08.25

논리 모델링_함수적 종속성(FD : Functional Dependency) 폐포(Closure) 후보키, 커버(Cover), BCNF, 정규화

▣ 논리 모델링_함수적 종속성(FD : Functional Dependency) 폐포(Closure) 후보키, 커버(Cover), BCNF, 정규화 1. 폐포(Closure) - 함수적 종속 관계의 집합 F에서 특정 속성 X가 함수적으로 결정하는 속성들의 집합(X+) - 후보키 찾기 - 폐포 알고리즘 2. 커버(Cover) - 어떤 함수종속 집합 F와 동등한 최소의 함수종속 집합을 의미 1) F의 모든 함수종속성들의 오른쪽 편 애트리뷰트가 하나이다. 2) F에서 X -> A를 X의 진부분집합 Y에 대하여 Y->A로 교체했을 때, F와 동등한 함수적 종속성들의 집합이 될 수 없다. (함수 종속성 왼쪽에 무의미하게 중된 애트리뷰트 제거) 3) F로부터 어떤 함수적 종속성을 제거했을 때, F와 동등한 함수적 ..

데이터베이스 2021.08.24