If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

 
Go Back  dBforums > General > Database Concepts & Design > Gaming Site

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 07-21-04, 23:45
linolium linolium is offline
Registered User
 
Join Date: Jul 2004
Posts: 2
Arrow Gaming Site

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
Reply With Quote
  #2 (permalink)  
Old 07-26-04, 02:41
sco08y sco08y is offline
Registered User
 
Join Date: Oct 2002
Location: Baghdad, Iraq
Posts: 697
If it's your first time designing a database, I'd _strongly_ suggest you find an existing open source content management system and simply add the features you need to it.

You'd learn a lot looking at their time tested database design.

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.

Having been down this road, I predict you will wind up rewriting your schema several times.

Here is a site that lists OS CMSs. I found it by Googling "open source content management systems".

IIWY, I'd find one with a plugin system so I could add my database of game titles, development shops and ratings on.
Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On