用于已保存和已删除文章的表格结构

时间:2015-09-09 13:56:16

标签: php sql html5

我正在制作一个用户发布文章的网络应用,其他用户可以阅读这些文章。

我想在那里有一个功能,用户可以保存他们喜欢的文章,删除那些他们不想再看的文章。

我应该如何设置我的mysql表格呢?

我想要有这些标签。

TABELS: - 文章 - 用户 - 很喜欢 - 删除

我希望它有意义吗?

1 个答案:

答案 0 :(得分:1)

你可能会建立类似的东西:

enter image description here

以下是生成这些表的SQL脚本:

-- tables
-- Table ArticleTypes
CREATE TABLE ArticleTypes (
    ArticleTypeId int    NOT NULL ,
    ArticleTypeDesc varchar(255)    NOT NULL ,
    CONSTRAINT ArticleTypes_pk PRIMARY KEY (ArticleTypeId)
);

-- Table Articles
CREATE TABLE Articles (
    ArticleId int    NOT NULL ,
    ArticleName varchar(255)    NOT NULL ,
    ArticleDescription varchar(255)    NOT NULL ,
    ArticleTypeId int    NOT NULL ,
    CONSTRAINT Articles_pk PRIMARY KEY (ArticleId)
);

-- Table BookmarkStatus
CREATE TABLE BookmarkStatus (
    BookmarkStatusId int    NOT NULL ,
    BookmarkStatusDesc varchar(255)    NOT NULL ,
    CONSTRAINT BookmarkStatus_pk PRIMARY KEY (BookmarkStatusId)
);

-- Table Bookmarks
CREATE TABLE Bookmarks (
    BookmarkId int    NOT NULL ,
    UserId int    NOT NULL ,
    ArticleId int    NOT NULL ,
    BookmarkStatusId int    NOT NULL ,
    CONSTRAINT Bookmarks_pk PRIMARY KEY (BookmarkId)
);

-- Table Users
CREATE TABLE Users (
    UserId int    NOT NULL ,
    UserName varchar(255)    NOT NULL ,
    UserStatus int    NOT NULL ,
    CONSTRAINT Users_pk PRIMARY KEY (UserId)
);




-- foreign keys
-- Reference:  Articles_ArticleTypes (table: Articles)


ALTER TABLE Articles 
ADD CONSTRAINT Articles_ArticleTypes 
FOREIGN KEY Articles_ArticleTypes (ArticleTypeId)
    REFERENCES ArticleTypes (ArticleTypeId);
-- Reference:  Bookmarks_Articles (table: Bookmarks)


ALTER TABLE Bookmarks
ADD CONSTRAINT Bookmarks_Articles 
FOREIGN KEY Bookmarks_Articles (ArticleId)
    REFERENCES Articles (ArticleId);
-- Reference:  Bookmarks_BookmarkStatus (table: Bookmarks)


ALTER TABLE Bookmarks 
ADD CONSTRAINT Bookmarks_BookmarkStatus 
FOREIGN KEY Bookmarks_BookmarkStatus (BookmarkStatusId)
    REFERENCES BookmarkStatus (BookmarkStatusId);
-- Reference:  Bookmarks_Users (table: Bookmarks)


ALTER TABLE Bookmarks 
ADD CONSTRAINT Bookmarks_Users 
FOREIGN KEY Bookmarks_Users (UserId)
    REFERENCES Users (UserId);

基本上,您可以根据Bookmarks设计Active表来确定文章是Deleted还是BookMarkStatusId(例如Active为1 ,Deleted)。您的书签表将处理usersarticles表之间的关系。

希望这有帮助!