테이블 명세

구조 설계를 바탕으로 실제 DBMS에서 구현할 쿼리를 작성한다.

Table 소개

이를 통해 실제로 DBMS 내에 구현할 쿼리 및 해당 테이블에 대하여 설명한다.

대학 테이블

세종대학교에 소속된 대학 정보를 관리하는 테이블이다.

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)

  • 비밀번호는 SHA256 해쉬를 거친 데이터 값을 저장한다.

게시물 테이블

세자보에 등록된 게시물을 관리하는 테이블이다.

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 중 선택

  • 게시일은 무조건 현재 날짜로 고정된다.

  • 사용자는 하나의 게시물만을 작성할 수 있으며, 하나의 게시물은 한명의 사용자에게 소유될 수 있다.

  • 첨부 URL 혹은 첨부 이미지의 경우, 선택적으로 제출할 수 있다.

  • 조회수는 맨 처음 게시글 생성시 0으로 초기화한다.

  • 블록 크기는 실제 세자보 웹 페이지에 나타낼 블록의 크기를 뜻한다. 크기를 나타내는 값은 1,2,3.. 3종류가 존재한다.

  • 만료 날짜를 통한 쿼리 연산을 고려하여 별도의 인덱스를 생성한다.

건물 테이블

해당 포스트가 게시될 건물을 관리하는 테이블이다.

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: 싫어요

  • interest 값을 통해 해당 사용자가 게시물에 대한 호감 기능 여부를 알 수있다. 1일 경우, 좋아요이고, 0일 경우, 싫어요를 등록한 것이며, 데이터가 없을 경우 아무 기능도 수행하지 않은 것이다.

  • interest 값을 통한 쿼리 연산을 고려하여 별도의 인덱스를 생성한다.

Last updated

Was this helpful?