MySQL新闻发布系统

MySQL新闻发布系统

  • 创建数据库webnews
  • CREATE DATABASE webnews
  • USE webnews

在这里插入图片描述
在这里插入图片描述
用户信息表

CREATE TABLE user(
#用户编号
userID INT PRIMARY KEY UNIQUE NOT NULL,
#用户名称
userName VARCHAR(20) NOT NULL,
#用户密码
userPassword VARCHAR(20) NOT NULL,
#用户性别
sex VARCHAR(10) NOT NULL,
#用户Email
userEmail VARCHAR(20) NOT NULL
);


在这里插入图片描述
管理员信息表

CREATE TABLE admin(
#管理员编号
adminID INT PRIMARY KEY UNIQUE NOT NULL,
#管理员名称
adminName VARCHAR(20) NOT NULL,
#管理员密码
adminPassword VARCHAR(20) NOT NULL );


在这里插入图片描述
权限管理信息表

CREATE TABLE roles(
#权限编号
roleID INT PRIMARY KEY UNIQUE NOT NULL,
#权限名称
roleName VARCHAR(20) NOT NULL );


在这里插入图片描述
新闻信息表

CREATE TABLE news(
#新闻编号
newsID INT PRIMARY KEY NOT NULL,
#新闻标题
newsTitle VARCHAR(50) NOT NULL,
#新闻内容
newsContent TEXT NOT NULL,
#发布时间
newsDate TIMESTAMP ,
#新闻描述
newsDesc VARCHAR(50) NOT NULL,
#新闻级别
newsRate INT NOT NULL,
#新闻是否检查
newsIsCheck BIT NOT NULL );


在这里插入图片描述
栏目信息表

CREATE TABLE category(
#栏目编号
categoryID INT PRIMARY KEY UNIQUE NOT NULL,
#栏目名称
categoryName VARCHAR(20) NOT NULL,
#栏目描述
categoryDesc VARCHAR(50) NOT NULL );


在这里插入图片描述

扫描二维码关注公众号,回复: 11799505 查看本文章

评论信息表

CREATE TABLE comment(
#评论编号
commentID INT PRIMARY KEY UNIQUE NOT NULL,
#评论标题
commentTitle VARCHAR(50) NOT NULL,
#评论内容
commentContent TEXT NOT NULL,
#评论时间
commentDate TIMESTAMP );


在这里插入图片描述
管理员_权限信息表

CREATE TABLE admin_Roles(
#管理员_权限编号
aRID INT PRIMARY KEY UNIQUE NOT NULL,
#管理员编号
adminID INT NOT NULL,
#权限编号
roleID INT NOT NULL );


在这里插入图片描述
用户评论信息表

CREATE TABLE user_Comment(
#用户_评论编号
uCID INT PRIMARY KEY NOT NULL,
#用户编号
userID INT NOT NULL,
#评论编号
commentID INT NOT NULL );


在这里插入图片描述
新闻评论信息表

CREATE TABLE news_Comment(
#新闻评论编号
nCID INT PRIMARY KEY UNIQUE NOT NULL,
#新闻编号
newsID INT NOT NULL,
#评论编号
commentID INT NOT NULL );


设计索引

CREATE INDEX index_news_title ON news(newsTitle); CREATE INDEX index_news_date ON news(newsDate); CREATE INDEX index_news_rate ON news(newsRate); CREATE INDEX index_category_name ONcategory(categoryName);
CREATE INDEX index_comment_title ON COMMENT(commentTitle);
CREATE INDEX index_comment_date ON COMMENT(commentDate);

设计视图

CREATE VIEW news_view
AS SELECT
c.commentID,c.newsID,n.newsRate,n.newsTitle,n.newsContent,n.newsDate
FROM news_Comment c,news n WHERE c.newsID=n.newsID;

news_view视图
评论编号
新闻编号
新闻级别
新闻标题
新闻内容
发布时间

  • UPDATE触发器
    #更新news中的newsID时,同时更新news_Comment中的newsID

DELIMITER &&
CREATE TRIGGER update_newsID AFTER UPDATE
ON news FOR EACH ROW
BEGIN
UPDATE news_Comment SET newsID=new.newsID; && DELIMITER ;

  • DELETE触发器
    删除user中的一个用户信息时,同时删除user_Commment中的用户

DELIMITER &&
CREATE TRIGGER delete_user AFTER DELETE
ON USER FOR EACH ROW
BEGIN
DELETE FROM users_Comment WHERE userID=old.userID;
END
&& DELIMITER ;

猜你喜欢

转载自blog.csdn.net/SwaeLeeUknow/article/details/108635617