<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>k_heeyoung.log</title>
        <link>https://velog.io/</link>
        <description>내는 반드시 엄청난 개발자가 되고 말것어</description>
        <lastBuildDate>Wed, 15 Apr 2026 23:01:14 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>k_heeyoung.log</title>
            <url>https://velog.velcdn.com/images/k_heeyoung/profile/d3245ad7-f0b1-4952-8917-c219f0cf1375/image.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. k_heeyoung.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/k_heeyoung" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[1-3 데이터 수집 및 저장 계획]]></title>
            <link>https://velog.io/@k_heeyoung/1-3-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%88%98%EC%A7%91-%EB%B0%8F-%EC%A0%80%EC%9E%A5-%EA%B3%84%ED%9A%8D</link>
            <guid>https://velog.io/@k_heeyoung/1-3-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%88%98%EC%A7%91-%EB%B0%8F-%EC%A0%80%EC%9E%A5-%EA%B3%84%ED%9A%8D</guid>
            <pubDate>Wed, 15 Apr 2026 23:01:14 GMT</pubDate>
            <description><![CDATA[<h1 id="1데이터-수집-및-전환">1.데이터 수집 및 전환</h1>
<h2 id="1-1-데이터-수집">1-1. 데이터 수집</h2>
<ul>
<li><p><strong>기초 데이터 수집 수행 절차</strong></p>
<ul>
<li><strong>비즈니스 도메인 정보 수집</strong> : 전문가 인터뷰</li>
<li><strong>분석기획서 기반 도메인, 서비스 이해</strong> : 비즈니스, 원천데이터 습득 현황</li>
<li><strong>수집 데이터 탐색</strong> : 수집 데이터 선정, 데이티터 위치, 유형, 수집법, 비용</li>
<li><strong>기초 데이터 수집</strong> : 체크리스트 활용</li>
</ul>
</li>
<li><p><strong>데이터 수집 시스템 구축 절차</strong> </p>
<ul>
<li>수집 데이터 유형 파악</li>
<li>수집 기술 결정</li>
<li>아키텍처 수립</li>
<li>하드웨어 구축</li>
<li>실행환경 구축</li>
</ul>
</li>
</ul>
<p><strong>비즈니스 도메인과 원천 데이터 정보 수집</strong></p>
<ul>
<li><strong>비즈니스 도메인 정보</strong> : <strong>비즈니스 모델 / 용어집 / 프로세스</strong>로부터 <code>관련 정보</code> 습득, <strong>전문가 인터뷰</strong>로 <code>데이터 종류 / 유형 / 특징</code> 정보 습득</li>
<li><strong>원천 데이터 정보</strong> : 수집 가능성 / 보안 / 정확성 / 수집 난이도 / 수집 이용등 기초 자료 수집</li>
</ul>
<p><strong>내외부 데이터 수집</strong></p>
<table>
<thead>
<tr>
<th>구분</th>
<th>종류</th>
<th>수집 주기</th>
<th>수집 방법</th>
</tr>
</thead>
<tbody><tr>
<td>내부 데이터</td>
<td>서비스 시스템,네트워크 및 서버 장비, 마케팅 데이터</td>
<td>실시간 수집, 분석</td>
<td>조직 내부 협의, 인터페이스 생성, 파일 시스템/DBMS/센서에서 수집</td>
</tr>
<tr>
<td>외부 데이터</td>
<td>소셜데이터, 특정 기관 데이터, M2M(사물간 통신) 데이터, LOD(웹 무료 공계 연계 데이터)</td>
<td>일정 주기</td>
<td>외부 조직과 협약, 인터넷으로 연결, DBMS 데이터/웹 페이지/소셜데이터/문서에서 수집</td>
</tr>
</tbody></table>
<p><strong>데이터 수집 기술</strong></p>
<ul>
<li><p>데이터 유형별 수집 기술</p>
<ul>
<li>정형 데이터<ul>
<li>ETL<ul>
<li>FTP</li>
</ul>
</li>
<li>API</li>
<li>DBToDB (DB에서 DB로 데이터 전송)</li>
<li>스쿱 (하둡-RDBMS간 데이터 전송)</li>
</ul>
</li>
<li>비정형 데이터<ul>
<li>크롤링<ul>
<li>RSS (XML기반 정보 배포 프로토콜)</li>
</ul>
</li>
<li>OPEN API</li>
<li>척와 (분산 시스템에서 데이터 수집, 하둡 시스템에게 분석 기능 제공)</li>
<li>카프카 (분산 스트리밍 플랫폼 기술)</li>
</ul>
</li>
<li>반정형 데이터<ul>
<li>플럼 (분산환경용 로그데이터 수집,전송,분석 기능 제공)<ul>
<li>스크라이브(다수의 서버에서 데이터 수집, 분산 시스템에 저장)</li>
<li>센싱 (센서 데이터를 네트워크로 수집)</li>
<li>스트리밍 (미디어 데이터 실시간 수집)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>ETL</strong></p>
<ul>
<li>여러 데이터 소스에서 데이터 웨어하우스, 마트, 통합등의 응용시스템 위한 데이터 구축 기술</li>
</ul>
</li>
<li><p><code>추출 / 변환 / 적재</code> 3단계로 구성</p>
</li>
<li><p><strong>FTP</strong></p>
<ul>
<li>대량 파일 네트워크 전송 서비스 </li>
<li>TCP/IP 위에서 동작</li>
</ul>
</li>
<li><p><strong>아파치 스쿱</strong></p>
<ul>
<li>관계형 데이터 스토어간 데이터 전송용 도구 (RDBMS -&gt; 하둡)</li>
<li>정형 데이터 처리</li>
<li>적재 과정 자동화 및 병렬처리로 동작</li>
<li>Bulk import 지원 / 데이터 전송 병렬화 / Direct input 제공 / 프로그래밍 방식의 데이터 인터랙션</li>
</ul>
</li>
<li><p><strong>플럼</strong></p>
<ul>
<li>로그 데이터 수집, 집계, 이동 시키는 분산 서비스 제공</li>
<li>스트리밍 데이터 흐름 기반</li>
<li>웹서버 -&gt; 소스 -&gt; 채널-&gt; 싱크 -&gt; HDFS</li>
<li>신뢰성 / 확장성 / 효율성 </li>
</ul>
</li>
<li><p><strong>스크래피</strong></p>
<ul>
<li>웹 사이트 크롤링, 구조화 데이터 수집 도구</li>
<li>API로 데이터 추출</li>
<li>파이썬 기반 / 단순 스크랩 과정 / 다양한 부가 요소 </li>
</ul>
</li>
</ul>
<hr>
<h2 id="1-2-데이터-유형-및-속성-파악">1-2. 데이터 유형 및 속성 파악</h2>
<p><strong>데이터 수집 세부 계획 작성</strong></p>
<ol>
<li>세부 계획서 작성 (유형/위치/보관법/수집주기/이관절차/비용)</li>
<li>데이터 적정성 검증 방식 수립 및 세부 게획 반영</li>
<li>데이터 재수집 및 가공</li>
</ol>
<p><strong>수집 데이터 형태</strong></p>
<ul>
<li>HTML (텍스트/태그/스크립트로 구성)</li>
<li>XML (엘리먼트/속성/처리명령/엔티티/주석/CDATA 섹션으로 구성)</li>
<li>JSON (수/문자열/배열/객체로 구성)</li>
</ul>
<p><strong>데이터 저장 방식</strong></p>
<ul>
<li>파일 시스템</li>
<li>RDBMS</li>
<li>분산처리 DB</li>
</ul>
<p><strong>데이터 적절성 검증</strong></p>
<ul>
<li>누락 점검</li>
<li>소스데이터와 비교</li>
<li>정확성 점검</li>
<li>보안 사항 점검</li>
<li>저작권 점검</li>
<li>대량 트래픽 발생 여부 검증</li>
</ul>
<hr>
<h2 id="1-3-데이터-변환">1-3. 데이터 변환</h2>
<p><strong>데이터 변환</strong> :데이터를 다른 형식의 표현 방식으로 변형</p>
<ul>
<li><p>종류 </p>
<ul>
<li>비정형 -&gt; 정형 (관계형 DB)</li>
<li>수집 데이터 -&gt; 분산파일시스템 (HDFS)</li>
<li>주제별, 시계열적 저장 (데이터 웨어 하우스)</li>
<li>키/값 형태 (NoSQL)</li>
</ul>
</li>
<li><p>데이터 변환 수행 자료: 수집 계획서,수집 솔루션 매뉴얼, 변환 솔루션, 하둡 오퍼레이션 매뉴얼, SW 아키텍처 개념도 등</p>
</li>
</ul>
<p><strong>DB 구조 설계</strong></p>
<ul>
<li>수집 데이터 저장용 DB 설계</li>
<li>DBMS 구축여부 결정&gt; 저장 DB 결정 &gt; DBMS 설치 &gt; 테이블 구조 설계</li>
</ul>
<p><strong>비정형/반정형 데이터 변환</strong></p>
<ul>
<li>데이터 전처리 전 데이터를 구조적 형태로 전환, 저장</li>
<li>수집 데이터 속성 구조 파악 &gt; 수집 절차에 대한 수행코드 정의 &gt; 저장 프로그램 작성 &gt; DB 저장</li>
</ul>
<p><strong>융합 DB 설계</strong></p>
<ul>
<li>데이터 유형,의미 파악으로 융합 DB 설계</li>
<li>요구사항 분석 &gt; 데이터 표준화, 모델링 수행 (개념적, 논리적 설계)</li>
</ul>
<p>-&gt; 분석용이성을 위해 정형으로 변환, 자동화에 용이하게 구축</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[1-2 데이터 분석 계획]]></title>
            <link>https://velog.io/@k_heeyoung/1-2-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EA%B3%84%ED%9A%8D</link>
            <guid>https://velog.io/@k_heeyoung/1-2-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EA%B3%84%ED%9A%8D</guid>
            <pubDate>Thu, 02 Apr 2026 23:31:43 GMT</pubDate>
            <description><![CDATA[<h1 id="1-분석-방안-수립">1. 분석 방안 수립</h1>
<h2 id="1-1-데이터-분석">1-1. 데이터 분석</h2>
<p><strong>데이터 분석의 현황</strong> : 아직 초기단계로 분석 방법과 성과에 대한 이해 부족 문제</p>
<p><strong>데이터 분석의 지향점</strong></p>
<ul>
<li>전략적 통찰 없는 분석 배재</li>
<li>일차원적 분석 지양</li>
<li>전략 도출을 위한 가치 기반 분석 지향</li>
</ul>
<p><strong>데이터 분석에 대한 회의론</strong> : 분석 솔루션 도입 후 활용 방법 미지수 </p>
<p><strong>데이터 분석 시 고려 사항</strong> : 규모보다 시각과 통찰을 얻을 수 있는가의 문제</p>
<hr>
<h2 id="1-2-데이터-분석-기획">1-2. 데이터 분석 기획</h2>
<p><strong>분석 기획 특징</strong></p>
<blockquote>
<p><strong>분석 기획 절차</strong>
비즈니스 이해 및 범위 설정 -&gt; 프로젝트 정의 
-&gt; 프로젝트 수행 계획 수립 -&gt; 프로젝트 위험 계획 수립</p>
</blockquote>
<ul>
<li><p><strong>분석 대상과 방법에 따른 분류</strong> : 4가지 유형을 넘나들며 분석, 결과 도출 과정 반복</p>
<ul>
<li>Optimization </li>
<li>Insight</li>
<li>Discovery</li>
<li>Solution</li>
</ul>
</li>
<li><p><strong>목표 시점에 따른 분류</strong></p>
<ul>
<li>단기적 접근 방식 (과제 중심적 접근)</li>
<li>중장기적 접근 방식 (마스터 플랜 접근)</li>
<li>혼합 방식 (분석 기획시)</li>
</ul>
</li>
</ul>
<p><strong>분석 기획 시 필요 역량</strong></p>
<ul>
<li>도메인 지식, 정보기술, 수학(통계)</li>
<li>프로젝트 관리 역량, 리더십</li>
</ul>
<p><strong>분석 기획 시 고려사항</strong></p>
<ul>
<li>사용가능한 데이터 확인</li>
<li>적합한 사례 탐색</li>
<li>발생 가능한 요소 고려</li>
</ul>
<p>+) 데이터 분석 유형
    - 설명 분석 : 기본 데이터 요약, 집계. 현재 발생 사실 설명
    - 예측 분석 : 결과 가능성 파악용
    - 진단 분석 : 데이터 간 인과/상관 관계 파악. 원인 분석
    - 처방 분석 : 예측 되는 상황에 대한 대안 제시</p>
<hr>
<h2 id="1-2-분석-마스터-플랜과-로드맵-설정">1-2. 분석 마스터 플랜과 로드맵 설정</h2>
<p><strong>분석 마스터 플랜</strong> :분석 과제의 전체적인 방향성 제시 계획</p>
<ul>
<li><p>분석 마스터 플랜 수립 절차 : <code>과제 정의</code> - <code>우선순위 결정</code> - <code>단기/중장기 분석 로드맵 수립</code></p>
</li>
<li><p>정보 전략 계획(ISP) : 중장기 마스터 플랜 수립 절차.</p>
<ul>
<li>조직 내/외부 분석, 기회 및 문제점 도출</li>
<li>사용자 요구사항 확인, 우선순위 결정</li>
</ul>
</li>
</ul>
<p><strong>분석 과제 우선순위 평가 기준</strong></p>
<ul>
<li><p><strong>IT 프로젝트의 과제 우선순위 평가 기준</strong></p>
<ul>
<li>전략적 중요도 <ul>
<li>전략적 필요성<ul>
<li>시급성</li>
</ul>
</li>
</ul>
</li>
<li>실행 용이성 <ul>
<li>투자 용이성<ul>
<li>기술 용이성</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><p><strong>데이터 분석 프로젝트의 우선순위 평가기준</strong></p>
<ul>
<li>투자비용 요소<ul>
<li>데이터 크기<ul>
<li>데이터 형태</li>
</ul>
</li>
<li>데이터 속도</li>
</ul>
</li>
<li>비즈니스 효과<ul>
<li>새로운 가치</li>
</ul>
</li>
</ul>
</li>
</ul>
<p>+) ROI요소 3V (Return Of Investment)
+) 크기+형태+속도 = 3V (가치까지 하면 4V)</p>
<ul>
<li><p><strong>분석 ROI 요소를 고려한 과제 우선 순위 평가 기준</strong></p>
<ul>
<li>시급성 (ROI의 비즈니스 효과) : 전략적 가치, 목표 가치</li>
<li>난이도 (ROI의 투자비용 요소) : 데이터 획득/가공/저장/적용 비용, 분석 수준</li>
</ul>
</li>
</ul>
<p><strong>분석 과제 우선순위 선정 및 조정</strong></p>
<ul>
<li>포트폴리오 사분면 분석 기법 활용 : 난이도, 시급성을 기준으로 분석, 과제 유형을 사분면에 배치</li>
</ul>
<table>
<thead>
<tr>
<th>난이도 / 시급성</th>
<th>현재</th>
<th>미래</th>
</tr>
</thead>
<tbody><tr>
<td>어려움</td>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>쉬움</td>
<td>3</td>
<td>4</td>
</tr>
</tbody></table>
<ul>
<li><p>매트릭스 내 분석과제 우선순위 선정</p>
<ul>
<li>우선순위가 시급성 : 3-4-1-2</li>
<li>우선순위가 난이도 : 3-1-4-2</li>
</ul>
</li>
<li><p>매트릭스 내 우선 순위 조정 : 의사결정으로 우선순위 조정 가능</p>
</li>
<li><p>우선순위 조정 시 고려사항 : 기술, 분석 범위</p>
</li>
</ul>
<p><strong>분석 로드맵 설정</strong></p>
<ul>
<li><p>최종 실행 우선 순위 결정, 단계적 구현 로드맵 수립</p>
</li>
<li><p>단계별 목표 정의, 내용 정렬</p>
<ul>
<li>*<em>데이터 분석 체계 도입 *</em> : 분석 기회 발굴, 과제 정의 , 마스터 플랜 수립</li>
<li><strong>데이터 분석 유효성 검증</strong> : 분석 알고리즘 및 아키텍처 설계, 분석 과제 Pilot 수행</li>
<li><strong>데이터 분석 확산 및 고도화</strong> : 프로세스 내제화, 변화 관리, 시스템 구축, 고도화</li>
</ul>
</li>
<li><p>세부 일정 계획 수립</p>
<ul>
<li>순차형 : 설계-구현-테스트 </li>
<li>반복형 : 설계 - 적용 - 테스트 를 반복</li>
</ul>
</li>
</ul>
<hr>
<h2 id="1-4-분석-문제-정의">1-4. 분석 문제 정의</h2>
<p><strong>분석 문제 정의 개요</strong></p>
<ul>
<li>분석 과제 도출 : 문제를 데이터 분석 문제로 변환</li>
<li>과제 도출 방법 <ul>
<li>상향식 : 문제 주어짐 -&gt; 해법 찾기</li>
<li>하향식 : 데이터 기반 문제 재정의 -&gt; 해결 방안 탐색</li>
<li>혼합 방식 : 수렴과 발산을 반복<ul>
<li>상향식 접근 방식의 발산 : 가능한 옵션 도출</li>
<li>하향식 접근 방식의 수렴 : 도출된 옵션을 분석, 검증</li>
</ul>
</li>
</ul>
</li>
<li>분석 과제 정의 : 과제 정의, 분석과제 정의서 작성 (추후 수행계획의 입력물이 됨)</li>
</ul>
<p><strong>하향식 접근 방식</strong></p>
<blockquote>
<p>문제가 주어지고, 해당 문제에 대한 해법을 찾는 과정</p>
</blockquote>
<p>접근 방식 구성 : <code>문제 탐색 - 문제 정의 - 해결방안 탐색 - 타당성 평가</code></p>
<ul>
<li><p><strong>문제 탐색 단계</strong></p>
<ul>
<li>비즈니스 모델 기반 문제 탐색 : 비즈니스 모델 켄버스 블록을 단순화 하여 접근</li>
<li>외부 참조 모델 기반 문제 탐색 : 유사한 환경에서 수행했던 사례 벤치마킹</li>
<li>분석 유즈케이스 정의 : 문제에 대한 설명, 기대효과 면시 후 데이터 분석 문제로의 전환 및 적합성 평가에 사용</li>
</ul>
</li>
<li><p><strong>문제 정의 단계</strong></p>
<ul>
<li>식별된 비즈니스 문제를 데이터적 문제로 변환하여 정의</li>
</ul>
</li>
<li><p><strong>해결방안 탐색 단계</strong></p>
<ul>
<li>문제 해결 방안 탐색.</li>
<li>기존 시스템 개선 활용, 요육 및 채용을 통한 역량 확보, 시스템 고도화, 전문 업체 소싱 등</li>
</ul>
</li>
<li><p><strong>타당성 평가 단계</strong></p>
<ul>
<li><strong>경제적 타당성</strong></li>
<li><strong>데이터 및 기술적 타당성</strong></li>
</ul>
</li>
</ul>
<p><strong>하향식 접근 방식의 문제 탐색 방법</strong></p>
<ul>
<li><p>비즈니스 모델 캔버스를 활용한 과제 발굴</p>
<ul>
<li>비즈니스 모델 캔버스<pre><code>  규제 / 감사
----------------
업무 / 제품 / 고객    &lt;- 문제 발굴
----------------
지원 인프라 영역</code></pre></li>
</ul>
</li>
<li><p>분석 기회 발굴 범위의 확장</p>
<ul>
<li>접근 관점<ul>
<li>거시적 : 사회, 기술, 경제, 환경, 정치<ul>
<li>경쟁자 확대 : 대체재, 경쟁자, 신규 진입자</li>
</ul>
</li>
<li>시장 니즈 탐색 : 고객, 채널, 영향자들</li>
<li>역량 재해석 : 내부 역량, 파트너와 네트워크</li>
</ul>
</li>
</ul>
</li>
</ul>
<p><strong>상향식 접근 방식</strong></p>
<ul>
<li><p>특징 : 왜 그런 일이 발생하는지 욕으로 추적하여 문제 도출</p>
</li>
<li><p>등장 배경 : 하향식 접근 방식의 한계</p>
</li>
<li><p>상향식 접근 기반 전통적 분석 사고 극복 방안</p>
<ul>
<li>디자인 사고 접근법 : 현장 관찰, 감정 이입, 대상관점으로의 전환 수행 (why, what)</li>
<li>비지도학습 방법에 의한 수행 : 목표값 없이 데이터 자체로 결과 도출</li>
<li>빅데이터 환경에서의 분석 : 인과관계 -&gt; 상관관계 분석으로 이동</li>
</ul>
</li>
<li><p>문제 해결 방법</p>
<ul>
<li>프로토타이핑 접근법 : 분석 - 결과 확인 반복하며 개선</li>
</ul>
</li>
</ul>
<hr>
<h2 id="1-5-데이터-분석-방안">1-5. 데이터 분석 방안</h2>
<p><strong>분석 방법론</strong></p>
<blockquote>
<p>데이터 분석 시 품질 확보를 위한 단계별 수행 활동, 작업, 산출물 정의</p>
</blockquote>
<ul>
<li><p><strong>구성 요건</strong> : 상세한 절차, 방법, 도구와 기법, 템플릿과 산출물, 어느정도의 지식만 있으면 활용가능한 수준의 난이도</p>
</li>
<li><p><strong>생성 과정</strong> : <code>형식화 - 체계화 - 내재화</code></p>
<p><strong>방법론</strong> -<code>내재화</code>-&gt; <strong>암묵지</strong> -<code>형식화</code>-&gt; <strong>형식지</strong> -<code>체계화</code>-&gt; **방법론 ...</p>
</li>
</ul>
<p><strong>계층적 프로세스 모델 구성</strong>
<code>분석 방법론은 계층적 프로세스 모델 형태로 구성</code></p>
<ul>
<li><strong>단계 (최상위 계층)</strong> : 완성된 단계별 산출물 생성</li>
<li><strong>태스크(중간 계층)</strong> : 단계를 구성하는 단위 활동</li>
<li><strong>스탭 (최하위 게층)</strong> : 입력 자료, 처리 및 도구, 출력자료로 구성된 단위 프로세스. (WBS의 워크 패키지)</li>
</ul>
<p><strong>소프트웨어개발생명주기 활용하여 구성</strong></p>
<ul>
<li><p><strong>폭포수 모형</strong> : 분석 - 설계 - 개발 - 구현 - 시험 및 유지보수</p>
</li>
<li><p><strong>프로토타입 모형</strong> : 시스템 일부 구현 후 요구사항 반영 과정 반복</p>
<ul>
<li><strong>실험적 프로토타입</strong> : 요구분석 위해 일부를 개발하여 의사소통 도구로 활용</li>
<li><strong>진화적 프로토타입</strong> : 요구분석 뿐 아니라 프로토타입을 지속적으로 진화하여 최종 S/W로 발전</li>
</ul>
</li>
<li><p><strong>나선형 모형</strong> : 계획수립 - 위험분석 -개발 - 고객평가 반복하며 점진적 개발</p>
</li>
<li><p><strong>반복적 모형</strong> : 요구사항 중 일부를 반복적으로 개발하며 범위 확장</p>
</li>
<li><p><strong>진화형 모형</strong> : 핵심부분 개발 후 구성 요소 지속적 발전</p>
</li>
</ul>
<p><strong>소프트웨어개발생명주기 모형 선정 기준</strong></p>
<ul>
<li>프로젝트 규모, 성격</li>
<li>개발 방법, 도구</li>
<li>시간, 비용</li>
<li>개발 과정의 통제수단과 산출물 인도 방식 </li>
</ul>
<p><strong>KDD 분석 방법론</strong></p>
<blockquote>
<p>통계적 패턴, 지식 탐색용 프로파일링 기술 기반 데이터 마이닝 프로세스</p>
</blockquote>
<ul>
<li><p><strong>KDD 분석 방법론의 9가지 프로세스</strong></p>
<ul>
<li>분석 대상 비즈니스 도메인의 이해</li>
<li>분석 대상 데이터셋 선택과 생성</li>
<li>데이터 노이즈와 이상값 제거/정제 작업, 선처리</li>
<li>목적에 맞는 변수 찾기, 필요시 차원 축소</li>
<li>목적에 맞는 데이터 마이닝 기법 선택</li>
<li>목적에 맞는 데이터 마이닝 알고리즘 선택</li>
<li>데이터 마이닝 시행</li>
<li>결과 해석</li>
<li>발견된 지식 활용</li>
</ul>
</li>
<li><p><strong>KDD 분석 방법론의 분석 절차</strong></p>
<ul>
<li>데이터셋 선택</li>
<li>데이터 전처리</li>
<li>데이터 변환</li>
<li>데이터 마이닝</li>
<li>결과 평가</li>
</ul>
</li>
</ul>
<p><strong>CRISP-DM 분석 방법론</strong></p>
<blockquote>
<p>계층적 프로세스 모델로, 4계층으로 구성</p>
</blockquote>
<ul>
<li><p><strong>CRISP-DM의 4계층</strong></p>
<ul>
<li>최상위 레벨 : 여러 단계(task)로 구성</li>
<li>일반화 태스크 : 데이터 마이닝의 단일 프로세스를 완전하게 수행</li>
<li>세분화 태스크 : 일반화 태스크를 구체적으로 수행</li>
<li>프로세스 실행 : 데이터 마이닝을 구체적으로 실행</li>
</ul>
</li>
<li><p><strong>CRISP-DM의 분석 절차</strong></p>
<ul>
<li>업무 이해</li>
<li>데이터 이해</li>
<li>데이터 준비</li>
<li>모델링</li>
<li>평가</li>
<li>전개</li>
</ul>
</li>
</ul>
<p><strong>SEMMA 분석 방법론</strong></p>
<blockquote>
<p>SAS Istitute가 만든 기숭, 통계 중심 데이터 마이닝 프로세스 (모델링 중점)</p>
</blockquote>
<ul>
<li><p><strong>SEMMA의 분석 절차</strong></p>
<ul>
<li>추출</li>
<li>탐색</li>
<li>수정 </li>
<li>모델링</li>
<li>평가 </li>
</ul>
</li>
</ul>
<hr>
<h2 id="1-6-빅데이터-분석-방법론">1-6. 빅데이터 분석 방법론</h2>
<p><strong>개요</strong></p>
<ul>
<li><strong>분석 방법론 구성</strong> : <code>단계 - 태스크 - 스탭</code><blockquote>
<p><strong>빅데이터 분석을 위한 단계</strong> 
분석 기획 - 데이터 준비 - 데이터 분석 - 시스템 구현 - 평가 및 전개</p>
</blockquote>
</li>
</ul>
<p>+) 각 단계 별로 태스크와 스탭이 정의되어 있음</p>
<p><strong>분석 기획</strong></p>
<ul>
<li>비즈니스 이해 및 범위 설정</li>
<li>프로젝트 정의 및 계획 수립</li>
<li>프로젝트 위험 계획 수립</li>
</ul>
<p><strong>데이터 준비</strong></p>
<ul>
<li>필요 데이터 정의 </li>
<li>데이터 스토어(저장) 설계</li>
<li>데이터 수집 및 정합성 점검</li>
</ul>
<p><strong>데이터 분석</strong></p>
<ul>
<li>분석용 데이터 준비</li>
<li>텍스트 분석</li>
<li>탐색적 분석</li>
<li>모델링</li>
<li>모델 평가 및 검증</li>
</ul>
<p><strong>시스템 구현</strong></p>
<ul>
<li>설계 및 구현 </li>
<li>시스템 테스트 및 운영</li>
</ul>
<p>**평가 및 전개</p>
<ul>
<li>모델 발전계획 수립</li>
<li>프로젝트 평가 및 보고</li>
</ul>
<hr>
<h2 id="1-7-데이터-분석-거버넌스">1-7. 데이터 분석 거버넌스</h2>
<p><strong>데이터 분석 거버넌스 개요</strong></p>
<ul>
<li><p>데이터 분석 업무를 기업문화로 정착, 지속적 고도화 위해 필요</p>
</li>
<li><p><strong>구성 요소</strong></p>
<ul>
<li>데이터 분석 기획, 관리 <strong>조직</strong></li>
<li>과제 기획, 운영 <strong>프로세스</strong></li>
<li>분석 지원 <strong>인프라</strong></li>
<li><strong>데이터 거버넌스</strong>(Data)</li>
<li><strong>교육 및 육성 체계</strong>(Hr)</li>
</ul>
</li>
</ul>
<p>*<em>데이터 분석 기획/관리 수행 조직 *</em></p>
<ul>
<li>집중형(전담 조직), 기능형(각 부서별 진행), 분산형(집중+기능) 등</li>
</ul>
<p><strong>데이터 분석 과제 기획과 운영 프로세스</strong></p>
<ul>
<li>구성 : 과제발굴 - 과제 수행 및 모니터링</li>
<li>특징 : 데이터 분석 문화 내재화로 경쟁력 확보 및 프로젝트 효율화</li>
<li>프로세스 <ul>
<li>과제 발굴 : 분석 Idea 발굴 - 분석 과제 후보 제안 - 분석과제 확정</li>
<li>과제 수행 : 팀 구성 - 분석과제 실행 - 진행 관리 - 결과 공유/개선</li>
</ul>
</li>
</ul>
<p><strong>데이터 분석 지원 인프라</strong></p>
<ul>
<li><p>데이터 분석 플랫폼 구축 : 개별적으로 관리, 교환에서 분석 플랫폼을 통한 중앙집중적 관리</p>
</li>
<li><p>구성 요소 </p>
<ul>
<li>분석 서비스 제공 엔진 </li>
<li>분석 애플리케이션 </li>
<li>분석 서비스 제공 API </li>
<li>데이터 처리 프레임워크 </li>
<li>분석 엔진 /  분석 라이브러리 </li>
<li>운영체제</li>
<li>하드웨어</li>
</ul>
</li>
</ul>
<p><strong>데이터 거버넌스</strong></p>
<ul>
<li><p>거버넌스 체계 수립으로 데이터 중복 및 비표준화를 피하고, 프로젝트를 효과적으로 추진 가능</p>
<blockquote>
<p><strong>데이터 거버넌스</strong> : 전사 차원의 모든 데이터에 대해 정책, 지침, 표준화, 운영 조직, 책임의 표준화된 관리 체계 수립 및 운영 위한 프레임워크와 저장소 구축 행위</p>
</blockquote>
</li>
<li><p>관리 대상: 마스터 데이터(마스터 파일 구성 데이터), 메타데이터, 데이터 사전</p>
</li>
<li><p>특징 : 데이터 가용성, 유용성, 통합성, 보안성, 안전성 확보</p>
</li>
<li><p>빅데이터 거버넌스 : 데이터 거버넌스에 빅데이터의 특성을 고려해서 관리 체계 수립한 것</p>
</li>
<li><p>데이터 거버넌스 구성요소 : 원칙(기준), 조직(역할, 책임), 프로세스(활동, 체계)</p>
</li>
<li><p>데이터 거버넌스 체계 : <code>데이터 표준화 - 데이터 관리 체계 - 데이터 저장소 관리 - 표준화 활동 - 데이터 표준화...</code></p>
<ul>
<li>데이터 표준화 : 데이터 표준 용어 설정, 명명 규칙 수립, 메타 데이터 및 데이터 사전 구축, 데이터 관리 체계</li>
<li>데이터 저장소 관리 : 메타/표준 데이터 관리용 전사 차원의 저장소 구성.</li>
<li>표준화 활동 : 데이터 거버넌스 체계 구축 후 표준 준수 여부를 주기적 점검.</li>
</ul>
</li>
</ul>
<p><strong>데이터 분석 교육 및 마인드 육성 체계</strong></p>
<ul>
<li>데이터 분석 문화 도입방안 : 준비기 - 도입기 - 안정 추진기</li>
</ul>
<h2 id="1-8-데이터-분석-수준-진단">1-8. 데이터 분석 수준 진단</h2>
<p><strong>개요</strong></p>
<ul>
<li>분석 수준진단 필요성 : 데이터 분석의 도입 여부와 활용 위해 현 상태 점검 필요.</li>
<li>분석 수준진단 목표 : 련재 수행하는 데이터 분석 수준 이해 및 미래 목표 수준 정의.</li>
<li>분석 수준진단 프레임워크 : 분석 준비도, 분석 성숙도를 동시에 평가 가능</li>
</ul>
<p>** 분석 준비도**</p>
<blockquote>
<p>조직 내 데이터 분석 업무 도입을 목적으로 현재 수준 파악 위한 진단 방법</p>
</blockquote>
<ul>
<li><p>원리 : 6가지 영역으로 현재 수준 파악. </p>
</li>
<li><blockquote>
<p>일정 수준 이상 충족시 도입, 아니면 환경 조성</p>
</blockquote>
</li>
<li><p>데이터 분석 준비도 프레임워크 </p>
<ul>
<li>분석 업무 파악</li>
<li>인력 및 조직</li>
<li>분석 기법</li>
<li>분석 데이터</li>
<li>분석 문화</li>
<li>IT 인프라</li>
</ul>
</li>
</ul>
<p><strong>분석 성숙도 모델</strong></p>
<blockquote>
<p>분석 능력 및 결과 활용에 대한 조직의 성숙도 주순 평가</p>
</blockquote>
<ul>
<li><p>비즈니스 부문</p>
<ul>
<li>도입 단계 : 실적 분석 및 통계, 정기 보고 수행</li>
<li>활용 단계 : 미래 예측</li>
<li>확산 단계 : 전사 성과 실시간 분석, 프로세스 혁신 3.0, 분석규칙 관리</li>
<li>최적화 단계 : 외부 환경 분석 활용, 최적화 업무 적용, 실시간 분석, 비즈니스 모델 진화</li>
</ul>
</li>
<li><p>조직/역량 부문</p>
<ul>
<li>도입 단계 : 일부 부석에서 수행, 담당자에 의존</li>
<li>활용 단계 : 전문 부서 수행, 분석 기법 도입</li>
<li>확산 단계 : 전사 모든 부서 수행, 분석 COE 조직 운영, 데이터 사이언티스트 확보</li>
<li>최적화 단계 : 데이터 사이언스 그룹, 경영진 분석 활용 밒 전략 연계</li>
</ul>
</li>
<li><p>IT 부문</p>
<ul>
<li>도입 단계 : 데이터웨어 하우스, 데이터 마트, ETL/EAI, OLAP</li>
<li>활용 단계 : 실시간 대시보드, 통계 분석 환경</li>
<li>확산 단계 : 빅데이터 관리 환경, 시뮬레이션 최적화, 분석 전용 서버</li>
<li>최적화 단계 : 분석 협업 환경, 분석 Sandbox, 프로세스 내재화, 빅데이터 분석</li>
</ul>
</li>
</ul>
<p><strong>분석 수준 진단 결과</strong></p>
<ul>
<li><p>사분면 분석 </p>
<ul>
<li>정착형 : 낮은 준비도, 높은 성숙도 (인력, 분석 업무, 기법 사용 중)</li>
<li>확산형 : 높은 준비도, 높은 성숙도 (6가지 분석 구성 요소 있음)</li>
<li>도입형 : 높은 준비도, 낮은 성숙도 (업무, 기법은 부족하나 적용 조직 같은 준비도가 높아 바로 도입 가능)</li>
<li>준비형 : 낮은 준비도, 낮은 성숙도 (사전준비가 필요한 기업)</li>
</ul>
</li>
</ul>
<hr>
<h1 id="2-분석-작업-계획">2. 분석 작업 계획</h1>
<h2 id="2-1-분석-작업-개요">2-1. 분석 작업 개요</h2>
<p><strong>데이터 처리 프로세스</strong></p>
<pre><code>소스 - 수집 - 저장 - 처리 - 분석 - 표현
⌊___데이터 처리 영역____⌋   ⌊데이터 분석 영역⌋</code></pre><p><strong>데이터 처리 영역</strong></p>
<ul>
<li><p>기초 데이터 정의, 수집, 저장, 분석 위한 물리적 환경 제공하는 영역</p>
</li>
<li><p><strong>단계</strong></p>
<ul>
<li>데이터 소스</li>
<li>데이터 수집</li>
<li>데이터 저장</li>
<li>데이터 처리</li>
</ul>
</li>
</ul>
<p><strong>데이터 분석 영역</strong></p>
<ul>
<li><p>저장된 데이터를 추출, 가공, 분석, 표현하는 영역</p>
</li>
<li><p><strong>데이터 분석 단계</strong></p>
<ul>
<li>도메인 이슈 도출</li>
<li>분삭 목표 수립</li>
<li>프로젝트 계획 수립</li>
<li>보유 데이터 자산 확인</li>
</ul>
</li>
<li><p><strong>데이터 표현 단계</strong> </p>
<ul>
<li>빅데이터 분석 결과 시각화</li>
</ul>
</li>
</ul>
<hr>
<h2 id="2-2-데이터-확보-계획">2-2. 데이터 확보 계획</h2>
<p><strong>데이터 확보 위한 사전 검토 사항</strong></p>
<ul>
<li>필요 데이터의 정의</li>
<li>보유 데이터 현황</li>
<li>분석 데이터 유형</li>
<li>편향되지 않고 충분한 데이터 규모</li>
<li>내부 데이터 사용 (개인정보 비식별 조치)</li>
<li>외부 데이터 수집</li>
<li>데이터 수집 방법 (FGI: 집단 면접. 다 같이 토론 하는 것)</li>
</ul>
<p><strong>분석용 변수 정의 단계</strong></p>
<ul>
<li>데이터 수집 기획</li>
<li>분석 변수 정의</li>
</ul>
<p><strong>분석 변수 생성 프로세스 정의 방법</strong></p>
<ul>
<li>fact 기반 문제 접근</li>
<li>데이터 상관 분석</li>
<li>프로토타입으로 분석 변수 접근</li>
</ul>
<p><strong>분석 변수 정제용 점검 항목 정의</strong></p>
<ul>
<li><p>분석 변수 점검 필요성 : 문제 해결 및 활용 시나리오 적용으로 가치 창출</p>
</li>
<li><p>점검 항목 정의</p>
<ul>
<li>데이터 수집 : 적정성, 가용성, 대체 분석 데이터 유무 확인</li>
<li>데이터 적합성 : 중복, 변수 별 범위, 변수 간 연관성, 내구성 확인</li>
<li>특징 변수 : 특징 변수 사용 가능성, 변수 간 결합 가능 여부 확인</li>
<li>타당성 : 편익/비용 검증, 기술적 타당성 확인</li>
</ul>
</li>
</ul>
<p><strong>생성된 분석 변수 전처리 방법 수립</strong></p>
<ul>
<li><p>데이터 전처리 수행 : 데이터 정제 / 데이터 통합 / 데이터 축소 / 데이터 변환</p>
</li>
<li><p>빅데이터 분석 프로세스 수행</p>
</li>
<li><p>데이터 전처리 방안 수립</p>
<ul>
<li>정제 : 모순점 포착, 메타 데이터 확인</li>
<li>통합/축소 : 데이터 통합</li>
<li>변환 : 데이터 변환</li>
</ul>
</li>
</ul>
<p><strong>생성 변수 검증 방안 수립</strong></p>
<ul>
<li>분석 변수의 데이터 검증 방안 수립 : 정확성, 완전성, 적시성, 일관성 확인</li>
<li>데이터 검증 체계 수립</li>
</ul>
<hr>
<h2 id="2-3-분석-절차와-작업-계획">2-3. 분석 절차와 작업 계획</h2>
<p><strong>분석 절차</strong></p>
<ul>
<li><p>문제 인식, 데이터 확보, 분석, 결과 도출의 일반적인 과정을 정형화한 프로세스</p>
</li>
<li><p>일반적인 분석 절차</p>
<ul>
<li>문제 인식</li>
<li>연구조사</li>
<li>모형화</li>
<li>데이터 수집</li>
<li>데이터 분석</li>
<li>분석 결과 제시</li>
</ul>
</li>
<li><p>고려사항 </p>
<ul>
<li>문제에 대한 구체적 정의 가능 / 필요 데이터 보유 / 분석 역량 보유 -&gt; 전통적 데이터 분석 가능</li>
<li>문제 정의 없음 -&gt; 데이터 마이닝으로 진행</li>
</ul>
</li>
</ul>
<p><strong>작업 계획</strong></p>
<ul>
<li><p>분석 작업 계획 수립</p>
<ul>
<li>프로젝트 소요비용 배분</li>
<li>프로젝트 작업분할구조 수립</li>
<li>프로젝트 업무 분장 계획 및 배분</li>
</ul>
</li>
<li><p>분석 작업 계획 수립 위한 작업분할구조 (=WBS) 작성</p>
<ul>
<li>데이터 분석과제 정의</li>
<li>데이터 준비 및 탐색</li>
<li>데이터 분석 모델링 및 검증</li>
<li>산출물 정리</li>
</ul>
</li>
</ul>
<p><strong>분석목표정의서</strong></p>
<ul>
<li>필요한 데이터의 정보, 분석 타당성 검토 및 성과 측정 방법 정리한 정의서</li>
<li>분석목표정의서 구성요소<ul>
<li>원천데이터 조사 : 데이터 정보 / 데이터 수집 난이도</li>
<li>분석 방안 및 적용 가능성 판단</li>
<li>성과 평가 기준 : 정성적 / 정량적</li>
</ul>
</li>
<li>분석목표정의서 작성 방법 : 목표 설정, 세부 목표 수립 및 목표 수준 정리</li>
</ul>
<hr>
<h2 id="2-4-분석-프로젝트-관리">2-4. 분석 프로젝트 관리</h2>
<p><strong>분석 프로젝트</strong></p>
<blockquote>
<p>과제 형태의 분석 기회를 프로젝트화 하여 그 가치를 증명하는 수단</p>
</blockquote>
<ul>
<li><p>분석 프로젝트의 속성</p>
<ul>
<li>데이터 크기</li>
<li>데이터 복잡도</li>
<li>속도</li>
<li>분석 모형 복잡도</li>
<li>정확도와 정밀도 : 정확도=모형과 실제값 간 차이, 정밀도=반복시 일관성</li>
</ul>
</li>
</ul>
<p><strong>분석 프로젝트 관리</strong></p>
<ul>
<li>데이터분석의 기본 특징(5V)를 살려 관리 지침을 만들고 가이드로 사용</li>
</ul>
<p><strong>분석 프로젝트 주요 관리 항목</strong></p>
<ul>
<li>범위관리</li>
<li>일정관리</li>
<li>원가관리</li>
<li>품질관리</li>
<li>통합관리</li>
<li>조달관리(아웃소싱)</li>
<li>인적자원관리</li>
<li>위험관리</li>
<li>의사소통관리</li>
<li>이해관계자관리</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 합격!]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-%ED%95%A9%EA%B2%A9</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-%ED%95%A9%EA%B2%A9</guid>
            <pubDate>Mon, 23 Mar 2026 23:08:16 GMT</pubDate>
            <description><![CDATA[<p><img src="https://velog.velcdn.com/images/k_heeyoung/post/58694024-7c64-49b9-96fc-ac709098fa9a/image.png" alt="">
와~ 
이론은 인터넷 찾아보고 책은 노랭이(문제만 있는 그거)만 한 3~4번 돌린 것 같다. 의외로 거기서 한 2,3 문제는 나온 것 같기도?</p>
<p>근데 블로그 다시 보니 나 관리 구문은 정리를 안 했다. (공부하긴 했다) 
근데 개발자라면 CRUD는 실컷 할 테니 그렇게까지 열심히 안해도 적당히 맞을 수 있다. </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[1-1 빅데이터의 이해]]></title>
            <link>https://velog.io/@k_heeyoung/1-1-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9D%98-%EC%9D%B4%ED%95%B4</link>
            <guid>https://velog.io/@k_heeyoung/1-1-%EB%B9%85%EB%8D%B0%EC%9D%B4%ED%84%B0%EC%9D%98-%EC%9D%B4%ED%95%B4</guid>
            <pubDate>Sun, 22 Mar 2026 23:28:53 GMT</pubDate>
            <description><![CDATA[<h1 id="1-빅데이터-개요-및-활용">1. 빅데이터 개요 및 활용</h1>
<h2 id="1-1-데이터와-정보">1-1. 데이터와 정보</h2>
<blockquote>
<p><strong>데이터</strong> : 추론과 근거를 이루는 사실로, 현실 세계에서 관찰하거나 측정하여 수집한 사실</p>
</blockquote>
<p><strong>특징</strong></p>
<ul>
<li><strong>단순 객체로도 가치가 있으며, 다른 객체와의 상호작용 속에서 더 큰 가치를 갖음</strong></li>
<li>존재적 특징 : 객관적으로 사실</li>
<li>당위적 특징 : 추론, 추정, 예측, 전망을 위한 근거</li>
</ul>
<p><strong>구분</strong></p>
<table>
<thead>
<tr>
<th>구분</th>
<th>설명</th>
<th>특징</th>
</tr>
</thead>
<tbody><tr>
<td>정량적 데이터</td>
<td>숫자로 구성된 데이터</td>
<td>객관적, 정형/반정형</td>
</tr>
<tr>
<td>정성적 데이터</td>
<td>문자(텍스트) 기반 데이터</td>
<td>주관적, 비정형</td>
</tr>
</tbody></table>
<p><strong>유형</strong></p>
<table>
<thead>
<tr>
<th>유형</th>
<th>설명</th>
<th>특징</th>
<th>예시</th>
</tr>
</thead>
<tbody><tr>
<td>정형 데이터</td>
<td>정해진 형식과 구조 존재</td>
<td>연산 가능</td>
<td>DB 테이블</td>
</tr>
<tr>
<td>반정형 데이터</td>
<td>구조는 없지만 스키마 존재</td>
<td>태그/메타데이터 포함</td>
<td>XML, JSON, HTML</td>
</tr>
<tr>
<td>비정형 데이터</td>
<td>구조 없음</td>
<td>연산 어려움</td>
<td>문서, 영상, 이미지, 음성</td>
</tr>
</tbody></table>
<p>+) 스키마 : 자료의 구조, 표현 방법</p>
<p><strong>근원에 따른 분류</strong></p>
<table>
<thead>
<tr>
<th>구분</th>
<th>설명</th>
<th>특징</th>
</tr>
</thead>
<tbody><tr>
<td>가역 데이터</td>
<td>원본으로 환원 가능</td>
<td>1:1 관계, 변경 반영 가능</td>
</tr>
<tr>
<td>불가역 데이터</td>
<td>원본으로 환원 불가</td>
<td>독립적, 1:N 관계, 변경 반영 불가</td>
</tr>
</tbody></table>
<p><strong>기능</strong></p>
<ul>
<li>암묵지 : 개인의 경험으로 인한 무형의 지식. 전달, 공유 어려움</li>
<li>형식지 : 형상화된 지식. 전달, 공유 용이</li>
</ul>
<p><strong>지식 창조 매커니즘</strong></p>
<ul>
<li>공통화 : 경험, 인식 공유로 암묵지로 발전</li>
<li>표출화 : 암묵지를 형식지로 변환</li>
<li>연결화 : 형식지 재분류, 체계화</li>
<li>내면화 : 형식지를 개인의 것으로 만듦</li>
</ul>
<p>-&gt; 총 4가지 단계가 반복됨.</p>
<p><strong>지식의 피라미드</strong></p>
<ul>
<li>지혜 : 축척된 지식으로 원리 이해, 아이디어 결합으로 도출된 창의적 산물</li>
<li>지식 : 연결된 정보들로 유의미한 것을 분류, 개인적 경험 결합, 내재화</li>
<li>정보 : 데이터를 가공, 처리하여 관계를 분석하고 그 속에서 도출된 의미.</li>
<li>데이터 : 현실에서 관찰, 측정한 사실이나 값.</li>
</ul>
<p>-&gt; 지혜 - 지식- 정보 - 데이터 순서로 상위 단계.</p>
<p><strong>+) 정보의 특징</strong> : 정확성, 적시성, 적당성, 관련성</p>
<hr>
<h2 id="1-2데이터베이스">1-2.데이터베이스</h2>
<blockquote>
<p><strong>데이터베이스</strong> </p>
</blockquote>
<ul>
<li>체계적·조직적으로 정리되고 개별 접근이 가능한 데이터 집합</li>
<li>여러 사용자 요구를 처리하기 위해 일정 구조로 저장된 데이터</li>
<li>다양한 활용이 가능한 정보의 집합체</li>
</ul>
<blockquote>
<p><strong>데이터베이스 관리 시스템</strong> (DBMS = DataBase Management System)</p>
</blockquote>
<ul>
<li>DB를 관리하며 응용 프로그램들이 DB를 공유, 사용할 수 있는 환경 제공 소프트웨어.</li>
</ul>
<p><strong>DBMS 종류</strong></p>
<table>
<thead>
<tr>
<th>종류</th>
<th>설명</th>
<th>구조</th>
</tr>
</thead>
<tbody><tr>
<td>관계형 DBMS</td>
<td>데이터를 테이블 형태로 표현</td>
<td>행(Row) + 열(Column)</td>
</tr>
<tr>
<td>객체지향 DBMS</td>
<td>데이터를 객체 단위로 표현</td>
<td>객체(Object)</td>
</tr>
<tr>
<td>네트워크 DBMS</td>
<td>데이터 간 관계를 그래프로 표현</td>
<td>그래프 구조</td>
</tr>
<tr>
<td>계층형 DBMS</td>
<td>데이터 간 관계를 트리 형태로 표현</td>
<td>트리 구조</td>
</tr>
</tbody></table>
<p><strong>DB의 특징</strong></p>
<table>
<thead>
<tr>
<th>특징</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>통합된 데이터</td>
<td>중복 최소화</td>
</tr>
<tr>
<td>저장된 데이터</td>
<td>컴퓨터 접근 가능 저장매체에 저장</td>
</tr>
<tr>
<td>공용 데이터</td>
<td>여러 사용자 공유</td>
</tr>
<tr>
<td>변환되는 데이터</td>
<td>현 시점의 상태 표현, 지속적 갱신</td>
</tr>
</tbody></table>
<p>+) <strong>DB의 장단점</strong></p>
<pre><code>✅ 장점
- 데이터 중복 최소화
- 실시간 접근 가능
- 보안 강화
- 논리적·물리적 독립성 확보
- 데이터 일관성 및 무결성 유지
- 데이터 공유 용이

❌ 단점
- 구축 및 유지 비용 발생
- 백업·복구 등 관리 필요</code></pre><p><strong>DB 활용</strong></p>
<ul>
<li><p>OLTP (OnLine Transaction Processing) : </p>
<ul>
<li>단말 요청 -&gt; 호스트 컴퓨터의 DB 조작 -&gt; 결과 단말로 리턴</li>
<li>현재 시점의 데이터만 DB가 관리</li>
<li>) 이미 발샌한 트랜잭션은 과거의 데이터로 다른 디스크,테이프에 저장 가능</li>
</ul>
</li>
<li><p><strong>OLTP</strong> (OnLine Transaction Processing) : 호스트 컴퓨터와 온라인 접속된 여러 단말간 처리 형태. 하나의 DB 데이터를 수시로 갱신하는 프로세싱</p>
</li>
</ul>
<pre><code>- 처리 흐름 : `사용자 요청 → DB 처리 → 결과 반환`</code></pre><ul>
<li><strong>OLAP</strong> (OnLine Analytical Processing) : 정보 위주의 분석 처리. OLTP에서 처리된 트랜잭션 데이터 분석으로 판매 추이, 재무회계 분석 등을 프로세싱.</li>
</ul>
<pre><code>- 비즈니스 관점에서 데이터 접근, 의사결정에 용이</code></pre><p><strong>OLTP와 OLAP 비교</strong></p>
<table>
<thead>
<tr>
<th>구분</th>
<th>OLTP</th>
<th>OLAP</th>
</tr>
</thead>
<tbody><tr>
<td>목적</td>
<td>데이터 처리</td>
<td>데이터 분석</td>
</tr>
<tr>
<td>구조</td>
<td>복잡</td>
<td>단순</td>
</tr>
<tr>
<td>데이터 갱신</td>
<td>실시간(동적)</td>
<td>주기적(정적)</td>
</tr>
<tr>
<td>응답 시간</td>
<td>수초 이내</td>
<td>수초 ~ 수분</td>
</tr>
<tr>
<td>데이터 범위</td>
<td>최근 데이터</td>
<td>장기간 데이터</td>
</tr>
<tr>
<td>데이터 성격</td>
<td>정규화된 핵심 데이터</td>
<td>비정규화된 분석 데이터</td>
</tr>
<tr>
<td>데이터 크기</td>
<td>GB 단위</td>
<td>TB 단위</td>
</tr>
<tr>
<td>데이터 내용</td>
<td>현재 데이터</td>
<td>요약 데이터</td>
</tr>
<tr>
<td>접근 빈도</td>
<td>매우 높음</td>
<td>보통</td>
</tr>
<tr>
<td>예측 가능성</td>
<td>높음</td>
<td>낮음</td>
</tr>
</tbody></table>
<p>-&gt; OLTP (데이터 갱신 위주) / OLAP (데이터 조회 위주)</p>
<blockquote>
<p><strong>데이터 웨어 하우스</strong> (Data Warwhouse = DW)</p>
</blockquote>
<ul>
<li>의사결정을 지원하기 위해 다양한 DB 데이터를 통합·변환·분석하는 데이터 저장소</li>
</ul>
<p><strong>데이터 웨어 하우스 특징</strong></p>
<table>
<thead>
<tr>
<th>특징</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>주제지향성</td>
<td>고객, 제품 등 주제 중심</td>
</tr>
<tr>
<td>통합성</td>
<td>데이터 형식 통일</td>
</tr>
<tr>
<td>시계열성</td>
<td>시간 흐름 기반 데이터</td>
</tr>
<tr>
<td>비휘발성</td>
<td>적재 후 변경 거의 없음</td>
</tr>
</tbody></table>
<p>데이터 웨어 하우스 구성</p>
<table>
<thead>
<tr>
<th>구성 요소</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>데이터 모델</td>
<td>주제 중심 ER(개체-관계) 모델</td>
</tr>
<tr>
<td>ETL</td>
<td>추출(Extract) → 변환(Transform) → DW 적재(Load)</td>
</tr>
<tr>
<td>ODS</td>
<td>다양한 DBMS 데이터 통합 관리</td>
</tr>
<tr>
<td>메타데이터</td>
<td>데이터 모델 스키마 정보, 비즈니스 측면의 정보 제공</td>
</tr>
<tr>
<td>OLAP</td>
<td>다차원 분석 도구</td>
</tr>
<tr>
<td>데이터 마이닝</td>
<td>대용량 데이터 패턴 및 인사이트 도출</td>
</tr>
<tr>
<td>분석 도구</td>
<td>DW 데이터 분석 수행</td>
</tr>
<tr>
<td>경영 지원 시스템</td>
<td>KMS,DSS,BI 같은 경영의사 결정 지원 솔루션</td>
</tr>
</tbody></table>
<p>+) KMS : 지식관리 시스템
DSS : 의사결정지원 시스템
BI : 데이터 분석으로 기업 의사결정 활용 프로세스BI : 데이터 분석으로 기업 의사결정 활용 프로세스</p>
<hr>
<h2 id="1-3빅데이터-개요">1-3.빅데이터 개요</h2>
<blockquote>
<p><strong>빅데이터</strong> : 기존 데이터보다 너무 방대하여 기존 방법으로는 수집/저장/분석이 어려운 정형, 비정형 데이터.
작은 용량에서는 얻을 수 없던 새로운 통찰이나 가치를 추출한다.</p>
</blockquote>
<p><strong>빅데이터의 등장과 변화</strong></p>
<ul>
<li><p>등장 배경 : 데이터, 기술, 인재/조직의 변화</p>
</li>
<li><p>빅데이터 등장으로 인한 변화</p>
<ul>
<li>데이터 처리 시점 : 사전 -&gt; 사후</li>
<li>데이터 처리 범주 : 표본조사 -&gt; 전수조사</li>
<li>가치 판단 기준 : 질 -&gt; 양</li>
<li>분석 방향 : 이론적 인과관계 -&gt; 단순 상관 관계</li>
</ul>
</li>
</ul>
<p><strong>빅데이터의 특징</strong></p>
<ul>
<li>가트너 그룹 3V : 규모, 유형, 속도</li>
<li><ul>
<li>2V : 품질, 가치
(총 5V 내 3V와 2V로 나뉘는 것)</li>
</ul>
</li>
</ul>
<p><strong>빅데이터의 활용</strong></p>
<ul>
<li>빅데이터 활용 3요소 : 자원, 기술, 인력</li>
<li>빅데이터 활용 기본 테크닉 <ul>
<li>연관규칙 학습 : 변인 간 상관 관계 탐색</li>
<li>유형 분석 : 문서 분류, 조직 그룹시 사용</li>
<li>유전 알고리즘 : 생물 진화를 모방하여 문제 해결</li>
<li>기계학습 : 데이터로 학습한 특성으로 예측</li>
<li>회귀분석 : 독립변수가 종속변수에 미치는 영향 분석 시 사용</li>
<li>감정분석 : 말이나 글을 쓴 사람의 감정을 분석</li>
<li>소셜네트워크 분석 : 특정인의 관계, 영향력 파악.</li>
</ul>
</li>
</ul>
<hr>
<h2 id="1-4-빅데이터의-가치">1-4. 빅데이터의 가치</h2>
<p><strong>빅데이터의 기능과 효과</strong></p>
<ul>
<li>고객 세분화, 맞춤형 서비스 제공</li>
<li>알고리즘 기반 의사결정 지원</li>
</ul>
<p><strong>빅데이터 가치 측정의 어려움</strong></p>
<ul>
<li>데이터 활용 방식 : 누가 언제 어떻게 어디에 쓸지 알 수 없음</li>
<li>가치 창출 방식 : 가공 방법에 따라 가치 창출 여부가 결정됨</li>
<li>분석 기술 발전 : 이후 나오는 분석 기술로 가치가 나올 수도 있음.</li>
<li>데이터 수집 원가 : 목적에 따라 수집, 가공 비용이 달라짐</li>
</ul>
<p><strong>빅데이터의 영향</strong></p>
<ul>
<li>기업 혁신, 강화의 근간</li>
<li>정부의 상황 분석, 대응 수단, 환경탐색에 도움</li>
<li>개인에게 목적에 따른 스마트화 영향</li>
</ul>
<hr>
<h2 id="1-5-데이터-산업의-이해">1-5. 데이터 산업의 이해</h2>
<p><strong>데이터 산업의 진화</strong> </p>
<blockquote>
<p>데이터 산업은 데이터 처리 - 통합 - 분석 - 연결 - 권리 시대로 진화하고 있다.</p>
</blockquote>
<ul>
<li>데이터 처리 시대 : 프로그래밍언어로 대규모 데이터 처리, 파일 형태 결과.</li>
<li>데이터 통합 시대 : 데이터 모델링과 DBMS 등장, 웨어하우스 도입.</li>
<li>데이터 분석 시대 : 빅데이터 기술 등장,인공지능 기술 사용화</li>
<li>데이터 연결 시대 : 기업,기관,사람,사물 등이 항상 2가지 이상 방식으로 연결, 데이터 송수신</li>
<li>데이터 권리 시대 : 자신의 데이터에 대한 권리 보유, 행사하는 마이데이터 등장</li>
</ul>
<p><strong>데이터 산업의 구조</strong></p>
<ul>
<li>인프라 영역 : 데이터 수집, 저장, 분석, 관리 담당.Hw/Sw로 구성</li>
<li>서비스 영역 : 데이터, 데이터 활용 교육, 컨설팅 제공 및 처리 역할 </li>
</ul>
<hr>
<h2 id="1-6-빅데이터-조직-및-인력">1-6. 빅데이터 조직 및 인력</h2>
<p><strong>필요성</strong></p>
<ul>
<li>빅데이터분석, 활용을 위한 조직체계, 분석 전문가 확보 어려움</li>
</ul>
<p><strong>조직 역할</strong></p>
<ul>
<li>데이터 수집, 분석, 인사이트 도출</li>
</ul>
<p><strong>조직 구성</strong></p>
<ul>
<li>집중형 : 분석을 별도의 전담조직에서 진행 </li>
<li>기능형 : 각 부서에서 분석 진행</li>
<li>분산형 : 각 부서도 분석, 전담 분석 조직도 존재</li>
</ul>
<p><strong>데이터 사이언스 역량</strong></p>
<ul>
<li>기능 : 사업 성과 견인</li>
<li>인문학적 요소 : 스토리텔링, 커뮤니케이션, 창의력, 직관력, 비판적 시각, 열정</li>
<li>한계 : 인간 해석 개입, 가정에 근거한 분석</li>
</ul>
<p><strong>데이터 사이언티스트</strong></p>
<ul>
<li>데이터의 근원을 찾고 대용량의 복잡한 데이터를 구조화, 서로 연결하는 역할</li>
</ul>
<hr>
<h1 id="2-빅데이터-기술-및-제도">2. 빅데이터 기술 및 제도</h1>
<h2 id="2-1-빅데이터-플랫폼">2-1. 빅데이터 플랫폼</h2>
<blockquote>
<p><strong>빅데이터 플랫폼</strong> : 빅데이터의 수집, 저장, 처리, 분석등의 전 과정을 통합적으로 제공하는 환경</p>
</blockquote>
<p><strong>빅데이터 플랫폼 등장 배경</strong></p>
<ul>
<li>비즈니스 요구사항 변화</li>
<li>데이터 규모, 처리 복잡도 증가</li>
<li>데이터 구조 변환, 신속성 요구</li>
<li>데이터 분석 유연성 증대 (비정형도 가능해짐)</li>
</ul>
<p><strong>빅데이터 플랫폼 기능</strong></p>
<ul>
<li><p>빅데이터 처리 과정의 부하 해소</p>
<ul>
<li>부하 예시 : 컴퓨팅, 저장, 네트워크 등</li>
</ul>
</li>
</ul>
<p><strong>빅데이터 플랫폼 조건</strong></p>
<ul>
<li>사용자(사용성), 서비스 제공자(성능, 운영등) 측면에서 모두 만족해야 함. </li>
</ul>
<p><strong>빅데이터 플랫폼 구조</strong></p>
<table>
<thead>
<tr>
<th>계층</th>
<th>역할</th>
</tr>
</thead>
<tbody><tr>
<td>소프트웨어 계층</td>
<td>데이터 수집, 정제, 처리, 분석 및 애플리케이션 구성</td>
</tr>
<tr>
<td>플랫폼 계층</td>
<td>애플리케이션 실행 환경 제공, 스케줄링, 자원 관리</td>
</tr>
<tr>
<td>인프라스트럭처 계층</td>
<td>물리적 자원(서버, 스토리지, 네트워크) 제공 및 관리</td>
</tr>
</tbody></table>
<ul>
<li><strong>소프트웨어 계층</strong> : 애플리케이션 구성, 데이터 수집, 정제, 처리, 분석 담당.</li>
</ul>
<table>
<thead>
<tr>
<th>모듈</th>
<th>기능</th>
</tr>
</thead>
<tbody><tr>
<td>데이터 처리 및 분석 엔진</td>
<td>데이터 처리 및 분석, 워크플로우 구성, 데이터 표현</td>
</tr>
<tr>
<td>데이터 수집 및 정제 모듈</td>
<td>데이터 추출 → 변환 → 적재</td>
</tr>
<tr>
<td>서비스 관리 모듈</td>
<td>서비스 운영 및 관리</td>
</tr>
<tr>
<td>사용자 관리 모듈</td>
<td>인증 및 접속 관리, 사용자 서비스 관리, SLA 관리</td>
</tr>
<tr>
<td>모니터링 모듈</td>
<td>플랫폼/인프라스트럭처 서비스 사용성, 성능 모니터링</td>
</tr>
<tr>
<td>보안 모듈</td>
<td>보안 관리</td>
</tr>
</tbody></table>
<p>+) SLA : 사용자별 서비스 수준 협약</p>
<ul>
<li><strong>플랫폼 계층</strong> : 애플리케이셩 실행 플랫폼 제공, 스케줄링, 자원 관리, 프로파일링(CPU 추적) 담당.</li>
</ul>
<table>
<thead>
<tr>
<th>모듈</th>
<th>기능</th>
</tr>
</thead>
<tbody><tr>
<td>사용자 요청 파싱 모듈</td>
<td>사용자 요청 해석</td>
</tr>
<tr>
<td>작업 스케줄링 모듈</td>
<td>애플리케이션 실행 작업 스케줄링</td>
</tr>
<tr>
<td>데이터 및 자원 할당 모듈</td>
<td>초기 데이터/자원 할당, 재할당 및 스케일링</td>
</tr>
<tr>
<td>프로파일링 모듈</td>
<td>시스템/애플리케이션 성능 분석, 자원 재할당 지원</td>
</tr>
<tr>
<td>데이터 관리 모듈</td>
<td>사용자 데이터 관리</td>
</tr>
<tr>
<td>자원 관리 모듈</td>
<td>인프라스트럭처 자원 관리</td>
</tr>
<tr>
<td>서비스 관리 모듈</td>
<td>플랫폼 서비스 관리</td>
</tr>
<tr>
<td>사용자 관리 모듈</td>
<td>인증, 서비스 관리, SLA 관리</td>
</tr>
<tr>
<td>모니터링 모듈</td>
<td>인프라스트럭처 서비스 가용성, 성능 모니터링</td>
</tr>
<tr>
<td>보안 모듈</td>
<td>보안 관리</td>
</tr>
</tbody></table>
<ul>
<li><strong>인프라스트럭처 계층</strong> : 자원 배치, 스토리지 관리, 노드/네트워크 관리 -&gt; 빅데이터 처리, 분석 자원 제공</li>
</ul>
<table>
<thead>
<tr>
<th>모듈</th>
<th>기능</th>
</tr>
</thead>
<tbody><tr>
<td>사용자 요청 파싱 모듈</td>
<td>요청 해석</td>
</tr>
<tr>
<td>자원 배치 모듈</td>
<td>초기 자원 배치, 재배치 및 스케일링</td>
</tr>
<tr>
<td>노드 관리 모듈</td>
<td>인프라스트럭처 내 노드 관리</td>
</tr>
<tr>
<td>데이터 관리 모듈</td>
<td>인프라스트럭처 내 스토리지 관리</td>
</tr>
<tr>
<td>네트워크 관리 모듈</td>
<td>인프라스트럭처 내 네트워크 구성 및 관리</td>
</tr>
<tr>
<td>서비스 관리 모듈</td>
<td>인프라스트럭처 서비스 운영</td>
</tr>
<tr>
<td>사용자 관리 모듈</td>
<td>인증, 서비스 관리, SLA 관리</td>
</tr>
<tr>
<td>모니터링 모듈</td>
<td>가용성 및 성능 모니터링</td>
</tr>
<tr>
<td>보안 모듈</td>
<td>보안 관리</td>
</tr>
</tbody></table>
<hr>
<h2 id="2-2-빅데이터-처리기술">2-2. 빅데이터 처리기술</h2>
<p><strong>빅데이터 처리과정과 요소기술</strong></p>
<table>
<thead>
<tr>
<th>단계</th>
<th>설명</th>
<th>주요 기술</th>
</tr>
</thead>
<tbody><tr>
<td>생성</td>
<td>내부(DB), 외부(인터넷)에서 데이터 생성</td>
<td>시스템 로그, 웹 데이터 등</td>
</tr>
<tr>
<td>수집</td>
<td>데이터 검색, 수집, 변환, 적재</td>
<td>크롤링, ETL, Open API</td>
</tr>
<tr>
<td>저장(공유)</td>
<td>데이터 저장 및 시스템 간 공유</td>
<td>NoSQL, Hadoop, 병렬 DBMS</td>
</tr>
<tr>
<td>처리</td>
<td>대용량 데이터 처리</td>
<td>분산/병렬 처리, MapReduce</td>
</tr>
<tr>
<td>분석</td>
<td>데이터 의미 도출</td>
<td>통계분석, 머신러닝, 마이닝</td>
</tr>
<tr>
<td>시각화</td>
<td>결과를 사용자에게 전달</td>
<td>대시보드, 그래프</td>
</tr>
</tbody></table>
<p><strong>빅데이터 수집</strong></p>
<ul>
<li>크롤링 : 여러 컴퓨터에 분산 저장된 문서를 수집, 검색 대상의 색인으로 포함</li>
<li>로그 수집기 : 조직 내 서버, 시스템 로그 수집</li>
<li>센서 네트워크 : 유비쿼터스 컴퓨팅 구현 위한 센서 간 네트워크</li>
<li>RSS Reader / Open API : 데이터 생산, 공유, 참여 환경 (=웹 2.0) 구현 기술</li>
<li>ETL 프로세스 : 다양한 원천 데이터를 추출, 변환, 적재 하는 기술</li>
</ul>
<p><strong>빅데이터 저장</strong></p>
<ul>
<li><p>NoSQL : SQL을 사용하지 않는 비관계형 DBMS</p>
<ul>
<li>기존 원자성, 일관성, 독립성, 지속성 적용</li>
<li>데이터 업데이트 즉각적으로 가능</li>
<li>Cloudata, Hbase, Cassandra, MongoDB등.</li>
</ul>
</li>
<li><p>공유 데이터 시스템 : 일관성, 가용성, 분할 내성 중 최대 2개만 보유 (=CAP 이론) -&gt; 기존 RDBMS 보다 높은 성능, 확장성</p>
</li>
<li><p>병렬 데이터베이스 관리 시스템 : 여러 마이크로프로세서로 여러 디스트에 CRUD 처리 동시 수행</p>
</li>
<li><p>분산 파일 시스템 : 네트워크 내 여러 호스트의 파일에 접근하는 파일 시스템 (예 : 아마존 s3)</p>
</li>
<li><p>네트워크 저장 시스템 : 여러 기종의 저장 장치를 하나의 데이터 서버에 연결, 총괄적으로 관리하는 시스템 (예: SAN)</p>
</li>
</ul>
<p><strong>빅데이터 처리</strong></p>
<ul>
<li>기본 구조</li>
</ul>
<table>
<thead>
<tr>
<th>구분</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>분산 시스템</td>
<td>여러 컴퓨터를 하나처럼 동작</td>
</tr>
<tr>
<td>병렬 시스템</td>
<td>CPU 자원을 병렬 연결하여 처리</td>
</tr>
<tr>
<td>분산 병렬 컴퓨팅</td>
<td>네트워크로 연결된 자원을 하나처럼 사용</td>
</tr>
</tbody></table>
<ul>
<li><p>분산병렬컴퓨팅 시 고려 사항</p>
<ul>
<li>전체 작업 배분</li>
<li>각 프로세서의 중간 결과물을 주고 받기</li>
<li>다른 프로세서간 동기화</li>
</ul>
</li>
<li><p>주요 기술</p>
</li>
</ul>
<table>
<thead>
<tr>
<th>기술</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>하둡 (Hadoop)</td>
<td>분산 처리 프레임워크 (HDFS, HBase, MapReduce)</td>
</tr>
<tr>
<td>아파치 스파크</td>
<td>인메모리 기반 실시간 처리</td>
</tr>
<tr>
<td>맵리듀스</td>
<td>분산 병렬 처리 모델</td>
</tr>
</tbody></table>
<ul>
<li>맵리듀스 처리 단계</li>
</ul>
<table>
<thead>
<tr>
<th>단계</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>데이터 분할</td>
<td>입력 데이터 분할</td>
</tr>
<tr>
<td>맵(Map)</td>
<td>데이터 처리 및 중간 결과 생성</td>
</tr>
<tr>
<td>셔플(Shuffle)</td>
<td>중간 데이터 재분배</td>
</tr>
<tr>
<td>리듀스(Reduce)</td>
<td>결과 집계</td>
</tr>
<tr>
<td>출력</td>
<td>최종 데이터 생성</td>
</tr>
</tbody></table>
<p><strong>빅데이터 분석</strong></p>
<ul>
<li><p>데이터 분석 방법 </p>
<ul>
<li>탐구 요인 분석 (EFA) : 데이터 간 상호 관계 파악</li>
<li>확인 요인 분석 (CFA) : 변수들의 집합 요소 구조를 통계적 방법으로 파악</li>
</ul>
</li>
</ul>
<ul>
<li>데이터 분석 방법 </li>
</ul>
<table>
<thead>
<tr>
<th>기법</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>분류</td>
<td>학습 데이터를 기반으로 결과 예측</td>
</tr>
<tr>
<td>군집화</td>
<td>유사한 데이터 그룹화 (비지도 학습)</td>
</tr>
<tr>
<td>기계학습</td>
<td>데이터를 통한 패턴 학습</td>
</tr>
<tr>
<td>텍스트 마이닝</td>
<td>비정형 텍스트 분석</td>
</tr>
<tr>
<td>웹 마이닝</td>
<td>웹 데이터 분석</td>
</tr>
<tr>
<td>오피니언 마이닝</td>
<td>사용자 의견 분석</td>
</tr>
<tr>
<td>리얼리티 마이닝</td>
<td>행동 및 관계 분석</td>
</tr>
<tr>
<td>소셜 네트워크 분석</td>
<td>관계 구조 및 영향력 분석</td>
</tr>
<tr>
<td>감정 분석</td>
<td>긍정/부정 등 감정 판단</td>
</tr>
</tbody></table>
<hr>
<h2 id="2-3-빅데이터와-인공지능">2-3. 빅데이터와 인공지능</h2>
<p><strong>인공지능</strong></p>
<ul>
<li><p>정의 : 기계를 지능화 하려는 노력.</p>
</li>
<li><p><strong>인공지능 ⊃ 머신러닝 ⊃ 딥러닝</strong></p>
</li>
<li><p>딥러닝의 특징 : 깊은 구조로, 엄청난 양의 데이터를 학습 가능</p>
</li>
<li><p><strong>기계학습의 종류</strong></p>
</li>
</ul>
<table>
<thead>
<tr>
<th>구분</th>
<th>개념</th>
<th>특징</th>
<th>주요 방법</th>
</tr>
</thead>
<tbody><tr>
<td>지도학습</td>
<td>정답(레이블)이 있는 데이터를 학습하여 함수(모델) 생성</td>
<td>입력 → 출력 관계 학습</td>
<td>분류, 회귀</td>
</tr>
<tr>
<td>비지도학습</td>
<td>정답 없이 데이터 구조나 패턴 파악</td>
<td>데이터의 숨겨진 구조 발견</td>
<td>군집분석, 오토인코더, GAN</td>
</tr>
<tr>
<td>준지도학습</td>
<td>일부만 정답이 있는 데이터를 함께 학습</td>
<td>적은 라벨로 성능 향상</td>
<td>지도 + 비지도 혼합</td>
</tr>
<tr>
<td>강화학습</td>
<td>보상을 최대화하는 행동을 학습</td>
<td>시행착오 기반 학습</td>
<td>강화학습</td>
</tr>
</tbody></table>
<p><strong>인공지능 데이터 학습의 진화</strong></p>
<ul>
<li><strong>전이학습</strong> : 기존 모델의 지식을 새로운 문제에 적용하여 빠르고 효율적인 학습 수행</li>
<li><strong>전이학습 기반 사전학습모형</strong> : 딥러닝 모형에 추가적인 데이터를 학습시키는 방식. </li>
<li><strong>BERT</strong> : 구글의 언어인식 사전학습모형.</li>
</ul>
<p><strong>빅데이터와 인공지능의 관계</strong></p>
<ul>
<li><strong>인공지능 학습 위한 데이터 확보</strong> : 학습을 위해 양질의 많은 데이터를 가공 필요</li>
<li><strong>학습 데이터의 애노테이션 작업</strong> : 데이터상의 주석 작업. 무엇을 학습 해야 하는지 표식한다.</li>
<li><strong>애노테이션 작업을 위한 도구로써의 인공지능</strong> : 학습 데이터의 수요로 인해 인공지능 기반 애노테이션 도구 제공 서비스가 진화중</li>
</ul>
<p><strong>인공지능의 기술동향</strong></p>
<table>
<thead>
<tr>
<th>기술</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>기계학습 프레임워크</td>
<td>모델 개발을 위한 도구 (텐서플로, 케라스 등)</td>
</tr>
<tr>
<td>GAN</td>
<td>생성자와 판별자가 경쟁하며 데이터(이미지) 생성</td>
</tr>
<tr>
<td>오토인코더</td>
<td>비지도 학습으로 데이터 라벨링</td>
</tr>
<tr>
<td>설명 가능한 AI</td>
<td>결과에 대한 근거를 제공하는 AI</td>
</tr>
<tr>
<td>기계학습 자동화</td>
<td>데이터 전처리부터 모델 튜닝까지 자동화</td>
</tr>
</tbody></table>
<ul>
<li><p><strong>거대 언어 모델</strong> (LLM) : 신경망 기반으로 학습된 언어 모델</p>
<ul>
<li>구성 </li>
</ul>
</li>
</ul>
<table>
<thead>
<tr>
<th>구성 요소</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>토큰화</td>
<td>자연어를 기계가 이해할 수 있는 단위로 변환</td>
</tr>
<tr>
<td>트랜스포머</td>
<td>문맥과 단어 간 관계를 학습하는 신경망</td>
</tr>
<tr>
<td>프롬프트</td>
<td>모델에 입력되는 질문/명령</td>
</tr>
</tbody></table>
<p><strong>인공지능의 한계점과 발전방향</strong></p>
<ul>
<li><strong>국내시장의 한계</strong> : 개발 중요성에 대한 인식 부족, 수학/통계학적 이해도 부족</li>
<li><strong>인공지능의 미래</strong> : 딥러닝의 재학습, 전이학습을 활용한 새로운 학습모형</li>
</ul>
<hr>
<h2 id="2-4-개인정보-개요">2-4. 개인정보 개요</h2>
<p><strong>개인정보의 기준과 판단기준</strong></p>
<ul>
<li>정의 : <strong>살아있는 개인에 관한 정보로, 개인을 식별할 수 있는 정보</strong></li>
<li>) 다른 정보와 쉽게 결합하여 알아볼 수 있는 정보 포함</li>
</ul>
<p><strong>개인정보의 이전</strong></p>
<ul>
<li>개인정보가 제 3자에게 이전, 공통으로 처리하게 하는 것.</li>
<li><strong>개인정보 처리 위탁</strong> : 제공자가 업무처리의 목적으로 3자에게 이전</li>
<li><strong>개인정보 3자 제공</strong> : 제공받는 자가 업무처리 목적으로 3자에게 이전</li>
</ul>
<p><strong>개인정보의 보호</strong></p>
<ul>
<li><p>개인정보 보호조치 </p>
<ul>
<li>개인정보보호 가이드라인 점검</li>
<li>백업, 최신화, 패스워드 변경</li>
</ul>
</li>
<li><p>빅데이터 개인정보보호 가이드라인</p>
</li>
</ul>
<table>
<thead>
<tr>
<th>항목</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>비식별화</td>
<td>개인정보 포함 시 식별 불가능하도록 처리</td>
</tr>
<tr>
<td>투명성 확보</td>
<td>처리 목적, 수집 출처 등 공개</td>
</tr>
<tr>
<td>재식별 시 조치</td>
<td>재식별 발생 시 즉시 파기 또는 재비식별화</td>
</tr>
<tr>
<td>민감정보 처리 제한</td>
<td>민감정보 생성 및 활용 금지</td>
</tr>
<tr>
<td>보호조치 수행</td>
<td>기술적·관리적 보호조치 적용</td>
</tr>
</tbody></table>
<ul>
<li>고려사항 : 법적 가이드라인, 내부 개인정보 컴플라이언스 체계    </li>
<li><em>개인정보보호 관련 법률*</em></li>
<li>데이터 3법 : 개인정보보호법, 정보통신망 이용 촉진 및 정보보호등에 관한 법률, 신용정보의 이용 및 보호에 관한 법률</li>
</ul>
<hr>
<h2 id="2-5-개인정보-법-제도">2-5. 개인정보 법, 제도</h2>
<p><strong>개인정보보호법</strong> : 당사자의 동의 없는 개인정보 수집 및 활용, 제 3자 제공 금지</p>
<ul>
<li>개인정보 3자 제공 : 정보주체로부터 개인정보 3자 제공 동의를 받아야 함.</li>
</ul>
<p><strong>정보통신망법</strong> : 정보통신망 개발, 보급, 이용촉진 및 정보통신망 활용 정보 보호에 관한 법률</p>
<p><strong>신용정보보호법</strong> : 개인신용정보 제공시 주체의 동의 필요</p>
<p><strong>해외 개인정보보호 체계</strong> </p>
<ul>
<li>유럽연합 : GDPR 준수</li>
<li>미국 : 시장 자율로 딱히 법률이 없으나 주마다 다름.</li>
</ul>
<hr>
<h2 id="2-6-개인정보-비식별화">2-6. 개인정보 비식별화</h2>
<p><strong>개요</strong></p>
<ul>
<li><p><strong>비식별 정보</strong> : 개인정보 비식별 조치 가이드라인에 따라 비식별 조치된 정보</p>
</li>
<li><p><strong>비식별 조치</strong> : 개인을 식별할 수 있는 요소를 전부/일부 삭제, 대체</p>
</li>
<li><p><strong>비식별 정보 활용</strong> : 이용 또는 3자 제공. (원칙적으로는 공개 금지)</p>
</li>
<li><p><strong>비식별 정보 보호</strong> : 재식별 주의, 관리적, 기술적 조치 필수</p>
</li>
</ul>
<p><strong>개인정보 비식별화 조치 가이드라인</strong></p>
<ul>
<li>배경: 정부 3.0 이후로 데이터 활용 가치 증대, 개인정보 보호 강화에 대한 사회적 요구</li>
</ul>
<ul>
<li><strong>단계별 조치사항</strong></li>
</ul>
<table>
<thead>
<tr>
<th>단계</th>
<th>목적</th>
<th>주요 조치</th>
<th>세부 기준 / 핵심 키워드</th>
</tr>
</thead>
<tbody><tr>
<td>사전 검토</td>
<td>개인정보 여부 판단</td>
<td>데이터 성격 확인</td>
<td>개인정보이면 반드시 보호조치 수행</td>
</tr>
<tr>
<td>비식별 조치</td>
<td>개인 식별 불가능하게 처리</td>
<td>식별정보 삭제 또는 대체</td>
<td><strong>식별자</strong> : 원칙적 삭제<br><strong>속성자</strong> : 불필요 → 삭제 / 필요 → 가명처리·총계처리</td>
</tr>
<tr>
<td>적정성 평가</td>
<td>비식별 처리 적절성 검증</td>
<td>평가단 검토</td>
<td><strong>k-익명성</strong> (기본)<br>l-다양성<br>t-근접성</td>
</tr>
<tr>
<td>사후 관리</td>
<td>재식별 방지 및 안전 관리</td>
<td>지속적 모니터링</td>
<td>재식별 가능성 점검<br>문제 발생 시 즉시 조치</td>
</tr>
</tbody></table>
<ul>
<li><p><strong>조치 방법</strong></p>
<ul>
<li>가명처리 : 식별 요소 다른 값으로 대체</li>
<li>총계처리 : 총합 값으로 대체</li>
<li>데이터 삭제 : 필요 없는 값 삭제</li>
<li>데이터 범주화 : 범주 값으로 숨김</li>
<li>데이터 마스킹 : 식별자를 비가시화 처리</li>
</ul>
</li>
</ul>
<hr>
<h2 id="2-7-가명정보의-활용">2-7. 가명정보의 활용</h2>
<p><strong>가명정보의 개요</strong></p>
<blockquote>
<p><strong>가명정보</strong> : 가명처리의 산출물
*<em>가명처리 *</em>: 활용하려는 개인정보의 일부를 삭제, 대체하는 과정</p>
</blockquote>
<blockquote>
<p><strong>개인정보</strong> : 특정 개인에 대한 정보 (개인 특정 가능)
-&gt; 정보 주체에게 동의를 받은 범위 내 활용 가능</p>
</blockquote>
<blockquote>
<p><strong>가명정보</strong> : 추가 정보 없이는 개인을 특정 할 수 없는 정보
-&gt; 사전 동의 없이 통계/연구/공익 목적 활용 가능</p>
</blockquote>
<blockquote>
<p><strong>익명정보</strong> : 특정 개인을 알아볼 수 없게 처리한 정보 
-&gt; 제약 없이 이용 가능</p>
</blockquote>
<p>-&gt; 개인정보는 개인의 사생활 침해 같은 문제 발생을 막기 위해 기술적 조치 필요.</p>
<ul>
<li><strong>가명처리의 목적 및 대상</strong> : 통계 작성, 과학적 연구, 공익적 기록 보존</li>
</ul>
<p><strong>가명처리 절차</strong></p>
<ol>
<li>목적 설정, 사전 준비</li>
<li>위험성 검토 : 대상 선정 -&gt; 위험성 검토</li>
<li>적정성 검토</li>
<li>안전한 관리</li>
</ol>
<hr>
<h2 id="2-8-개인정보-활용">2-8. 개인정보 활용</h2>
<p><strong>데이터 수집의 위기 요인과 통제 방안</strong></p>
<ul>
<li><code>사생활 침해로 위기 발생</code> -&gt; <code>동의에서 책임으로 강화하여 통제</code></li>
</ul>
<p><strong>데이터 활용의 위기 요인과 통제 방안</strong></p>
<ul>
<li><code>책임원칙 훼손으로 위기 발생</code> -&gt; <code>결과 기반 책임 원칙 고수로 통제</code></li>
</ul>
<p><strong>데이터 처리릐 위기 요인과 통제 방안</strong></p>
<ul>
<li><code>데이터 오용으로 위기 발생</code> -&gt; <code>알고리즘 접근을 허용하여 통제</code></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[빅분기 도전기]]></title>
            <link>https://velog.io/@k_heeyoung/%EB%B9%85%EB%B6%84%EA%B8%B0-%EB%8F%84%EC%A0%84%EA%B8%B0</link>
            <guid>https://velog.io/@k_heeyoung/%EB%B9%85%EB%B6%84%EA%B8%B0-%EB%8F%84%EC%A0%84%EA%B8%B0</guid>
            <pubDate>Sun, 22 Mar 2026 23:00:13 GMT</pubDate>
            <description><![CDATA[<p>대충 보니까 올해는 8월에 시험이 있는 것 같다. (3월에 있던 건 놓쳤음)
빅분기는 필기/실기호 나뉘어 진다고 한다.
일단 필기부터 할거다. </p>
<p>필기는 총 4과목으로, </p>
<ol>
<li>빅데이터 분석 기획</li>
<li>빅데이터 탐색</li>
<li>빅데이터 모델링</li>
<li>빅데이터 결과 해석
으로 나뉜다.</li>
</ol>
<p>그리고 과락은 10점에 총점 60 이상이면 된다는데 뭐... 될 때까지 하면 언젠가 붙겠지 싶다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[langflow]]></title>
            <link>https://velog.io/@k_heeyoung/langflow</link>
            <guid>https://velog.io/@k_heeyoung/langflow</guid>
            <pubDate>Thu, 12 Feb 2026 03:16:32 GMT</pubDate>
            <description><![CDATA[<p>이런 젠장 이런 신기술이 있었다니
천천히 써보자...
그리고 뭔가 회사 다니니 블로그가 거의 방치가 되었다
역시 4시간 통근은 지옥이군 </p>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD2-2-8 정규 표현식]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD2-2-8-%EC%A0%95%EA%B7%9C-%ED%91%9C%ED%98%84%EC%8B%9D</link>
            <guid>https://velog.io/@k_heeyoung/SQLD2-2-8-%EC%A0%95%EA%B7%9C-%ED%91%9C%ED%98%84%EC%8B%9D</guid>
            <pubDate>Wed, 28 Jan 2026 04:52:46 GMT</pubDate>
            <description><![CDATA[<h2 id="정규-표현식">정규 표현식</h2>
<ul>
<li>문자열의 공통 규칙을 일반화 해서 표현</li>
<li>정규 표현식 사용 가능한 문자 함수 제공</li>
<li>특정 패턴 찾기에 유리</li>
</ul>
<h3 id="정규-표현식-종류">정규 표현식 종류</h3>
<h4 id="1️⃣-기본-메타-문자">1️⃣ 기본 메타 문자</h4>
<table>
<thead>
<tr>
<th>표현식</th>
<th>의미</th>
<th></th>
</tr>
</thead>
<tbody><tr>
<td><code>.</code></td>
<td>임의의 문자 1개</td>
<td></td>
</tr>
<tr>
<td><code>^</code></td>
<td>문자열 시작</td>
<td></td>
</tr>
<tr>
<td><code>$</code></td>
<td>문자열 끝</td>
<td></td>
</tr>
<tr>
<td><code>\</code></td>
<td>이스케이프 문자</td>
<td></td>
</tr>
<tr>
<td>`</td>
<td>`</td>
<td>OR</td>
</tr>
</tbody></table>
<h4 id="2️⃣-문자-클래스">2️⃣ 문자 클래스</h4>
<table>
<thead>
<tr>
<th>표현식</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td><code>[abc]</code></td>
<td>a, b, c 중 하나</td>
</tr>
<tr>
<td><code>[^abc]</code></td>
<td>a, b, c 제외</td>
</tr>
<tr>
<td><code>[a-z]</code></td>
<td>소문자 a~z</td>
</tr>
<tr>
<td><code>[A-Z]</code></td>
<td>대문자 A~Z</td>
</tr>
<tr>
<td><code>[0-9]</code></td>
<td>숫자</td>
</tr>
<tr>
<td><code>[가-힣]</code></td>
<td>한글</td>
</tr>
</tbody></table>
<h4 id="3️⃣-수량자">3️⃣ 수량자</h4>
<table>
<thead>
<tr>
<th>표현식</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td><code>*</code></td>
<td>0회 이상</td>
</tr>
<tr>
<td><code>+</code></td>
<td>1회 이상</td>
</tr>
<tr>
<td><code>?</code></td>
<td>0 또는 1회</td>
</tr>
<tr>
<td><code>{n}</code></td>
<td>정확히 n회</td>
</tr>
<tr>
<td><code>{n,}</code></td>
<td>n회 이상</td>
</tr>
<tr>
<td><code>{n,m}</code></td>
<td>n~m회</td>
</tr>
</tbody></table>
<h4 id="4️⃣-위치-지정자-앵커">4️⃣ 위치 지정자 (앵커)</h4>
<table>
<thead>
<tr>
<th>표현식</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td><code>^abc</code></td>
<td>abc로 시작</td>
</tr>
<tr>
<td><code>abc$</code></td>
<td>abc로 끝</td>
</tr>
<tr>
<td><code>\b</code></td>
<td>단어 경계</td>
</tr>
<tr>
<td><code>\B</code></td>
<td>단어 경계 아님</td>
</tr>
</tbody></table>
<h4 id="5️⃣-미리-정의된-문자-클래스">5️⃣ 미리 정의된 문자 클래스</h4>
<table>
<thead>
<tr>
<th>표현식</th>
<th>의미</th>
</tr>
</thead>
<tbody><tr>
<td><code>\d</code></td>
<td>숫자</td>
</tr>
<tr>
<td><code>\D</code></td>
<td>숫자 아님</td>
</tr>
<tr>
<td><code>\w</code></td>
<td>문자 + 숫자 + <code>_</code></td>
</tr>
<tr>
<td><code>\W</code></td>
<td><code>\w</code> 제외</td>
</tr>
<tr>
<td><code>\s</code></td>
<td>공백</td>
</tr>
<tr>
<td><code>\S</code></td>
<td>공백 아님</td>
</tr>
</tbody></table>
<h4 id="기타">기타</h4>
<table>
<thead>
<tr>
<th>목적</th>
<th>정규식</th>
</tr>
</thead>
<tbody><tr>
<td>숫자만</td>
<td><code>^[0-9]+$</code></td>
</tr>
<tr>
<td>영문만</td>
<td><code>^[A-Za-z]+$</code></td>
</tr>
<tr>
<td>한글만</td>
<td><code>^[가-힣]+$</code></td>
</tr>
<tr>
<td>영문+숫자</td>
<td><code>^[A-Za-z0-9]+$</code></td>
</tr>
<tr>
<td>주민번호 (간단)</td>
<td><code>^\d{6}-\d{7}$</code></td>
</tr>
<tr>
<td>전화번호</td>
<td><code>^01[0-9]-\d{3,4}-\d{4}$</code></td>
</tr>
<tr>
<td>이메일</td>
<td><code>^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$</code></td>
</tr>
</tbody></table>
<h3 id="정규-표현식-함수">정규 표현식 함수</h3>
<h4 id="regexp_like-조건">REGEXP_LIKE 조건</h4>
<ul>
<li>패턴과 일치하면 참, 아니면 거짓<pre><code>REGEXP_LIKE(검색 문자열, 검색 패턴 [, 일치 옵션])</code></pre><ul>
<li>일치 옵션 <ul>
<li>i : 대소문자 무시</li>
<li>c : 대소문자 구분</li>
<li>n <code>.</code>을 줄바꿈과 일치</li>
<li>m : 다중 행 모드</li>
<li>x : 공백 무시<h4 id="regexp_replace">REGEXP_REPLACE</h4>
</li>
</ul>
</li>
</ul>
</li>
<li>검색 문자열과 일치한 패턴을 변경 값으로 변경 후 리턴<pre><code>REGEXP_REPLACE(검색문자열, 패턴 [,변경 문자열[,검색 시작 위치 [, 패턴 일치 횟수 [, 일치 옵션]]]])</code></pre></li>
<li>위치와 횟수의 기본값은 1</li>
</ul>
<h4 id="regexp_substr">REGEXP_SUBSTR</h4>
<ul>
<li>검색 문자열에서 일치한 패턴을 반환<pre><code>REGEXP_SUBSTR(검색문자열, 검색패턴 [,검색 시작 위치 [, 패턴 일치 횟수 [, 일치 옵션 [,서브표현식]]]]])</code></pre></li>
</ul>
<h4 id="regexp_instr">REGEXP_INSTR</h4>
<ul>
<li>검색 문자열에서 일치한 패턴의 위치를 정수로 반환<pre><code>REGEXP_INSTR(검색문자열, 검색패턴 [,검색 시작 위치 [, 패턴 일치 횟수 [, 반환옵션 [, 일치 옵션 [,서브표현식]]]]])</code></pre></li>
</ul>
<h4 id="regexp_count">REGEXP_COUNT</h4>
<ul>
<li>검색 문자열에서 일치한 패턴의 횟수를 반환<pre><code>REGEXP_SUBSTR(검색문자열, 검색패턴 [,검색 시작 위치 [, 패턴 일치 옵션]])</code></pre></li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-2-7 PIVOT 절과 UNPIVOT절]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-2-7-PIVOT-%EC%A0%88%EA%B3%BC-UNPIVOT%EC%A0%88</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-2-7-PIVOT-%EC%A0%88%EA%B3%BC-UNPIVOT%EC%A0%88</guid>
            <pubDate>Sun, 25 Jan 2026 04:37:41 GMT</pubDate>
            <description><![CDATA[<h2 id="데이터의-구조">데이터의 구조</h2>
<h3 id="long-data-통계-분석용">LONG DATA (통계 분석용)</h3>
<ul>
<li>하나의 속성 -&gt; 하나의 컬럼 </li>
<li>동일 키 값 반복 가능</li>
<li>RDBMS 설계 방식</li>
<li>타 테이블과 조인 연산 가능</li>
<li>행 : 관찰 단위</li>
<li>열 : 측정 변수, 속성</li>
</ul>
<h3 id="wide-data-보고서-요약용">WIDE DATA (보고서, 요약용)</h3>
<ul>
<li>하나의 속성 -&gt; 여러 컬럼 </li>
<li><blockquote>
<p>데이터가 많으면 열도 많아짐</p>
</blockquote>
</li>
<li>타 테이블과 조인 불가</li>
</ul>
<h2 id="데이터-구조-변경">데이터 구조 변경</h2>
<ul>
<li>PIVOT : long data -&gt; wide data</li>
<li>UNPIVOT : wide data -&gt; long data</li>
</ul>
<h2 id="pivort">PIVORT</h2>
<pre><code>SELECT *
FROM 테이블
PIVOT (
    집계함수(집계컬럼)
    FOR 열로_만들_컬럼
    IN (값1, 값2, 값3 ...)
);
</code></pre><h2 id="unpivort">UNPIVORT</h2>
<pre><code>SELECT *
FROM 테이블
UNPIVOT (
    값컬럼
    FOR 기준컬럼
    IN (열1, 열2, 열3 ...)
);</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-2-6 계층형 질의와 셀프 조인]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-2-6-%EA%B3%84%EC%B8%B5%ED%98%95-%EC%A7%88%EC%9D%98%EC%99%80-%EC%85%80%ED%94%84-%EC%A1%B0%EC%9D%B8</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-2-6-%EA%B3%84%EC%B8%B5%ED%98%95-%EC%A7%88%EC%9D%98%EC%99%80-%EC%85%80%ED%94%84-%EC%A1%B0%EC%9D%B8</guid>
            <pubDate>Sun, 25 Jan 2026 04:23:55 GMT</pubDate>
            <description><![CDATA[<h2 id="계층형-질의">계층형 질의</h2>
<pre><code>SELECT 컬럼 FROM 테이블 
START WITH 시작조건 
CONNECT BY [NOCYCLE] PRIOR 연결 조건;</code></pre><ul>
<li>START WITH : 시작점 지정</li>
<li>CONNECT BY PRIOR : 이어질 행의 조건</li>
<li>NOCYCLE : 루프 방지</li>
<li>PRIOR : <code>PRIOR 컬럼A = 컬럼B</code> -&gt; 컬럼 A 읽고 그 값이 일치하는 컬럼 B 연결<ul>
<li>자식 = 부모 : 순방향 전계</li>
<li>부모 = 자식 : 역방향 전계</li>
<li><blockquote>
<p>전계에 따라 출력되는 데이터 다름</p>
</blockquote>
</li>
</ul>
</li>
</ul>
<h3 id="계층형-질의-가상-컬럼">계층형 질의 가상 컬럼</h3>
<ul>
<li>CONNECT_BY_ROOT 컬럼 : 최상위 계층 컬럼 값 표시</li>
<li>SYS_CONNECT_BY_PATH : 루트 데이터~ 현재 데이터까지 경로 표시</li>
<li>ORDER SIBLINGS BY 컬럼 : 형제 노드 사이 정렬</li>
<li>CONNECT_BY_ISCYCLE : 순환 발생시 1, 아니면 0</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-2-5 TOP N 쿼리]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-2-5-TOP-N-%EC%BF%BC%EB%A6%AC</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-2-5-TOP-N-%EC%BF%BC%EB%A6%AC</guid>
            <pubDate>Sun, 25 Jan 2026 03:36:50 GMT</pubDate>
            <description><![CDATA[<h2 id="top-n-쿼리">TOP N 쿼리</h2>
<h3 id="top-n-쿼리-1">TOP N 쿼리</h3>
<ul>
<li>전체 데이터에서 상위 N개 행 추출 (페이징)</li>
</ul>
<h3 id="top-n-행-추출-방법">TOP-N 행 추출 방법</h3>
<h4 id="rownum">ROWNUM</h4>
<ul>
<li>ROWNUM은 <strong>조회 결과가 만들어지는 과정에서 순서대로 부여되며, ORDER BY보다 먼저 적용</strong><ul>
<li>출력 데이터 기준으로 행 번호 부여</li>
<li>단, 가상 번호라 특정 행 지정 불가</li>
</ul>
</li>
<li><blockquote>
<p>즉, 서브 쿼리로 정렬하고 뽑아야 상위/하위 N개 추출 가능</p>
</blockquote>
</li>
<li><code>&gt;</code> 연산 불가<ul>
<li><code>SELECT ROWNUM, 열들 FROM 테이블 WHERE ROWNUM &lt;=3;</code></li>
<li><blockquote>
<p><code>&gt;=</code> 를 써야 함. (근데 <code>ROWNUM = 1</code>은 됨. 이건 전체 데이터 반환과 같음)</p>
</blockquote>
</li>
</ul>
</li>
</ul>
<h4 id="rank">RANK</h4>
<ul>
<li>윈도우 함수의 RANK</li>
<li>동일 값은 같은 순위, 그 다음 값은 건너 뜀
(ex: 1,2,2,4...)</li>
</ul>
<h4 id="fetch">FETCH</h4>
<ul>
<li>출력되는 행의 수 제한</li>
<li>OREDER BY 뒤에 사용</li>
<li>OFFSET N {ROW|ROWS}: 처음 N 개 건너 뛴 결과</li>
<li><code>FETCH {FIRST|NEXT} N {ROW|ROWS} ONLY</code><ul>
<li>OFFSET으로 건너 뛰고 가져올 행 개수 지정</li>
<li>FIRST : OFFSET 어없을 때, 처음부터 가져오란 뜻</li>
<li>NEXT : OFFSET 있을 때, OFFSET 이후 N개 가져오란 뜻</li>
<li>ONLY : 결과 제한 의미 (필수)</li>
</ul>
</li>
</ul>
<h3 id="top-n">TOP N</h3>
<ul>
<li>SQL SERVER에서 상위 N개 추출 </li>
<li>WITH TIES 쓰면 동순위까지 추출 가능</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-2-4 윈도우 함수]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-2-4-%EC%9C%88%EB%8F%84%EC%9A%B0-%ED%95%A8%EC%88%98</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-2-4-%EC%9C%88%EB%8F%84%EC%9A%B0-%ED%95%A8%EC%88%98</guid>
            <pubDate>Wed, 21 Jan 2026 04:47:48 GMT</pubDate>
            <description><![CDATA[<h2 id="윈도우-함수">윈도우 함수</h2>
<ul>
<li>조인, 서브쿼리 없이 행과 행간 비교, 연산하게 해줌</li>
<li>각 행 유지하며 연산 가능 (GROUP BY 안해도 OK)<pre><code>SELECT 컬럼,
  윈도우 함수(컬럼) OVER (정렬 또는 조건) AS 결과
FROM 테이블명;</code></pre></li>
<li>윈도우 함수 안에 집계, 순위 함수 같은 걸 넣는다.<ul>
<li>PARTITION BY :  그룹 연산 수행할 그룹 지정</li>
<li>ORDER BY : 순위 함수 쓸 거면 필수. 집계함수에서는 누적값 출력할 때 쓴다.</li>
<li>ROWS, RANGE BETWEEN A AND B : 연산 범위 설정. OREDER BY랑 같이 씀. (RANGE는 SQL SERVER는 사용 불가)</li>
</ul>
</li>
<li>순서 틀리면 오류 난다</li>
</ul>
<h3 id="일반-집계-함수">일반 집계 함수</h3>
<ul>
<li>SUM, AVG, COUNT, MAX, MIN 등의 함수를 사용할 수 있다.</li>
<li>OREDER BY가 없을 경우 합은 누적으로 계산하지 않는다.</li>
<li><blockquote>
<p>전부 같은 값으로 나온다는 소리</p>
</blockquote>
</li>
</ul>
<h3 id="연산-범위-설정">연산 범위 설정</h3>
<ul>
<li><p>ROWS : 같은 값도 각 행씩 연산</p>
</li>
<li><p>RANGE : 같은 값은 묶어서 연산 (이게 기본값!)</p>
</li>
<li><p>BETWEEN A AND B </p>
<ul>
<li>A<ul>
<li>CURRENT ROW : 현재 행부터</li>
<li>UNBOUNDED PRECDING : 처음부터</li>
<li>N PRECEDING : N 이전부터</li>
</ul>
</li>
<li>B<ul>
<li>CURRENT ROW : 현재까지</li>
<li>UNBOUNDED FOLLOWING : 마지막까지</li>
<li>N FOLLOWING : N 이후까지</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3 id="순위-함수">순위 함수</h3>
<ul>
<li>ROW_NUMBER() : 1위부터 순차적으로 순위 부여</li>
<li>RANK() : 동일 값에 같은 순위 부여 (그 다음은 건너 뜀)</li>
<li><blockquote>
<p>1,2,2,4 ...</p>
</blockquote>
</li>
<li>DENSE_RANK() : 동일 값에 같은 순위 </li>
<li><blockquote>
<p>1,2,2,3,4...</p>
</blockquote>
</li>
</ul>
<p>+) 특정 값의 순위 구하기
<code>SELECT RANK(값) WITHIN GROUP(ORDER BY 컬럼);</code></p>
<h3 id="행-순서-관련-함수">행 순서 관련 함수</h3>
<h4 id="lag-lead">LAG, LEAD</h4>
<ul>
<li>둘다 SQL SERVER는 사용 불가</li>
<li>OREDER BY 필수</li>
<li><strong>LAG</strong> : 이전 행 값 가져오기</li>
<li><strong>LEAD</strong> : 이후 행 값 가져오기</li>
<li>가져올 값이 없으면 null </li>
<li><blockquote>
<p>LAG(컬럼, 가져올 값, null 대체 값)으로 null 대체 가능</p>
</blockquote>
</li>
</ul>
<h4 id="first_value-last_value">FIRST_VALUE, LAST_VALUE</h4>
<ul>
<li>정렬된 범위내 첫번째, 마지막 리턴</li>
<li>PARTITON, ORDER BY 생략 가능</li>
</ul>
<h3 id="ntilen">NTILE(N)</h3>
<ul>
<li>행을 N개의 그룹으로 나눔</li>
<li>ORDER BY 필수</li>
<li>SQL SERVER에서는 사용 불가</li>
<li>나눠지지 않으면 앞 그룹이 더 커짐 </li>
<li><blockquote>
<p><code>NTILE(2) OVER(ORDER BY NAME) AS GROUP_NAME</code> 했는데 행이 5개면 3, 2 분할</p>
</blockquote>
</li>
</ul>
<h3 id="비율-관련-함수">비율 관련 함수</h3>
<ul>
<li>SQL SERVER는 안됨<h4 id="ration_to_report">RATION_TO_REPORT</h4>
</li>
<li>파티션 내 전체 합에 대한 한 컬럼의 비율</li>
<li>파티션이 없으면 전체에 대한 비율</li>
<li>OREDER BY 불가</li>
</ul>
<h4 id="percent_rank">PERCENT_RANK</h4>
<ul>
<li>파티션 별 윈도우에서 행의 순서별 백분위 리턴 (0:가장 먼저, 1: 가장 나중)</li>
<li>ORDER BY 필수</li>
</ul>
<h4 id="cume_dist">CUME_DIST</h4>
<ul>
<li>파티션 별 윈도우에서 현재 행보다 작거나 같은 건수에 대한 누적 백분율</li>
<li><blockquote>
<p>5개중 2번째는 0.2</p>
</blockquote>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-2-3 그룹함수]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-2-3-%EA%B7%B8%EB%A3%B9%ED%95%A8%EC%88%98</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-2-3-%EA%B7%B8%EB%A3%B9%ED%95%A8%EC%88%98</guid>
            <pubDate>Wed, 21 Jan 2026 04:27:32 GMT</pubDate>
            <description><![CDATA[<h2 id="그룹함수">그룹함수</h2>
<ul>
<li>ANSI/ISO SQL 표준 데이터 분석용 함수
```</li>
<li>AGGREGATE FUNCTION (집계함수)</li>
<li>GROUP FUNCTION (그룹 함수)</li>
<li>WINDOW FUNCTION (윈도우 함수)<pre><code></code></pre></li>
</ul>
<h3 id="집계함수">집계함수</h3>
<ul>
<li>null 값은 무시한다.<h4 id="count">COUNT</h4>
</li>
<li>행의 개수를 카운트</li>
<li>특정 컬럼만 카운트 할 경우, null 값은 카운트 안함</li>
</ul>
<h4 id="sum">SUM</h4>
<ul>
<li>총 합 출력</li>
<li>숫자 컬럼만 사용 가능</li>
</ul>
<h4 id="avg">AVG</h4>
<ul>
<li>평균 출력 (숫자 컬럼만 사용 가능)</li>
</ul>
<h4 id="min--max">MIN / MAX</h4>
<ul>
<li>최대, 최소 출력</li>
<li>날자, 숫자, 문자 모두 사용 가능</li>
</ul>
<h4 id="variance--stddev">VARIANCE / STDDEV</h4>
<ul>
<li>분산, 표준편차 출력</li>
<li>) 분산 = 표준편차 * 표준편차</li>
</ul>
<h3 id="그룹함수-1">그룹함수</h3>
<ul>
<li><p>ORDER BY 절에 정렬 컬럼을 명시하여 정렬 가능</p>
<h4 id="rollup-함수">ROLLUP 함수</h4>
<pre><code>... GROUP BY ROLLUP (NAME)</code></pre></li>
<li><blockquote>
<p>NAME으로 그룹핑한 결과 + 전체 합계(총합) 를 한 번에 같이 구함</p>
</blockquote>
</li>
<li><blockquote>
<p>그룹핑 컬럼의 수 +1의 개수가 나옴</p>
</blockquote>
</li>
<li><p>인수가 여러개 일때, 순서 바뀌면 결과도 바뀜 (계층 구조)</p>
</li>
<li><p><code>ROLLUP(컬럼1, (컬럼2,컬럼3))</code> -&gt; 컬럼 2,3을 하나의 집합으로 봄 -&gt; 컬럼 2,3은 각 합계를 구하지 않음</p>
</li>
</ul>
<h4 id="grouping-함수">GROUPING 함수</h4>
<ul>
<li>ROLLUP, CUBE로 소계가 있으면 1, 없으면 0</li>
<li><blockquote>
<p>그러니까 합계를 구할 수 없는 부분 (이름 같은 문자열)에서 사용해서 그냥 null로 나올걸 이름들 &lt; 같이 값으로 바꿀 수 있다.</p>
</blockquote>
</li>
<li>CASE나 DECODE와 같이 씀</li>
</ul>
<h4 id="cube-함수">CUBE 함수</h4>
<ul>
<li>결합 가능한 값들에 다차원 집계 생성</li>
<li><blockquote>
<p>모든 경우에 대한 소계를 만든다 (약간 RollUp 확장판)</p>
</blockquote>
</li>
<li>순서 상관 없음</li>
</ul>
<h4 id="grouping-sets-함수">GROUPING SETS 함수</h4>
<ul>
<li>각 소그룹별 소계 출력</li>
<li>총계는 <code>GROUP BY GROUPING SETS(A, B, NULL)</code>로 구할 수 있음 (null없으면 총계는 안 생김)</li>
<li>순서 상관 없음</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-2-2 집합 연산자]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-2-2-%EC%A7%91%ED%95%A9-%EC%97%B0%EC%82%B0%EC%9E%90</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-2-2-%EC%A7%91%ED%95%A9-%EC%97%B0%EC%82%B0%EC%9E%90</guid>
            <pubDate>Wed, 21 Jan 2026 03:55:20 GMT</pubDate>
            <description><![CDATA[<h2 id="집합연산자">집합연산자</h2>
<ul>
<li>SELECT문 결과를 집합 취급해서 집합 연산하기</li>
<li><blockquote>
<p><strong>두 집합 간 컬럼의 순서와 타입이 호환되어야 함</strong> (이때, 타입은 첫번째 집합에 의해 결정)</p>
</blockquote>
</li>
<li><blockquote>
<p>두개 이상의 테이블에서 join 없이 연관 데이터 조회하는 방법</p>
</blockquote>
</li>
</ul>
<h3 id="합집합">합집합</h3>
<h4 id="union">UNION</h4>
<ul>
<li>중복 데이터는 1번만 출력하는 합집합</li>
</ul>
<h4 id="union-all">UNION ALL</h4>
<ul>
<li>중복 데이터도 다 포함하는 합집합</li>
</ul>
<h3 id="교집합">교집합</h3>
<h4 id="intersect">INTERSECT</h4>
<ul>
<li>중복 데이터 제거하는 교집합</li>
</ul>
<h3 id="차집합">차집합</h3>
<h4 id="minus">MINUS</h4>
<ul>
<li>오라클에서 사용하는 차집합<h4 id="excep">EXCEP</h4>
</li>
<li>이외에서 사용하는 차집합</li>
</ul>
<p>+) 차집합은 순서 주의!!</p>
<h3 id="집합-연산자-주의사항">집합 연산자 주의사항</h3>
<ul>
<li><strong>컬럼 수, 순서, 데이터 타입</strong> 일치 필수</li>
<li>사이즈는 달라도 OK</li>
<li>개별 SELECT에 ORDER BY 불가 (정렬은 한번만 가능)</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[ SQLD 2-2-1 서브쿼리]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-2-1-%EC%84%9C%EB%B8%8C%EC%BF%BC%EB%A6%AC</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-2-1-%EC%84%9C%EB%B8%8C%EC%BF%BC%EB%A6%AC</guid>
            <pubDate>Wed, 21 Jan 2026 03:02:43 GMT</pubDate>
            <description><![CDATA[<h1 id="sql-활용">SQL 활용</h1>
<h2 id="서브쿼리">서브쿼리</h2>
<p>-SQL 안에 있는 SQL</p>
<h3 id="사용시-주의사항">사용시 주의사항</h3>
<ul>
<li>괄호로 감싸야 함</li>
<li>단일행, 복수행 비교 연산자 사용 가능</li>
<li>ORDER BY 사용 불가.</li>
</ul>
<p>-&gt; 특정 값 계산이나 테이블 같이, WHERE에서 조건 비교용으로 활용할 수 있다.</p>
<ul>
<li>인라인 뷰 같이 쓸 떄 조인할 테이블의 기본키가 2개 이상이면 WHERE에서 조인할 때 기본키에도 2개 모두 써야함<h3 id="위치">위치</h3>
</li>
<li>SELECT : GROUP BY 제외 모든 곳</li>
<li>INSERT : VALUES</li>
<li>UPDATE : SET</li>
</ul>
<h3 id="분류">분류</h3>
<h4 id="동작방식에-따른-분류">동작방식에 따른 분류</h4>
<ul>
<li><strong>연관 서브쿼리</strong> : 메인 쿼리의 칼럼을 가지는 서브쿼리</li>
<li><blockquote>
<p>메인 - 서브 순서로 실행되어 메인에서 읽은 것을 서브에서 조건 확인</p>
</blockquote>
</li>
<li><strong>비연관 서브쿼리</strong> : 메인 쿼리의 칼럼을 가지지 않는 서브 쿼리</li>
<li><blockquote>
<p>서브 실행 값을 메인에 제공용 (실행 순서는 그때그때 다름)</p>
</blockquote>
</li>
</ul>
<h4 id="반환값-형태에-따른-분류">반환값 형태에 따른 분류</h4>
<ul>
<li><p><strong>단일행 서브쿼리</strong></p>
<ul>
<li>단일행 비교 연산자와 같이 사용 (=, &lt;, &gt; 등)</li>
<li>다중행 비교 연산자도 사용 가능</li>
<li>실행 결과는 1건 이하</li>
</ul>
</li>
<li><p><strong>다중행 서브쿼리</strong></p>
<ul>
<li>다중행 비교연산자랑 같이 씀 (IN, ALL, ANY 등)</li>
<li>단일행 비교 연산자는 사용 불가</li>
<li>실행 결과가 여러건</li>
</ul>
</li>
<li><p><strong>다중 컬럼 서브쿼리</strong></p>
<ul>
<li>메인쿼리 조건과 비교하기 위해 사용
-&gt; 비교 컬럼 개수, 위치 같아야 함</li>
<li>여러 칼럼 반환</li>
</ul>
</li>
</ul>
<h4 id="위치에-따른-분류">위치에 따른 분류</h4>
<ul>
<li><p><strong>스칼라 서브쿼리</strong></p>
<ul>
<li>위치 : SELECT 절</li>
<li>반환 : 단일행, 단일 열</li>
<li><blockquote>
<p>결과를 열처럼 사용하기 위해 씀</p>
</blockquote>
</li>
</ul>
</li>
<li><p><strong>인라인 뷰</strong> (= 동적 뷰)</p>
<ul>
<li>위치 : FROM 절</li>
<li><blockquote>
<p>결과를 일회성 테이블처럼 사용하려고 씀</p>
</blockquote>
</li>
<li>) WHERE에서 조인 해야 하기 때문에 별칭 사용해야함.</li>
</ul>
</li>
<li><p><strong>중첩 서브쿼리</strong></p>
<ul>
<li>위치 : WHERE, HAVING (=조건절)</li>
<li>반환 : 여러가지 (단일, 다중, 다중컬럼, 연관/비연관)</li>
<li><blockquote>
<p>메인 쿼리 데이터 필터링, 비교용</p>
</blockquote>
</li>
</ul>
</li>
</ul>
<h3 id="having-절에서의-서브쿼리">HAVING 절에서의 서브쿼리</h3>
<ul>
<li>그룹핑 결과에 주건 걸기용</li>
</ul>
<h3 id="update의-set절에서의-서브-쿼리">UPDATE의 SET절에서의 서브 쿼리</h3>
<ul>
<li>서브쿼리가 null 반환하지 않나 확인 필수 (null 반환하면 그대로 들어감)</li>
</ul>
<h3 id="not-exists와-서브쿼리">NOT EXISTS와 서브쿼리</h3>
<ul>
<li>서브쿼리의 결과물 제거용</li>
<li><blockquote>
<p>메인 결과 - 서브 결과 (=차집합)</p>
</blockquote>
</li>
</ul>
<h3 id="exists와-서브-쿼리">EXISTS와 서브 쿼리</h3>
<ul>
<li>이쪽은 겹치는 것만 추출용</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-1-8 표준 Join]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-1-8-%ED%91%9C%EC%A4%80-Join</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-1-8-%ED%91%9C%EC%A4%80-Join</guid>
            <pubDate>Tue, 20 Jan 2026 06:21:13 GMT</pubDate>
            <description><![CDATA[<h2 id="표준-join">표준 JOIN</h2>
<h3 id="표준-join-1">표준 join</h3>
<ul>
<li>ANSI 표준으로 작성되는 조인</li>
<li>INNER / CROSS / NATURAL / OUTER</li>
</ul>
<h3 id="순수관계연산자">순수관계연산자</h3>
<ul>
<li>선택, 투영, 합집합, 차집합, 곱집합으로
관계를 입력받아 관계를 출력하는 관계대수의 기본 연산자</li>
</ul>
<table>
<thead>
<tr>
<th>연산자</th>
<th>기호</th>
<th>의미</th>
<th>SQL 대응</th>
</tr>
</thead>
<tbody><tr>
<td>선택</td>
<td>σ (Selection)</td>
<td>행 선택</td>
<td><code>WHERE</code></td>
</tr>
<tr>
<td>투영</td>
<td>π (Projection)</td>
<td>열 선택</td>
<td><code>SELECT</code></td>
</tr>
<tr>
<td>합집합</td>
<td>∪ (Union)</td>
<td>두 관계 결합</td>
<td><code>UNION</code></td>
</tr>
<tr>
<td>차집합</td>
<td>− (Difference)</td>
<td>한쪽만 남김</td>
<td><code>MINUS</code> / <code>EXCEPT</code></td>
</tr>
<tr>
<td>곱집합</td>
<td>× (Cartesian Product)</td>
<td>모든 조합</td>
<td><code>CROSS JOIN</code></td>
</tr>
<tr>
<td>+) DIVIDE는 이제 안 쓴다.</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody></table>
<h3 id="inner-조인">INNER 조인</h3>
<ul>
<li>내부 조인. 조건이 일치하는 교집합만 보여줌</li>
<li>오라클은 <code>=</code>, ANSI는 <code>USING</code>이나 <code>ON</code> 사용</li>
</ul>
<h3 id="on">ON</h3>
<ul>
<li>양쪽의 컬럼으로 조인</li>
<li>컬럼명 달라도 OK</li>
<li>컬럼명 같으면 테이블 명시</li>
</ul>
<h3 id="using">USING</h3>
<ul>
<li>컬럼명이 같은 컬럼끼리 조인</li>
<li>AS 사용 불가</li>
<li>SQL Server는 사용 불가<pre><code>SELECT NAME, 테이블1.나이, 테이블2.직급
FROM 테이블1
JOIN 테이블2
USING NAME</code></pre></li>
<li><blockquote>
<p>이름으로 조인</p>
</blockquote>
</li>
</ul>
<h3 id="natural-조인">NATURAL 조인</h3>
<ul>
<li>같은 이름,데이터형,도메인인 컬럼들로 EQUI JOIN</li>
<li>NATURAL 조인쓰면 USING,ON,WHERE에서 join 조건 정의 불가</li>
<li>SQL Server는 사용 불가</li>
<li>as와 테이블명 (접두사) 사용 불가</li>
</ul>
<h3 id="cross-조인">CROSS 조인</h3>
<ul>
<li>테이블간 JOIN 조건이 없을 때 가능한 모든 데이터의 조합</li>
<li><blockquote>
<p>테이블1이 3개의 행을 가지고 테이블2가 2개 가지면 총 6개가 나옴</p>
</blockquote>
</li>
</ul>
<h3 id="outer-조인">OUTER 조인</h3>
<ul>
<li><p>LEFT OUTER JOIN : 왼쪽 테이블 기준으로 오른쪽을 더함 </p>
<ul>
<li>일치 값 없으면 null로 됨</li>
</ul>
</li>
<li><p>RIGHT OUTER JOIN : 오른쪽 테이블 기준으로 왼쪽을 더함 </p>
<ul>
<li>일치 값 없으면 null로 됨</li>
</ul>
</li>
<li><p>FULL OUTER JOIN : 모든 데이터 결합</p>
<ul>
<li>일치 값 없으면 null로 됨</li>
<li>오라클에서는 UNION으로 구현 가능. (단, 중복은 1개만 반환됨)</li>
</ul>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-1-7 Join]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-1-7-Join</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-1-7-Join</guid>
            <pubDate>Tue, 20 Jan 2026 05:52:45 GMT</pubDate>
            <description><![CDATA[<h2 id="join">JOIN</h2>
<ul>
<li>여러 테이블 참조, 출력용</li>
<li>보통 PK, FK로 조인함</li>
<li>A,B,C 테이블 조인시 A,B 하고 그 결과를 C와 하는 방식으로 진행됨</li>
</ul>
<h3 id="종류">종류</h3>
<table>
<thead>
<tr>
<th>조인 종류</th>
<th>조인 조건</th>
<th>특징</th>
<th>ON / WHERE 필요</th>
<th>주 사용 목적</th>
</tr>
</thead>
<tbody><tr>
<td><strong>EQUI JOIN</strong></td>
<td><code>=</code></td>
<td>가장 일반적인 조인</td>
<td>필요</td>
<td>PK–FK 관계 연결</td>
</tr>
<tr>
<td><strong>NON EQUI JOIN</strong></td>
<td><code>= 제외</code> (<code>&lt;</code>, <code>&gt;</code>, <code>BETWEEN</code> 등)</td>
<td>범위 조건 조인</td>
<td>필요</td>
<td>구간·등급 매핑</td>
</tr>
<tr>
<td><strong>INNER JOIN</strong></td>
<td>조건 일치</td>
<td>조건 만족 행만 반환</td>
<td>필요</td>
<td>공통 데이터 조회</td>
</tr>
<tr>
<td><strong>OUTER JOIN</strong></td>
<td>조건 불일치 포함</td>
<td>NULL 포함 반환</td>
<td>필요</td>
<td>누락 데이터 포함</td>
</tr>
<tr>
<td><strong>NATURAL JOIN</strong></td>
<td>자동 일치</td>
<td>같은 이름 컬럼 자동 조인</td>
<td>불필요</td>
<td>빠른 간단 조인</td>
</tr>
<tr>
<td><strong>CROSS JOIN</strong></td>
<td>없음</td>
<td>데카르트 곱</td>
<td>불필요</td>
<td>경우의 수 생성</td>
</tr>
<tr>
<td><strong>SELF JOIN</strong></td>
<td>자기 자신</td>
<td>같은 테이블을 2번 사용</td>
<td>필요</td>
<td>계층·상하관계</td>
</tr>
</tbody></table>
<h3 id="equi-join">EQUI JOIN</h3>
<ul>
<li>테이블간 컬럼이 일치하는 경우 사용</li>
<li>오라클 버전<pre><code>SELECT * FROM 테이블1, 테이블2
WHERE 테이블1.컬럼 = 테이블2.컬럼</code></pre></li>
<li>ANSI/ISO SQL 버전<pre><code>SELECT * FROM 테이블1
INNER JOIN 테이블2
ON 테이블1.컬럼 = 테이블2.컬럼</code></pre></li>
</ul>
<h3 id="non-equi-join">NON EQUI JOIN</h3>
<ul>
<li>테이블 간 컬럼이 일치하지 않을 때 사용</li>
<li><blockquote>
<p>범위를 가지고 조회에 사용</p>
</blockquote>
<pre><code>SELECT 테이블1.이름, 테이블1.EXP, 테이블2.LEVEL 
FROM 테이블1, 테이블2
WHERE 테이블1.EXP BETWEEN 테이블2.최소EXP AN 테이블2.최대EXP</code></pre></li>
</ul>
<h3 id="3개-이상의-테이블-조인">3개 이상의 테이블 조인</h3>
<ul>
<li>조인을 여러개 써서 함 (예: 3개의 테이블이면 2번)</li>
</ul>
<h3 id="self-join">SELF JOIN</h3>
<ul>
<li>같은 테이블에서 조인</li>
<li>같은 컬럼이 2번 이상 나오니 AS로 구분하자</li>
<li>이때, 기본적으로 INNER가 되어 null은 안 나오니 원한다면 OUTER 쓰자</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-1-6 ORDER BY]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-1-6-ORDER-BY</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-1-6-ORDER-BY</guid>
            <pubDate>Tue, 20 Jan 2026 05:20:51 GMT</pubDate>
            <description><![CDATA[<h2 id="order-by">ORDER BY</h2>
<ul>
<li>데이터 정렬함</li>
<li><strong>ASC</strong> : 오름차순 (기본값)</li>
<li><strong>DESC</strong> : 내림차순<pre><code>SELECT * FROM t1 
ORDER BY age DESC</code></pre></li>
<li><blockquote>
<p>이렇게 하면 나이순으로 내림차순 된다.</p>
</blockquote>
</li>
</ul>
<h3 id="주의사항">주의사항</h3>
<ul>
<li>복수의 컬럼을 기준으로도 가능. (왼쪽에 있는 게 우선 순위 높아짐)</li>
<li>as 사용 가능</li>
<li>null의 경우 오라클에서는 최댓값, SQL Server에서는 최솟값 취급</li>
<li>SELECT 절에 있는 컬럼으로만 정렬 가능</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-1-5 GROUP BY와 HAVING]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-1-5-GROUP-BY%EC%99%80-HAVING</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-1-5-GROUP-BY%EC%99%80-HAVING</guid>
            <pubDate>Tue, 20 Jan 2026 05:16:31 GMT</pubDate>
            <description><![CDATA[<h2 id="group-by와-having">GROUP BY와 HAVING</h2>
<h3 id="group-by">GROUP BY</h3>
<ul>
<li>데이터를 묶어서 그룹의 통계 얻을 때 사용<pre><code>SELECT user_level, COUNT(*) 인원수
FROM USER
GROUP BY user_level</code></pre></li>
<li><blockquote>
<p>레벨 별로 사용자를 묶어서 각 레벨 별 인원수를 구한다.
이때, 그룹화되지 않은 컬럼은 사용 불가. 
(예: 저 상태에서 사용자별 코인 수 조회는 불가. 단, AVG 같이 집계함수를 사용하면 가능)</p>
</blockquote>
</li>
</ul>
<p>즉, GROUP BY로 묶고, 집계함수 쓰는것.</p>
<h3 id="having">HAVING</h3>
<ul>
<li>그룹화된 결과에 조건 적용<pre><code>SELECT user_level, COUNT(*) AS 인원수
FROM USER
GROUP BY user_level
HAVING COUNT(*) &gt;= 10;</code></pre></li>
<li><blockquote>
<p>레벨별 인원수가 10명 이상인 레벨만 조회</p>
</blockquote>
</li>
</ul>
<table>
<thead>
<tr>
<th>구분</th>
<th>GROUP BY</th>
<th>HAVING</th>
</tr>
</thead>
<tbody><tr>
<td>역할</td>
<td>행(row)을 <strong>그룹으로 묶음</strong></td>
<td>그룹화된 <strong>결과를 필터링</strong></td>
</tr>
<tr>
<td>적용 대상</td>
<td>개별 행</td>
<td>그룹 결과</td>
</tr>
<tr>
<td>실행 순서</td>
<td>WHERE 다음</td>
<td>GROUP BY 다음</td>
</tr>
<tr>
<td>사용 목적</td>
<td>집계 기준 생성</td>
<td>집계 결과 조건 지정</td>
</tr>
<tr>
<td>사용 가능한 컬럼</td>
<td>SELECT에 사용하는 <strong>비집계 컬럼</strong></td>
<td>GROUP BY 컬럼 또는 집계 함수</td>
</tr>
<tr>
<td>집계 함수 사용</td>
<td>가능</td>
<td>가능</td>
</tr>
<tr>
<td>그룹화 안 된 컬럼 사용</td>
<td>❌ 불가</td>
<td>❌ 불가</td>
</tr>
<tr>
<td>WHERE 사용 가능 여부</td>
<td>❌ (동시에 사용 불가)</td>
<td>❌ (동시에 사용 불가)</td>
</tr>
<tr>
<td>AS 사용 가능 여부</td>
<td>❌</td>
<td>❌</td>
</tr>
</tbody></table>
<h3 id="dual-테이블">DUAL 테이블</h3>
<ul>
<li>오라클에서 제공하는, 테이블이 필요 없는 상황에서 SELECT를 쓰기 위해 존재하는 더미 테이블</li>
<li><blockquote>
<p>이걸 FROM에 넣어서 단순 계산 가능! </p>
</blockquote>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-1-4 WHERE]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-1-4-WHERE</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-1-4-WHERE</guid>
            <pubDate>Mon, 19 Jan 2026 06:36:21 GMT</pubDate>
            <description><![CDATA[<h2 id="where">WHERE</h2>
<ul>
<li>조건에 맞는 데이터 필터링</li>
<li>null도 <code>IS NULL</code>과 <code>IS NOT NULL</code>로 조회 가능</li>
<li>집계 함수는 불가 (이건 HAVING에서 사용)</li>
</ul>
<h3 id="연산자">연산자</h3>
<table>
<thead>
<tr>
<th>우선순위</th>
<th>연산자</th>
<th>설명</th>
</tr>
</thead>
<tbody><tr>
<td>1</td>
<td><code>()</code></td>
<td>괄호</td>
</tr>
<tr>
<td>2</td>
<td><code>NOT</code></td>
<td>논리 부정</td>
</tr>
<tr>
<td>3</td>
<td><code>=</code> <code>!=</code> <code>&lt;&gt;</code> <code>&lt;</code> <code>&gt;</code> <code>&lt;=</code> <code>&gt;=</code></td>
<td>비교</td>
</tr>
<tr>
<td>4</td>
<td><code>AND</code></td>
<td>논리 곱</td>
</tr>
<tr>
<td>5</td>
<td><code>OR</code></td>
<td>논리 합</td>
</tr>
</tbody></table>
<h3 id="in">IN</h3>
<ul>
<li><code>IN</code> (요소1, 요소2,요소3...) : 리스트의 요소 중 일치 값이 있는지 확인</li>
<li>null은 무시</li>
<li><code>NOT IN</code>의 반대</li>
</ul>
<h3 id="between-a-and-b">BETWEEN A AND B</h3>
<p>-A와 B 사이 값들</p>
<h3 id="like">LIKE</h3>
<ul>
<li>패턴과 일치하면 됨</li>
<li>&#39;%가&#39; : ~가 로 끝나는 것</li>
<li>&#39;_가&#39; : 가로 끝나는 2글자</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[SQLD 2-1-3 함수]]></title>
            <link>https://velog.io/@k_heeyoung/SQLD-2-1-3-%ED%95%A8%EC%88%98</link>
            <guid>https://velog.io/@k_heeyoung/SQLD-2-1-3-%ED%95%A8%EC%88%98</guid>
            <pubDate>Mon, 19 Jan 2026 06:22:06 GMT</pubDate>
            <description><![CDATA[<h2 id="함수">함수</h2>
<h3 id="함수-1">함수</h3>
<ul>
<li>입력값 받아서 출력값 반환<h4 id="단일-행-함수">단일 행 함수</h4>
</li>
<li>입력: 출력 = 1:1</li>
<li>데이터 변환, 조작용 (SELECT, WHERE, ORDER BY등)</li>
<li>함수 중첩 가능</li>
</ul>
<h4 id="복수-행-함수">복수 행 함수</h4>
<ul>
<li>여러행으로 하나의 결과값 리턴</li>
<li>합계, 평균등 (SELECT, HAVING등)</li>
<li>GROUP BY랑 같이 쓰기도 함</li>
</ul>
<h4 id="함수-정리">함수 정리</h4>
<ul>
<li>🔢 숫자 함수</li>
</ul>
<table>
<thead>
<tr>
<th>함수</th>
<th>설명</th>
<th>Oracle</th>
<th>SQL Server</th>
</tr>
</thead>
<tbody><tr>
<td>ABS</td>
<td>절댓값 반환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>SIGN</td>
<td>값의 부호 반환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>CEIL / CEILING</td>
<td>올림 처리</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>FLOOR</td>
<td>내림 처리</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>MOD</td>
<td>나머지 계산</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>ROUND</td>
<td>반올림 처리</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>POWER</td>
<td>거듭제곱 계산</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>SQRT</td>
<td>제곱근 계산</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>TRUNC</td>
<td>소수점 이하 절삭</td>
<td>O</td>
<td>X</td>
</tr>
</tbody></table>
<hr>
<ul>
<li>🔤 문자열 함수 (기본)</li>
</ul>
<table>
<thead>
<tr>
<th>함수</th>
<th>설명</th>
<th>Oracle</th>
<th>SQL Server</th>
</tr>
</thead>
<tbody><tr>
<td>LOWER</td>
<td>소문자로 변환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>UPPER</td>
<td>대문자로 변환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>LENGTH / LEN</td>
<td>문자열 길이 반환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>SUBSTR / SUBSTRING</td>
<td>문자열 일부 추출</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>LTRIM</td>
<td>왼쪽 공백 제거</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>RTRIM</td>
<td>오른쪽 공백 제거</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>TRIM</td>
<td>양쪽 공백 제거</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>REPLACE</td>
<td>문자열 치환</td>
<td>O</td>
<td>O</td>
</tr>
</tbody></table>
<hr>
<ul>
<li>🔤 문자열 함수 (확장)</li>
</ul>
<table>
<thead>
<tr>
<th>함수</th>
<th>설명</th>
<th>Oracle</th>
<th>SQL Server</th>
</tr>
</thead>
<tbody><tr>
<td>CONCAT</td>
<td>문자열 연결</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>문자열 합성 연산</td>
<td>문자열 연결 연산자</td>
<td>ll (버티컬 바(Vertical Bar))</td>
<td>+</td>
</tr>
<tr>
<td>ASCII</td>
<td>문자 → ASCII 코드</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>CHR / CHAR</td>
<td>ASCII 코드 → 문자</td>
<td>O (<code>CHR</code>)</td>
<td>O (<code>CHAR</code>)</td>
</tr>
<tr>
<td>INSTR</td>
<td>문자열 위치 검색</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>PATINDEX</td>
<td>패턴 위치 검색</td>
<td>X</td>
<td>O</td>
</tr>
<tr>
<td>LPAD</td>
<td>왼쪽 문자 채우기</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>RPAD</td>
<td>오른쪽 문자 채우기</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>TRANSLATE</td>
<td>문자 단위 치환</td>
<td>O</td>
<td>X</td>
</tr>
</tbody></table>
<hr>
<ul>
<li>📅 날짜 함수</li>
</ul>
<table>
<thead>
<tr>
<th>함수</th>
<th>설명</th>
<th>Oracle</th>
<th>SQL Server</th>
</tr>
</thead>
<tbody><tr>
<td>SYSDATE / GETDATE</td>
<td>현재 날짜 및 시간</td>
<td>O (<code>SYSDATE</code>)</td>
<td>O (<code>GETDATE</code>)</td>
</tr>
<tr>
<td>CURRENT_DATE</td>
<td>현재 날짜</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>CURRENT_TIMESTAMP</td>
<td>현재 날짜 및 시간</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>EXTRACT</td>
<td>날짜 요소 추출</td>
<td>O</td>
<td>△ (제한적)</td>
</tr>
<tr>
<td>ADD_MONTHS</td>
<td>개월 수 더하기</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>MONTHS_BETWEEN</td>
<td>개월 수 차이</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>LAST_DAY</td>
<td>월의 마지막 날짜</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>NEXT_DAY</td>
<td>다음 요일 날짜</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>DATEADD</td>
<td>날짜 계산</td>
<td>X</td>
<td>O</td>
</tr>
<tr>
<td>DATEDIFF</td>
<td>날짜 차이 계산</td>
<td>X</td>
<td>O</td>
</tr>
<tr>
<td>EOMONTH</td>
<td>월의 마지막 날짜</td>
<td>X</td>
<td>O</td>
</tr>
</tbody></table>
<hr>
<ul>
<li>🔄 형 변환 함수</li>
</ul>
<table>
<thead>
<tr>
<th>함수</th>
<th>설명</th>
<th>Oracle</th>
<th>SQL Server</th>
</tr>
</thead>
<tbody><tr>
<td>TO_NUMBER</td>
<td>문자열 → 숫자</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>TO_CHAR</td>
<td>숫자/날짜 → 문자열</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>TO_DATE</td>
<td>문자열 → 날짜</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>CAST</td>
<td>명시적 타입 변환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>CONVERT</td>
<td>타입 변환</td>
<td>△</td>
<td>O</td>
</tr>
<tr>
<td>FORMAT</td>
<td>출력 형식 지정</td>
<td>X</td>
<td>O</td>
</tr>
</tbody></table>
<hr>
<ul>
<li>📊 집계 함수</li>
</ul>
<table>
<thead>
<tr>
<th>함수</th>
<th>설명</th>
<th>Oracle</th>
<th>SQL Server</th>
</tr>
</thead>
<tbody><tr>
<td>COUNT</td>
<td>행 개수 반환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>SUM</td>
<td>합계 계산</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>AVG</td>
<td>평균 계산</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>MIN</td>
<td>최소값 반환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>MAX</td>
<td>최대값 반환</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>STDDEV</td>
<td>표준편차</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>VARIANCE</td>
<td>분산</td>
<td>O</td>
<td>O</td>
</tr>
</tbody></table>
<hr>
<ul>
<li>🚫 NULL 처리 함수</li>
</ul>
<table>
<thead>
<tr>
<th>함수</th>
<th>설명</th>
<th>Oracle</th>
<th>SQL Server</th>
</tr>
</thead>
<tbody><tr>
<td>NVL</td>
<td>NULL 대체</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>NVL2</td>
<td>NULL 여부 분기</td>
<td>O</td>
<td>X</td>
</tr>
<tr>
<td>ISNULL</td>
<td>NULL 대체</td>
<td>X</td>
<td>O</td>
</tr>
<tr>
<td>NULLIF</td>
<td>값 같으면 NULL</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>COALESCE</td>
<td>NULL 아닌 첫 값</td>
<td>O</td>
<td>O</td>
</tr>
<tr>
<td>DECODE</td>
<td>값 비교 기반 분기</td>
<td>O</td>
<td>X</td>
</tr>
</tbody></table>
<h3 id="case">CASE</h3>
<ul>
<li>오라클의 DECODE()와 같음<pre><code>CASE 변수
  WHEN 값1 THEN 결과 1
  ...
  ELSE 기본 값
END</code></pre>아니면 when 변수 = 값1 해도 됨</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>