데이터 주입

댕댕감자

erd.png

<aside> 👤 Member

순서 컬럼명 데이터타입 설정 이유
1 member_id INT PRIMARY KEY AUTO_INCREMENT
2 email VARCHAR(320) UNIQUE
NOT NULL

CHECK (email REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$') | - 이메일 주소의 길이는 보통 254자 미만입니다. 실제 문자열의 길이에 따라 저장 공간을 효율적으로 사용할 수 있음

  1. 이메일은 @을 기준으로 로컬파트와 도메인파트로 나뉨
  2. 로컬파트는 64자리, 도메인 파트는 255자리
  3. 총 길이는 @포함 320자리 | | 3 | nickname | VARCHAR(20) | UNIQUE NOT NULL | - 닉네임은 일반적으로 문자열로 표현되며, 문자열의 길이는 다양할 수 있습니다.

-일반적으로 닉네임의 길이는 20자 정도로 제한하는 것이 일반적입니다. 이는 대부분의 웹 사이트 및 애플리케이션에서 사용되는 일반적인 제한 길이입니다.

가독성: 너무 긴 닉네임은 사용자들에게 가독성 문제를 일으킬 수 있습니다. 너무 길게 입력된 닉네임은 화면에 표시되는 공간을 넘어갈 수 있으며, 사용자들이 이를 인식하기 어렵게 만들 수 있습니다.

데이터베이스 공간: 닉네임은 사용자들이 자주 사용하는 정보 중 하나이므로, 저장 공간의 효율성도 중요합니다. 너무 긴 닉네임은 데이터베이스의 저장 공간을 낭비할 수 있습니다. 20자로 제한하면서도 일반적인 사용자의 닉네임을 수용할 수 있는 범위로 설정할 수 있습니다.

UX(사용자 경험): 닉네임은 사용자 간에 식별을 위한 목적으로 사용되는 경우가 많습니다. 닉네임이 너무 길면 사용자들이 기억하기 어려울 수 있으며, 편리한 사용자 경험을 저해할 수 있습니다. 20자로 제한하면 사용자가 쉽게 닉네임을 입력하고 기억할 | | 4 | login_type | VARCHAR(10) | NOT NULL | |

<aside> 💡 Inquiry

순서 컬럼명 데이터타입 설정 이유
1 inquiry_id INT PRIMARY KEY AUTO_INCREMENT
2 member_id INT FOREIGN KEY
3 content TEXT NOT NULL - TEXT 데이터 타입은 매우 긴 문자열을 저장하는 데 사용

<aside> #️⃣ Hashtag

순서 컬럼명 데이터타입 설정 이유
1 hashtag_id INT PRIMARY KEY AUTO_INCREMENT
2 hashtag VARCHAR(255)

<aside> ➰ Category

순서 컬럼명 데이터타입 설정 이유
1 category_id TINYINT(3) PRIMARY KEY AUTO_INCREMENT - 카테고리 수 5개이므로 크기는 3으로

참고)

<aside> 📷 Photo

순서 컬럼명 데이터타입 설정 이유
1 photo_id INT PRIMARY KEY AUTO_INCREMENT
2 image VARCHAR(2048) NOT NULL - RFC 3986에서 명시된 규격에 따르면 URL의 최대 길이는 2,048자로 정의. 이는 URL 스킴, 호스트, 경로, 쿼리 문자열 및 프래그먼트 등을 모두 포함한 전체 URL의 길이를 의미함.

<aside> 💬 Review