전체 글(127)
-
테이블 설계 - 소프트 삭제(del_yn)와 유니크 제약
보호되어 있는 글입니다.
2026.07.21 -
실전 데이터베이스 설계 (1편) - 식별관계 vs 비식별관계 정리
김영한 님의 실전 데이터베이스 설계 1편 강의 정리 이번 글의 핵심 결론을 먼저 말하면현대적인 설계에서는 “비식별관계 + 대리키(Surrogate Key)“가 사실상 표준이다.왜 그런지를 개념부터 1:N / 1:1 / N:M 사례, 성능·인덱스·ORM 관점까지 하나씩 짚어보자.1. 개념 - 식별관계 vs 비식별관계란?두 관계의 차이는 딱 하나다. => 부모 테이블의 기본키(PK)를 자식 테이블에서 “어떻게 쓰느냐” • 식별 관계 (Identifying Relationship)부모 테이블의 PK를 받아서, 자식 테이블의 “기본키(PK) + 외래키(FK)” 로 사용→ 부모의 PK가 자식 PK의 일부가 됨• 비식별 관계 (Non-identifying Relationship)부모 테이블의 PK를 받아서, 자식 ..
2026.07.09 -
실전 데이터베이스 설계 (1편) - 관계 모델링: 1:N, 1:1, N:M 정리
김영한 님의 실전 데이터베이스 설계 강의 정리 (1편).”설계의 기초와 3단계“에 이어, 이번 글은 테이블을 실제로 연결하는 관계 모델링을 다룹니다.관계: 일대다(1:N) / 다대일(N:1), 일대일(1:1), 다대다(N:M)1. 일대다(1:N) / 다대일(N:1) 관계1-1. 외래키는 어디에 위치해야 할까?* 핵심 원칙: 외래키(FK)는 항상 ‘다(N)’ 쪽에 위치해야 한다.즉, 회원(N) 테이블이 팀(1) 테이블의 기본키를 외래키로 가져야 한다.왜 ‘다(N)’ 쪽에 둬야 하는가?1. 기본키(PK)는 반드시 유일하다• 한 테이블 안에서 동일한 PK를 가진 행은 존재할 수 없다.2. 외래키(FK)는 단일 행만 참조한다• 외래키 값 하나는 상대 테이블의 정확히 한 행만 가리킨다.3. 컬럼은 원자적(atom..
2026.06.26 -
실전 데이터베이스 설계 (1편) : 왜 설계가 중요하고, 어떻게 단계를 밟아가는가
김영한 님의 실전 데이터베이스 설계 강의를 들으며 정리한 내용입니다.이 글은 “설계를 왜 해야 하는가 → 어떤 단계로 하는가 → 관계를 어떻게 표현하는가”의 첫 부분을 다룹니다.(관계 모델링 1:N / 1:1 / N:M 은 2편에서 이어집니다.)1. 나쁜 설계는 무엇을 망가뜨리는가 — 나쁜 설계의 3대 문제점설계를 왜 신경 써야 하는지 이해하려면, 설계가 잘못됐을 때 어떤 일이 벌어지는지부터 보는 게 빠릅니다. 크게 세 가지 문제가 생깁니다.1) 데이터 무결성 훼손 (신뢰성 하락)데이터를 믿을 수 없게 되는 문제입니다. 구체적으로 아래와 같은 현상이 나타납니다.• 데이터 중복 : 같은 정보가 여러 곳에 흩어져 저장됨• 수정 이상 (Update Anomaly) : 중복된 데이터 중 일부만 수정되어 데이터가..
2026.06.26 -
업무 일지 — 가족사항 변경 시 데이터 유실 오류 조치
보호되어 있는 글입니다.
2026.05.19 -
스프링 접근 기술 : JdbcTemplete
시작하며지난 포스팅에서 스프링 접근 기술의 발전 과정과그 유형에 대해 알아보았다.먼저 SqlMapper 시초인 JdbcTemplete에 대해 알아 보자.1. JdbcTemplate이란?SQL을 직접 작성해야 하는 경우,스프링이 제공하는 JdbcTemplate은 아주 좋은 선택지다.JdbcTemplate은 JDBC를 매우 편리하게 사용할 수 있도록 도와준다.2. JdbcTemplate의 장점1️⃣ 설정의 편리함 • JdbcTemplate은 spring-jdbc 라이브러리에 포함 • 스프링에서 JDBC를 사용할 때 기본으로 사용되는 라이브러리 • 별도의 복잡한 설정 없이 바로 사용 가능2️⃣ 반복문제 해결 (템플릿 콜백 패턴)JdbcTemplate은 템플릿 콜백 패턴을 사용하여JDBC 사용 시 발생하는 대부..
2026.01.28