TIL 11주차 5일 - Schema

Sang heon lee·2021년 7월 24일
0

TIL 리스트

목록 보기
41/60

1. 키워드

1. 테이블 (Table 또는 Realation)

  • 사전에 정의된 열의 데이터 타입대로 작성된 데이터가 행으로 축척됩니다.

2. 데이터 (data)

  • 각 항목에 저장되는 값

3. 칼럼 (Column 또는 field)

  • 테이블의 한 열을 가리킵니다.

4. 레코드 (Record 또는 tuple)

  • 테이블의 한 행에 저장된 데이터

5. 키 (Primary Key 또는 Foreign Key)

  • 테이블의 각 레코드를 구분할 수 있는 값.

2. 테이블 사이의 관계

2.1 1:1 관계

  • 하나의 레코드가 다른 테이블의 한개의 레코드와 연결된 경우

  • User 테이블의 phone_id 와 Phonebook 테이블의 phone_id 가 1:1 관계입니다.

2.2 1:N 관계

  • 하나의 레코드가 다른 테이블의 서로 다른 여러 개의 레코드와 연결된 경우
  • 한명의 유저 가 여러 전화번호를 가질 수 있습니다.

2.3 N:N 관계

  • 여러 개의 레코드가 다른 테이블의 여러 개의 레코드와 관계가 있는 경우

  • 중간에 Join Table 을 만들어 관리합니다.

  • 1:N 관계를 양방향으로 가지는 Join Table 이 만듭니다.

  • 고객 한 명이 여러 개의 여행 상품을 가질 수 있고, 여행 상품 하나가 여러 개의 고객을 가질 수 있습니다.

3. Schema 디자인

  • 테이블 간의 관계를 도식화해 놓은 디자인

3.1 스키마 디자인 사이트 : https://dbdiagram.io/

3.2 인스타 그램 스키마 디자인 연습

  1. 게시물(Post) 작성 기능
    인스타그램에서는 여러 개의 사진(A)을 올릴 수 있습니다. 사진을 업로드할 때, 사진을 설명하는 간단한 글(C)이 올라갑니다.

  2. 게시물에 댓글 달기 및 좋아요 기능
    게시물이 업로드되면 다른 사용자는 이 게시물에 댓글(E)을 달 수 있고, 좋아요(B) 를 눌러 관심을 표할 수 있습니다.

  3. 해시태그 기능
    게시물에 #감성 #맛집 등의 해시태그(D)를 남길 수 있으며, 이 해시태그를 누르면 이 해시태그가 사용된 모든 게시물을 한 데 모아 볼 수 있습니다.

  4. follow 기능
    인스타그램에서 친구 관계는 팔로워(follower)와 팔로잉(following)으로 나뉩니다. 김코딩이 최해커를 following 하면, 최해커의 피드가 김코딩의 홈 화면에 나타납니다. 최해커의 입장에서는 김코딩이 follower로 추가됩니다.
    https://dbdiagram.io/d/60fa7337b7279e4123378d69

참고 사이트 : https://velog.io/@seungsang00/Database-Instagram-%EC%8A%A4%ED%82%A4%EB%A7%88-%EB%94%94%EC%9E%90%EC%9D%B8

profile
개초보

0개의 댓글