[TIL]데이터 분석 부트캠프(4기) 7일차

Data_Student·2024년 10월 14일
0

TIL

목록 보기
7/34

[TIL]데이터 분석 부트캠프(4기) 7일차

0. 들어가며

TIL 작성에 대해 새롭게 생각해보기!
오늘 무엇을 공부했고, 이해했는지 중심으로 작성하도록 노력하기!

1. 오전 일과

- 코드카타 진행

-- 오늘 코드카타 진행 중 가장 많은 시간을 할애한 문제!!
-- 식품분류별 가장 비싼 식품 정보 조회하기
select a.category, b.max_price, a.product_name
from food_product a
join
    (
    SELECT category, max(price) max_price #1.가장 비싼 식품 찾기
    from food_product
    group by 1
    ) b
on a.category=b.category and a.price=b.max_price #2.Price와 Max_price의 가격 일치
where a.category in ('과자','국','김치','식용유')
group by 1
order by 2 desc ;
-- 2번의 작업을 실시하지 않으면 Max_price로 추출된 값과 다른 Col의 값이 일치하지 않음
-- 5월 식품의 총매출 조회하기
select p.product_id, product_name, p.price*o.sum_amount total_sales
from food_product p 
join
    (
    SELECT product_id, sum(amount) sum_amount #1. 총 판매수량 조회
    from food_order
    where substr(produce_date,1,7) = '2022-05'
    group by product_id
    ) o
on p.product_id=o.product_id
order by 3 desc, 1 ;
-- 1번의 작업을 미실시 할 경우 판매수량이 맞지 않아 결과값이 일치하지 않음

- 3주차 온보딩 발제
프로그래밍 기초(3주차~6주차)

  • 데이터 리터러시(Data Literacy, 데이터 활용 능력)
    자료를 정보로 읽고, 이해하고, 생성하고, 전달하는 능력

  • 데이터 활용능력
    데이터 읽기 - 해석 - 분석 - 의사결정

    1. 문제 및 가설정의
     2. 결과 해석 및 액션 도출
    
    자신의 인사이트를 갖고 데이터를 분석하는지에 따라 같은 데이터이더라도 결과는 달라진다.
    도메인이나 직무에 대한 데이터를 수집하고 분석해보는 연습
                          +
    아티클 스터디, 관련 데이터 데이터 문해력 향상시키기!

  • 데이터 분석 파이썬 종합반(서정욱 튜터님 강의)
    • 파이썬
      간결하고 생산성 높은 오픈소스 프로그래밍 언어
      (간결함 + 생산성 + 오픈 소스)
      높은 연동성 & 방대한 라이브러리 + 인간다운 언어
      직관적이며 쉽게 입문이 가능한 언어
    • 데이터 분석을 하기 위한 프로그래밍 입문 수준의 코딩지식
      + 파이썬 라이브러리에 대한 활용 능력
      추후 강의 내용 및 프로젝트에서 활용하는 수준이 기본으로
      실무에서 필요에 의해 추가 활용 가능

- 조 편성

  • 3주차가 되면서 새로운 조원과 새롭게 시작!
    조장 선정 및 조이름 작성 등 일반적인 사항 정리 및 대화를 통한 친해지기 위한 노력!

2. 오후 일과

  • SQL 라이브 세션 - 6회차
    3회차, 5회차 숙제에 대한 해설 진행
    • 3회차는 팀 과제를 하기 전 실시했고, 5회차는 팀 과제 후 실시
    • 그 차이는 3회차 문제에 대해서 결과값은 같지만 일부 빠진 쿼리가 있었다
      대표적으로 'DISTINCT' 문제의 조건을 잘 읽고 이해하고 잊지말기!
  -- 3회차 문제 중 하나의 쿼리
  -- 확실히 쿼리가 예쁘지 않다!
select serverno, if(first_login_date<'2024-01-01' , '기존유저','신규유저') as gb, 
       count(distinct game_actor_id) actor_cnt, avg(level) avg_level
from basic.users
group by 1, 2
order by 1
  • 5회차는 'JOIN'을 사용할 때에도 인라인뷰를 통해 튜터님이 원하는 방향으로 작성
-- 5회차 마지막 문제의 쿼리
select serverno, round(avg(diffdate)) avgdiffdate
from 
	(
	select u.game_account_id, serverno, first_login_date, date2, datediff(date2,first_login_date) diffdate
	from 
		(
		select game_account_id, first_login_date, serverno
		from basic.users
		) u
	inner join
		(
		select game_account_id, max(date_format(approved_at, '%Y-%m-%d')) as date2
		from basic.payment
		group by 1
		) p
	on u.game_account_id=p.game_account_id and p.date2 > u.first_login_date
	) a 
where diffdate >= 10
group by 1
order by 1 desc ;
-- 확실히 많이 작성하다보면 정리하면서 쿼리문을 작성할 수 있을 것 같다!!
  • ADsP 자격증 공부 1강 완료
    맨 아래에 따로 정리한 내용 포함!

  • 파이썬 기초 문법 뽀개기 강의 시청

    • 조건문까지 강의 시청
    • 기초부터 차근히 잡고 내일 기초 문법 뽀개기 강의 완강 예정!

3. 마치며

이제는 내용 정리를 중심으로 작성할 예정
곧 예비군으로 3일정도 출석이 제한될 예정이기 때문에
그 사이에 필요한 강의를 미리 듣고 뒤처지지 않기 위해서 이번 주말시간을 활용해서 공부할 예정!
특히, ADsP 자격증 시험이 약 20일 남은 만큼 매일 1강 이상 공부하고 복습한다는 마음으로 하기!


  • ADsP 1강 내용 정리
  1. 데이터와 정보

  2. 데이터의 정의
    1) 데이터의 정의
    (1) 데이터의 정의
    ㄱ. 데이터 : 연구나 조사의 바탕이 되는 자료 또는 재료
    컴퓨터의 발전으로 그 의미가 기술적이고 사실적인 '자료'로 변화
    (2) 데이터의 특성
    ㄱ. 데이터는 있는 그대로의 사실, 객관적 사실을 의미
    예) 수학 80점, 영어 100점
    ㄴ. 정보는 데이터로부터 가공된 자료를 의미
    예) 수학과 영어 점수의 평균은 90점
    ㄷ. 데이터의 존재적 특성 - 있는 그대로의 객관적 사실
    ㄹ. 데이터의 당위적 특성 - 추론·예측·전망·추정을 위한 근거
    2) 데이터의 유형
    (1) 정성적 데이터와 정략적 데이터
    ㄱ. 정성적 데이터 : 기준이 명확하지 않은 데이터
    예) 언어, 문자 등
    ㄴ. 정략적 데이터 : 기준이 명확한 데이터
    예) 수치, 도형, 기호 등
    (2) 정형 데이터와 비정형 데이터, 그리고 반정형 데이터
    ㄱ. 정형 데이터 : 고정된 틀이 있고, 연산이 가능한 데이터
    ㄴ. 비정형 데이터 : 고정된 틀이 없고, 연산이 불가한 데이터
    ㄷ. 반정형 데이터 : 고정된 틀이 있고, 연산이 불가한 데이터
    데이터 가공을 거쳐 정형 데이터로 변환 가능
    (3) 암묵지와 형식지
    ㄱ. 암묵지(Tacit Knowledge) : 학습과 체험을 통해 개인에게 습들되어 있지만
    겉으로 들어나지 않은 상태의 지식
    ㄴ. 형식지(Explicit Knowledge : 문서나 매뉴얼처럼 외부로 표출돼 여러 사람이 공유할 수 있는 지식
    ㄷ. 암묵지와 형식지 상호작용
    암묵지 형식지
    공통화 표출화
    내면화 연결화

    2) DIKW 피라미드
    (1) 데이터에서 지혜를 얻는 과정
    ㄱ. 데이터(Data) : 객관적 사실
    ㄴ. 정보(Information) : 데이터의 가공, 처리와 데이터 간 연관 관계 속에서 의미가 도출된 것
    ㄷ. 지식(Knowledge) : 유의미한 정보를 분류하고 개인적인 경험을 결합해 고유의 지식으로 내재화된 것
    ㄹ. 지혜(Wisdom) : 지식의 축적과 아이디어가 결합된 창의적 산물( + 예측)
    (2) 데이터의 관한 상식
    ㄱ. 비트와 바이트
    비트 - 신호를 나타내는 최소단위
    바이트 - 8비트, 데이터의 양을 나타내는 단위

  3. 데이터베이스

  4. 데이터베이스 개요
    1)데이터베이스 정의(참고해서 읽어볼 것)
    (1) 데이터베이스 용어의 연혁
    (2) 데이터베이스의 다양한 정의

  • DB vs DBMS
    DB : 데이터를 저장하고 정리한 정보의 집합체
    DBMS : 데이터베이스를 구축, 유지할 수 있게 하는 관리 소프트웨어(프로그램)
    2) 데이터베이스의 특징
    (1) 데이터베이스의 일반적인 특징
    ㄱ. 통합된 데이터 : 동일한 내용의 데이터가 중복되지 않게 통합
    ㄴ. 저장된 데이터 : 컴퓨터가 접근할 수 있는 저장 매체에 저장
    ㄷ. 공용 데이터 : 여러 사용자가 서로 다른 목적으로 이용, 대용량화디고 구조가 복잡
    ㄹ. 변화하는 데이터 : 삽입, 수정, 삭제를 통해 항상 최신의 정확한 데이터 상태를 유지
    (2) 데이터베이스의 다양한 측면에서의 특성
    ㄱ. 정보의 축적 및 전달 측면(기계) : 기계 가독성, 검색 가능성, 원격 조작성
    ㄴ. 정보이용 측면(사용자) : 이용자의 정보유구에 따라 정보를 획득
    ㄷ. 정보관리 측면(관리) : 일정한 질서와 구조에 따라 정보를 체계적으로 축적
    ㄹ. 정보기술발전 측면 : 데이터베이스 활용을 위한 정보 전송을 위한 네트워크 기술 등의 발전 기여
    ㅁ. 경제, 산업적 측면 : 경제, 산업, 사회 활동의 효율성을 제고하고 편의 증진하는 수단
  1. 데이터베이스 활용
    1) 데이터베이스 활용
    (1) 기업 내부의 데이터베이스
    ㄱ. 1990년대 정보통신망 구축 가속화 → ERP로 확대
    ㄴ. OLTP(Online Transaction Processing) 시스템 : 1990년대 중반 데이터 갱신 위주
    ㄷ. OLAP(Online Analytical Processing) 시스템 : 데이터 분석이 중심
    ㄹ. CRM과 SCM :
    고객관계관리(Customer Relationship Management), 공급망관리(Supply Chain Management)
    (2) 산업 부문별 데이터베이스 발전 과정(참고하기)
    ㄱ. 제조 부문
    ㄴ. 금융 부문
    ㄷ. 유통 부문 : RFID(전자태그), 유비쿼터스 등
    (3) 사회기반구조로서의 데이터베이스(참고하기)
    ㄱ. 물류 부문
    ㄴ. 지리 부문
    ㄷ. 교통 부문
    ㄹ. 의료 부문
    ㅁ. 교육 부문
    2) 데이터베이스 종류
    (1) 데이터베이스의 종류
    ㄱ. 관계형데이터베이스(RDB) : 정형 데이터를 다루는데 특화
    ㄴ. NoSQL : Not only SQL 기존 RDB의 SQL을 보완 및 개선한 비관계형 DB라는 의미
    (2) SQL의 이해
    ㄱ. DDL : 데이터 정의 언어(CREATE, ALTER, RENAME, DROP)
    ㄴ. DML : 데이터 조작 언어(SELECT, INSERT, UPDATE, DELETE)
    ㄷ. DCL : 데이터 제어 언어(GRANT, REVOKE)
    ㄹ. TCL : 트랜잭션 제어 언어(COMMIT, SAVEPOINT, ROLLBACK)

0개의 댓글