hello,
I just happened to visit ur website. I am looking around for some help on a db design which I am working on.
I am working on a dating site, I have 5 Tables in which I am storing the profile data of a member.
The tables are as follows:
1. MemberInfo - login and billing details.
2. MemberProfile - all the details which are in a profile like education, gender, age etc.. kind of fields. It has MemberID as a foreign key
3. MemberInterests - the personal interests of the members are stored in this table. It has ProfileID as a foreign key to MemberProfile table.
4. MemberSeekingInterests - similar to table 2. It has ProfileID as foreign key.
5. MemberPhotos - which stores 5 photos of each member, has a foreign key. ProfileID.
In the MemberProfile and MemberPhotos I have a boolean field which holds the value whether this record is approved by admin.
Now my actual problem is that whenever the member makes changes or adds in the profile, it is to be approved by the admin first then only it will be displayed in the system.
The point is that the member's profile should be available in the results even if he makes changes.
I am considering to use any of the following options :
1. To maintain two records in the MemberProfile and MemberPhotos for the same profile and same photo so that when one record is modified it will go for the admin verification (a boolean flag will be set to AwaitingVerification=TRUE) and in that time the other record will be visible in the search results.
2. I am planning to create two sets of tables. The first set as I mentioned above and other set which will hold the temporary data. And all the admin verification will be done in the temp tables. If verified the data will be updated in the actual tables from the temp and then deleted in the temp.
Pl. let meknow which is the best option (from the normalization and performance point of view).
We are expecting the database to be a very large data with millions of records. Pl. advice