본문 바로가기

CS/DB

(5)
[DB 스터디 5주차] 트랜잭션, 회복 DB세션 데이터베이스 접속을 시작으로, 여러 작업을 수행한 후 접속 종료까지의 전체 기간 세션 내부에는 하나 이상의 트랜잭션이 존재할 수 있음 일반적으로 데이터베이스는 여러 곳에서 동시에 접근이 가능하기 때문에 많은 세션이 동시에 연결될수 있음 세션은 데이터가 변경, 삭제가 확정될때까지 해당 데이터 조작을 분리처리함으로써 데이터와 테이블과의 관계를 보존하는 역할을 함 트랜잭션 데이터베이스에서 수행되는 하나 이상의 작업을 하나의 논리적 단위로 묶어, 일련의 데이터베이스 조작을 원자적으로 실행하는 개념 트랜잭션의 특징 Atomicity (원자성) 트랜잭션의 작업이 부분적으로 실행되거나 중단되지 않는 것을 보장한다. Consistency (일관성) 트랜잭션이 실행되기 전과 실행된 후에 데이터베이스는 일관된 상..
[DB 스터디 4주차] 이상현상, 함수적 종속성, 정규화 📌 Index Q) 이상 현상이 뭘까요? 이상 현상 테이블을 설계할 때 잘못 설계하여 데이터를 삽입, 삭제, 수정할 때 논리적으로 생기는 오류 갱신이상, 삽입이상, 삭제이상으로 구성됨 Q) 삽입 이상(Insertion Anomaly)에 대해서 설명해주세요. 삽입 이상 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가가 가능한 현상 Q) 갱신 이상(Update Anomaly)에 대해서 설명해주세요. 갱신 이상 중복된 데이터 중 일부만 수정되어 데이터 모순이 일어나는 현상 Q) 삭제 이상(Deletion Anomaly)에 대해서 설명해주세요. 삭제 이상 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상 Q) 함수 종속성이 무엇인가요? 함수 종속 X -> Y X가 ..
[DB 스터디 3주차] Index 📌 Index Q) 랜덤 I/O와 순차 I/O에 대해서 설명해주세요. I/O Input, output 랜덤 I/O 읽어야하는 데이터가 물리적으로 불연속적으로 있기 때문에 디스크 헤더를 이동 시킨 다음 데이터를 읽는 것 인덱스 레인지 스캔 시 사용 순차 I/O 읽어야하는 데이터가 연속적으로 있어 순서대로 읽는 것 테이블 스캔 시 사용 디스크 성능/쿼리튜닝 HDD와는 다르게 SSD는 디스크 원판이 없어서 랜덤 I/O와 순차 I/O가 큰 차이가 없을 것 같지만 SSD에서도 랜덤 I/O는 순차 I/O 대비 throughput이 떨어짐 쿼리 튜닝의 목적->랜덤I/O를 줄이는 것->꼭 필요한 데이터만 읽도록 쿼리 개선 Q) 인덱스에 대해서 설명해주세요. 인덱스(index) 추가적인 쓰기 작업과 저장 공간을 활용하여..
[DB 스터디 2주차] SQL 📌 SQL Q) SQL에 대해서 설명해주세요. C언어와 같은 프로그래밍 언어와 어떤차이가 있나요? SQL 구조화된 질의 언어(Structured Query Language) DMBS 상에서 데이터를 읽고 쓰고 삭제하는 등 데이터를 관리하기 위한 일종의 프로그램 언어 크게 DDL, DML로 나눌 수 있음. C, Java 등의 프로그래밍 언어와의 차이점 C, Java SQL 특징 절차적 언어 (프로그래밍 순서대로 로직 처리) 구조적, 집합적 (데이터를 특정 집합 단위로 분류하고, 단위별로 한번에 처리) Q) 개발자가 작성한 SQL이 어떤 과정을 통해 실행 되는지 설명해주세요. 사용자가 작성한 SQL을 데이터베이스로 보냅니다. MySQL 쿼리파서는 SQL 문장을 토큰으로 쪼개서 트리를 만듭니다.이 과정에서 문..
[DB 스터디 1주차] 데이터베이스 & 관계형 데이터베이스 기본 개념 📌 데이터베이스 & 관계형 데이터베이스 기본 개념 Q) 파일시스템과 데이터베이스의 차이점에 대해서 설명해주세요. File System VS Database File System Database 1. 데이터 종속성 데이터가 변경될 때마다 프로그램 자체를 수정해야 함 DBMS를 이용해 데이터를 받아 변경이 쉬움 2. 데이터 중복성 & 비일관성 프로그램 별로 독립된 파일을 가짐 -> 중복저장, 데이터 값의 불일치 중복을 없애고 자료를 구조화 3. 데이터 접근 각 작업마다 새로운 프로그램이 필요하여 필요한 데이터를 편리하고 효율적으로 검색하기 어려움. 데이터를 공유하므로 효율성 높음. 작업 수정 쉬움 4. 무결성 제약조건 새로운 제약이 발생할 때, 모든 파일에 제약조건 추가하기 어려움 DB 내 저장될 데이터에 ..