목차
요구사항 변경
작성자와 일정의 연결
- 설명
- ✅ 동명이인의 작성자가 있어 어떤 작성자가 등록한 ‘할 일’인지 구별할 수 없음
- ✅ 작성자를 식별하기 위해 이름으로만 관리하던 작성자에게 고유 식별자를 부여합니다.
- ✅ 작성자를 할 일과 분리해서 관리합니다.
- ✅ 작성자 테이블을 생성하고 일정 테이블에 FK를 생성해 연관관계를 설정해 봅니다.
- 조건
- ✅ 작성자는 이름 외에 이메일, 등록일, 수정일 정보를 가지고 있습니다.
- ✅ 작성자의 정보는 추가로 받을 수 있습니다.(조건만 만족한다면 다른 데이터 추가 가능)
- ✅ 작성자의 고유 식별자를 통해 일정이 검색이 될 수 있도록 전체 일정 조회 코드 수정.
- ✅ 작성자의 고유 식별자가 일정 테이블의 외래키가 될 수 있도록 합니다.
- ✅ 작성자는 이름 외에 이메일, 등록일, 수정일 정보를 가지고 있습니다.
❗도전 과제부터는 USER Table과 SCHEDULE Table이 분리된다.
ERD 논리적 설계
- 기존 SCHEDULE Table 하나로 진행하였는데, 요구사항의 변경에 맞춰 ERD도 재설계 하였습니다.
ERD 물리적 설계
CREATE TABLE USER
(
userId BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '사용자 ID',
email VARCHAR(100) COMMENT '이메일',
userName VARCHAR(100) NOT NULL COMMENT '사용자 명',
createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '작성일',
updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '수정일'
);
CREATE TABLE SCHEDULE
(
scheduleId BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '일정 ID',
userId BIGINT NOT NULL COMMENT '사용자 ID',
userName VARCHAR(100) NOT NULL COMMENT '사용자 명',
toDoContent VARCHAR(100) NOT NULL COMMENT '할일',
createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '작성일',
updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '수정일',
FOREIGN KEY (userId) REFERENCES USER (userId) -- USER 테이블의 userId 참조
)
'Project' 카테고리의 다른 글
[Project] Lv_5 스케줄 프로젝트 (0) | 2025.05.13 |
---|---|
[Project] Lv_4 스케줄 프로젝트 (2) | 2025.05.12 |
[Project] Lv_3 스케줄 프로젝트 (2) | 2025.05.12 |
[Project] Lv_1 스케줄 프로젝트 (0) | 2025.05.11 |
[Project] Lv_0 스케줄 프로젝트 (0) | 2025.05.11 |