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,
#用户EmailuserEmail
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 );
评论信息表
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 ;