How to make SQL many-to-many same-type relationship table -


i'm newbie sql , i'm jumping in head first trying learn as possible i'm coding, difficult i'm designing database i'll have live while want make sure right. learned basics of many-to-many bridge tables, if 2 fields same type? let's social network thousands of users, , how create table keep track of friends who? if there additional data each relationship, say... "date friended" example. knowing there queries "show friends of userx friended between datey , datez". database have several situations , can't figure out efficient way it. since it's coming lot me, figure others have figured out best way design tables, right?

create user table relationships table store id of 2 friend , kind of information relationship.

sql diagram

sql diagram

mysql code

create table `users` (   `id` tinyint not null auto_increment default null,   primary key (`id`) );  create table `relationships` (   `id` tinyint not null auto_increment default null,   `userid` tinyint null default null,   `friendid` tinyint null default null,   `friended` timestamp not null default current_timestamp,   primary key (`id`) );  alter table `relationships` add foreign key (userid) references `users` (`id`); alter table `relationships` add foreign key (friendid) references `users` (`id`); 

sql selection

after fill tables data, can create sql select query of friends. friends id in 1 side side while id in other side. check both sides id don't need store relationships twice. have exclude id, because can't own friend (in normal, healthy world).

select * users u    inner join relationships r on u.id = r.userid    inner join relationships r on u.id = r.friendid    (r.userid = $myid or r.friendid = $myid)    , r.friended >= $startdate    , r.friended <= $enddate    , u.id != $myid; 

where $myid, $startdate , $enddate can php variables in double quotes can pass code directly database.


Comments

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -