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 );
评论信息表
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 ;