Spring Boot 프로젝트 13일차. 논리/물리 모델링 작성 후 팀원들과 회의를 통해 누락된 부분을 보충하거나 잘못된 부분을 수정하는 시간을 가졌습니다. 회의가 끝난 후 나온 결과물을 토대로 실제 테이블 생성하는 쿼리문과 erd까지 작성하였습니다.
📌작성쿼리문
제가 작성한 쿼리문은 입양/임시보호/후기, 봉사/봉사후기 페이지와 관련된 테이블들을 만들었습니다.
대표적으로 게시글/댓글/게시글신고/댓글신고 테이블 및 신청서 테이블을 작성하였습니다.
-- 입양게시글 테이블
DROP TABLE TBL_ADOPT CASCADE CONSTRAINTS;
CREATE TABLE TBL_ADOPT(
ADOPT_NO NUMBER PRIMARY KEY, -- 게시글 번호 PK
ADOPT_PERIODSTART DATE NOT NULL, -- 입양시작일
ADOPT_PERIODEND DATE NOT NULL, -- 입양종료일
ADOPT_BREAD VARCHAR2(1000) NOT NULL, -- 견종
ADOPT_NEUTERING CHAR(1) NOT NULL, -- 중성화 여부
ADOPT_GENDER CHAR(1) NOT NULL, -- 성별
ADOPT_WEIGHT VARCHAR2(1000) NOT NULL, -- 몸무게
ADOPT_BIRTH DATE NOT NULL, -- 유기견 생일
ADOPT_INTRODUCE VARCHAR2(1000) NOT NULL, -- 한줄소개
ADOPT_TITLE VARCHAR2(1000) NOT NULL, -- 글제목
ADOPT_CONTENT VARCHAR2(1000) NOT NULL, -- 글내용
ADOPT_REGIDATE DATE DEFAULT SYSDATE, -- 작성일
ADOPT_UPDATEDATE DATE DEFAULT SYSDATE, -- 수정일
ADOPT_PRICTURE VARCHAR2(1000), -- 사진 FK -- 사진/동영상
CENTERMEMBER_NO NUMBER -- 센터회원 FK -- 작성자
);
-- 외래 키 제약 조건 추가
ALTER TABLE TBL_ADOPT
ADD CONSTRAINT FK_ADOPT_CENTERMEMBER
FOREIGN KEY (CENTERMEMBER_NO)
REFERENCES TBL_CENTERMEMBER(CENTERMEMBER_NO);
-- 조회
SELECT * FROM TBL_ADOPT;
-- 입양게시글 댓글 테이블
DROP TABLE TBL_ADOPT_COMMENT CASCADE CONSTRAINTS;
CREATE TABLE TBL_ADOPT_COMMENT(
ADOPT_COMMENT_NO NUMBER PRIMARY KEY, -- 입양 게시글 댓글 번호 PK
ADOPT_COMMENT VARCHAR2(1000) NOT NULL, -- 댓글 내용
ADOPT_COMMENT_REGIDATE DATE DEFAULT SYSDATE, -- 댓글 작성일
ADOPT_COMMENT_WRITER NUMBER NOT NULL, -- 댓글 작성자
ADOPT_COMMENT_UPDATEDATE DATE DEFAULT SYSDATE, -- 수정일
ADOPT_NO NUMBER -- ADOPT FK -- 게시글 번호 FK
);
-- 외래 키 제약 조건 추가
ALTER TABLE TBL_ADOPT_COMMENT
ADD CONSTRAINT FK_ADOPT_CONTENT_NO
FOREIGN KEY (ADOPT_NO)
REFERENCES TBL_ADOPT(ADOPT_NO);
-- 조회
SELECT * FROM TBL_ADOPT_COMMENT;
-- 입양게시글 신고 테이블
DROP TABLE TBL_ADOPT_CONTENT_REPORT CASCADE CONSTRAINTS;
CREATE TABLE TBL_ADOPT_CONTENT_REPORT(
ADOPT_CONTENT_REPORT_NO NUMBER PRIMARY KEY, -- 신고 번호 PK
ADOPT_CONTENT_REPORT VARCHAR2(100) NOT NULL, -- 신고 내용
ADOPT_CONTENT_REPORT_REGIDATE DATE DEFAULT SYSDATE, -- 신고일
ADOPT_CONTENT_REPORT_WRITER NUMBER NOT NULL, -- 신고자
ADOPT_NO NUMBER -- ADOPT FK -- 신고한 게시글
);
-- 외래 키 제약 조건 추가
ALTER TABLE TBL_ADOPT_CONTENT_REPORT
ADD CONSTRAINT FK_ADOPT_CONTENT_REPORT_NO
FOREIGN KEY (ADOPT_NO)
REFERENCES TBL_ADOPT(ADOPT_NO);
-- 조회
SELECT * FROM TBL_ADOPT_CONTENT_REPORT;
-- 입양댓글 신고 테이블
DROP TABLE TBL_ADOPT_COMMENT_REPORT CASCADE CONSTRAINTS;
CREATE TABLE TBL_ADOPT_COMMENT_REPORT(
ADOPT_COMMENT_REPORT_NO NUMBER PRIMARY KEY, -- 신고 번호 PK
ADOPT_COMMENT_REPORT VARCHAR2(100) NOT NULL, -- 신고 내용
ADOPT_COMMENT_REPORT_REGIDATE DATE DEFAULT SYSDATE, -- 신고일
ADOPT_COMMENT_REPORT_WRITER NUMBER NOT NULL, -- 신고자
ADOPT_COMMENT_NO NUMBER NOT NULL -- 댓글 번호 FK
);
-- 외래 키 제약 조건 추가
ALTER TABLE TBL_ADOPT_COMMENT_REPORT
ADD CONSTRAINT FK_ADOPT_COMMENT_REPORT_NO
FOREIGN KEY (ADOPT_COMMENT_NO)
REFERENCES TBL_ADOPT_COMMENT(ADOPT_COMMENT_NO);
-- 조회
SELECT * FROM TBL_ADOPT_COMMENT_REPORT;
-- 입양신청서 테이블
DROP TABLE TBL_ADOPT_REQUEST CASCADE CONSTRAINTS;
CREATE TABLE TBL_ADOPT_REQUEST(
ADOPT_REQUEST_NO NUMBER PRIMARY KEY, -- 신청서 번호 PK
ADOPT_REQUEST_NAME VARCHAR2(1000) NOT NULL, -- 신청인
ADOPT_REQUEST_PHONE VARCHAR2(1000) NOT NULL, -- 연락처
ADOPT_REQUEST_PHONE_SUB VARCHAR2(1000) NOT NULL, -- 대체 연락처
ADOPT_REQUEST_EMAIL VARCHAR2(1000) NOT NULL, -- 이메일
ADOPT_REQUEST_GENDER CHAR(1) NOT NULL, -- 신청자 성별
ADOPT_REQUEST_AGE VARCHAR2(1000) NOT NULL, -- 신청자 생일
ADOPT_REQUEST_ZIPCODE VARCHAR2(1000) NOT NULL, -- 우편번호
ADOPT_REQUEST_ADDRESS VARCHAR2(1000) NOT NULL, -- 주소
ADOPT_REQUEST_ADDRESS_DETAIL VARCHAR2(1000) NOT NULL, -- 상세주소
ADOPT_REQUEST_JOB VARCHAR2(1000) NOT NULL, -- 직업
ADOPT_REQUEST_MARRY VARCHAR2(1000) NOT NULL, -- 결혼여부
ADOPT_REQUEST_INFO_AGREEMENT CHAR(1) NOT NULL, -- 개인정보 수집 동의
ADOPT_REQUEST_Q1 VARCHAR2(1000) NOT NULL, -- 질문1~15
ADOPT_REQUEST_Q2 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q3 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q4 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q5 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q6 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q7 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q8 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q9 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q10 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q11 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q12 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q13 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q14 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_Q15 VARCHAR2(1000) NOT NULL,
ADOPT_REQUEST_ADOPT_AGREEMENT CHAR(1) NOT NULL, -- 입양 동의
ADOPT_NO NUMBER, -- 신청한 게시글,
MEMBER_NO NUMBER, -- 일반회원 FK -- 작성자
CENTERMEMBER_NO NUMBER, -- 일반회원 FK -- 작성자
);
-- 외래 키 제약 조건 추가
ALTER TABLE TBL_ADOPT_REQUEST ADD CONSTRAINT FK_ADOPT_REQUEST_ADOPT_NO FOREIGN KEY (ADOPT_NO) REFERENCES TBL_ADOPT(ADOPT_NO);
ALTER TABLE TBL_ADOPT_REQUEST ADD CONSTRAINT FK_ADOPT_REQUEST_MEMBER_NO FOREIGN KEY (MEMBER_NO) REFERENCES TBL_MEMBER(MEMBER_NO);
ALTER TABLE TBL_ADOPT_REQUEST ADD CONSTRAINT FK_ADOPT_REQUEST_CENTERMEMBER_NO FOREIGN KEY (CENTERMEMBER_NO) REFERENCES TBL_CENTERMEMBER(CENTERMEMBER_NO);
-각 테이블마다 구분할 수 있도록 NO컬럼을 만들어 주었습니다.
-필수로 입력받아야하는 값들은 NOT NULL로 설정하였으며 성별이나 중성화 여부 등 T/F로 구분할 수 있는 컬럼은 CHAR(1)로 설정하였습니다.
-신청서는 회원과 센터회원 모두가 조회할 수 있도록 각 테이블과 FK로 연결하였습니다.
-파일 테이블 생성 후 수정 및 연결할 예정입니다.
📌ERD(정리전)
-ERD는 작성 및 관계만 연결해두었으며 추후에 수정 및 정리 할 예정입니다.
'개발 > 국비 Spring Boot Project' 카테고리의 다른 글
Spring Boot 프로젝트 15일차[20241024] (2) | 2024.10.24 |
---|---|
Spring Boot 프로젝트 14일차[20241020] (2) | 2024.10.20 |
Spring Boot 프로젝트 12일차[20241016] (0) | 2024.10.16 |
Spring Boot 프로젝트 11일차[20241015] (0) | 2024.10.15 |
Spring Boot 프로젝트 10일차[20241013] (1) | 2024.10.13 |