Results 1 to 6 of 6

Thread: Database normalisation?

  1. #1
    Senior Member kopite's Avatar
    Join Date
    Sep 2006
    Location
    Liverpool
    Posts
    3,487
    Thanks
    80
    Thanked
    155 times in 124 posts
    • kopite's system
      • Motherboard:
      • Asus Maximus IV Gene-Z
      • CPU:
      • Intel Core i5 2500K
      • Memory:
      • 8GB DDR3 1600 MHz Corsair Memory Vengeance Black
      • Storage:
      • 128GB Crucial m4 for main drive. 3.5 TB of storage space over western Digital Drives
      • Graphics card(s):
      • Gigabyte NVIDIA GTX 970 G1 Gaming Edition
      • PSU:
      • 750W ANTEC TRUEPOWER
      • Case:
      • Silverstone Fortress FT03
      • Operating System:
      • Windows 10
      • Monitor(s):
      • 1 x 27 inch dell Monitor 1 x 20 inch Dell monitor
      • Internet:
      • Virgin media 150MB

    Database normalisation?

    Hey guys,

    Im setting up a couple of database driven websites and starting to work out the tables I want.

    SInce college I`ve always normalised before creating the databases but I seem to remember hearing something last year that there is a school of thought that one big table is a lot better than having lots of little tables?

    Whats everyones views on this?

    How far down do you normalise?

  2. #2
    Administrator Moby-Dick's Avatar
    Join Date
    Jul 2003
    Location
    There's no place like ::1 (IPv6 version)
    Posts
    10,664
    Thanks
    53
    Thanked
    385 times in 314 posts

    Re: Database normalisation?

    It depends on what you want to use the DB for - OLTP databases tend to be highly normalised , but OLAP ones woudl be less normalised.
    my Virtualisation Blog http://jfvi.co.uk Virtualisation Podcast http://vsoup.net

  3. #3
    Flower Child stytagm's Avatar
    Join Date
    Aug 2004
    Location
    London
    Posts
    754
    Thanks
    47
    Thanked
    23 times in 18 posts

    Re: Database normalisation?

    IIRC (again, I haven't done this in detail since Uni) Normalisation optimises your DB for the minimum disk space (since you don't have duplicated data), and helps prevent update errors (since you don't have to remember to update lots of duplicates of the same data) but denormalising (not normalising) can be better for write and read performance.

    Ie, if the DB doesn't have to do a join, it's going to be able to give you a result set quicker.

    Edit - I've just thought about that, and I think denormalising would probably only improve read performance. A good SQL textbook should have a chapter on this, but also consider that on large tables, indexes, CPU speed and memory will probably have more of an impact than weather you normalise or not. So there's an argument for designing your tables in a way that's easy to understand and code against, and just buy a shinier server to improve performance.
    Last edited by stytagm; 20-03-2008 at 07:37 PM. Reason: Thunk a bit harder...
    They told me I was gullible ... and I believed them.

  4. #4
    The late but legendary peterb - Onward and Upward peterb's Avatar
    Join Date
    Aug 2005
    Location
    Looking down & checking on swearing
    Posts
    19,380
    Thanks
    2,892
    Thanked
    3,403 times in 2,693 posts

    Re: Database normalisation?

    It has been a LONG time since I studied this, but IIRC, normalising gives more flexible4 structure and makes it easier to incorporate changes later. If you aren't normalising you are losing many of the benefits of an RDBMS.
    (\__/)
    (='.'=)
    (")_(")

    Been helped or just 'Like' a post? Use the Thanks button!
    My broadband speed - 750 Meganibbles/minute

  5. #5
    Administrator Moby-Dick's Avatar
    Join Date
    Jul 2003
    Location
    There's no place like ::1 (IPv6 version)
    Posts
    10,664
    Thanks
    53
    Thanked
    385 times in 314 posts

    Re: Database normalisation?

    Quote Originally Posted by peterb View Post
    It has been a LONG time since I studied this, but IIRC, normalising gives more flexible4 structure and makes it easier to incorporate changes later. If you aren't normalising you are losing many of the benefits of an RDBMS.
    Not everything should be normalised however - if you are running a datawarehouse , then you tend to denormalise for better query performane of the 'ing big tables that make up a DW

    The Design of Software - Database denormalisation - when, why and how?
    my Virtualisation Blog http://jfvi.co.uk Virtualisation Podcast http://vsoup.net

  6. #6
    Senior Member manwithnoname's Avatar
    Join Date
    Dec 2005
    Posts
    1,050
    Thanks
    17
    Thanked
    26 times in 25 posts

    Re: Database normalisation?

    A data warehouse is a good example of where you might be happy not to normalise, or possibly de-normalise tables to archive data.

    It will depend on what data you are storing for example I cannot imagine a forum db been in one table user accounts and posts. It also worth remembering a perfectly normalise design might be impractical to implement (complexity/time).

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Database Visualisation Tool ? Developing in SQL
    By Sinizter in forum Software
    Replies: 5
    Last Post: 29-04-2007, 12:20 PM
  2. Replies: 0
    Last Post: 22-12-2005, 01:41 AM
  3. V3 Cardbox database app promises power and accessibility
    By Bob Crabtree in forum HEXUS News
    Replies: 3
    Last Post: 05-12-2005, 07:10 PM
  4. Replies: 3
    Last Post: 17-10-2005, 02:31 PM
  5. abnormal access database traffic?
    By Stoo in forum Networking and Broadband
    Replies: 8
    Last Post: 06-10-2004, 04:43 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •