Database 3

데이터베이스 설계 시 테이블 id INT or BIGINT?

한 프로젝트를 진행하던 중 id 타입을 왜 BIGINT를 썼는지에 대한 질문을 받았다. 프로젝트 규모가 커졌을 경우를 대비해 큰 타입을 썼다고는 답변을 했지만, 그 핑계로 너무 습관적으로 BIGINT를 써오지 않았나 반성을 하게 되었다. 그래서 id 타입에 대해 한 번 파헤쳐보겠다. INT의 범위 INT의 범위는 4바이트이므로 -2147483648 ~ 2147483647의 범위를 갖지만, 대부분의 경우 id에 음수를 사용하지 않기 때문에 UNSIGNED 속성을 지정하면, 0 ~ 4294967295의 범위를 갖는다. 당연한 이야기겠지만, 테이블에 42억 개의 데이터가 들어갈 일이 절대 없다면 BIGINT를 쓸 필요가 없고, 심지어는 경우에 따라서 그보다 더 작은 타입들(MEDIUMINT, SMALLINT,..

Database 2021.12.16

MySQL 기초 2

연습 환경 구성 연습용 샘플 데이터베이스 다운로드 https://dev.mysql.com/doc/index-other.html MySQL :: Other MySQL Documentation Other MySQL Documentation This page provides additional documentation. There's even more available on these extra pages: MySQL Server Doxygen Documentation Title HTML Online MySQL Server (latest version) View Expert Guides Language Title Version HTML Onlin dev.mysql.com 터미널에서 MySQL에 접속한 뒤 다운..

Database 2021.11.10

MySQL 기초 1

MySQL - 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템(RDBMS)이다. - 오픈소스이며, 다중 사용자와 다중 스레드를 지원한다. - 여러 프로그래밍 언어를 위한 다양한 API 제공 - 오픈소스 라이센스를 따르지만, 상업적으로 사용할 때는 상업용 라이센스 구입 필요 SQL은 DBMS에 실행할 수 있는 명령의 종류에 따라 DDL, DML, DCL 3가지로 구분된다. DDL(Data Definition Language) DML(Data Manipulation Language) DCL(Data Control Language) 데이터 정의 언어 데이터 조작 언어 데이터 제어 언어 데이터베이스, 테이블, 뷰, 인덱스 등의 데이터베이스 개체를 생성/삭제/변경하는 역할 데이터를 조작(선택, 삽입, 수..

Database 2021.11.10