Advertisement
Radoslav_03

news_site

Mar 7th, 2024
973
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.86 KB | None | 0 0
  1. CREATE DATABASE newsDB;
  2. USE newsDB;
  3.  
  4. CREATE TABLE news_categories (
  5.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  6.     name VARCHAR(200)
  7. );
  8.  
  9. CREATE TABLE news (
  10.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  11.     title VARCHAR(100) NOT NULL,
  12.     content TEXT NOT NULL,
  13.     publish_date DATE NOT NULL,
  14.    
  15.     category_id INT UNIQUE NOT NULL,
  16.     CONSTRAINT FOREIGN KEY(category_id) REFERENCES news_categories(id)
  17. );
  18.  
  19. CREATE TABLE images (
  20.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  21.     url TEXT NOT NULL,
  22.    
  23.     news_id INT UNIQUE NOT NULL,
  24.     CONSTRAINT FOREIGN KEY (news_id) REFERENCES news(id)
  25. );
  26.  
  27. CREATE TABLE videos (
  28.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  29.     url TEXT NOT NULL,
  30.    
  31.     news_id INT UNIQUE NOT NULL,
  32.     CONSTRAINT FOREIGN KEY (news_id) REFERENCES news(id)
  33. );
  34.  
  35. CREATE TABLE users (
  36.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  37.     username VARCHAR(50) NOT NULL,
  38.     email VARCHAR(100) NOT NULL,
  39.     password VARCHAR(200) NOT NULL,
  40.     role ENUM("Admin", "Editor", "Reader")
  41. );
  42.  
  43. CREATE TABLE users_news (
  44.     user_id INT UNIQUE NOT NULL,
  45.     news_id INT UNIQUE NOT NULL,
  46.    
  47.     CONSTRAINT FOREIGN KEY(user_id) REFERENCES users(id),
  48.     CONSTRAINT FOREIGN KEY(news_id) REFERENCES news(id),
  49.     PRIMARY KEY(user_id, news_id)
  50. );
  51.  
  52. CREATE TABLE comments (
  53.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  54.     content TEXT NOT NULL,
  55.     published_date DATE NOT NULL,
  56.    
  57.     news_id INT UNIQUE NOT NULL,
  58.     user_id INT UNIQUE NOT NULL,
  59.    
  60.     CONSTRAINT FOREIGN KEY(news_id) REFERENCES news(id),
  61.     CONSTRAINT FOREIGN KEY(user_id) REFERENCES users(id)
  62. );
  63.  
  64. CREATE TABLE user_activity (
  65.     id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  66.     user_action ENUM("Login", "Comment", "Delete account"),
  67.     timestampp TIMESTAMP,
  68.    
  69.     user_id INT UNIQUE NOT NULL,
  70.     CONSTRAINT FOREIGN KEY(user_id) REFERENCES users(id)
  71. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement