인스타그램 클론코딩

Stormi·2022년 6월 22일
0

클론코딩

목록 보기
1/3

시스템 분석

  • 유저 닉네임

  • 유저 이름

  • 유저 프로필 사진

  • 유저 소개글

  • 유저 웹 사이트 링크

  • 팔로워수

  • 팔로잉수

  • 게시물 개수

  • 게시물 사진

  • 게시물 내용

  • 게시물 좋아요 수

  • 게시물 댓글 수

  • 게시물 올린 시간

  • 댓글 내용

  • 댓글 올린 시간

  • 태그된 유저

  • 댓글 좋아요 수

  • 대댓글 여부

논리적 : entity, attribute, relation

Entity로 묶기

user :

  • 유저 닉네임
  • 유저 이름
  • 유저 프로필 사진
  • 유저 소개글
  • 유저 웹 사이트 링크

poster:

  • 게시물 개수
  • 게시물 사진
  • 게시물 내용
  • 게시물 좋아요 수
  • 게시물 댓글 수
  • 게시물 올린 시간

reply :

  • 댓글 내용
  • 댓글 올린 시간
  • 태그된 유저
  • 댓글 좋아요 수
  • 대댓글 여부

follow:

  • 팔로워수
  • 팔로잉수

물리적

  • entity -> table
  • attribute -> column
  • 관계는 1:1, 1:N, N:M
    테이블간의 관계를 생각하기

유저 : 게시물 = 1 : N
게시물 : 댓글 = 1: N
유저 : 댓글 = 1 : N

PK FK join

  • pk : 숫자를 부여해줌
  • fk : 관계를 설정해주는 인덱스

테이블 : user, poster 가 있다.

user table : nickname, name, introduce, userIndex, posterIndex

poster table : posterIndex, content

이렇게 있으면 중복이 심함 -> 정규화가 필요

정규화란? 정규화는 데이터들의 중복을 최소화하기 위한 과정

따라서 poster table에 userIndex를 추가해주면 중복을 최소화할 수 있음.
n : m 관계는 따로 테이블을 하나 더 만들어줘야 중복을 막을 수 있다.

0개의 댓글