본문 바로가기

CS/데이터베이스5

5주차. DB 트랜잭션, 회복 1. DB 세션에 대해서 설명해주세요. *사용자 또는 응용 프로그램이 DB에 접속하고 상호 작용하기 위해 필요한 연결로, DB 접속을 시작으로 접속 종료까지의 전체 기간을 의미한다. [특징] 1) 연결 유지 - 세션이 확립되면, 일정 기간동안 DB에 대한 연결을 유지할 수 있다. 2) 트랜잭션 처리 - 트랜잭션을 관리하고, DB 작업을 일관성 있게 처리한다. 3) 자원 할당 및 해제 - DB 연결에 필요한 자원을 할당하고, 사용이 끝나면 이를 해제한다. 4) 보안 및 권한 권리 - DB 접근하기 위한 보안 및 권한 정보를 관리한다. 2. Commit에 대해서 설명해주세요. *트랜잭션 내에서의 변경사항을 DB에 영구적으로 적용하고, 트랜잭션을 종료하는 작업 [시기] 트랜잭션이 완료될 때 명시적으로 호출되는.. 2023. 12. 4.
4주차. 이상현상, 함수적 종속성, 정규화 1~4. 이상 현상이 뭘까요? *주로 관계형 데이터베이스에서 발생하는 문제로, 데이터의 무결성이 깨지는 상황을 의미 1) 삽입 이상(Insertion Anomaly) - 데이터를 삽입하기 위해 필요한 정보가 부족한 상황 ex. 직원을 추가할 때 'IT' 부서가 없는데, 설정했을 때 2) 갱신 이상(Update Anomaly) - 중복된 정보로 인해 동일한 내용을 여러 번 갱신해야 하는 상황 ex. 부서 이름이 변경되면, 해당 부서에 있는 모든 직원 레코드 수정 3) 삭제 이상(Deletion Anomaly) - 특정 데이터를 삭제할 때, 그 정보와 관련된 다른 정보도 함께 삭제되는 상황 ex. 부서 정보를 삭제하면, 해당 부서에 있는 모든 직원 레코드 삭제 이러한 이상현상를 방지하기 위해 "데이터 정규화.. 2023. 11. 26.
3주차. Index 1. 랜덤 I/O와 순차 I/O에 대해서 설명해주세요. 1) 랜덤 I/O - 데이터를 임의의 위치에서 읽거나 쓰는 방식 - WHERE 절(조건)이 포함된 쿼리를 실행해 데이터를 조회/수정/삭제하는 상황 2) 순차 I/O - 데이터를 순서대로 읽거나 쓰는 방식 - 대체로 랜덤 I/O보다 빠르다. * 쿼리 튜닝 - DB 성능을 향상시키기 위해서, 순차 I/O를 늘리고 랜덤 I/O를 줄이는 것 2. 인덱스에 대해서 설명해주세요. 1) 인덱스 - DB에서 특정 열(컬럼)의 값을 기반으로 데이터에 빠르게 액세스할 수 있도록 하는 데이터 구조 - 주로 검색 조건이 있는 WHERE 절에서 활용된다. - 연관된 테이블 간의 JOIN 작업에서 활용된다. 3. 인덱스의 동작 방식에 대해서 설명해주세요. - 주로 B-트리나.. 2023. 11. 22.
2주차. SQL 1. SQL에 대해서 설명해주세요. C언어와 같은 프로그래밍 언어와 어떤차이가 있나요? 더보기 SQL은 관계형 데이터베이스를 관리하고 조작하기 위한 구조화된 질의 언어입니다. SQL은 기능에 따라 데이터정의어(DDL), 데이터 조작어(DML), 데이터 제어어(DCL) 등으로 나누어집니다. SQL(Structured Query Language) : DBMS에서 데이터를 관리하고 검색하기 위한 언어 SQL은 데이터의 조작 및 관리를 목적으로, 주로 데이터베이스와 상호 작용하기 위해 사용된다. C언어는 범용 프로그래밍 언어로, 시스템 SW부터 응용 SW까지 다양한 분야에서 사용된다. 2. 개발자가 작성한 SQL이 어떤 과정을 통해 실행 되는지 설명해주세요. 더보기 MySQL 기준으로 설명 드리겠습니다. 사용자.. 2023. 11. 12.
1주차. 데이터베이스 & 관계형 데이터베이스 기본 개념 1. 파일시스템과 데이터베이스의 차이점에 대해서 설명해주세요.파일시스템에서는 데이터를 파일로 관리합니다. 데이터를 파일로 관리할 경우 중복이 발생할 수 있고 일관성이 깨질 수 있습니다.반면, 데이터베이스에서는 데이터를 DBMS을 통해 관리합니다. DBMS를 통해 데이터의 중복을 방지하고 일관성을 유지할 수 있습니다. 또한 여러 사용자가 동시 사용할 수 있고 데이터 복구나 보안성까지 제공합니다.  파일 시스템데이터베이스 시스템데이터 구조데이터를 계층 구조의 디렉토리와 파일로 구조화논리적으로 연관된 데이터를 모아 구조화하며,DBMS를 사용하여 데이터를 관리일관성과 무결성또한 각 응용 프로그램 별로 독립된 파일을 가지므로 제이터의 중복 저장이 불가피하며, 데이터가 수정될 때 이로 인한 불일치 발생 가능ACI.. 2023. 11. 8.