[sql] Social media dashboard
Viewer
- USER
- -- Create 'Users' Table
- CREATE TABLE Users (
- UserID INT AUTO_INCREMENT PRIMARY KEY,
- Username VARCHAR(255) NOT NULL,
- ROLE VARCHAR(50),
- Email VARCHAR(255) NOT NULL UNIQUE,
- PasswordHash VARCHAR(255) NOT NULL
- );
- -- Create 'Platforms' Table
- CREATE TABLE Platforms (
- PlatformID INT AUTO_INCREMENT PRIMARY KEY,
- PlatformName VARCHAR(255) NOT NULL,
- API_Details TEXT
- );
- -- Create 'Accounts' Table
- CREATE TABLE Accounts (
- AccountID INT AUTO_INCREMENT PRIMARY KEY,
- UserID INT,
- PlatformID INT,
- AccountName VARCHAR(255) NOT NULL,
- Followers INT DEFAULT 0,
- JoinedDate DATE,
- FOREIGN KEY (UserID) REFERENCES Users(UserID),
- FOREIGN KEY (PlatformID) REFERENCES Platforms(PlatformID)
- );
- -- Create 'Posts' Table
- CREATE TABLE Posts (
- PostID INT AUTO_INCREMENT PRIMARY KEY,
- AccountID INT,
- Content TEXT,
- PostDate DATETIME,
- EngagementMetrics JSON,
- FOREIGN KEY (AccountID) REFERENCES Accounts(AccountID)
- );
- -- Create 'Engagements' Table
- CREATE TABLE Engagements (
- EngagementID INT AUTO_INCREMENT PRIMARY KEY,
- PostID INT,
- UserID INT,
- TYPE VARCHAR(50),
- TIMESTAMP DATETIME,
- FOREIGN KEY (PostID) REFERENCES Posts(PostID),
- FOREIGN KEY (UserID) REFERENCES Users(UserID)
- );
- -- Create 'Analytics' Table
- CREATE TABLE Analytics (
- AnalyticID INT AUTO_INCREMENT PRIMARY KEY,
- AccountID INT,
- MetricType VARCHAR(50),
- VALUE FLOAT,
- DateRange DATE,
- FOREIGN KEY (AccountID) REFERENCES Accounts(AccountID)
- );
- -- Create 'Reports' Table
- CREATE TABLE Reports (
- ReportID INT AUTO_INCREMENT PRIMARY KEY,
- UserID INT,
- CreationDate DATETIME,
- Content TEXT,
- FOREIGN KEY (UserID) REFERENCES Users(UserID)
- );
Editor
You can edit this paste and save as new: