-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSQL.txt
More file actions
85 lines (77 loc) · 2.79 KB
/
SQL.txt
File metadata and controls
85 lines (77 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
-- UUID 생성 확장 기능 추가
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-- ENUM 타입 생성 (Chat_History 테이블에서 사용)
CREATE TYPE sender_type AS ENUM ('user', 'bot');
-- 사용자 테이블
CREATE TABLE "User" (
"user_id" UUID NOT NULL DEFAULT uuid_generate_v4(),
"username" VARCHAR(50) NOT NULL,
"password" VARCHAR(255) NOT NULL,
"email" VARCHAR(100) NULL,
"profile_img" TEXT NULL,
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("user_id")
);
-- 목표 테이블
CREATE TABLE "Goal" (
"goal_id" UUID NOT NULL DEFAULT uuid_generate_v4(),
"user_id" UUID NOT NULL,
"title" VARCHAR(255) NOT NULL,
"description" TEXT NULL,
"target_date" DATE NOT NULL,
"is_completed" BOOLEAN NULL,
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("goal_id"),
CONSTRAINT "FK_User_TO_Goal" FOREIGN KEY ("user_id") REFERENCES "User" ("user_id") ON DELETE CASCADE
);
-- 기분 추적 테이블
CREATE TABLE "Mood" (
"mood_id" UUID NOT NULL DEFAULT uuid_generate_v4(),
"user_id" UUID NOT NULL,
"mood_type" VARCHAR(50) NOT NULL,
"mood_intensity" INT NULL,
"note" TEXT NULL,
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("mood_id"),
CONSTRAINT "FK_User_TO_Mood" FOREIGN KEY ("user_id") REFERENCES "User" ("user_id") ON DELETE CASCADE
);
-- 활동 기록 테이블
CREATE TABLE "Activity" (
"activity_id" UUID NOT NULL DEFAULT uuid_generate_v4(),
"user_id" UUID NOT NULL,
"activity_type" VARCHAR(100) NOT NULL,
"duration" INT NULL,
"satisfaction" INT NULL,
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("activity_id"),
CONSTRAINT "FK_User_TO_Activity" FOREIGN KEY ("user_id") REFERENCES "User" ("user_id") ON DELETE CASCADE
);
-- AI 피드백 테이블
CREATE TABLE "AI_Feedback" (
"feedback_id" UUID NOT NULL DEFAULT uuid_generate_v4(),
"user_id" UUID NOT NULL,
"content" TEXT NOT NULL,
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("feedback_id"),
CONSTRAINT "FK_User_TO_AI_Feedback" FOREIGN KEY ("user_id") REFERENCES "User" ("user_id") ON DELETE CASCADE
);
-- 행복 추적 테이블
CREATE TABLE "Happiness_Tracker" (
"tracker_id" UUID NOT NULL DEFAULT uuid_generate_v4(),
"user_id" UUID NOT NULL,
"week_number" INT NULL,
"happiness_score" INT NULL,
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("tracker_id"),
CONSTRAINT "FK_User_TO_Happiness_Tracker" FOREIGN KEY ("user_id") REFERENCES "User" ("user_id") ON DELETE CASCADE
);
-- 채팅 기록 테이블
CREATE TABLE "Chat_History" (
"chat_id" UUID NOT NULL DEFAULT uuid_generate_v4(),
"user_id" UUID NOT NULL,
"message" TEXT NOT NULL,
"sender" sender_type NOT NULL,
"created_at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ("chat_id"),
CONSTRAINT "FK_User_TO_Chat_History" FOREIGN KEY ("user_id") REFERENCES "User" ("user_id") ON DELETE CASCADE
);