I'm totaly lost; I read a lot of tutorials and forums, and I'm still not sure if my design is OK, so I decided to ask here. I'm sure it's not big deal for somebody with more expirience than me (approx 0

).
What troubles me is this: I have users, and users can have friends. Any user can have any number of friends, but you first must agree to be somebody's friend. Users are neatly placed in a table and have their UserID (primary key) + usual stuff (email, SHA1 of password etc). So how do I define user's friends and requests for friendships? My idea was that each user gets a table, with name UserID_friends and 2 fields: friend ID (FK) and status, where status codes determine their relationship (eg. 1 - "I requested friendship", 2 - "he is my friend", 4 - "he requested friendship", 8 - "I am his friend"; using bitwise OR I can get any combination of these). Name of that table is stored in users table under field "frends_table".
Is this OK? If not, please give me advice, or point me to an article, I want this database to be as fast as possible, as I believe it might get a lot traffic if I'm lucky enough that my application gets enough traffic.
Thanks a lot for your help.