본문 바로가기

Data Science/SQL86

데이터베이스 시스템 아키텍처 | 구동 방식 비교(터미널,신/제로 클라이언트) 클라이언트 컴퓨팅 방식인 제로 클라이언트(Zero Client), 신 클라이언트(Thin Client), 그리고 전통적인 터미널(Terminal) 시스템은 모두 '중앙 서버에서 연산을 처리한다'는 공통점이 있지만, 하드웨어 구성과 운영 방식에서 뚜렷한 차이가 있습니다.1. 하드웨어 및 구동 방식 비교세 가지 방식의 가장 핵심적인 차이점은 내부 OS의 유무와 처리 프로세스에 있습니다.구분터미널 (Terminal)신 클라이언트 (Thin Client)제로 클라이언트 (Zero Client)개념서버에 접속하여 화면만 송출받는 단순 입출력 장치임베디드 OS가 탑재된 저사양 PC 형태OS 없이 전용 칩셋(ASIC)으로 구동되는 장치운영체제(OS)없음 (서버 OS에 종속)가벼운 Linux, Windows IoT 등.. 2026. 3. 29.
[SQL] 공기업/공공기관 통계직렬 전공시험 대비, DB 핵심 요약 공기업/공공기관 통계직렬 DB 전공시험 대비 1. 통계직렬 DB 출제 비중 분석영역출제 비중중요도비고SQL 응용매우 높음 (50%+)★★★Join, Subquery, 집계함수(Group By)데이터 모델링높음★★★ERD 해석, 식별/비식별 관계, 엔티티정규화보통★★이상 현상, 1~3NF, BCNF 개념트랜잭션낮음★ACID 개념 위주 (상세 기법은 드묾)빅데이터/DW보통★★데이터 웨어하우스, OLAP, 데이터 마이닝2. 통계직렬이라면 반드시 잡아야 할 핵심 (Priority)① SQL - 통계 쿼리의 핵심통계직은 데이터를 추출하고 가공하는 능력이 본질이다.Window Function (순위 함수): RANK(), DENSE_RANK(), ROW_NUMBER()는 통계 쿼리 단골이다.JOIN: Self Jo.. 2026. 2. 28.
[SQL] 트랜잭션과 동시성 제어, 핵심 요약 1. 트랜잭션의 개념 및 특징 (ACID) ★★★트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 작업 단위다.특징설명비고원자성 (Atomicity)트랜잭션의 연산은 모두 반영되거나, 전혀 반영되지 않아야 함 (All or Nothing)회복(Recovery) 관련일관성 (Consistency)실행 완료 후 DB는 언제나 일관된 상태를 유지해야 함무결성 제약 조건 등고립성 (Isolation)실행 중인 트랜잭션에 다른 트랜잭션이 끼어들 수 없음병행 제어 관련영속성 (Durability)성공 완료된 결과는 시스템 장애가 발생해도 영구적으로 보존됨회복 관련2. 트랜잭션의 상태 ★Active (활동): 실행 중인 상태Partially Committed (부분 완료): 마지막 연산 종료 후 Commit .. 2026. 2. 28.
[SQL/오답] 학습 경로 분석: LEAD 함수를 이용한 연속 과목 쌍 찾기 (Leetcode3764 Hard) 3764. Most Common Course Pairs Most Common Course Pairs - LeetCodeCan you solve this real interview question? Most Common Course Pairs - Table: course_completions +-------------------+---------+ | Column Name | Type | +-------------------+---------+ | user_id | int | | course_id | int | | course_name | varchar | | compleleetcode.com1. Problem우수한 성적을 거둔 학생들의 과목 수강 순서를 분석하여, 어떤 과목에서 어떤 과목으로의 전환(Tr.. 2026. 2. 20.
[SQL/오답] 연속 행동 패턴 분석: 그룹화 기법(DATE_SUB)을 활용한 스트릭 계산 (Leetcode3832 Hard) 3832. Find Users with Persistent Behavior Patterns1. Problem행동의 일관성이 매우 높은 '행동 안정 고객'을 식별해야 한다.조건 1: 최소 5일 연속으로 같은 액션을 수행해야 한다.조건 2: 해당 기간 동안 매일 정확히 단 하나의 액션만 수행했어야 한다 (다른 액션이 섞이면 안 됨).조건 3: 한 유저에게 여러 연속 구간이 있다면, 가장 긴 구간(Max Length)만 추출한다.결과: 스트릭 길이 내림차순, 유저 ID 오름차순으로 정렬한다.2. Solution: 단계적 데이터 정제와 연속 그룹 생성연속된 날짜에서 행 번호(ROW_NUMBER)를 빼면 동일한 기준일(grp)이 나온다는 SQL의 고전적이지만 강력한 기법을 사용한다.-- 1. 하루에 액션을 2개 .. 2026. 2. 20.
[SQL/오답] 유저별 지배적 반응과 비율 계산 (Leetcode3808 Medium) 3808. Find Emotionally Consistent Users 1. Problem유저가 남긴 리액션 데이터를 분석하여 '정서적으로 일관된 유저'를 식별해야 한다.조건 1: 최소 5개 이상의 서로 다른 콘텐츠에 리액션을 남긴 유저여야 한다.조건 2: 특정 한 종류의 리액션이 전체 리액션 중 60% 이상을 차지해야 한다.결과: 일관성 비율(reaction_ratio) 내림차순, 유저 ID 오름차순으로 정렬한다.2. Solution: CTE 분리를 통한 분자/분모 산출전체 리액션 수(분모)와 각 감정별 수(분자)를 각각 구한 뒤, 윈도우 함수를 사용하여 가장 빈도가 높은 감정을 선택한다. -- 1. 유저별 전체 리액션 수 계산 (분모 및 최소 조건 5개 필터링)WITH total AS ( SEL.. 2026. 2. 20.