개발로 자기계발
728x90
SMALL
고급 SQL 다루기
Database & Data/기초지식 2023. 5. 12. 22:42

UNION(합집합 - 중복제거)두 SELECT문의 결과를 결합하고 중복된 결과는 제거된다.SELECT column_name(s) FROM table1UNIONSELECT column_name(s) FROM table2; UNION ALL(합집합 - 중복제거X)UNION과 같지만 중복된 결과를 제거하지 않는다.SELECT column_name(s) FROM table1UNION ALLSELECT column_name(s) FROM table2; EXCEPT(차집합)첫 번째 SELECT 문의 결과에서 두 번째 SELECT 문의 결과를 제외한다.SELECT column_name(s) FROM table1EXCEPTSELECT column_name(s) FROM table2; INTERSECT(교집합)두 SEL..

Join 소개
Database & Data/기초지식 2023. 5. 11. 14:41

Join두 개 이상의 테이블에서 관련 있는 데이터를 결합 1) Inner Join두 테이블의 교집합즉, 두 테이블의 Join 조건에 일치하는 행만 반환SELECT * FROM table1INNER JOIN table2ON table1.matching_column = table2.matching_column; 2) Left (Outer) Join첫 번째 테이블의 모든 행과 두 번째 테이블에서 일치하는 행을 반환일치하지 않는 경우, 두 번째 테이블의 값은 NULL로 반환SELECT * FROM table1LEFT JOIN table2ON table1.matching_column = table2.matching_column; 3) Right (Outer) Join두 번째 테이블의 모든 행과 첫 번째 테이블에서..

RedShift 및 SQL 다루기

클러스터여러 개의 노드로 구성된 하나의 분산 시스템을 의미하며, 각 노드에는 CPU, 메모리, 스토리지 등의 컴퓨팅 리소스가 있어 데이터 처리와 분석 작업을 병렬로 수행할 수 있다. 관계형 데이터베이스 사용자 / 세션1) 사용자 ID(User ID):- 사용자 ID는 데이터베이스에 저장된 각 사용자를 고유하게 식별하는 식별자(일반적으로 사용자 계정, 프로필, 인증 정보와 연관)- 사용자 ID는 데이터베이스의 다른 테이블에도 참조될 수 있으며, 이를 통해 사용자 관련 데이터를 연결하고 추적할 수 있다.2) 세션 ID(Session ID):- 세션 ID는 사용자가 웹 사이트나 애플리케이션을 사용하는 동안 지속되는 인터랙션을 식별하기 위한 고유한 식별자- 사용자가 로그인하거나 웹 사이트를 방문할 때, 서버는 ..

데이터 웨어하우스와 클라우드(Redshift) 소개
Database & Data/기타 2023. 5. 9. 00:11

데이터 웨어하우스란(Data Warehouse)?조직이나 기업에서 다양한 출처의 데이터를 통합, 저장하고 분석할 수 있도록 구성된 대규모 데이터 저장소이다.데이터 웨어하우스는 데이터 마이닝, 비즈니스 인텔리전스(BI), 리포팅, 분석 등의 목적으로 사용되며, 이를 통해 의사결정에 도움을 주는 인사이트를 얻을 수 있다. 1) 주요 특징- 데이터 통합: 다양한 출처의 데이터를 통합하여 일관성 있는 형태로 저장한다. 이를 위해 데이터 추출, 변환 및 적재(ETL) 과정을 거친다.- 대용량 데이터 저장: 거대한 양의 데이터를 저장하고 관리할 수 있는 구조를 갖추고 있다.- 시계열 데이터 관리: 시간에 따른 데이터 변화를 추적하고 저장할 수 있다.- 성능 최적화: 대규모 데이터를 효율적으로 조회하고 분석할 수 있..

관계형 데이터베이스와 SQL 소개

관계형 데이터베이스(RDBMS)관계형 데이터베이스(Relational Database)는 데이터를 테이블 형태로 저장하고 관리하는 데이터베이스관계형 데이터베이스의 핵심 개념은 관계(Relation)로, 데이터를 행(Row)과 열(Column)로 구성된 2차원 테이블에 저장한다.이러한 테이블들은 서로 관계를 맺고, 이를 통해 다양한 데이터 조작과 쿼리를 수행할 수 있다. 대표적인 관계형 데이터베이스1) 프로덕션 데이터베이스: MySQL, PostgreSQL, Oracle 등등- OLTP(OnLine Transaction Processing)- 빠른 속도에 집중, 서비스에 필요한 정보 저장- 백엔드 및 프론트엔드 개발자, 데이터 업계 종사자들 사용 2) 데이터 웨어하우스: Redshift, Snowflake..

article thumbnail
RDS(MySQL) - 서버 시간을 한국 시간으로 변경하기(권한 에러 추가)
Database & Data/MySQL 2023. 5. 7. 16:32

Date 필드의 기본값을 현재 시간으로 하려고 한다면 CURRENT_TIMESTAMP로 많이 쓰인다.다만 다른 설정을 해주지 않으면 한국시간보다 -9시간으로 글로벌 시간이 지정되어있다.참고 - https://shwjdqls.github.io/aws-mysql-timezone-encoding/ Time_zone 변경이 명령문을 Workbench나 터미널에서 MySQL Shell에 접속해서 치게 되면 현재 Time_zone 설정을 볼 수 있다.select @@global.time_zone, @@session.time_zone; UTC기준으로 Time_zone이 설정되어 있었고, 나는 Asia/Seoul로 변경하고 싶었다.SET time_zone='Asia/Seoul';SET GLOBAL time_zone='..

reduce와 lambda를 통한 데이터프레임 merge 함수

def merge_dataframes(df_list: list, merge_option: str, column: str): """ 여러 개의 DataFrame을 공통 column을 기준으로 병합하는 메소드. :param df_list: 병합할 DataFrame들의 리스트 :param merge_option: 병합 옵션 ('inner', 'outer', 'left', 'right' 중 하나) :param column: 병합 기준이 되는 공통 column의 이름 :return: 병합된 DataFrame """ merged_df = reduce(lambda x, y: pd.merge(x, y, how=merge_option, on=column), df_list) return merged_df 이 코드는 여러 ..

데이터 크롤하고 분석(Seaborn) - 7

1) Python 시각화 종류 - Matplotlib: 가장 많이 사용되는 데이터 시각화 라이브러리 중 하나이며, 다양한 유형의 그래프를 그릴 수 있다. - Seaborn: Matplotlib에 기반을 두고 있지만, 더 간단한 인터페이스와 예쁜 그래픽 디자인을 제공하여 통계적인 분석을 위한 그래프 작업을 수행할 때 유용하다. - Plotly: 인터랙티브 그래프를 그리는 데 특화된 라이브러리이며, 웹에서 그래프를 공유하거나 웹 애플리케이션에서 사용할 수 있다. - Bokeh: Plotly와 유사하게 인터랙티브 그래프를 그리는 데 특화된 라이브러리다. - ggplot: R의 ggplot2 패키지에서 영감을 받아 만든 라이브러리로, 그래픽 디자인을 중심으로 한 라이브러리다. - Altair: Declarati..

데이터 크롤하고 분석(Jupyter Lab) - 6

Jupyter Lab Jupyter 프로젝트의 최신 웹 기반 사용자 인터페이스로, 데이터 과학, 기계 학습 및 인공 지능 분야에서 널리 사용되는 대화형 개발 환경이다. JupyterLab은 Jupyter Notebook과 함께 다양한 통합 개발 도구를 제공하며, 웹 브라우저에서 코드, 텍스트, 시각화, 간단한 GUI 등을 실행하고 관리할 수 있다. JupyterLab 설치: JupyterLab을 사용하려면 먼저 설치해야 하며, 설치는 pip를 사용하여 쉽게 할 수 있다. 1) 터미널에서 설치 pip install jupyterlab 2) 실행 jupyter lab 3) 단축키 모음 - 셀 실행 Shift + Enter: 현재 셀 실행 후 다음 셀로 이동 Ctrl + Enter: 현재 셀 실행 Alt + ..

데이터 크롤하고 분석(Seleniuum) - 5

Selenium 웹 페이지를 자동화하여 사용자가 직접 실행하는 것과 같은 테스트를 수행할 수 있다. Selenium은 다양한 언어를 지원하며, 특히 Java, Python, Ruby, C# 등의 언어에서 많이 사용된다. Selenium WebDriver를 사용하면 자동화된 테스트를 실행할 수 있으며, Selenium Grid를 사용하면 여러 브라우저에서 동시에 테스트를 실행할 수 있다. 또한 Selenium IDE를 사용하면 브라우저에서 리코딩 기능을 사용하여 테스트를 작성할 수 있다. * 레코딩: 사용자가 브라우저에서 수행하는 모든 작업을 기록하고 해당 작업들을 자동화된 테스트로 바꿀 수 있는 기능 1) 버전차이 Selenium은 4 버전 이후로 문법이 변경되었다. Selenium 3.xx버전 from..

728x90
SMALL