我正在为我的数据库课程开发一个项目,该应用程序具有添加朋友的功能。我接近它的方式是有一个表格,定义如下:
CREATE TABLE Friend(
friend_from VARCHAR(10),
friend_to VARCHAR(10),
PRIMARY KEY(friend_from, friend_to),
FOREIGN KEY(friend_from) REFERENCES Users(username)
ON UPDATE CASCADE
ON DELETE CASCADE,
FOREIGN KEY(friend_to) REFERENCES Users(username)
ON UPDATE CASCADE
ON DELETE CASCADE
);
让我们说用户A是用户B的朋友。我应该在表中同时使用它们,即
+-------------+-----------+
| friend_from | friend_to |
+-------------+-----------+
| A | B |
+-------------+-----------+
| B | A |
+-------------+-----------+
提前感谢您的帮助!
答案 0 :(得分:3)
如果关系是双向的,那么关系的方向没有意义 - 你可以为数据库表中的每个关系存储一行。