| | |
DB design for friends network
Please support our Database Design advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
•
•
Join Date: Aug 2007
Posts: 1
Reputation:
Solved Threads: 0
I am building a site for which I would like to add a "friends" invitation system. Once member invites another to be a friend, the second member has to accept to become friends. So both members have to agree to be friends.
My problem is that I can't think of a db schema that will allow me to do this without being redundant or requiring multipe requests to get a list of friends.
This is what I've come up with so far:
Table: Users
- userID
- (etc)
Table: Friends
- fromID
- toID
So if user1 invites user2, there is an entry in Friends where fromID=user1 and toID=user2. When user2 accepts, an entry is added to Friends where fromID=user2 and toID=user2. Now that they've both "invited" each other, they are friends. But now I have two rows for every friend relationship and have to do two queries to see who user1's friends are.
I'm a decent programmer and a good UI designer, but a novice db designer at best. I could use some recommendations. Thanks.
My problem is that I can't think of a db schema that will allow me to do this without being redundant or requiring multipe requests to get a list of friends.
This is what I've come up with so far:
Table: Users
- userID
- (etc)
Table: Friends
- fromID
- toID
So if user1 invites user2, there is an entry in Friends where fromID=user1 and toID=user2. When user2 accepts, an entry is added to Friends where fromID=user2 and toID=user2. Now that they've both "invited" each other, they are friends. But now I have two rows for every friend relationship and have to do two queries to see who user1's friends are.
I'm a decent programmer and a good UI designer, but a novice db designer at best. I could use some recommendations. Thanks.
![]() |
Similar Threads
- Best way to build a LAN? (Networking Hardware Configuration)
- Problem about Bus Topology (Networking Hardware Configuration)
- Transfering info from old-new with XP (Windows NT / 2000 / XP)
- Final Year Project (Networking Hardware Configuration)
- firewalls? (Networking Hardware Configuration)
- network settings for a game (Networking Hardware Configuration)
Other Threads in the Database Design Forum
- Previous Thread: help me on blog Dtabase
- Next Thread: SQL Query Analyzer Problem
| Thread Tools | Search this Thread |





