[Like 5] DB 피드백 정리

     

    이번 프로젝트 DB 피드백을 정리한 내용입니다. 각각 DB 상황에 따라 다를 수 있습니다.

     

    AS-IS TO-BE 배운 점
    소셜 로그인 ( 카카오, 네이버 ) 로컬 로그인 + 소셜 로그인  카카오, 네이버 없는 사용자가 있을 수 있으니까 기본적으로 로컬 로그인 기능 구현은 구현하기
    board 테이블의 board_content 컬럼의 데이터 타입 VARCHAR2(4000) CLOB으로 변경 HTML 태그도 사용하는 경우에는 길이가 길어지기 때문에 VARCHAR2(4000)은 부족할 수 있다.  따라서 CLOB이라는 데이터 타입을 사용하자
    태그 테이블과 board 테이블 연결 관계  태그와 board 테이블의 연결 관계는 해제하고 board 테이블에 태그명이라는 컬럼 추가 태그 테이블은 조회 용도로만 가져오기, board 테이블에 사용자가 입력한 태그는 #java#html#css등으로 #를 구분자로 해서 하나의 컬럼에 입력받기  
    신고 분류 테이블과 신고 테이블을 별도로 구분 신고 테이블에 신고 유형과 어떤 글에서 신고를 받았는지 그 몇 번 게시글을 참조하는지를 알려주는 컬럼 추가 테이블을 따로 빼는 이유는 관리자가 테이블에 항목을 추가,수정,삭제할 수 있게 하기 위함. 신고의 경우 따로 신고 항목이 추가,수정 될 예정이 없이 때문에 신고 분류 테이블로 나누지 않고 신고 테이블에 합치기
    board 테이블에서 제목과 내용을 NotNull로 저장하기 null로 변경 임시 저장 기능이 있는 경우에는 제목과 내용을 입력하지 않고 저장했을 수도 있기 때문에,  
    제목과 내용은 null로 둔다.
    글 작성하기 페이지에서 사진 첨부해서 대표 이미지 지정하기 대표 이미지를 설정하는 화면을 따로 구현할 것  토스트 ui의 경우 사진을 넣어도 board_content에 들어가기 때문에, 
    대표 이미지가 필요한 경우에는 따로 대표 이미지를 입력할 수 있는 화면 구현을 해야한다.
    댓글 테이블 댓글 깊이, 참조 댓글 번호 컬럼 추가 대댓글 기능이 있는 경우, 댓글 깊이과 해당 댓글이 몇번 원글(원댓글)을 참조하는지 알 수 있는 참조 댓글 번호 컬럼이 필요하다. 
    * connect by 구문을 사용하기, 계층형 쿼리문을 이용하기 
    신고 테이블  사용자에게 받은 신고는 관리자 판단하에 블라인드 처리 시키자! 사용자 입장에서 생각해보자!
    첨부 파일 테이블 원본명 + 수정명 컬럼 삭제 이미지 저장하기 기능이 없는 경우, 해당 테이블은 삭제 가능하다.
    FileURL = FilePath로 저장 파일 경로 컬럼에 수정명까지 저장하면 된다.

     

     

    프로젝트를 위한 DB 설계에 그치는 것이 아니라, 사용자 입장에서도 생각해보고, 여러가지 경우의 수까지 생각해서 DB 설계를 해야겠다. 

     

     

    728x90

    댓글