我的数据库老师要求我们使用 MySQL 作为数据库管理系统编写 Facebook 的克隆,所以我试图在相应的数据库中表示朋友关系。
到目前为止,我已经通过到处搜索构建了以下表格:
CREATE TABLE Users (
UserID INT UNSIGNED NOT NULL AUTO_INCREMENT,
Nome VARCHAR (20) NOT NULL,
Sobrenome VARCHAR (20) NOT NULL,
Foto LONGBLOB,
Cidade VARCHAR (180),
PRIMARY KEY (UserID)
);
CREATE TABLE Friends (
UserID INT UNSIGNED NOT NULL,
FriendID INT UNSIGNED NOT NULL,
PRIMARY KEY (UserID, FriendID),
CONSTRAINT FK_UserID
FOREIGN KEY UserID REFERENCES Users (UserID),
CONSTRAINT FK_FriendID
FOREIGN KEY FriendID REFERENCES Users (UserID)
);
Run Code Online (Sandbox Code Playgroud)
我将Friends
表描述为使用UserID
(声明为Users
表主键)的自关系。
除了一些基本的#1064 错误,我正在处理:是否可以为这种关系添加一个阻止好友选项?例如,如果我不想再与某人交谈,我只是阻止他们。