데이터베이스 70

2단계 로킹 규약(2 phase locking protocol), 공유로크 shared lock, 배타적로크 exclusive lock, 2PL

▣ 2단계 로킹 규약(2 phase locking protocol) - 직렬 가능성을 보장할 수 있는 규약으로 모든 트랜잭션들이 lock와 unlock연산을 다음과 같이 두 단계로 구분하여 실행해야 함 확장단계 (Growing Phase) 트랜잭션은 새로운 lock 연산만 실행가능, unlock 연산 실행 불가 축소단계 (Shrinking Phase) 트랜잭션은 새로운 unlock 연산만 실행 가능, 일단 unlock 연산을 실행하면 lock 연산 더 이상 실행 불가 - Read Lock(읽기 로크) : 항목 X에 ReadLock을 수행한 경우, 다른 트랜잭션의 ReadLock은 허용함, Shared Lock(공유 로크)라고도 하며, WriteLock은 허용하지 않음 / 다른 트랜잭션에서 ReadLock..

데이터베이스 2021.09.03

오분류표 (confusion matrix), 정분류율, 오분류율, 재현율(민감도), 정밀도, 정확도, 특이도, F1 Score, 정보검색모델

▣ 오분류표 (confusion matrix), 정분류율, 오분류율, 재현율(민감도), 정밀도, 정확도, 특이도, F1 Score, 정보검색모델 - 정분류율 (Accuracy): 전체 데이터 중 예측한게 맞을 확률 - 오분류율 (Error Rate) : 1-정분류율 - 재현율 or 민감도(Recall or Sensitivity) : 실제 Positive로 나온 데이터 중 Positive로 예측한 데이터 - 정확도 or 정밀도(Precison) : 예측을 Positvie로 한 데이터 중 실제 Positive로 나온 데이터 - 특이도(Specificity) : 실제 Negative로 나온 데이터 중 Negatvie로 예측한 데이터 - F1 Score(조화평균) : 2*(정밀도*재현율)/(정밀도+재현율)=2*..

데이터베이스 2021.08.29

데이터마이닝_연관규칙(Association)_지지도, 신뢰도, 향상도, Apriori, 빈발항목

▣ 연관규칙(Association)_지지도, 신뢰도, 향상도, Apriori, 빈발항목 - 항목들 간의 관계를 얻기 위해 한 항목의 존재가 다른 항목의 존재를 암시하는 조합을 발견하는 분석 방법 - 동시에 발생한 사건 간의 관계 정의 - 지지도는 X->Y = Y->X (상호대칭) - 신뢰도는 X->Y ≠ Y->X (지지도가 낮아도 신뢰도가 높은 경우 유용한 규칙) - 향상도는 X->Y = Y->X (상호대칭) L > 1 : 양의 상관관계 (같이 구매할 확률 높음) L < 1 : 음의 상관관계 (같이 구매할 확률 낮음) L = 1 : 독립적 상관관계 (서로 영향 미치지 않음) ▣ Apriori 알고리즘 Apriori 원리 전체 거래 중 A, B가 포함되는 거래 빈도는 A, B, C가 포함되는 거래 빈도보다..

데이터베이스 2021.08.29

정규화- 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