Bulletin board - Database optimisation

Posted by andrew on Stack Overflow See other posts from Stack Overflow or by andrew
Published on 2010-11-30T05:20:41Z Indexed on 2010/12/28 18:54 UTC
Read the original article Hit count: 265

This question is a follow on from this Question

The project and problem

The project I am currently working on is a bulletin board for a large non-profit organisation. The bulletin board will be used to allow inter-office communication within the organisation.

I am building the application and have been having trouble extracting the results that I need from my database because I don't think it is properly normalized and because of limitations in my knowledge of relational database theory and mysql.

I would appreciate input into the design of the board in general and in particular, ways that the database structure can be improved to facilitate efficient queries and help me develop this application and future application faster

Business Logic

The bulletin board will be used in the following way

  1. Posting bulletins and responses to bulletins
    1. Employees or 'users' in offices around the country will be able to post messages to the bulletin board.Bulletins must be posted to a location and categorised- i'll call these "bulletins".
    2. Users will be able to post any number of replies to any one bulletin and users will be able to reply to their own bulletin - i'll call these 'replies'.
  2. Rating bulletins and replies
    1. Users will be able to either 'like' or 'dislike' a bulletin or a reply and the total number of likes or dislikes will be shown for each bulletin or reply.
  3. Viewing the bulletin board and responses
    1. Bulletins can be displayed chronologically.
    2. Users can sort bulletins chronologically or chronologically by the latest reply to that bulletin(let me know if you need more explanation)
    3. When a particular bulletin is selected, replies to that bulletin will be displayed chronologically

@PerformanceDBA - edited 10:34 est 28/12/10

I have begun implementing the data model. I assume that the 6th data model is the physical model because it contains the associative tables. I am going to post any questions that I have below. I will put up a database dump once I am done. I will then put up a list of all the queries that I need to run on the database and begin writing them. I hope you had a good Christmas. I'm in Canada and there's snow!

Implementation of Physical model

© Stack Overflow or respective owner

Related posts about php

Related posts about mysql