✅ 역정규화란? 정규화란 DB를 설계하면서 중복을 없애는 과정이라고 설명했었다. 역정규화란 성능을 향상시키기 위해 정규화된 DB를 다시 중복을 허용하는 형태로 변경하는 과정을 뜻한다. ✅ 역정규화는 언제 하나요 ? 특별한 이유가 없는 한 정규화를 지켜
✅ 심화) ‘한 가지 정보’라는 게 관점에 따라 달라질 수 있다. users (사용자) users (사용자) 누군가는 박재성이라는 전체 이름이 하나의 정보라고 생각할 수 있지만, 누군가는 박이 하나의 정보고, 재성이 하나의 정보라고 판단할 수도 있다.
✅ DB 설계 전체 과정 많은 책들에서는 데이터베이스 모델링 방법이 아주 복잡하게 설명되어 있고, 정규화의 개념 조차 이해하기가 너무 어렵다. 쉽게 데이터베이스 모델링 하는 방법을 알려줄 것이다. 이 방식대로 모델링을 하다보면 자연스럽게 정규화 과정을
✅ 숨어있는 중복을 찾아라. 숨어있는 중복이 무슨 뜻인지 설명하기 위해 예시를 바로 보자. posts (게시글) users (사용자) likes (좋아요) 위 테이블의 구성에서는 임의의 데이터를 넣어봐도 중복 데이터가 발생하는 컬럼이 있진 않다. 하지
✅ 요구 사항 현업에서 아래와 같이 글로만 된 요구 사항만 가지고 DB 설계를 하는 일은 잘 없다. UI(화면) 디자인이 나왔을 때 UI 디자인을 보면서 DB 설계에 들어가는 편이다. 하지만 지금은 연습을 하기 위함이니까 아래 요구사항만 가지고 설계를
✅ DB 설계의 핵심은 ‘중복 없애기’이다. 데이터베이스를 설계할 때 딱 1가지만 기억하면 된다. 중복 없애기 이게 무슨 말인지 아래 예시로 알아보자. users (사용자) posts(게시글) 위의 표와 같이 게시글 데이터가 DB에 많이 쌓여있다고 가
✅ 예시 1 사용자 (users), 이메일 (emails) (한 명의 사용자가 회원가입 할 때 여러 개의 이메일을 입력할 수 있는 서비스라고 가정하자.) 사용자가 이메일을 소유한다. 이메일은 사용자에 의해 소유된다. 한 명의 사용자는 여러 개의 이메일
✅ 한 칸에는 한 가지 정보만 들어가도록 만들어라. 데이터베이스 테이블을 설계할 때 ‘한 칸에는 한 가지 정보만 들어가야 한다.’라는 규칙을 지켜야 한다. 이 규칙이 뭔지 알아보기 위해 이 규칙을 안 지킨 사례 먼저 살펴보자. [사례 1] users
DB 설계를 엑셀(Excel)을 활용해서 진행했었다. 사실 DB 설계를 할 때는 어떤 툴을 쓰던 상관없다. 테이블과 컬럼을 나타낼 수 있는 툴은 어떤 것이든 상관없다. 실제 DB 설계 결과물을 구글링 해보면 아래와 같은 형태의 그림을 많이 볼 수 있다
기본키, 후보키, 대체키, 슈퍼키 개체-관계 모델 모델링 과정 (개념적 모델링, 논리적 모델링, 물리적 모델링) 이상현상 (삭제이상, 삽입이상, 수정이상) 함수 종속성 제1정규형 ~ 제5정규형, BCNF 정규형 / 부분적 함수 종속, 이행적 함수 종속