MySQL新闻发布系统
- 创建数据库webnews
- CREATE DATABASE webnews
- USE webnews
用户信息表
CREATE TABLE
user(
#用户编号userIDINT PRIMARY KEY UNIQUE NOT NULL,
#用户名称userNameVARCHAR(20) NOT NULL,
#用户密码userPasswordVARCHAR(20) NOT NULL,
#用户性别sexVARCHAR(10) NOT NULL,
#用户EmailuserEmailVARCHAR(20) NOT NULL
);
管理员信息表
CREATE TABLE
admin(
#管理员编号adminIDINT PRIMARY KEY UNIQUE NOT NULL,
#管理员名称adminNameVARCHAR(20) NOT NULL,
#管理员密码adminPasswordVARCHAR(20) NOT NULL );
权限管理信息表
CREATE TABLE
roles(
#权限编号roleIDINT PRIMARY KEY UNIQUE NOT NULL,
#权限名称roleNameVARCHAR(20) NOT NULL );
新闻信息表
CREATE TABLE news(
#新闻编号newsIDINT PRIMARY KEY NOT NULL,
#新闻标题newsTitleVARCHAR(50) NOT NULL,
#新闻内容newsContentTEXT NOT NULL,
#发布时间newsDateTIMESTAMP ,
#新闻描述newsDescVARCHAR(50) NOT NULL,
#新闻级别newsRateINT NOT NULL,
#新闻是否检查newsIsCheckBIT NOT NULL );
栏目信息表
CREATE TABLE
category(
#栏目编号categoryIDINT PRIMARY KEY UNIQUE NOT NULL,
#栏目名称categoryNameVARCHAR(20) NOT NULL,
#栏目描述categoryDescVARCHAR(50) NOT NULL );
评论信息表
CREATE TABLE
comment(
#评论编号commentIDINT PRIMARY KEY UNIQUE NOT NULL,
#评论标题commentTitleVARCHAR(50) NOT NULL,
#评论内容commentContentTEXT NOT NULL,
#评论时间commentDateTIMESTAMP );
管理员_权限信息表
CREATE TABLE
admin_Roles(
#管理员_权限编号aRIDINT PRIMARY KEY UNIQUE NOT NULL,
#管理员编号adminIDINT NOT NULL,
#权限编号roleIDINT NOT NULL );
用户评论信息表
CREATE TABLE
user_Comment(
#用户_评论编号uCIDINT PRIMARY KEY NOT NULL,
#用户编号userIDINT NOT NULL,
#评论编号commentIDINT NOT NULL );
新闻评论信息表
CREATE TABLE
news_Comment(
#新闻评论编号nCIDINT PRIMARY KEY UNIQUE NOT NULL,
#新闻编号newsIDINT NOT NULL,
#评论编号commentIDINT 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 ;