db 5

[SQL] 일반 집합 연산(feat. UNION, INTERSECT, EXCEPT)

SQL에서 일반 집합 연산이란, 두 개 이상의 테이블에서 조인을 사용하지 않고, 연관된 데이터를 조회하는 연산이다. 이 글에서는 합집합(UNION), 교집합(INTERSECT), 차집합(EXCEPT)에 대해 정리했다. 단, 일반 집합 연산은 테이블에서 SELECT한 컬럼의 수와 각 컬럼의 데이터 타입이 테이블 간 상호 호환 가능해야 한다. 합집합, UNION UNION은 두 개의 테이블을 하나로 만드는 연산이다. 사용할 컬럼의 수와 데이터 형식이 일치해야 하며, 합친 후에 테이블에서 '중복되는 데이터는 제거'한다. 중복 제거를 위해 UNION은 테이블을 합칠 때, 정렬 과정을 발생시키는데, 올바른 정렬을 위해서는 ORDER BY 구문을 추가로 사용해주는 것이 좋다. 사용 예시는 아래와 같다. SELECT..

[SQL] 테이블에서 데이터 검색 및 조회하기(feat. 테이블, 컬럼, 레코드)

1. 테이블(Table) 데이터베이스에서 테이블이란 컬럼(Column)과 레코드(Record)로 구성된 표를 말하는데, 사실상 우리가 평소에도 알고 있는 표를 떠올리면 된다. 여기서 컬럼은 각 자료의 영역, 속성을 의미하는 열, 레코드는 각 열에 따른 데이터 값을 지닌 행이다. 데이터베이스에서 테이블은 각각의 고유한 이름으로 구분되어야 하며, 컬럼과 레코드도 각 단어의 의미를 알고 구분해야 한다. 2. 데이터 검색 및 조회하기 주어진 테이블에서 데이터를 검색하고 가져올 때, 출력할 때 사용하는 대표적인 명령어는 아래와 같다. SQL은 한 문장의 명령어 끝에 세미콜론(;)을 작성함으로써 다른 명령어와 구분을 해야 하고, 세미콜론 없이 엔터로만 구분되어 있다면, 하나의 명령어로 인식한다. 또, 명령어 자체는..

[SQL] 'SQL'의 시작

탄생 이후 40년이 지나도 건재한 데이터베이스 조작 언어 1. 기원 1) 누가 도널드 D. 챔벌린, 레이먼드 F. 보이스 2) 언제 1976년 3) 어디서 IBM San Jose 연구소 4) 어떻게 관계형 모델과 그것의 튜플적 해석이라는 이론적 기초로부터 파생되어 설계되었다. 5) 왜 SQL의 시작인 SEQUEL은 IBM의 준 관계형 데이터베이스 관리 시스템 R에 저장된 데이터를 조작하고 수신하기 위해 고안되었다. 입력 릴레이션(테이블)으로부터 원하는 출력 릴레이션을 사상(mapping)시키는 언어로써, 1973년에 SQUARE(Structured Queries as Relational Expressions)이라는 언어가 발표되었다. 하지만 수학적인 표현이 많아서 초보자가 사용하기 어려웠는데 1974년에..

[Web] API 설계 시 데이터 타입 POST, GET 사용법(feat. CRUD, Flask)

GET, POST와 같은 데이터 타입을 이해하려면 우선 API가 무엇인지 이해해야 합니다. 간단하게 요약하면 API는 서버와 클라이언트가 서로 다른 프로그램(예를 들면 서버는 Python, 클라이언트는 html, JS)에서 요청과 응답을 서로 주고받을 수 있도록 만든 체계입니다. 대개 클라이언트는 요청을 보내고, 서버는 이에 대한 응답(데이터)을 제공하는 구조인데, 여기서 이 요청에 대한 종류를 크게 4가지, CRUD로 나눌 수 있습니다. CRUD는 각 알파벳마다 Create, Read, Update, Delete 등의 데이터 요청 방식을 의미합니다. 여기서 각 데이터 요청 방식에 따라 API에서는 마치 스티커(실제로는 메소드라고 부름)처럼 데이터 타입을 미리 정의하고, 각 방식에 알맞게 요청과 데이터가..

[Python] 매우 기초적인 Python 크롤링하는 법(feat. 간단한 DB 설명)

1. 크롤링이란? '크롤링'은 정의하자면 검색 엔진(네이버, 구글 등) 로봇을 통해 데이터를 수집하는 방법을 의미합니다. 흔히 개인이 포털 사이트에서 검색을 통해 확인할 수 있는 정보를 퍼오는 행위인 '스크랩핑' 또한 크롤링이라고 부르기도 합니다. 2. 크롤링 하는 법 코딩을 통해 크롤링을 하기 위해선 2가지 핵심 요소가 있습니다. 첫 번째는 원하는 페이지의 HTML을 요청하는 것, 두 번째는 요청을 통해 가져온 HTML 중 필요한 데이터만을 잘 골라내는 것입니다. 이를 파이썬에서 성공적으로 진행하기 위해선 먼저 임포트(import) 해야 하는 라이브러리가 있습니다. 임포트 할 라이브러리는 requests, beautifulsoup가 있으며 다음과 같이 입력하면 임포트 할 수 있습니다. import re..