7개월 간의 여정, 코드잇 데이터분석 부트캠프 4기 후기
·
카테고리 없음
선선한 가을에 시작해 푸르른 5월까지,치열하게 몰입하며 달려온 7개월간의 부트캠프 후기를 남겨봅니다. 부트캠프가 끝나고 제가 얻게 된 것은 3개의 자격증, 오랫동안 집중할 수 있는 몰입력, 그리고 띵띵 부은 종아리였습니다. 😊컴퓨터와는 거리가 멀고 실험 위주의 수업을 듣던 자연과학대생이,이제는 데이터를 다루고 데이터의 구조를 이용해 인사이트를 뽑아낼 수 있게 된 이유는코드잇에서 열정 넘치는 사람들을 만났기 때문이라고 생각합니다.그 에너지를 받으며 저 역시 7개월을 정말 열정적으로 보낼 수 있었습니다.찐 비전공자, 초반 3개월의 고비컴퓨터 관련 자격증이라곤 컴퓨터활용능력 2급이 전부였던 찐 비전공자였던 저는,늦은 만큼 열심히 따라가야한다는 마음으로 평일과 주말을 가리지 않고 매일매일 공부를 했습니다.프로..
[solvesql]Advent of SQL 2025 9일차
·
코딩 테스트/02. SQL
01. 작성쿼리WITH vball_kor AS (SELECT g.year AS year, re.game_id AS game_id, re.athlete_id AS athlete_id, a.name AS name FROM records AS re JOIN events AS e ON re.event_id = e.id JOIN teams AS t ON re.team_id = t.id JOIN athletes AS a ON re.athlete_id = a.id JOIN games AS g on re.game_id = g.idWHERE e.event = 'Volleyball Women''s Volleyball' AND team = 'KOR')SELECT DISTINCT past.athlete_..
(solvesql)Advent of SQL 2025 8일차
·
코딩 테스트/02. SQL
01. 작성 쿼리SELECT *FROM winesWHERE color = 'white' AND quality >= 7 AND density > (SELECT AVG(density) FROM wines) AND residual_sugar > (SELECT AVG(residual_sugar) FROM wines) AND pH (SELECT AVG(citric_acid) FROM wines WHERE color = 'white' ) 02. 쿼리 결과 03. 다른 풀이 방법지금 풀이는 같은 테이블을 여러 번 스캔해야하기 때문에 데이터가클 경우 성능이 저하될 가능성이 높고,유지보수 시 평균 조건 수정이 번거롭습니다그래서 CTE를 이용해서 조건이 잘 보이고, 수정도 쉽게 작성하면 아래와 같습니다.WI..
(solvesql)Advent of SQL 2025 7일차
·
코딩 테스트/02. SQL
01. 작성쿼리SELECT t.measured_at AS date_alertFROM measurements AS y JOIN measurements AS m ON m.measured_at = y.measured_at + INTERVAL 1 DAY JOIN measurements AS t ON t.measured_at = m.measured_at + INTERVAL 1 DAY WHERE m.pm10 > y.pm10 AND t.pm10 > m.pm10 AND t.pm10 >= 30ORDER BY t.measured_at;02. 쿼리 결과03. 풀이 포인트point 1 ) 두 번의 셀프 조인 셀프 조인을 해서 어제와 오늘을 비교하는 문제를 많이 보셨을겁니다해당 문제도 어제와 오..
(solvesql) Advent of SQL 2025 6일차
·
코딩 테스트/02. SQL
solvesql 문제는 해당 사이트에 접속하시면 확인해보실 수 있습니다.https://solvesql.com https://solvesql.com solvesql.com01. 작성 쿼리SELECT r.customer_idFROM rental AS r JOIN customer AS c ON r.customer_id= c.customer_idWHERE c.active = 1GROUP BY r.customer_idHAVING COUNT(r.rental_id) >= 3502. 쿼리 결과이런 식으로 아래 쭉 결과가 나타납니다 03. 풀이 포인트이번 문제는 5일차에 풀었던 문제와 같은 패턴을 쓰는 문제였습니다조건을 먼저 걸고 (WHERE / JOIN)특정 기준으로 묶고 (GROUP BY)그 묶음 중..
(solvesql) Advent of SQL 2025 5일차
·
코딩 테스트/02. SQL
solvesql 사이트 문제는 사이트에 들어가서 확인해보실 수 있습니다.https://solvesql.com https://solvesql.com solvesql.com 01. 작성 쿼리SELECT stamp, count(*) AS count_billFROM (SELECT CASE WHEN total_bill >= 25 THEN 2 WHEN total_bill >= 15 THEN 1 ELSE 0 END AS stamp FROM tips ) AS tGROUP BY stampORDER BY stamp;02. 쿼리 결과03. 풀이 포인트 ① FROM 절의 서브쿼리에서 CASE WHEN으로 “스탬프 개수(stamp)” 컬럼 생성영수증 한 행마다 total_bi..
[데이터베이스 모델링] 정규화(2NF,3NF)
·
데이터 분석/06. 데이터 모델링
1. 2NF (제 2 정규형)앞서 제 1 정규화를 할 때 언급했었지만 테이블이 2NF에 부합하기 위해서는 우선 1NF에 부합해야합니다. 제 1 정규화는 테이블 안 모든 값이 나누 수 없는 단일 값이어야 한다는 것이었죠? 제 2 정규화는 테이블에 Candidate key의 일부분에 대해서만 함수 종속성이 있는 non-primary attribute가 없어야한다는 것입니다. 구체적인 예시를 통해서 완벽하게 이해해봅시다 다음 테이블은 제 2정규형을 지키고 있지 않은 테이블입니다iduser_idproduct_idagepricescorecomment1110125120005"좋아요"2110225150004"무난해요"3210131120003"별로예요"4210331180005"최고!" 이 테이블에서 candidate..
[데이터베이스 모델링] Candidate Key
·
데이터 분석/06. 데이터 모델링
1. Candidate Key (후보키): 하나의 로우를 특정 지을 수 있는 attribute들의 최소 집합 아래에는 review 테이블이 있습니다iduser_idproduct_idscoredescription1aa1434동생 선물로 줬는데..2ab2255홈페이지 사진과 차이가..3aa5333좋습니다! 다음에도..4ac2155지금 입기에 딱 입니다..user_id와 product_id를 알고 있으면 하나의 review 행을 특정 지을 수 있습니다이때 user_id와 product_id 이 두개의 집합이 이 테이블의 candidate key가 되는 것이죠그럼 id도 review 행을 특정 지을 수 있기 때문에 이 또한 candidate key라고 할 수 있죠 이렇게 한 테이블에는 여러개의 candidat..
[데이터베이스 모델링] 함수 종속성과 이행성
·
데이터 분석/06. 데이터 모델링
1. 함수 종속성이란?: 테이블 안 attribute들 사이에서 생기는 관계입니다이런 user 테이블이 있다고 합시다emailnameagegenderchaewon.kim@...김채원19fsoojee.lee@...이수지15fyoo.hm93@...유하민25mchae.bg00@...채봉구28m 유저의 이메일을 알고 있으면 name,age,gender 값이 결정 된다고 볼 수 있습니다이런 관계가 성립될 때 user 테이블에서 name, age, gender는 email에 함수 종속성이 있다고 할 수 있죠반면 name, age, gender의 값을 안다 하더라도 나머지 값이 결정되지 않습니다 아래 테이블은 review에 대한 테이블입니다여기서는 size와price가 product에 대한 함수 종속성이 있습니다..
[데이터베이스 모델링] 정규화
·
데이터 분석/06. 데이터 모델링
정규화를 본격적으로 알기 전 이상 현상에 대해 알고갑시다.좋은 관계형데이터베이스를 설계하는 목적 중 하나가 이상 현상이 생기지 않게 설계하는 것인데요 그렇다면 이상현상이란 뭘까요? 💡 이상 현상(anomaly): 데이터베이스에서 삽입, 업데이트, 삭제를 제대로 할 수 없게 되는 경우 1) 삽입 이상 : 자료를 삽입할 때 의도하지 않은 자료까지 삽입해야만 자료를 테이블에 추가할 수 있는 경우 2) 업데이트 이상: 중복된 데이터가 여러 곳에 저장되어 있는데, 그 중 일부만 수정되면 서로 다른 값이 되어 데이터 모순이 발생하는 현상. 3) 삭제 이상: 어떤 정보를 삭제하면, 의도하지않은 다른 정보까지 삭제되어버리는 현상 이런 현상을 예방하기 위해서는 데이터 정규화를 해야합니다 💡 정규화(Normaliz..