일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 열거형
- 첫 프로그래밍
- gitkraken을 통한 프로젝트 올리기
- 데이터 모델링
- 친절한 SQL 튜닝
- 뷰
- 클러스터형 인덱스와 보조 인덱스
- 혼자 공부하는 컴퓨터 구조 + 운영체제
- 리눅스 마스터 2급
- 운영체제
- 컴퓨터 활용 능력 1급
- 명령 프롬프트
- 컴퓨터 활용 능력
- 2025-02-13
- 혼자 공부하는 네트워크
- github에 새 리포지토리 추가하기
- mysql 설치 방법과 정상 작동 확인하기
- 혼자 공부하는 SQL
- 컴퓨터 구조
- oracle
- youtube review
- 데이터모델링
- delete
- 혼자 공부하는 컴퓨터 구조 및 운영체제
- 인덱스의 개념과 장단점
- INSERT
- Update
- 웹 디자인 기능사
- 이것이 오라클이다
- sqld
- Today
- Total
코딩 브이로그
[데이터모델링] 4.2. [실습] 요구사항을 보고 DB 설계해보기 - JSCODE 커뮤니티 (2) 본문
안녕하세요, 유튜브를 통해서 데이터모델링을 학습하고 자료를 남깁니다.
이전 [실습] 요구사항을 보고 DB 설계해보기 - JSCODE 커뮤니티 (1) 의 게시글을 이어서 작성을 하였습니다.
1. 데이터 모델링
- 1:N의 관계를 갖는 테이블들은 FK를 만들어서 만듭니다.
하나의 테이블이 여러 개의 테이블의 정보를 가져와야 하는 경우
여러 테이블에 FK를 등록을 합니다.
1. 카테고리, 해시태그
카테고리와 해시태그의 경우 1:M 관계의 테이블이므로
여러 개의 테이블에 FK를 등록한다.
- N:M의 관계를 갖는 테이블들은 중간 테이블을 만들어서 FK를 몰아 넣습니다.
예시) 게시글-해시태그, 팔로우, 신고, 좋아요, 조회수
1. 게시글-해시태그
게시글 : 해시태그 = N:M 관계의 테이블
해시 태그 테이블을 만들고,
두 테이블을 연결하기 위한 게시글-해시태그 중간 테이블을 만든다.
2. 좋아요
회원 : 게시글 = N:M 관계의 테이블
두 테이블을 연결하기 위한 좋아요 중간 테이블을 만든다.
3. 신고
회원 : 게시글 N:M 관계의 테이블
신고한 회원과 해당 게시물과의 관계는 N:M이다.
그래서 신고라는 중간 테이블을 만들어서 관계를 만들어 준다.
추가로 신고 테이블에 신고 사유를 추가하여
회원의 해당 게시글에 대한 신고 사유를 남길 수 있도록 한다.
4. 조회수
회원 : 게시글 = N:M 관계의 테이블
두 테이블을 연결하기 위한 중간 테이블을 만든다.
이유는 한 로그인 회원의 새로고침을 통한 조회수 올리기 방지 기능을 위하여
어떤 회원이 어떤 게시글을 조회했는지를 알아야 한다.
조회수 테이블을 통해서 각 게시글의 회원들의 조회수를 통계 수치로 구할 수 있다.
5. 팔로우
N:M 관계의 테이블
회원 테이블의 사용자가 다른 사용자를 팔로우 하는 기능이다.
팔로우라는 중간 테이블을 만들고
FK를 몰아줌으로써 만든다.
- 통계 수치는 따로 테이블을 빼서 조회합니다.
1. 좋아요수와 조회수
좋아요 테이블과 조회수 테이블에서
직접 통계한 수치를
조회할 때 한꺼번에 조회합니다.
게시글의 좋아요수와 조회수는
통계의 부분에 속합니다.
이러한 경우
직접 테이블을 통해서 수치를 구할 수 있도록 하고
컬럼에서는 제외합니다.
감사합니다.
https://www.youtube.com/watch?v=8jpyt-T0Fz0&list=PLtUgHNmvcs6ooYsXgdlE80_QjGj8lg4YG&index=13
'DB' 카테고리의 다른 글
[데이터모델링] 4.1. [실습] 요구사항을 보고 DB 설계해보기 - JSCODE 커뮤니티 (1) (0) | 2024.10.30 |
---|---|
[데이터모델링] 3.4 [규칙 5] 가짜 중복과 진짜 중복을 구별해라 (1) | 2024.10.30 |
[데이터모델링] 3.3 [규칙 4] 데이터 중복이 발생하는 컬럼이 있는 지 확인해라 (1) | 2024.10.29 |
[데이터모델링] 3.2 [규칙 1] 한 칸에는 한 가지 정보만 들어가도록 만들어라 - 2 (0) | 2024.10.29 |
[데이터모델링] 3.1 [규칙1] 한 칸에는 한 가지 정보만 들어가도록 만들어라 - 1 (2) | 2024.10.29 |