블로그 글
박재성 선생님이 개발 블로그에 쓴 글입니다.
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 1
✅ 1:1 관계 / 1:N 관계 / N:M 관계 ? 옛날 개발자들이 수많은 DB 설계 케이스를 접하다보니 엔티티 간의 관계에서 패턴을 찾은 것이다. 그게 바로 1:1 관계, 1:N 관계, N:M 관계라는 패턴이다. 이 개념을 알게 되면 DB 설계 할
[규칙 2] 어떤 테이블에 FK를 넣어도 ‘규칙 1’을 못 지킬 때는 중간 테이블을 하나 더 만들어라
✅ 어떤 테이블에 FK를 넣어도 ‘규칙 1’을 못 지킬 때는 중간 테이블을 하나 더 만들어라. 이 규칙도 말로만 들으면 무슨 말인지 이해하기 어렵기 때문에 바로 예시를 보자. 1. students (학생) 위 테이블을 보면 규칙 1(한 칸에는 한 가지
데이터베이스 네이밍 규칙
현업에서 많이 사용하는 데이터베이스 네이밍 규칙을 배워보자. 아래 규칙을 엄격하게 지켜야 하는 건 아니지만, 현업 개발자들이 자주 적용시키는 일반적인 규칙을 배워서 먼저 적용시켜볼 것이다. ✅ 테이블명, 컬럼명을 소문자로 작성한다. 테이블명, 컬럼명을
저장할 데이터 파악하기 /
✅ 요구 사항 현업에서 아래와 같이 글로만 된 요구 사항만 가지고 DB 설계를 하는 일은 잘 없다. UI(화면) 디자인이 나왔을 때 UI 디자인을 보면서 DB 설계에 들어가는 편이다. 하지만 지금은 연습을 하기 위함이니까 아래 요구사항만 가지고 설계를
[실습] 화면 UI 디자인을 보고 DB 설계해보기 - JSCODE 게시판
이제 현업과 최대한 비슷한 상황처럼 완성된 UI 디자인을 보고 DB 설계를 할 예정이다. 그리고 실제 현업 개발자들이 어떤 방식으로 어떤 생각을 하면서 DB 설계를 하는 지 차근차근 보여줄 예정이다. 이 실습을 통해서 DB 설계를 어떻게 해야 하는 지
![[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 5](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-80a1-9840-ce98404eebad-a999df848dfd2ef6.webp&w=3840&q=75)
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 5
✅ N:M 관계의 특징 중간 테이블이 있어야 한다. 중간 테이블에 두 테이블의 FK가 들어가야 한다. N:M 관계에서 중간 테이블을 추가해 1:N 관계로 바꿔 표현하게 된다. 예시 1) [Before] students (학생) [After] stude
![[규칙 1] 한 칸에는 한 가지 정보만 들어가도록 만들어라 - 2](/_next/image?url=https%3A%2F%2Fapi.jscode.kr%2Fapi%2Fpost-images%2F2c111062-ff07-8098-bee5-c2bdc27dfea4-544eefaac4c55f62.webp&w=3840&q=75)
[규칙 1] 한 칸에는 한 가지 정보만 들어가도록 만들어라 - 2
✅ 심화) ‘한 가지 정보’라는 게 관점에 따라 달라질 수 있다. users (사용자) users (사용자) 누군가는 박재성이라는 전체 이름이 하나의 정보라고 생각할 수 있지만, 누군가는 박이 하나의 정보고, 재성이 하나의 정보라고 판단할 수도 있다.

DB 설계 전체 과정
✅ DB 설계 전체 과정 많은 책들에서는 데이터베이스 모델링 방법이 아주 복잡하게 설명되어 있고, 정규화의 개념 조차 이해하기가 너무 어렵다. 쉽게 데이터베이스 모델링 하는 방법을 알려줄 것이다. 이 방식대로 모델링을 하다보면 자연스럽게 정규화 과정을
[규칙 6] 숨어있는 중복을 찾아라
✅ 숨어있는 중복을 찾아라. 숨어있는 중복이 무슨 뜻인지 설명하기 위해 예시를 바로 보자. posts (게시글) users (사용자) likes (좋아요) 위 테이블의 구성에서는 임의의 데이터를 넣어봐도 중복 데이터가 발생하는 컬럼이 있진 않다. 하지
[실습] 요구사항을 보고 DB 설계해보기 - JSCODE 쇼핑몰
✅ 요구 사항 현업에서 아래와 같이 글로만 된 요구 사항만 가지고 DB 설계를 하는 일은 잘 없다. UI(화면) 디자인이 나왔을 때 UI 디자인을 보면서 DB 설계에 들어가는 편이다. 하지만 지금은 연습을 하기 위함이니까 아래 요구사항만 가지고 설계를

DB 설계 시 꼭 기억해야 할 핵심 원칙 1가지
✅ DB 설계의 핵심은 ‘중복 없애기’이다. 데이터베이스를 설계할 때 딱 1가지만 기억하면 된다. 중복 없애기 이게 무슨 말인지 아래 예시로 알아보자. users (사용자) posts(게시글) 위의 표와 같이 게시글 데이터가 DB에 많이 쌓여있다고 가
[규칙 3] 헷갈릴 땐 관계(1:1, 1:N, N:M)를 파악해봐라 - 2
✅ 예시 1 사용자 (users), 이메일 (emails) (한 명의 사용자가 회원가입 할 때 여러 개의 이메일을 입력할 수 있는 서비스라고 가정하자.) 사용자가 이메일을 소유한다. 이메일은 사용자에 의해 소유된다. 한 명의 사용자는 여러 개의 이메일