database

DI(Digital Innovation)/DataBase & SQL 뽀개기

국나뇽이 말아주는 엔티티관계도(ERD)

열어분 제가 지난번에 모라그랬죠? DB를 설계할때 정규화로 테이블을 쪼개면 좋다고했죠 하지만 테이블을 그런식으로 100개를 쪼개놓는다면? 나중에 테이블 하나를 보고 있을때 이게 먼 테이블인가 판단하기 어질어질합니다. 그래서 테이블들의 관계를 도식화해서 그려놓기도 하는데요. 이것을 안티티티티 프레자일이 아니라 엔티티 관계도(ERD : Entity Relationship Diagram)이라고 합니다. ⬆️ 요로콤 생겼습니다. 새로운 기능을 추가하기위해 DB 설계를 위해 ERD부터 그리라고 요구하는 사람이 있기도하고, join 연산 같은거 할때 테이블간의 관계를 파악할때 ERD로 찾기도 합니다. 저희는 ERD를 직접 사용해보는 법을 알아보겠습니다. ERD 는 직접 종이에 그려도 되고요 무료로 온라인에서 ERD..

DI(Digital Innovation)/DataBase & SQL 뽀개기

DB 1, 2 정규형

차 번호만 알면 내 전여친의 현남친의 포르쉐가 중고인지 신차인지 알 수 있는 것처럼, 정규형을 알면 DB 설계가 가능하다.(1NF, 2NF) 사람들은 보통 쿼리를 짤 때 JOIN 문법을 매우매우매우 어려워합니다. 이걸 왜하는지, 왜 테이블을 애초에 여러개로 나눠놓는거지? 이해도 안가고 세상아 덤벼라 반발심도 생길텐데요. 오늘 배우는 정규화/정규형을 배우면 매우매우 쉬워집니다. 배워두면 손해볼 것 없는 장사이니 잘 알아보도록 합시다. 제 1 정규형(1st normal form) 여러분은 지금부터 종합 운동센터 전산시스템을 만드는 개발자입니다. 일단 센터에 등록한 사람들을 테이블을 정리하고 싶습니다. 후딱 만들어보겠습니다. [센터등록회원현황] 회원번호 이름 신청프로그램 10001 국성우 수영 10002 김태..

DI(Digital Innovation)/DataBase & SQL 뽀개기

SQL (IF/CASE) 장인을 꿈꾼다

중요한 IF / CASE 문법 자주쓰는 IF 함수 쿼리를 다루다뷰면 문자나 숫자 같은 데이터 넣는 곳이 많습니다. 근데 그 곳에 한가지 고정이 아니라 조건에 따라 각각 값을 넣고 싶을때 if/case문을 사용합면 됩니다. IF(조건식, 조건식맞으면이거, 조건식틀리면이거); IF() 안에 차례로 이것들을 넣으면 됩니다. 조건식은 WHERE 뒤에 쓰던거 그대로 사용하시면 됩니다. SELECT IF(1+2=3, '정답', '오답'); 이렇게 쿼리를 날리면 어떻게 될까요? 조건식이 참이니 ‘정답’이라는 문자가 그 자리에 남습니다. IF()는 문자, 숫자 등의 데이터가 들어가는 곳에 전부 넣을 수 있기 때문에 이렇게 사용할 수 있습니다. 예를들어 card 테이블에서 사용금액이 20만원이 넘는 경우 ‘부자’ 그게 ..

DI(Digital Innovation)/DataBase & SQL 뽀개기

GROUP BY 뽀개기

이런 🐴 이 있습니다. “데이터는 거짓말을 하지 않는다.” 이 데이터 속에 숨겨진 의미를 찾고 싶다면 전체를 통계내는 것보다는 그룹으로 묶고 그 특정 그룹에 안에서 통계를 내는 것이 훨 ~ 씬 더 쉽습니다. 특정 그룹을 뽑고 싶다면 WHERE을 쓰면 되지만, 그룹이 뽑을게 많다? 그렇다면 GROUP BY를 쓰면 됩니다. GROUP BY SELECT 시군구명 FROM 강원도_관광숙박업_현황 GROUP BY 시군구명; select from 뒤에 group by 컬럼명을 붙일 수 있는데, 일케하면 그 컬럼에 있는 카테고리끼리 그룹지어 보여줍니다. ㄹㅇ이네;;; 근데 그룹만 지으면 아무 쓰잘데기 없습니다. GROUP BY 는 전에 했던 MIN, MAX, COUNT, SUM, AVG 함수와 같이 사용하는 경우가 ..

DI(Digital Innovation)/DataBase & SQL 뽀개기

WHERE 완벽정리

AND / OR / NOT으로 조건식 나혼자만 레벨업 저희가 하나만 조건 걸어서 데이터 출력하는 것으로 머무르지 않을거잖아요? 가끔은 여러 조건, 요구에 맞춰서 데이터를 출력해야하는 상황이 옵니다. 예를들어서 시군구명은 ‘강릉시’이고 총층수는 ‘6’층이며 건물용도명은 ‘호텔’ 인 데이터를 뽑고싶습니다. 그렇다면 조건식이 2개 이상 필요한 경우 조건식 2개를 AND, OR, NOT을 붙여서 연결해줄 수 있는데요. SELECT * FROM 강원도_관광숙박업_현황 WHERE 시군구명 = '강릉시' AND 총층수 = 6 AND 건물용도 = '호텔'; AND는 모든 조건이 전부 맞으면 ~ 이라는 뜻입니다. 그래서 위코드를 실행하면 강릉시이고 호텔 용도로 6층인 것을 출력해줍니다. SELECT * FROM 강원도_..

Data Engineering/실리콘밸리에서 날아온 데이터 엔지니어링 스타터 키트

[5주차] Airflow Deepdive 2 - API를 사용해서 DAG 만들어보기

Open Weathermap DAG 구현하기, API를 사용해서 DAG를 만들어보자 Open Weathermap API 소개 ● 위도/경도를 기반으로 그 지역의 기후 정보를 알려주는 서비스 ● 무료 계정으로 api key를 받아서 이를 호출시에 사용 ○ https://openweathermap.org/price Pricing - OpenWeatherMap Get weather data for any location on the globe immediately with our superb API! Just subscribe with your email and start using minute forecasts, hourly forecasts, history and other weather data in y..

달려라 국나뇽
'database' 태그의 글 목록