전체 글 223

[DB 이론] #3_데이터 모델링(Data Modeling)

안녕하세요. 문범우입니다. 이번에는 Data Base에서 데이터 모델링(Data Modeling)에 대해서 알아보도록 하겠습니다.데이터 모델링을 보다 잘 이해하려면 앞에서 학습한 엔터티, 속성, 관계, 식별자에 대한 이해가 필요하므로 각 개념에 대해 이해가 가지 않는 부분이 있다면 아래 링크를 통해서 다시 한번 확인하면 좋습니다. [DB 이론] #1_엔터티(Entity)와 속성(Attribute) [DB 이론] #2_관계(Relationship)와 식별자(Identifiers)1. 모델링 1-1. 모델링이란? 모델링이라는 것은 우리 주변에 있는 사람, 사물, 개념 등 다양한 현상을 발생시키는 것들을 일정한 표기법에 의해 나타내는 것을 이야기 한다.모델링에 대한 사전적 정의로는 아래와 같이 다양하게 존재한..

Database/DB 이론 2020.01.17

[DB 이론] #2_관계(Relationship)와 식별자(Identifiers)

안녕하세요. 문범우입니다.이번 포스팅에서는 DataBase에서 데이터 모델 개념에 속하는 관계(Relationship)와 식별자(Identifiers)에 대해서 알아보도록 하겠습니다. [DB 이론] #1_엔터티(Entity)와 속성(Attribute) 1. 관계(Relationship) 1-1. 관계(Relationship)란? 사전적으로 정의했을 때, 관계란 상호 연관성이 있는 상태라고 할 수 있다. 이를 우리가 학습하고자 하는 데이터 모델의 개념에서 생각하면, 엔터티의 인스턴스 간 논리적인 연관성이라고 생각할 수 있고 보다 구체적으로는, 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태라고 할 수 있다. 이러한 관계는 엔터티와 엔터티 간 연관성을 표현하기 때문에 특정 엔터티의 정의에 따라 영향..

Database/DB 이론 2020.01.15

[DB 이론] #1_엔터티(Entity)와 속성(Attribute)

안녕하세요. 문범우입니다.이번 포스팅에서는 Data Base에서 엔터티와 속성에 대해서 알아보도록 하겠습니다.특히 각 개념마다 SQL 전문가 또는 SQL 개발자를 준비하시는 분들을 위한 문제를 함께 두었으니 공부를 하시며 문제들을 확인하면 보다 좋은 학습이 될 것 입니다. 1. 엔터티(Entity) 1-1. 엔터티(Entity)란? 데이터 베이스의 개념 중에서도 데이터 모델에 대해 공부를 시작할 때 제일 먼저 나오는 개념이 '엔터티(Entity)' 이다.엔터티는 쉽게 말해 실체, 객체라고 생각할 수 있다.일반적으로 엔터티를 정의하는 개념들을 정리하여 나타내면 다음과 같이 볼 수 있다. - 엔터티는 사람, 장소, 물건, 사건, 개념 등과 같은 명사에 해당된다.- 엔터티는 업무상 관리가 필요한 것에 해당된다..

Database/DB 이론 2020.01.13

[MS SQL Server] #14_특정 컬럼 값만 다른 행들을 하나의 행으로 합치기

안녕하세요. 문범우입니다.이번에는 MSSQL에서 특정한 문법을 사용하는 내용이 아니라 특정 칼럼 값만 다른 여러개의 행을 하나의 행으로 합쳐서 나타내는 실습을 진행해보도록 하겠습니다. 0. 데이터 세팅 먼저 실습을 위해 아래와 같이 데이터를 세팅합니다. 테이블 이름은 USER_ANSWER로 만들었습니다. 세팅된 테이블을 전체 SELECT를 하면 다음과 같습니다. 위의 데이터를 아래와 같은 상황으로 가정합니다. 현재 USER_ID 값이 0001, 0002, 0003 으로 총 3명이 존재하며, 각각은 모두 Q01 부터 Q05까지의 문제에 대해 답변을 선택하여 해당 데이터가 테이블에 존재하는 것입니다.이때 각 문제들은 중복으로 답을 체크할 수 있습니다. USER_ID값이 0001인 데이터를 보면 모두 하나의 ..

Database/MS SQL 2020.01.07 (1)

파이썬(PYTHON) #25_ 파이썬 패키지 등록하기 (pip 배포하기)

안녕하세요. 문범우입니다.이번 포스팅에서는 파이썬 패키지를 배포하는 방법에 대해서 함께 살펴보도록 하겠습니다. 1. pip: 파이썬 패키지 관리자 파이썬 패키지를 배포하는 방법에 대해 설명드리기에 앞서 간단하게 pip, 파이썬 패키지 관리자에 대해 짚고 넘어가보겠습니다.파이썬을 공부하고 어느정도 사용을 해본 분들이라면 자연스럽게 pip를 사용해 보셨을 것이라고 생각합니다. 가령, 데이터 분석을 위해서 주로 numpy나 pandas, 웹 개발을 할 때에는 django, flask 등을 이용하기 위해 아래와 같이 pip를 이용하여 필요한 라이브러리를 다운받아 사용하셨을 겁니다. 1pip install cs 이때 우리가 사용하는 pip는 무엇일까요?pip란, Python Package Index(PyPI)라는..

[MS SQL Server] #13_이중 not exists에 관해서

안녕하세요. 문범우입니다.이번 포스팅에서는 이중 not exists에 관해 예제를 다뤄보도록 하겠습니다.이번에 다루게 되는 내용에 대해서는 기본적으로 not exists에 대해 동작 방식을 이해해야 수월하게 따라올 수 있습니다.not exists에 대해 아직 헷갈린다면 아래 글을 먼저 확인해주세요. [MS SQL Server] #11_ IN / EXISTS / NOT IN / NOT EXISTS 비교 특별히 이번 예제는 블로그를 통해서 연락주신 분에 의해서 다루게 되었습니다. 1. 테이블 정의 및 데이터 정의 먼저 예제를 소개하기에 앞서 사용될 테이블과 데이터를 정의합니다.총 3개의 테이블(sailors, boats, reserved)을 사용하며 각 테이블에 있는 데이터는 아래 사진과 같습니다. 테이블에..

Database/MS SQL 2019.10.21 (4)

[MS SQL Server] #12_조인(JOIN)이란 무엇일까?, 기초적인 조인들!

안녕하세요. 문범우입니다.이번 포스팅에서는 조인의 개념에 대해서 알아보고 기초적인 이너조인(Inner JOIN), 아우터조인(Outer JOIN), 크로스조인(Cross JOIN), 셀프조인(Self JOIN)에 대해서 함께 알아보도록 하겠습니다. 1. 조인(JOIN)이란 무엇일까? DB에서 자주 사용되는 조인이란 개념은 무엇일까요?조인은 '어울리다'라는 의미를 가지고 있는데 이 말대로, 데이터베이스에서 테이블간의 결합(어울림)을 이야기합니다.즉, 두개 이상의 테이블에 대해서 결합하여 나타낼 때 조인이라는 것을 이용합니다.물론 셀프조인에서는 사실 하나의 테이블을 다루는 것입니다. 이에 대해서는 뒤에서 다시 이야기해보겠습니다. 예시데이터를 가지고 살펴보겠습니다.예시데이터는 이전의 글들에서 사용된 emplo..

Database/MS SQL 2019.05.26 (5)

[MS SQL Server] #11_ IN / EXISTS / NOT IN / NOT EXISTS 비교

안녕하세요 문범우입니다.이번 포스팅에서는 IN, EXISTS, NOT IN, NOT EXISTS 에 대해서 보다 상세하게 알아보려고 합니다.해당 내용은 꼭 SQL Server 뿐만 아니라 MySQL 등에서도 포괄적으로 적용되는 내용입니다. 0. 데이터 세팅 먼저 각 구문에 대해서 비교를 할 때 보다 쉽게 확인할 수 있도록 가상 데이터를 세팅해보도록 하겠습니다. 총 2개의 테이블을 생성하며 각 테이블의 이름과 데이터는 아래와 같습니다. SELECT * FROM TB_FOOD; SELECT * FROM TB_COLOR; 1. IN SELECT * FROM TB_FOOD fWHERE f.number IN (SELECT c.number FROM TB_COLOR c); 위와 같은 쿼리를 실행하면 어떤 결과가 나올..

Database/MS SQL 2019.05.16 (14)

[MS SQL Server] #10_순위 함수(RANK, DENSE_RANK, ROW_NUMBER, NTILE)

안녕하세요. 문범우입니다.이번 글에서는 SQL Server에서의 순위함수들(RANK, DENSE_RANK, ROW_NUMBER, NTILE)에 대해서 알아보며 함께 PARTITION BY 절에 대해서도 함께 알아보도록 하겠습니다. 이번 실습 또한 과거 글에서 만들었던 SampleDB를 통해 진행하도록 하겠습니다. SELECT * FROM employee; 먼저 RANK, DENSE_RANK, ROW_NUMBER 세가지 함수에 대해서 알아보겠습니다. 먼저 각각의 함수에 대해 간략한 설명과 함께 쿼리를 통해 결과를 확인해보고 세가지 함수의 차이에 대해서 함께 알아보도록 하겠습니다. 1. RANK RANK 함수는 중복 값들에 대해서 동일 순위로 표시하고, 중복 순위 다음 값에 대해서는 중복 개수만큼 떨어진 순..

Database/MS SQL 2019.05.15

[Python]중고나라 크롤링 및 메일 발송 자동화

안녕하세요. 문범우입니다.오랜만에 파이썬으로 필요한 프로그램을 만들어 공유하려고 글 작성합니다.소개해드리고자 하는 프로그램은 중고나라에서 키워드 검색후 게시글 크롤링 및 메일 발송기능을 가진 프로그램입니다. 모든 소스코드는 아래의 github주소에 공개되어있습니다.https://github.com/doorBW/joonggonara_crawl 간단하게 활용 스택 및 배운점 등을 공유하겠습니다. 1. 활용 스택 - Python 3.7.1- pyenv 및 virtualenv를 통한 가상환경설정- Selenium / BeautifulSoup / smtplib / dotenv 라이브러리 활용- ubuntu crontab 활용 위와 같은 언어 및 라이브러리를 활용하였습니다.crawl.py 에서 중고나라 사이트에 접..

포트폴리오 2019.05.01 (3)