Skip to content

KWEBofficial/202R-backend-asgmt3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Assignment 3: DB Designing

2020 KWEB 가을학기 준회원 스터디

과제 3은 메신저 서버의 데이터베이스를 디자인하는 과제입니다.

Required Tables

  • 모든 테이블은 기본 키 id가 반드시 있어야 합니다.
  • 각 테이블의 column 이름과 자료형을 정하고, 옵션을 정해야 합니다.
    • 자료형은 각 column에 맞게 적절히 정합니다.
  • users : 메신저 사용자에 관한 정보
    • 사용자 아이디
    • 사용자 비밀번호
    • 사용자 닉네임
    • 프로필 사진 링크
    • 프로필 상태 메시지
    • 탈퇴 여부 (T/F) ; 기본값은 0
    • 가입 날짜
  • channels: 채팅 채널에 관한 정보
    • 이름
    • 채널을 생성한 사용자
    • 채널의 링크
    • 최대 수용 인원
    • 탈퇴 여부 (T/F) ; 기본값은 0
    • 채널 생성 날짜
  • chats: 각 채팅에 관한 정보
    • 채팅 내용
    • 채팅 작성자
    • 채팅 채널
    • 채팅 생성 날짜
  • follows: 팔로우에 관한 정보
    • 팔로우한 사람 (follower)
    • 팔로우되는 사람 (followee)
    • 팔로우 날짜
  • blocks: 사용자 간 차단에 관한 정보
    • 차단을 한 사람
    • 차단을 당한 사람
    • 차단 날짜

Object

  • 앞의 Required Tables 부분을 참고하여, 데이터베이스를 설계하세요.
  • 주어진 정보를 모두 저장할 수 있는 테이블을 각각 생성하는 SQL문을 작성합니다.
  • SQL문을 모두 chats.sql 파일에 작성한 후, 깃헙에 업로드하여 제출합니다.

Tips

  • SQL 파일은 다음과 같이 작성하면 됩니다.
CREATE TABLE users (
	-- Your code here
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE channels (
	-- Your code here
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- chats / blocks table code here

CREATE TABLE follows (
	-- Your code here
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • DB에 직접 SQL문을 작성하여 잘 작동하는지 확인해봅니다. DESC 키워드를 이용하여 테이블이 어떻게 설계되었는지 확인할 수 있습니다.
  • 외래 키가 있는 테이블을 생성할 때 참조되는 column이 있는 테이블이 없으면, 테이블은 생성되지 않습니다.
    • 예를 들어, 스터디 자료의 courses 테이블과 departments 테이블에서 courses.department column이 departments.id column을 참조하는데, departments 테이블을 생성하지 않은 채로 courses 테이블을 생성하려고 하면 에러가 발생합니다.
  • 깃헙에 업로드할 때 .gitignore은 작성하지 않아도 됩니다.

Submission

  • 제출 기한은 11/14 (토)입니다. 지각 제출 기한은 11/16 (월)입니다.
  • 각 분반 오픈채팅방의 톡 게시판에 과제 3 제출 게시글에 깃헙 저장소의 링크를 댓글로 남겨주시면 됩니다.
  • 깃헙 저장소가 Private이면 열람이 불가능하니 반드시 Public으로 설정해주세요.
  • 모르거나 궁금한 것이 있으면 구글에 검색해보는 것도 좋고, 스터디장에게 질문해보시는 것도 좋습니다!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published