로또 당첨 번호 데이터베이스 만들기
이전에 로또 당첨 번호의 모든 회차를 다운로드하는 방법에 대해서 알아본 적이 있다.
근데 해당 데이터는 Excel(엑셀)로 되어 있어서 활용하는 부분에서 쉽지 않아 차라리 데이터베이스화 시켜서 사용해보고자 한다.
그럼 간단히 데이터베이스를 어떻게 했는지 알아보도록 하자.
1. 사용할 데이터베이스 선택
우선적으로 어떤 데이터베이스를 사용할 것인가 고민하였다.
데이터베이스 시스템으로는 MySQL, PostgreSQL, SQLite 등 여러 가지가 있어서 어떤 데이터베이스를 사용할지를 고민하였다.
해당 데이터의 양의 크기가 크지 않음에 따라서 제일 가볍고, 간편 & 간단하고 여러 개발 언어에서 사용하기 쉽도록 SQLite를 사용하기로 결정하였다.
sqlite에 대해서는 아래 링크를 통해서 한번 확인해보도록 하자.
2. Tool 소개
MacOS에서 SQLite를 사용하는 방법은 여러 가지 있지만 좀 더 손쉽게 사용하기 위해서 "DB Browser for SQLite"라는 Tool을 사용하였다.
"DB Browser for SQLite"는 현재 여러 OS에서 설치하여 사용 가능한 Tool이며, SQLite 3.34.1 기반으로 사용하고 있다.
3. 테이블 생성
이제 "DB Browser for SQLite" Tool을 이용해서 테이블을 생성하였다.
먼저 맨 위에서 "새 데이터베이스"를 선택 후 새로운 데이터베이스를 생성하도록 하자.
여기서 데이터베이스 이름은 "lotto_data.db"로 생성하였다.
테이블 이름은 "tb_lott_list"로 각 컬럼은 아래와 같이 생성하였다.
- round : 회차
- date : 회차 추첨일
- 1st : 1번째 번호
- 2nd : 2번째 번호
- 3rd : 3번째 번호
- 4th : 4번째 번호
- 5th : 5번째 번호
- 6th : 6번째 번호
- bonus : 보너스볼 번호
# Table Info
CREATE TABLE "tb_lotto_list" (
"round" INTEGER,
"date" TEXT,
"1st" INTEGER,
"2nd" INTEGER,
"3rd" INTEGER,
"4th" INTEGER,
"5th" INTEGER,
"6th" INTEGER,
"bonus" INTEGER
PRIMARY KEY("round")
)
4. 데이터 입력
테이블을 생성하고 1회 차부터 1004 회차까지 데이터를 확인하여 각 항목에 맞춰 데이터를 입력해주었다.
# 각 회차별 데이터 입력
INSERT INTO tb_lotto_list ('round', 'date', '1st', '2nd', '3rd', '4th', '5th', '6th', 'bonus')
values (1, '2002.12.7', 10, 23, 29, 33, 37, 40, 16);
5. 데이터 확인
이제 입력된 데이터를 확인해보자.
1회 차에서 1004회 차까지 각 칼럼 별로 들어가 있는 걸 확인할 수 있다.
간단히 Python을 이용해서 데이터를 확인해보도록 하자.
역시 1회 차에서 1004회 차까지 각 데이터 및 총 데이터 수도 확인할 수 있다.
이제 이 데이터베이스 파일을 이용해서 여러 가지를 활용할 수 있다.
6. Github
이제 해당 데이터베이스를 모든 사람이 사용할 수 있도록 Github에 업로드 해 놓도록 하겠다.
매주 로또 당첨 번호 발표날 신규 회차 데이터를 업데이트 하도록 하겠다.(이건 매번 하기 그러니 자동화 시스템으로 언능 만들어야 겠다... )
그럼 이 데이터를 이용해서 좋은 결과가 있으시기를 기원 합니다. 🙏🏻🙏🏻🙏🏻
🌵댓글