Mysql Sql,高级设计帮助

Mysql Sql,高级设计帮助,mysql,sql,Mysql,Sql,可能重复: < 1)考虑以下社会网络。在这个网络中,节点代表人,链接代表友谊。例如,A和B是朋友,A和B之间有一个链接。您希望有一个数据库来存储您的用户配置文件(id、fname、lname、电子邮件、性别、密码,您可以使用节点名称作为id)和用户的兴趣(一个人可以有多个兴趣)及其友谊连接 到目前为止,我只完成了sql语句的一部分。我需要帮助处理人际关系 drop table users; drop table intrest; drop table friendships; create

可能重复:

< 1)考虑以下社会网络。在这个网络中,节点代表人,链接代表友谊。例如,A和B是朋友,A和B之间有一个链接。您希望有一个数据库来存储您的用户配置文件(id、fname、lname、电子邮件、性别、密码,您可以使用节点名称作为id)和用户的兴趣(一个人可以有多个兴趣)及其友谊连接

到目前为止,我只完成了sql语句的一部分。我需要帮助处理人际关系

drop table users;
drop table intrest;
drop table friendships;

create table users(
id INT,
Fname char(15),
Lname char(15),
email char(20),
street char(15),
state char(2),
zip INT,
age INT,
gender char (2),
phone INT,
User_password char(15),
primary key (id)

create table Instrests(
id INT,
description char(30),
Primary key (id),
foreign key (users_id) 

create table friendships(
怎么样

friendships
------------
user_1_id
user_2_id
status
怎么样

friendships
------------
user_1_id
user_2_id
status

顺便说一句,有一种更好的方式来表示你的数据,上传一个图像(如果你在屏幕上转储表struc并在这里发布,那么可以节省你很多时间)而且我已经有一篇帖子询问了关系,这是我在得到一些帮助后的输出

请注意用户和朋友之间的友谊,sql语法如下:

select 
    u2.UserID,
    u2.FirstName,
    u2.SecondName,
    p.picturepath
from User u1 -- This gets me
join Friends f on u1.UserID = f.UserID -- This gets my friends
join User u2 on f.FriendID = u2.UserID -- This gets my friends info
join Pictures p on p.UserID = u2.UserID -- This gets my friends pics
where u1.UserID = 1  -- ...or whatever; don't actually hardcode "1"!

现在你所要做的就是将其应用到你自己的方法中。

顺便说一句,有一种更好的方法来表示你的数据,上传一个图像(如果你在屏幕上转储表格结构并在这里发布,可以节省你这么多时间),而且我已经有一篇帖子询问关系。这是我在得到一些帮助后的输出

请注意用户和朋友之间的友谊,sql语法如下:

select 
    u2.UserID,
    u2.FirstName,
    u2.SecondName,
    p.picturepath
from User u1 -- This gets me
join Friends f on u1.UserID = f.UserID -- This gets my friends
join User u2 on f.FriendID = u2.UserID -- This gets my friends info
join Pictures p on p.UserID = u2.UserID -- This gets my friends pics
where u1.UserID = 1  -- ...or whatever; don't actually hardcode "1"!

现在,您所要做的就是将其应用于您自己的方法。

有用户,但没有友谊,这有点令人遗憾…:-(与相同的问题,尽管措辞稍微好一点。LOL@“我需要帮助处理关系”。我们不是都=(有用户,但没有友谊,这有点遗憾…:-(与相同的问题,尽管措辞稍微好一点。LOL@“我需要帮助处理关系”。我们不是都一样吗=(只有在双方都同意的情况下,朋友才应该是朋友。这是怎么发现的?A-B+B-A>朋友?我还要说,在这种情况下,拥有ID是完全没有必要的。现在你有了4个索引(mysql需要外键上的索引)要维护,其中一个是无用的。只需使用复合主键,删除无用的
PK
,并将
UNIQUE
转换为
PK
(这是一个自然键…)此外,根据Rudie的评论,我会将其称为连接,并搜索一对,以便成为朋友。嘿,Rudie,是的,你需要做的就是在friends表中设置另一个字段并将其命名为flag,进行一些编码,向用户发送一条消息,告知你有一个待定的朋友请求,一旦用户单击accept,就设置标志重新设置为0。很简单!只有在双方都同意的情况下,朋友才应该是朋友。这是怎么做到的?A-B+B-A>朋友?我还想说,在这种情况下,拥有ID是完全没有必要的。现在你有了4个索引(mysql需要外键上的索引)要维护,其中一个是无用的。只需使用复合主键,删除无用的
PK
,并将
UNIQUE
转换为
PK
(这是一个自然键…)此外,根据Rudie的评论,我会将其称为连接,并搜索一对,以便成为朋友。嘿,Rudie,是的,你需要做的就是在friends表中设置另一个字段并将其命名为flag,进行一些编码,向用户发送一条消息,告知你有一个待定的朋友请求,一旦用户单击accept,就设置标志再次0。轻松!