본문 바로가기

KNOU74

[데이터베이스시스템] 회복 시스템 회복시스템의 개념회복의 역할예상치 못한 HW 고장 및 SW 오류가 발생→ 사용자의 작업에 대한 안정적 디스크 반영 여부 보장이 불가능오류 발생 이전의 일관된 상태로 데이터베이스를 복원시키는 기법이 요구→ 시스템 내의 고장 원인 검출, DBMS의 안전성 및 신뢰성을 보장데이터베이스는 데이터 복원 절차 내재화시스템 실패(ststem failure)의 유형트랜잭션 실패→ 논리적 : 잘못된 데이터 입력 , 부재 , 버퍼 오버플로, 자원 초과 이용→ 시스템적 : 운용 시스템의 교착상태시스템 장애→ 시스템의 하드웨어 고장, 소프트웨어의 오류→ 주기억장치와 같은 휘발성 저장장치의 내용 손실디스크 실패→ 비휘발성 디스크 저장장치의 손상 및 고장으로 인한 데이터 손실회복 데이터의 구성백업(Backup)→ 데이터베이스의 .. 2024. 5. 25.
[데이터베이스시스템] 동시성 제어 동시성 제어 규약동시성 제어의 개념트랜잭션 직렬화와 회복화는 스케줄이 데이터 일관성에 영향을 미치는 여부를 판별하고 일관성이 유지되는 상태로 복원시키기 위해 정의한 개념일관성 훼손을 발생시키는 트랜잭션에 대해 동시성 제어를 통해 일관성 유지에 개입→ 트랜잭션 간 연산의 순서를 제어→ 어떠한 데이터 읽기, 갱신 연산에도 무결성을 유지→ 동시에 실행되는 트랜잭션 수를 증가동시성 제어 규약→ 락 기반 규약 , 타임스탬프 기반 규약 , 검증 기반 규약락 기반 규약 의 개념직렬 가능성을 보장하기 위해 락(잠금)을 사용하여 데이터 항복에 연산 적용 전 트랜잭션이 락을 획득하고 연산 후 반납하도록 하는 규약락의 종류→ 공유 락(shared lock : S) : 트랜잭션 T가 LS(Q) 명령으로 데이터 항목 Q에 공유.. 2024. 5. 25.
[데이터베이스시스템] 트랜잭션 트랜잭션의 이해데이터 동시 접근의 문제동일 데이터에 다수 사용자의 접근 허용시 일관성이 훼손트랜잭션의 개념데이터 베이스를 조작하기 위한 하나의 논리적 단위를 이루는 일련의 연산의 집합→ 예시) 예금 인출작업 단위 : 예금 1000원 인출일련의 연산 : Read(A) , A= A-1000, Write(A)데이터베이스를 사용하여 처리하는 작업을 하나의 묶음으로 인식하여 묶음 단위로 실행되도록 정의한 개념트랜잭션의 특징다수의 연산으로 구성된 트랜잭션이 사용자에게 단일 작업처럼 다뤄지도록 ACID 특징을 준수ACID 특성→ 원자성(atomicity) : 하나의 트랜잭션에 포함된 모든 연산은 완전히 수행되거나 전혀 수행되지 않음→ 일관성(consistency) : 특정 트랜잭션이 수행되기 전과 후에 데이터 베이스.. 2024. 5. 25.
[데이터베이스시스템] 해싱과 특수 인덱스 정적 해싱해싱의 개념해시(hash)탐색키에 산술적인 연산을 통해 버킷의 주소를 계산하는 해시 함수를 이용하여 데이터 배분 및 접근 하는 기법탐색키 → → 버킷ID버킷(bucket)→ 한 개 이상의 레코드를 저장 할 수 있는 저장 공간의 기본적인 단위→ 크기는 일반적으로 디스크 블록의 크기와 일치해시의 구조해시의 사용h(K3) = h(K7) = 3해시 함수의 역할여러개의 레코드와 여러개의 버킷이 있을 경우최상의 경우모든 버킷에 균등하게 위치 할 수 있게 나눠주는 경우최악의 경우한 버킷에 모든 레코드를 넣어주는 경우일반적인 경우여러 버킷 적당히 분배가 되는 경우 한쪽으로만 몰리지 않도록 해준다.정적 해싱의 특징버킷의 개수가 고정된 해싱 기법키 값이 Ki인 레코드 삽입→ h(Ki)를 통해 Ki 에 대응하는 .. 2024. 5. 25.
[데이터베이스시스템] 인덱싱 인덱스의 이해인덱스의 개념데이터 검색에서 발생하는 비효율적인 데이터 입출력 문제를 해결하기 위한 목적으로 시작→ 인덱스 : DBMS에서 요청된 레코드에 빠르게 접근 할 수 있도록 지원하는 데이터와 관련된 부가적인 구조→ 인덱싱 : 인덱스를 구성하고 생성하는 작업인덱스의 탐색키를 이용하여 해당 레코드가 저장된 블럭을 디스크 저장장치 또는 메모리에서 파악하여 해당 블럭을 빠르게 적재탐색키란?파일에서 레코드를 찾는데 사용되는 컬럼이나 컬럼의 집합인덱스 종류인덱스의 종류→ 순서 인덱스 : 특정 값에 대해 정렬된 순서 구조→ 해시 인덱스 : 버킷의 범위 안에서 값의 균일한 분포에 기초한 구조로 해시 함수가 어떤 값이 어느 버킷에 할당 되는지 결정인덱스의 평가기준→ 접근 시간 : 데이터를 찾는 데 걸리는 시간→ 유.. 2024. 5. 25.
[데이터베이스시스템] 데이터 저장과 파일 물리적 저장장치물리적 저장장치의 구성물리적 저장장치는 데이터 접근 속도, 용량을 기준으로 다양한 장치로 구성← 속도, 가격레지스터 - 캐시 - 메인메모리 - 자기디스크 , 플래시메모리 - 광학디스크 자기 테이프→ 저장용량물리적 저장장치 별 특징휘발성→ 캐시 : 고비용 저장장치로 빠른 접근 속도를 보장→ 메인 메모리 : 실제 프로그램과 데이터 적재 공간비 휘발성→ 플래쉬 메모리 : 메인 메모리와 유사하나 비휘발성→ 자기 디스크 : 데이터베이스 전체를 안정적으로 저장→ 광학 디스크 드라이브 : CD , DVD , Blue-ray 등→ 테이프 장치 : 용량이 크고 저렴하나 순차 접근 방식으로 속도가 느림파일데이터베이스 구성데이터베이스논리적이고 추상적으로 데이터들을 묶어 놓은 사용자 들을 위한 단위파일데이터를 .. 2024. 5. 25.
[데이터베이스시스템] 정규화 잘못된 데이터베이스 모델링데이터의 중복일관성 유지의 어려움저장 공간 낭비갱신 이상삽입 이상 - 레코드 추가 시불필요한 컬럼의 값이 없이는 추가하지 못 하는 경우삭제 이상 - 삭제 시 의도하지 않았던 다른 데이터가 삭제 되는 경우수정 이상 - 중복 저장된 레코드를 수정 시 모두 반영이 안되어 데이터베이스의 일관성이 깨지는 경우좋은 릴레이션의 개념컴퓨터 프로그래머적 관점에서의 모델링→ 어떻게 데이터를 저장해야 하는가?릴레이션의 스키마가 얼마나 효율적으로 실세계를 반영하고 있는지 평가고려사항→ 한 릴레이션 내의 컬럼 간의 관계 분석→ 원하지 않는 데이터의 종속과 중복 제거→ 새로운 컬럼들이 데이터베이스에 추가될 때, 기존 컬럼과의 관계 수정을 최소화함수적 종속성함수적 종속성의 정의릴레이션 인스턴스를 분석하여 .. 2024. 5. 25.
[데이터베이스시스템] SQL(3) 데이터 검색집계 함수특정 컬럼에 집계 함수를 통해 다양한 통계 연산을 수행할 수 있는 기능SELECT 절 또는 HAVING절에 기술집계 함수의 종류→ COUNT : 컬럼에 있는 값들의 개수→ SUM : 컬럼에 있는 값들의 합→ AVG : 컬럼에 있는 값들의 평균→ MAX : 컬럼에서 가장 큰 값→ MIN : 컬럼에서 가장 작은 값집계 함수의 사용SELECT COUNT(단과대학) FROM 학과그룹 질의특정 기준으로 레코드를 그룹화하고 각 레코드 그룹에 대해 집계 함수를 적용하는 질의구문 형식SELECT 질의 GROUP BY 컬럼[주의] SELECT 절에 그룹의 기준과 집계 함수 이외의 컬럼은 포함될 수 없음HAVING 절그룹 질의의 결과 레코드에 대해 출력 조건을 기술하기 위한 절구문 형식 SELECT.. 2024. 5. 25.
[데이터베이스시스템] SQL(2) 데이터 삽입, 수정, 삭제INSERT 문테이블에 새로운 레코드를 삽입하는 명령문→ 테이블에 새로운 레코드를 삽입→ 모든 속성 또는 부분 속성에 대한 속성값을 삽입구문 형식INSERT INTO TABLE_NAME VALUES(value1, value2, ... valueN)INSERT INTO TABLE_NAME(column1,column2...columnN) VALUES(value1, value2, ... valueN)질의1 ) 학과이름’영어영문학과’ , 단과대학 , ‘인문과학대학’ 주소 ‘a’ , 전화번호 ‘02-1234-1234’ , 졸업학점 135인 레코드를 학과 테이블에 삽입 하시오.INSERT INTO 학과 VALUES('영어영문학과', '인문과학대학' , 'a' , '02-1234-1234',.. 2024. 5. 25.
728x90