아래는 학교 데이터베이스 수업 중간고사 대비 문제 풀이입니다.
-> 영구적인 저장이란 대용량 데이터의 안전하고 효율적인 영구적 저장 및 관리를 의미하고, 이는 대학의 학사 행정 업무에서 학교 학생들의 개인 정보, 성적, 재학 정보들을 DBMS를 통해 안전하게 저장되고 오랜 기간 동안 보호되고 신뢰할 수 있는 상태로 유지할 수 있습니다.
-> 파일 시스템과 DBMS는 둘다 데이터를 저장하고 관리한다는 공통점이 있습니다.
하지만 파일 시스템은 간단한 데이터를 저장하고 관리에 적합하고, 복잡한 데이터 관리, 무결성 유지, 보안, 동시성 제어 등의 기능이 필요할 떄는 DBMS의 사용이 용이합니다.
-> DBMS는 영구적인 저장을 위해 파일 시스템과 연동하며, 블록 단위로 디스크에 저장합니다. 또한 무결성과 일관성을 유지하기 위해 변경 사항을 로그 파일에 기록하고 이를 통해 복구가 가능하도록 합니다. 그리고 트랜잭션 관리를 통해 일관성과 무결성을 보장하고 정기적인 백업을 통해 데이터를 보호 하도록 합니다.
-> 데이터 모델링, 데이터베이스 설계 및 구현, 쿼리 최적화 등을 담당하는 데이터베이스 개발자가 될 수 있다.
-> 파일 관리기는 디스크 상에 데이터베이스 파일을 저장하고 관리하는 모듈이고, 데이터베이스의 데이터와 메타데이터를 효율적으로 저장 및 관리합니다. 주로 물리적인 저장 구조를 담당하고, 데이터 베이스 내의 데이터가 어디에, 어떻게 저장될 지를 결정합니다.
버퍼 관리기는 메모리 내에서 데이터 페이지들을 캐싱하고 관리하는 모듈입니다. 버퍼 관리기는 어떤 페이지를 메모리에 유지할지, 메모리가 부족할 때 어떤 페이지를 디스크로 다시 쓸지를 결정하는 교체 알고리즘을 관리합니다.
이 기능이 필요한 이유는 대용량의 데이터를 관리하고 처리하기에 그에 특수화된 최적화가 필요하고 무결성과 일관성 유지를 위한 파일 및 버퍼 관리 기능이 필요하고 DBMS는 데이터 접근과 관리에 있어 운영체제 보다 더 세밀 하고 최적화된 제어가 필요하기 때문입니다. 즉 디비의 특수한 요구사항을 충족시키고, 데이터를 더 효과적으로 관리하기 위해 사용합니다.
-> 영구적인 저장이란 대용량 데이터의 안전하고 효율적인 영구적 저장 및 관리를 의미하고 영구적인 저장을 위해서 파일 시스템과 연동하며, 블록 단위로 디스크에 저장합니다. 또한 무결성과 일관성을 유지하기 위해 변경 사항을 로그 파일에 기록하고 이를 통해 복구가 가능하도록 합니다. 그리고 트랜잭션 관리를 통해 일관성과 무결성을 보장하고 정기적인 백업을 통해 데이터를 보호 하도록 합니다.
-> 여러 시스템이나 애플리케이션에서 생성되는 데이터를 하나의 중앙 집중식 저장소에 통합하여 관리하고 싶을때 필요하며, 데이터 웨어하우스는 이때 다양한 소스에서 오는 데이터를 통합, 정제, 변환하여 일관된 형태로 저장합니다. 이를 통해 데이터의 중복을 방지하고 품질을 관리할 수 있습니다.
-> DBMS의 필수적인 기능으로는 DDL(데이터정의기능),DML(데이터조작기능),트랜잭션 관리, 동시성제어, 보안 관리, 백업 및 복구가 있으며 은행을 예를 들자면
-> 은행은 고객의 계좌 정보, 대출 정보, 고객 정보 등 다양한 데이터를 관리하기 위해 DDL을 사용하여 이러한 정보를 저장하기 위한 테이블을 생성하고, 필요에 따라 구조를 수정하거나 삭제 가능하다. ex. 새로운 대출 상품이 나올 때 해당 대출 상품의 정보를 저장하기 위한 새로운 테이블 생성
은행은 고객의 계좌 입출금, 대출신청 처리 등의 작업을 수행할 때, DML을 통해 고객의 계좌를 조회한후, 입금액을 잔액에 더하는 작업을 수행할 수 있습니다. 은행은 한 고객이 다른 고객에게 송금할 때, 송금하는 사람의 계좌에서 금액을 차감하고 수령자의 계좌에 해당 금액을 추가하는 작업이 모두 성공적으로 이루어 질 수 있도록 트랜잭션을 관리해야 합니다. (즉, 트랜잭션이 모두 완료가 되야함)
고객이 같은 게좌에 접근해 입출금을 시도할때 데이터의 일관성과 정확성을 유지하도록 합니다. 예를들어, 두 고객이 동시에 같은 계좌에서 돈을 인출할때 동시성 제어는 한번에 하나의 트랜잭션만 처리하도록 하여 잔액이 음수가 되는 것을 방지합니다.
고객의 정보는 민감하기에 사용자 인증, 접근 권한 부여, 데이터암호화를 통해 데이터의 안전성을 보장합니다. 은행 시스템에 장애가 발생했을때 백업된 데이터를 사용해 시스템을 이전 상태로 복구할 수 있어야합니다.
-> 운영체제의 내부 모듈과 유사한 기능을 하는 모듈은 각각 파일 관리기와 버퍼 관리기 이다.
파일 관리기는 디스크 상에 데이터베이스 파일을 저장하고 관리하는 모듈이고, 버퍼 관리기는 메모리 내에서 데이터 페이지들을 캐싱하고 관리하는 모듈이다. 이 두 모듈이 포함되어 있는 이유는 DB의 특수한 요구사항을 충족시키고, 데이터를 더 효과적으로 관리하기 위해 사용하기 위해서 이다.