diff --git a/database/1-create-table-users.sql b/database/1-create-table-users.sql
new file mode 100644
index 0000000000000000000000000000000000000000..b138fb00e6995f74d60e1779e04cb399fefdff38
--- /dev/null
+++ b/database/1-create-table-users.sql
@@ -0,0 +1,8 @@
+CREATE TABLE IF NOT EXISTS users (
+  user_ID SERIAL PRIMARY KEY,
+  user_name VARCHAR(255),
+  username VARCHAR(255) UNIQUE,
+  user_email VARCHAR(255) UNIQUE,
+  user_hashedPass VARCHAR(255),
+  isAdmin BOOLEAN
+);
\ No newline at end of file
diff --git a/database/2-create-table-events.sql b/database/2-create-table-events.sql
new file mode 100644
index 0000000000000000000000000000000000000000..80c7f2615c49a6f979ce5645488165c1d3e55e7f
--- /dev/null
+++ b/database/2-create-table-events.sql
@@ -0,0 +1,10 @@
+CREATE TABLE IF NOT EXISTS events (
+  event_id SERIAL PRIMARY KEY,
+  event_name VARCHAR(255),
+  event_stock INT,
+  event_price INT,
+  event_date TIMESTAMP,
+  event_location VARCHAR(255),
+  gambar VARCHAR(255),
+  vid VARCHAR(255)
+);
\ No newline at end of file
diff --git a/database/3-create-table-tickets.sql b/database/3-create-table-tickets.sql
new file mode 100644
index 0000000000000000000000000000000000000000..0de3886b985ffe29f246aae4482fd3e48014d84d
--- /dev/null
+++ b/database/3-create-table-tickets.sql
@@ -0,0 +1,6 @@
+CREATE TABLE IF NOT EXISTS tickets (
+  ticket_id SERIAL PRIMARY KEY,
+  ticket_name VARCHAR(255),
+  event_id INT,
+  FOREIGN KEY (event_id) REFERENCES events(event_id) ON DELETE SET NULL
+);
diff --git a/database/4-create-table-pembelian.sql b/database/4-create-table-pembelian.sql
new file mode 100644
index 0000000000000000000000000000000000000000..05e8eacab283585a2c45d7a7c8cad6a0ea321475
--- /dev/null
+++ b/database/4-create-table-pembelian.sql
@@ -0,0 +1,8 @@
+CREATE TABLE IF NOT EXISTS pembelian (
+  pembelian_id SERIAL PRIMARY KEY,
+  ticket_id INT,
+  user_id INT,
+  pembelian_created_time TIMESTAMP,
+  FOREIGN KEY (ticket_id) REFERENCES tickets(ticket_id),
+  FOREIGN KEY (user_id) REFERENCES users(user_ID) ON DELETE SET NULL
+);
diff --git a/database/5-create-table-subscription.sql b/database/5-create-table-subscription.sql
new file mode 100644
index 0000000000000000000000000000000000000000..9f78283a64a43410fd26416c7ea047a88b24ef8f
--- /dev/null
+++ b/database/5-create-table-subscription.sql
@@ -0,0 +1,8 @@
+CREATE TABLE IF NOT EXISTS subscription (
+  creator_id INT NOT NULL,
+  subscriber_id INT NOT NULL,
+  status VARCHAR(10) NOT NULL DEFAULT 'PENDING',
+  creator_name VARCHAR(255) NOT NULL,
+  PRIMARY KEY (creator_id, subscriber_id),
+  FOREIGN KEY (subscriber_id) REFERENCES users(user_ID) ON DELETE CASCADE
+);