데이터분석 15

[데이터분석 - SQL ] #3-3. 집합 연산자 / 그룹함수 / 윈도우 함수

1. 집합 연산자 연관된 데이터를 조회하는 방법중 하나로 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식 집합 연산자 사용 상황 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합침 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합침 튜닝 관점에서 실행계획을 분리하고자 하는 목적 사용 제약 조건 (필수) SELECT 절 컬럼수가 동일 (옵션) SELECT 절 동일 위치 컬럼의 데이터 타입이 상호 호환 가능할 것 집합 연산자 종류 UNION 합집합, 중복된 행 하나로 표시 (중복 제거) UNION ALL 합집합, 중복된 행 그대로 표시 INTERSECT 교집합, 중복된 행 하나로 표시 (중복 제거) MUNUS / EXCEPT 차집합, 쿼리1의 결과에서 쿼리2 결과를 제거하..

[데이터분석 - SQL ] #3-2. SUBQUERY / VIEW

1. 서브쿼리 (SUBQUERY) 하나의 쿼리 안에 존재하는 또 다른 쿼리 : 엄마- 메인커리 / 아기-서브쿼리 서브쿼리 사용시 주의사항 서브쿼리를 괄호로 감싸서 사용 () 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용이 가능하다 서브쿼리에서는 ORDER BY를 사용하지 못한다. 서브 쿼리가 SQL문에서 사용이 가능한 곳 SELECT 절 FROM 절 WHERE 절 HAVING 절 ORDER BY 절 INSERT 문의 VALUE 절 UPDATE 문의 SET 절 SELECT 절 스칼라 서브쿼리 컬럼이 올 수 있는 대부분 위치에 사용 컬럼 대신 사용하므로 반드시 하나의 값만을 반환 (한 행, 한 칼럼) FROM 절 인라인 뷰 테이블명이 올 수 있는 위치에 사용 실행 결과가 여러 건인 서브쿼리, 다..

[데이터분석 - SQL ] #2-2. WHERE / GROUP BY / HAVING / ORDER BY절

1. WHERE 절 원하는 데이터만 골라 수행할 수 있도록 해주는 구문 (1) 비교 연산자 연산자 의미 = 같음 = 크거나 같음 (2) 부정 비교 연산자 연산자 의미 != 같지 않음 ^= not 컬럼명 = not 컬럼명 > 크지 않음 (3) SQL 연산자 연산자 의미 BETWEEN A AND B A와 B의 사이(A,B 포함) LIKE '비교문자열' 비교문자열을 포함 IN (LIST) LIST 중 하나와 일치 IS NULL NULL 값 (4) 부정 SQL 연산자 연산자 의미 NOT BETWEEN A AND B A와 B의 사이가 아님(A,B 미포함) NOT IN (LIST) LIST 중 일치하는 것이 없음 IS NOT NULL NULL 값이 아님 (5) 논리 연산자 연산자 의미 AND 모든 조건이 TRUE ..

[데이터분석 - SQL ] #2-1. SQL 기본

1. 관계형 데이터 베이스 1) 데이터베이스 : 데이터를 저장하는 공간 2) 관계형 데이터베이스 : 모든 데이터를 2차원 테이블 형태로 표현한 뒤 각 테이블 간의 관계를 정의하는 것 3) TABLE : 데이터베이스의 형태 컬럼 직업 취미 로우 학생 게임 로우 약사 영화감상 컬럼 : 세로열 = 항목 = 인스턴스 로우 : 가로열 = 각각의 데이터 속성 4) SQL (Structured Query Language) : 관계형 데이터베이스에서 데이터를 다루기 위해 사용하는 언어 2. SELECT문 1) SELECT : 저장되어 있는 데이터를 조회할 떄 사용하는 명령어 2) Alias : 테이블이나 컬럼명에 붙이는 별도의 별칭으로 테이블명을 줄이기 위해 사용 eX) SELECT BAND.BAND_NAME > SE..

[데이터분석 - SQL ] #1-2. 성능 데이터 모델링

성능 데이터 모델링 : 데이터 베이스의 성능을 향상시키기 위해 설계단계부터 성능과 관련된 사항들이 모델링에 반영될 수 있도록 하는 것 순서 정규화 수행 용량 및 트랜잭션 유형 파악 성능을 고려한 반정규화 실행 PK/FK 조정 등 인덱스 반영으로 성능 향상 성능 검증 1. 정규화 데이터 정합성을 위해 엔터티를 작은 단위로 분리하는 과정 데이터에 대한 중복성을 제거한다. 정규화를 할 수록 엔터티는 증가한다 데이터 입력, 수정, 삭제 성능이 향상된다. 엔터티 증가로 JOIN으로 인한 조회 성능저하가 발생할 수 있다. 제 1 정규형: 모든 속성은 하나의 값만 가져야 한다. - 유사 속성은 분리한다. 제 2 정규형 : 엔터티의 모든 일반 속성은 반드시 주식별자에 종속되어야 한다. - 부분 종속이 없도록 분리한다(..

[데이터분석 - SQL ] #1-1. 데이터 모델링의 이해

1. 모델링 (Modeling) - 현실 세계를 반영한다. - 단순화하여 표현한다. - 관리하고자 하는 데이터를 모델로 설계한다. 특징 추상화 : 현실 세계를 일정한 형식으로 표현 단순화 : 정해진 표기법으로 단순하고 쉽게 표현 명확화 : 불분명함을 제거하고 명확하게 해석할 수 있도록 기술 데이터베이스의 모델링 : 현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현하는 기법 모델링의 세가지 관점 데이터 관점 : 데이터 위주, 어떤 데이터들이 업무와 얽혀있고 그 데이터 간의 관계에 대한 모델링 프로세스 관점 : 프로세스 위주, 실제로 처리하고 있는 일이 무엇인지 앞으로 처리해야 하는 일이 무엇인지 모델링 데이터와 프로세스의 상관 관점 : 관계 위주, 프로세스의 흐름에 따라 데이터가 어..

[데이터분석 - SQL ] #0. 환경 설정 (ORACLE 환경세팅)

한번에 많은 데이터 분석툴을 배우자니 블로그 기록 정리가 늦어지고 있다.. 그 와중에 배운 내용을 까먹지 않고 결과를 남기고 싶어서 SQLD 자격 시험도 신청해버렸다 ㅎㅎ(파워 P) 일단 저질러 버렸지만 열심히 해서 꼭 자격 취득 해보려고 한다-! 학원에서는 SQL 프로그램으로 MySQL을 사용했지만, 검정 준비로 ORACLE 환경 세팅도 경험하게 되었다. SQL을 시작하는 사람들에게 필요한 환경세팅 방법을 기록해보자. Step. 1 - Oracle 설치 파일 다운로드 *OS에 따라 상이 https://www.oracle.com/database/technologies/oracle-database-software-downloads.html Database Software Downloads | Oracle ..

[데이터분석 - Python] #2. 자료 구조 (1) 리스트(list)

파이썬에서 사용하는 데이터에는 자료 구조가 있다. 자료 구조란 데이터의 집합(데이터가 들어가는 바구니)를 의미하며 크게 4가지가 있다. list (리스트) tuple (튜플) dict (딕셔너리) set (셋) 그 중 가장 흔히 사용하는 리스트에 대해 먼저 알아보자. 1. 리스트 (list) 파이썬에서 가장 흔히 사용하는 데이터 자료 구조 순서가 존재하며 요소들은 쉼표(,)로 구분 대괄호 [ ] 로 묶어 사용 변수는 하나의 형식 데이터를 저장할 수 있는데, 리스트 형식을 사용하면 하나의 변수에 여러가지 데이터 자료를 저장할 수 있다. 리스트 생성 및 출력 # wallet이라는 변수 안에 'coin', 'card', 'id', 'cash']라는 4개의 문자형 데이터를 저장해보자 wallet = ['coin..

[데이터분석 - Python] #0. 파이썬 활용하기 (feat. 주피터 노트북)

파이썬이란? 프로그래밍 언어의 일종으로 영어와 비슷한 문법과 비교적 쉬운 작성으로 초보자들이 처음 프로그래밍을 배울 때 추천되는 언어를 말한다. 프로그래밍 언어이기 때문에 코딩 가독성을 위해 권장하는 스타일과 문법이 있다. 공식 문서(PEP 8)를 한번 숙지하면 파이썬 작성에 도움이 될 것이다. 파이썬 편집 프로그램 주피터 노트북 : 데이터 분석가가 가장 많이 사용하는 편집 프로그램으로 코드 작성/실행과 리포트 작성까지 활용 가능하다. Colab : Google Colaboratory - 클라우드 환경에서 사용할 수 있는 프로그램으로 프로그램 접근성이 좋다. 나는 주로 주피터 노트북을 활용하여 파이썬 학습을 진행했다. 주피터 노트북 특징 1) 셀 단위 실행 2) 결과값도 셀 단위 실행 결과를 바로 확인 ..