테이블 명세
구조 설계를 바탕으로 실제 DBMS에서 구현할 쿼리를 작성한다.
Last updated
구조 설계를 바탕으로 실제 DBMS에서 구현할 쿼리를 작성한다.
Last updated
이를 통해 실제로 DBMS 내에 구현할 쿼리 및 해당 테이블에 대하여 설명한다.
세종대학교에 소속된 대학 정보를 관리하는 테이블이다.
세종대학교 각 대학에 소속된 학과 정보를 관리하는 테이블이다.
복수의 학과는 하나의 대학에 소속된다.
각 학과는 대자보에서 표시하기 위한 각기 다른 고유의 색을 가지고 있다.
세자보의 사용자를 관리하는 테이블이다. 모든 회원은 하나의 학과에 소속되어 있다.
비밀번호는 SHA256 해쉬를 거친 데이터 값을 저장한다.
세자보에 등록된 게시물을 관리하는 테이블이다.
게시일은 무조건 현재 날짜로 고정된다.
사용자는 하나의 게시물만을 작성할 수 있으며, 하나의 게시물은 한명의 사용자에게 소유될 수 있다.
첨부 URL 혹은 첨부 이미지의 경우, 선택적으로 제출할 수 있다.
조회수는 맨 처음 게시글 생성시 0으로 초기화한다.
블록 크기는 실제 세자보 웹 페이지에 나타낼 블록의 크기를 뜻한다. 크기를 나타내는 값은 1,2,3.. 3종류가 존재한다.
만료 날짜를 통한 쿼리 연산을 고려하여 별도의 인덱스를 생성한다.
해당 포스트가 게시될 건물을 관리하는 테이블이다.
건물과 게시물의 다대다 관계를 관리하기 위한 관계 테이블이다.
사용자와 게시물간의 다대다 관계를 관리하기 위한 관계 테이블이다.
interest 값을 통해 해당 사용자가 게시물에 대한 호감 기능 여부를 알 수있다. 1일 경우, 좋아요이고, 0일 경우, 싫어요를 등록한 것이며, 데이터가 없을 경우 아무 기능도 수행하지 않은 것이다.
interest 값을 통한 쿼리 연산을 고려하여 별도의 인덱스를 생성한다.
PK
AI
FK
NULL
논리적 명칭
물리적 명칭
타입
비고
True
대학코드
college_code
TINYINT
대학명
name
VARCHAR(20)
PK
AI
FK
NULL
논리적 명칭
물리적 명칭
타입
True
학과코드
major_code
TINYINT
학과명
name
VARCHAR(20)
True
소속대학
college_code
TINYINT
학과 색코드
color
VARCHAR(10)
RGB code
PK
AI
FK
NULL
논리적 명칭
물리적 명칭
타입
True
학번
student_id
INT
비밀번호
pw
VARCHAR(100)
True
소속학과
major_code
TINYINT
이름
name
VARCHAR(10)
PK
AI
FK
NULL
논리적 명칭
물리적 명칭
타입
True
True
게시글 아이디
post_id
INT
True
작성자
author
INT
게시일
reg_date
DATETIME
만료일
exp_date
DATETIME
제목
title
VARCHAR(500)
내용
content
TEXT
True
첨부 URL
url
TEXT
http, https로 시작할 것.
True
첨부 이미지
img_url
VARCHAR(1000)
학번 + 현재날짜로 저장.
조회수
view_count
INT
default 0
블록 크기
size
TINYINT
1, 2, 3, 4 중 선택
PK
AI
FK
NULL
논리적 명칭
물리적 명칭
타입
True
건물코드
building_code
TINYINT
건물명
name
VARCHAR(20)
PK
AI
FK
NULL
논리적 명칭
물리적 명칭
타입
True
True
건물코드
building_code
TINYINT
True
True
게시글 아이디
post_id
INT
PK
AI
FK
NULL
논리적 명칭
물리적 명칭
타입
비고
True
True
사용자 학번
student_id
TINYINT
True
True
게시글 아이디
post_id
INT
좋아요/싫어요
interest
TINYINT
1: 좋아요
0: 싫어요