본문 바로가기
JavaWeb

자바 웹 공부 40 - DB(잠깐 쉬어가기)

by 넴넴L 2023. 2. 24.
728x90

 

어제까지 만든 것의 기능을 알아보자

 

1. 회원가입

회원가입 시 이메일, 패스워드, 패스워드확인, 닉네임, 핸드폰 번호, 주소, 상세주소 입력

회원가입 시 필요한 데이터를 모두 입력하지 않으면 회원가입 진행 X

 

2. 회원가입 완료 -> 로그인을 할 수 있다.

로그인 시 이메일, 패스워드 입력

이메일과 패스워드가 일치하지 않으면 로그인 진행 X

 

3. 메인화면

메인화면에서는 주간 TOP3 게시물, 전체 게시물 리스트, 인기 검색어

 

4. 게시물 리스트의 각각의 아이템에는

작성자 프로필 사진, 작성자 닉네임, 작성날짜, 제목, 내용, 사진, 댓글 수, 좋아요 수, 조회 수

 

5. 네비게이션 바

검색을 하게 되면 제목에 검색어가 포함된 게시물 리스트와 연관 검색어가 보여진다.

해당하는 검색 결과가 없으면 검색 결과가 존재하지 않는다고 표시

 

6. 특정 게시물 클릭

게시물 상세정보가 보여진다.

상세 게시물에는 게시물 제목, 작성자, 프로필 사진, 작성자 닉네임, 작성 날짜, 내용, 사진이 보여진다

또한, 좋아요 버튼을 클릭 시 좋아요 활성화, 좋아요 토글을 클릭하면 해당 게시물에 좋아요를 한

사용자들의 프로필 사진과 닉네임이 리스트로 표시됨.

댓글 토글 클릭 시 해당 게시물의 댓글 리스트가 표시된다.

댓글 리스트 각각의 아이템에는 댓글 작성자의 프로필 사진, 댓글 작성자의 닉네임, 작성시간으로부터

몇분이 지났는지, 댓글 내용 표기

 

또한, 댓글 작성시 댓글 내용 작성

 

만약 로그인한 사용자가 해당 게시물의 작성자라면 해당 게시물 수정할 수 있다.

 

7. 게시물 수정 시

선택한 게시물이 입력창에 기본 값으로 지정되어 있다.

게시물은 제목, 내용, 이미지 수정 가능

또한 게시물 상세 보기에서 로그인한 사용자가 게시물 작성자라면 게시물 삭제를 할 수 있다.

 

 

8. 마이페이지

로그인한 사용자의 프로필 사진, 닉네임, 이메일 주소가 표시되고 로그인한 사용자가 작성한 게시물 리스트가 보여진다.


DB 추려내기

 

회원(이메일(PK), 패스워드, 닉네임, 핸드폰 번호, 주소, 프로필 사진)

게시물(게시물번호(임의의 후보키 PK AI), 제목, 내용, 이미지, 작성 날짜, 조회 수, 작성자 이메일(FK), 작성자 프로필 사진, 작성자 닉네임, 댓글 수, 좋아요 수)

댓글(작성자 이메일(FK), 게시물 번호(FK), 작성시간, 댓글 내용, 작성자 프로필 사진, 작성자 닉네임)

좋아요(회원 이메일(FK), 게시물 번호(FK), 작성자 프로필 사진, 작성자 닉네임)

인기검색어

1. (시퀀스, 검색어)

2. (검색어, 검색 횟수)

 

연관검색어(검색어)

1. (시퀀스, 감색어, 이전검색어)

2. (검색어, 이전검색어, 검색 횟수)

 

회원이 게시물 작성. 1:n

회원이 게시물 댓글 단다. n : m

외원이 게시물에 좋아요를 누른다. n : m

 

이렇게 짰으면 ERD(객체 관계 다이어그램)을 먼저 짜야한다.


d오랜만에 workbench를 켜서

 

저걸 누르고 빈 화면에 클릭

 

이렇게 만들어주자

다 만들어 준뒤 위에 박스 우클릭 -> copy SQL to clipboard 해주고

 

붙여주면 된다.

 

옆에 board 하나를 더 만들어주자

 

실선을 클릭한 후 Board 부터 클릭하고 User클릭해야한다.

그 후 Board를 보면 User_email이라고 뜰텐데 바꿔주고 다른 거 추가해주자

이거 클릭 후 2개를 클릭해주면

이렇게 새로 박스가 생긴다

이것도 수정해주자

 

똑같이 n:m 누르고 User, Board를 눌러주고

DB가 생겼으면 수정해주자

2개를 더 만들어주고

각각 설정해주자

 

이렇게 workbench에서 ERD와 SQL을 작성할 수 있다.

 

다음주에는 만든 DB로 Class를 만들어볼것이다.