<aside> 👤
회원로그인 테이블 생성 쿼리문(member)
CREATE TABLE member (
    member_no_login INT NOT NULL AUTO_INCREMENT PRIMARY KEY,   -- 회원번호 (PK)
    member_id VARCHAR(20) NOT NULL,                            -- 아이디
    member_pw VARCHAR(20) NOT NULL,                            -- 비밀번호
    email VARCHAR(50),                                    -- 이메일
    name VARCHAR(20) NOT NULL,                            -- 이름
    birth_date DATE NOT NULL,                             -- 생년월일
    join_date DATETIME NOT NULL,                          -- 가입날짜
    member_nick VARCHAR(50),                                   -- 닉네임
    member_img VARCHAR(255)                               -- 사진 (파일경로 문자열로 처리)
);
</aside>
<aside> 💬
커뮤니티 게시글 테이블 생성 쿼리문(community_post)
CREATE TABLE community_post (
   post_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,     -- 글번호
   member_no_login INT NOT NULL,                             -- 회원번호 (작성자)
   created_at DATETIME NOT NULL,                        -- 생성시간
   title VARCHAR(200) NOT NULL,                         -- 제목
   content TEXT NOT NULL,                               -- 내용
   view_count INT NOT NULL DEFAULT 0,                   -- 조회수
   updated_at DATETIME NOT NULL,                        -- 업데이트시간
   `like` INT DEFAULT 0,                                -- 좋아요 수 (예약어 주의로 백틱 처리)
   FOREIGN KEY (member_no_login) REFERENCES member(member_no_login)
);
커뮤니티 댓글 테이블 생성 쿼리문(community_comment)
CREATE TABLE community_comment (
  comment_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,  -- 댓글번호
  post_id INT NOT NULL,                                -- 글번호
  member_no_login INT NOT NULL,                             -- 회원번호
  content TEXT NOT NULL,                               -- 댓글 내용
  updated_at DATETIME NOT NULL,                        -- 업데이트시간
  FOREIGN KEY (post_id) REFERENCES community_post(post_id),
  FOREIGN KEY (member_no_login) REFERENCES member(member_no_login)
커뮤니티 게시글 파일첨부 생성 쿼리문(community_postfile)
 CREATE TABLE community_postfile (
      post_id INT NOT NULL,                                -- 글번호
      member_no_login INT NOT NULL,                             -- 회원번호
      file_name VARCHAR(255),                              -- 파일이름
      file_path VARCHAR(500),                              -- 파일경로
      file_type VARCHAR(50),                               -- 파일타입
      uploaded_at DATETIME,                                -- 업로드 시간
      FOREIGN KEY (post_id) REFERENCES community_post(post_id),
      FOREIGN KEY (member_no_login) REFERENCES member(member_no_login)
);
</aside>
<aside> 📆
리마인더 테이블 생성 쿼리문(reminder)
CREATE TABLE reminder(
			re_id INT AUTO_INCREMENT PRIMARY KEY,           -- 리마인더 고유 아이디
			member_no_login INT,                                 -- 포린키
			re_title VARCHAR(15) NOT NULL,                  -- 제목
			re_content VARCHAR(30),                         -- 내용
			re_created DATETIME DEFAULT CURRENT_TIMESTAMP,  -- 생성 날짜
			re_date DATE,                                   -- 설정 날짜
			re_repeat BOOLEAN DEFAULT FALSE NOT NULL,       -- 요일 반복 사용 여부
			re_alarm BOOLEAN DEFAULT FALSE NOT NULL,        -- 알람 사용 여부
			
			
			FOREIGN KEY (member_no_login) REFERENCES member(member_no_login)
);
리마인더 반복 요일 테이블 생성 쿼리문(reminder_repeat)
CREATE TABLE reminder_repeat(
			rr_dow INT NOT NULL,                             -- 반복 요일
			re_id INT,                                       -- 포린키
			
			
			FOREIGN KEY (re_id) REFERENCES reminder(re_id),
			PRIMARY KEY (rr_dow, re_id)
);
</aside>
<aside> 🍴
식단 테이블 생성 쿼리문(meal_category)
CREATE TABLE meal_category(
			meal_id INT AUTO_INCREMENT PRIMARY KEY,         -- 식단표 고유 아이디
			member_no_login INT NOT NULL,                        -- 회원번호
			food_db_id INT NOT NULL,                        -- 음식DBID
			meal_time DATETIME DEFAULT CURRENT_TIMESTAMP,   -- 먹은 시간				
			FOREIGN KEY (member_no_login ) REFERENCES member(member_no_login ),
			FOREIGN KEY (food_db_id) REFERENCES meal_food_db(food_db_id)
);
음식 DB 테이블 생성 쿼리문 (food_db)
CREATE TABLE meal_**food_db**(
			food_db_id   INT AUTO_INCREMENT PRIMARY KEY,    -- 음식DB 고유 아이디
			food_name    VARCHAR(30),                       -- 음식 이름
			food_category   VARCHAR(30),                       -- 음식 분류
			calorie      INT,                               -- 칼로리			
			protein      float,                             -- 단백질
			fat          float,                             -- 지방
			carbohydrate float,                             -- 탄수화물
			sugar        float,                             -- 당류
			natrium      float		                          -- 나트륨
);
하루 전체 칼로리 테이블 생성 쿼리문(routine)
CREATE TABLE meal_total_calo(
			member_no_login    INT ,                        -- 식단표 고유 아이디
			meal_day           VARCHAR(20),                 -- 먹은 날짜 (yyyy.mm.dd)
			total_calorie      INT,                         -- 칼로리			
			total_protein      float,                       -- 단백질
			total_fat          float,                       -- 지방
			total_carbohydrate float,                       -- 탄수화물
			total_sugar        float,                       -- 당류
			total_natrium      float,		                    -- 나트륨
			total_cal    INT,                               -- 음식 총 칼로리
      PRIMARY KEY (m_no_login, meal_day)
);
</aside>
<aside> 💪
<exercise> 운동 종목 테이블
CREATE TABLE exercise (
		exercise_id INT AUTO_INCREMENT NOT NULL
	, exercise_name VARCHAR(20) NOT NULL
	, met FLOAT NOT NULL
	, PRIMARY KEY(exercise_id)
);
<exerciselog> 운동 기록 테이블
CREATE TABLE exerciselog (
	  exerciselog_id INT AUTO_INCREMENT
	, member_no INT NOT NULL
	, exercise_id INT NOT NULL
	, exercise_datetime DATETIME DEFAULT CURRENT_TIMESTAMP() NOT NULL
	, exercise_kcal INT NOT NULL
	, exercise_duration INT NOT NULL
	, effort_level INT NOT NULL
	, PRIMARY KEY(exerciselog_id)
	, FOREIGN KEY(member_no) REFERENCES member(m_no_login)
	, FOREIGN KEY(exercise_id) REFERENCES exercise(exercise_id)
);
<healthlog> 건강 기록 테이블
CREATE TABLE healthlog (
		healthlog_id INT AUTO_INCREMENT
	, member_id INT NOT NULL
	, weight INT NexerciseOT NULL
	, height INT NOT NULL
	, systolic_bp INT 
	, diastolic_bp INT 
	, sugar_level INT
	, mood_level INT 
	, sleep_quality INT 
	, healthlog_datetime DATETIME DEFAULT CURRENT_TIMESTAMP() NOT NULL
	, PRIMARY KEY(healthlog_id)
);
</aside>
<aside> 🌏
<locallist> 지역 정보 테이블
CREATE TABLE locallist (
city VARCHAR(15) NOT NULL,
county VARCHAR(15) NOT NULL,
town VARCHAR(15) NOT NULL,
nx INT NOT NULL,
ny INT NOT NULL,
PRIMARY KEY (city, county, town));
</aside>
메모/다이어리 - 복진승
🗒️메모
CREATE TABLE memo (
memo_id INT PRIMARY KEY AUTO_INCREMENT,
member_no_login INT,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
memo_name VARCHAR(50) NOT NULL,
memo_content VARCHAR(300) NOT NULL,
memo_image VARCHAR(255) NULL,
FOREIGN KEY(member_no_login) REFERENCES member(member_no_login)
);
📝 다이어리
CREATE TABLE diary (
memo_id INT PRIMARY KEY AUTO_INCREMENT,
member_no_login INT,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
diary_name VARCHAR(50) NOT NULL,
diary_content TEXT NOT NULL,
diary_image VARCHAR(255) NULL,
FOREIGN KEY(member_no_login) REFERENCES member(member_no_login)
);