본문 바로가기

CS/데이터베이스6

데이터베이스 면접 스터디 회고글 활동 내용 jscode의 CS 면접 끝장내기 - 데이터베이스 스터디(2024.11.1  ~ 2024.11.29) 에 참여했다. 참여 계기면접에 자신이 없어 두렵고, 고치고싶은 점들이 몇개 있었다.고치고싶은 점미괄식으로 말하기 (두서없이 말하기)답변하다가 길잃기 (질문 까먹기)그냥 머릿속 하얘지기말끝 흐리기눈 굴리기 진행 방식5주간 매주 주제 관련 질문이 주어진다.목요일까지 블로그에 정리해서 제출한다.금요일 저녁에 줌으로 모의 면접을 진행한다. 모의 면접에서는 30분정도 멘토님이 면접 팁이나 경험을 말해주신다.3~4명이 조를 짜서 모의 면접을 진행한다.지원자, 면접관, 관찰자를 돌아가면서 맡는다. 한 지원자 면접이 끝나면 면접관, 관찰자는 피드백 설문지를 작성한다.지원자로 답변만하는게 아니라 면접관, 관찰.. 2024. 12. 3.
데이터베이스 스터디 5주차 트랜잭션이란?: 데이터베이스 시스템에서 복구 및 병행 수행 시 처리되는 작업의 논리적 단위하나의 트랜잭션은 commit 되거나 rollback 된다.트랜잭션은 일반적으로 회복의 단위가 된다 트랜잭션의 특성 (ACID)원자성 (Atomicity) : 트랜잭션 연산은 데이터베이스에 모두 반영되거나 전혀 반영되지 않아야함. 에러 발생 시 트랜잭션 전부 취소되어야함일관성(Consistency) : 트랜잭션이 성공적으로 완료되면 언제나 일관성 있는 데이터벤이스 상태를 가져야함독립성(Isolation) : 둘 이상의 트랜잭션이 동시에 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션 연산이 까어들 수 없음영속성(Durability) : 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반.. 2024. 11. 25.
데이터베이스 4주차 - 정규화 1. 정규화 (Normalization): 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 고나계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정. 데이터베이스 논리적 설계 단계에서 수행한다. 1) 정규화의 목적데이터 구조의 안정성을 최대화한다.어떤 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만든다.효과적인 검색 알고리즘을 생성할 수 있다.중복을 배제하여 삽입, 삭제, 갱신 이상을 방지한다데이터 삽입 시 릴레이션을 재구성할 필요성을 줄인다.  2. 이상(Anomaly)의 개념 및 종류1) 이상이란?: 정구화를 거치지 않은 데이터베이스내에 데이터들이 불필요하게 중복되어 릴레이션 ㅅ조작 시 발생하는 예기치 못한 곤란한 상황2) 이상 종류삽입 이상 : 릴레이션에 데이터.. 2024. 11. 18.
데이터베이스 스터디 3주차 1. 디스크 읽기 방식데이터베이스의 성능 튜닝은 어떻게 디스크 I/O 를 줄이냐가 관건인 경우가 많음.SSD가 HDD보다 DBMS용 스토리지에 더 적합. 순차 I/O보다 랜덤 I/O를 통해 작은 데이터 읽고 쓰는 작업이 대부분 이기 때문.1) 랜덤 I/O와 순차 I/O순차 I/O디스크의 헤더를 움직이지 않고 한 번에 많은 데이터를 읽음랜덤 I/O데이터가 물리적/논리적으로 연속적이지 않기때문에 (하드 디스크 드라이브의 플래터(원판)를 돌려서) 읽어야 할 데이터가 저장된 위치로 여러번 디스크 헤더를 이동시킨 다음 데이터를 읽는 것 데이터 읽기, 쓰기 시간은 디스크 헤더를 읽고 쓸 위치로 옮기는 단계에서 결정. 랜덤 I/O가 순차 I/O 보다 헤드 여러번 움직임. -> 속도 오래걸림. 원판이 없는 SSD에서도.. 2024. 11. 14.
데이터베이스 2주차 스터디 1. SQL1) C언어와 SQL의 차이점SQL은 데이터베이스와의 상호작용을 위해 설계된 언어이고, C언어는 일반적인 프로그래밍을 위한 언어.C언어는 프로그래밍 언어로 개발자가 직접 프로그램 흐름을 제어하고 메모리 관리 및 최적화를 수행해야 함.SQL은 고수준 선언적 언어로, 개발자는 원하는 결과(데이터베이스에서 데이터를 처리하고 관리하는 데 필요한 쿼리문)를 명시, DBMS가 성능 최적화, 제어 흐름, 병행성, 동시성 제어, 결과 처리 등 DBMS가 처리방식 결정 및 실행특징C언어SQL목적시스템 및 애플리케이션 소프트웨어 개발관계형 데이터베이스에서 데이터 관리언어 유형절차적 프로그래밍 언어선언적 질의 언어 (데이터베이스 질의)실행 방식컴파일 후 실행DBMS에서 직접 해석 및 실행제어 흐름명시적으로 제어문.. 2024. 11. 7.