MySQL 데이터 타입 이해와 Java와 Type Mapping(+MSSQL)
MySQL Data Type Mapping MySQL 설명 Java TINYINT 1바이트(-128~127) 이론으로 byte, Byte가 맞는데 현실적으로 Java boolean과 맵핑을 한다. boolean, Boolean INT 4바이트(-21억 ~ 21억) int, Integer BIGINT, BIGINT UNSIGJNED 8바이트 primary key Id의 타입으로 많이 사용한다. long, Long FlOAT 4바이트 - 부동 소수점 타입 - 실수 값을 대략적으로 표현 float, Float DOUBLE 8바이트 - 부동 소수점 타입 double, Double DECIMAL(M,D) (고정 소수텀 타입) 정확한 실수 값 표현하기 위해, M은 소수 부분을 포함한 실수 총 자릿수, D는 소수 부..
정규화(1,2,3,BNCF) 쉽게 이해하기
개요 목적 이번 시간에는 데이터 베이스 정규화에 대해서 알아본다. 데이터 베이스 정규화란, 잘못된 데이터 베이스 설계에서 발생하는 이상현상을 해결하고, 저장 공간을 효율성을 증가하기 위해, 테이블을 여러개로 분리하는 과정이다. 정규화 방법에는 1차, 2차, 3차, BCNF, 4차, 5차 정규화가 있다. 실무에서 주로 쓰이는 1, 2, 3, BNCF 정규화 방법과 예시를 통해 어떻게 데이터를 깔끔하고, 이상 현상을 방지하는 지 알아보자. 이상현상이란, 데이터베이스의 설계를 잘못하게 되었을 때 데이터 삽입, 갱신, 삭제 연산을 수행할 대 부작용이 발생하는 것을 의미한다. ex) 삽입 이상 - 불필요한 데이터도 같이 삽입해야 하는 문제 윤성빈은 이벤트에 참여하지 않았는데, 관련 컬럼이 있어서, null이라는 ..
데이터베이스 구성 요소와 키(PK, FK)에 대한 이해
개요 목적 이번 글에서는 데이터 베이스 구성 요소에 대한 용어 설명과 PK와 FK와 중심으로 데이터를 구별해주는 데이터베이스 키에 대해서 알아본다. 엔티티, 릴레이션, 속성, 도메인 엔티티 엔티티는 비지니스 서비스의 요구에 맞춰 여러 개의 속성을 지닌 명사이다. 예를 들어, 게임 서비스에서 가입자를 나타내기 위해 아이디, 비밀번호, 이름, 생년월일, 별명의 속성을 지닌 회원 엔티티를 만들 수 있다. 릴레이션 위에서 만든 엔티티가 데이터베이스에서 관리될 때 릴레이션이라는 단위로 변화한다. 릴레이션이란, 데이터베이스에서 정보를 구분하여 저장하는 가장 기본 단위이다. 릴레이션은 관계형 데이터베이스에서는 테이블이라고 하고, NoSQL에서는 컬랙션이라고 한다. 예를 들어, 관계형 데이터 베이스 회원 테이블(릴레이..