Hey, this is the first time I've ever really tried designing a database. I'm making a gaming site with articles etc. about games, and I tried to normalize this as much as I could. But the odd thing was that I ran into so many many-to-many relationships in between tables. From what I read these are supposed to be rare or avoided, but I didn't see any other viable way.
It would help a lot if you could take a look at these tables and tell me if I could do anything a better way. I admit that I haven't completely finished this, as I'm sure there's some desired functionality I have forgotten to add, but the changes will most likely be relatively simple.
Code:
Legend:
-------
* Primary Key
- Foreign Key
Article
========
* Article ID
- Article Type ID
Article Text
Article Post Time
Article Show Post Time
Article Image
=============
* Article Image ID
- Article ID
- Image ID
Image
=====
* Image ID
Image Name
Image Alternate Text
Image Caption
Article Type
============
* Article Type ID
Article Type Name
Comment
=======
* Comment ID
- User ID
Comment Text
User
====
* User ID
- Group ID
User Login
User Password
User First Name
User Last Name
User Avatar
User Website
User Location
User Interests
User Signature
User Contact
============
* User Contact ID
- User ID
User Contact Email
User Contact AIM S/N
User Contact ICQ Number
User Contact MSN Email
User Contact Yahoo! ID
User Favourite Game
===================
* User Favourite Game ID
- User ID
- Game ID
Group
=====
* Group ID
Group Name
Group Privilege
==============
* Group Privilege ID
- Group ID
- Privilege ID
Privilege
=========
* Privilege ID
Privilege Name
Game
====
* Game ID
- Platform ID
Game Name
Game Rating
===========
* Game Rating ID
- Game ID
- User ID
Game Rating
Game Platform
=============
* Game Platform ID
- Game ID
- Platform ID
Platform
========
* Platform ID
- Platform Company ID
Platform Name
Platform Company
================
* Platform Company ID
Platform Company Name