0% found this document useful (0 votes)
12 views6 pages

E Action Schema

Uploaded by

zaranachothani22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views6 pages

E Action Schema

Uploaded by

zaranachothani22
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 6

E-auction Table queries

1. Admin Table:
CREATE TABLE Admin (

admin_id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(50) NOT NULL UNIQUE,

password_hash VARCHAR(255) NOT NULL,

email VARCHAR(100) NOT NULL UNIQUE,

role ENUM('superadmin', 'moderator') NOT NULL,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP

);

2. User Table:
CREATE TABLE Users (

user_id INT AUTO_INCREMENT PRIMARY KEY,

username VARCHAR(50) NOT NULL UNIQUE,

password_hash VARCHAR(255) NOT NULL,

email VARCHAR(100) NOT NULL UNIQUE,

full_name VARCHAR(100),

address TEXT,

phone_number VARCHAR(15),
user_type ENUM('buyer', 'seller') NOT NULL,

status ENUM('active', 'inactive') DEFAULT 'active',

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP

);

3. Auctions Table:
CREATE TABLE Auctions (

auction_id INT AUTO_INCREMENT PRIMARY KEY,

seller_id INT,

title VARCHAR(255) NOT NULL,

description TEXT,

category_id INT,

starting_bid DECIMAL(10, 2) NOT NULL,

reserve_price DECIMAL(10, 2),

current_bid DECIMAL(10, 2),

start_time TIMESTAMP,

end_time TIMESTAMP,

status ENUM('pending', 'approved', 'rejected', 'active', 'closed') DEFAULT


'pending',

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP,
FOREIGN KEY (seller_id) REFERENCES Users(user_id),

FOREIGN KEY (category_id) REFERENCES Categories(category_id)

);

4. Bids Table:
CREATE TABLE Bids (

bid_id INT AUTO_INCREMENT PRIMARY KEY,

auction_id INT,

user_id INT,

bid_amount DECIMAL(10, 2) NOT NULL,

bid_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

FOREIGN KEY (auction_id) REFERENCES Auctions(auction_id),

FOREIGN KEY (user_id) REFERENCES Users(user_id)

);

5. Categories Table:
CREATE TABLE Categories (

category_id INT AUTO_INCREMENT PRIMARY KEY,

category_name VARCHAR(100) NOT NULL UNIQUE,

description TEXT,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE


CURRENT_TIMESTAMP

);
6. Transactions Table:
CREATE TABLE Transactions (

transaction_id INT AUTO_INCREMENT PRIMARY KEY,

auction_id INT,

buyer_id INT,

seller_id INT,

amount DECIMAL(10, 2) NOT NULL,

payment_status ENUM('pending', 'paid', 'failed') DEFAULT 'pending',

transaction_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

FOREIGN KEY (auction_id) REFERENCES Auctions(auction_id),

FOREIGN KEY (buyer_id) REFERENCES Users(user_id),

FOREIGN KEY (seller_id) REFERENCES Users(user_id)

);

7. Feedback Table:
CREATE TABLE Feedback (

feedback_id INT AUTO_INCREMENT PRIMARY KEY,

auction_id INT,

user_id INT,

rating INT CHECK (rating >= 1 AND rating <= 5),

comments TEXT,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,


updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,

FOREIGN KEY (auction_id) REFERENCES Auctions(auction_id),

FOREIGN KEY (user_id) REFERENCES Users(user_id)

);

8. Notifications Table:
CREATE TABLE Notifications (

notification_id INT AUTO_INCREMENT PRIMARY KEY,

user_id INT,

message TEXT,

is_read BOOLEAN DEFAULT FALSE,

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

FOREIGN KEY (user_id) REFERENCES Users(user_id)

);

9. Reports Table:
CREATE TABLE Reports (

report_id INT AUTO_INCREMENT PRIMARY KEY,

reported_by INT,

auction_id INT,

reason TEXT,

status ENUM('pending', 'resolved') DEFAULT 'pending',

created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,


updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,

FOREIGN KEY (reported_by) REFERENCES Users(user_id),

FOREIGN KEY (auction_id) REFERENCES Auctions(auction_id)

);

10. System Logs Table:


CREATE TABLE SystemLogs (

log_id INT AUTO_INCREMENT PRIMARY KEY,

admin_id INT,

action TEXT,

timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,

FOREIGN KEY (admin_id) REFERENCES Admin(admin_id)

);

You might also like