IWETHEY v. 0.3.0 | TODO
1,095 registered users | 0 active users | 0 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Question for you
Do you think it's ever appropriate to not have a schema "properly normalized"? Hint: I think it is. I can give you an example if you like.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New All the damn time
Data warehousing demands it, unless you have an infinite budget for CPUs.
And even then , the overhead of the multi-cpu matrix will peak and kill you.
New No hints from the peanut gallery
I was asking someone else what he thinks.
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New Give him the benefit
> Why was it spread over several tables?
> Perhaps your issue was poor normalization
> or schema design. Many shops tend to
> create too many tables.

He was leading up to a critique of full normalization
which in turn kill performance. Of course, "poor"
normalization is a "poor" way of stating it, but
it wasn't to the level of George.
New Fairy nuff
I read his question as, "Why would you have informatoin about one person in multiple tables?" I assumed he's advocating a "theoretically correct" schema that wouldn't work in the real world. I concede the possibility he's describing a badly over-normalized schema, one of which I have seen in production and it blew chunks.

So tablizer, what were you getting at?
===

Purveyor of Doc Hope's [link|http://DocHope.com|fresh-baked dog biscuits and pet treats].
[link|http://DocHope.com|http://DocHope.com]
New Barry's right; overnormalization is 1 of Bryce's hobbyhorses
New Huh? What did I over-normalize?
________________
oop.ismad.com
New It means the opposite of what you seem to think it does. HTH
New Okay then, what did I UNDER-normalize?
Is this about that time that the info-world forums took a dump, I helped recreate the threads using a FoxPro script, and then we got into a big argument about storing lists of ID's in a cell instead of creating a many-to-many table? It was a one-shot script, not production ebay. So, lighten up.
________________
oop.ismad.com
New SIGH... "A hobby-horse" means, something you like to...
...*go on and on about*, not something you like to *do*.

That's why "over-normalization" is "a hobby-horse" of yours -- because you *rant* about it all the time.

I was *not* saying that you like to *do* it.

Is comprehension *finally* starting to -- however slowly -- seep in?

Or shall we go over this for a few more rounds?


   [link|mailto:MyUserId@MyISP.CountryCode|Christian R. Conrad]
(I live in Finland, and my e-mail in-box is at the Saunalahti company.)
Your lies are of Microsoftian Scale and boring to boot. Your 'depression' may be the closest you ever come to recognizing truth: you have no 'inferiority complex', you are inferior - and something inside you recognizes this. - [link|http://z.iwethey.org/forums/render/content/show?contentid=71575|Ashton Brown]
New Note: in this case it really is a bad idea
Our team inherited the database from another team. We created a view that joins the tables together into the view that we need, and querying that view has never come close to being a bottleneck, so we've never fixed it.

But we wouldn't have designed it that way in the first place, and if there were signs that this was becoming a bottleneck, then we'd fix it. (The application wouldn't need much fixing.)

Cheers,
Ben
I have come to believe that idealism without discipline is a quick road to disaster, while discipline without idealism is pointless. -- Aaron Ward (my brother)
New Re: Question for you
Software design involves gambles. Non-normalizing may help for certain kinds of usage, but at the risk of not being able to handle future requirements that are not favored by the unnormalized stuff. Whether it is worth gambling away future flexibility to get performance for a specific usage pattern today is a business decision similar to financial decision cost analysis. I would suggest looking for ways to improve performance under normalization before giving in to denormalization for speed.

And as somebody pointed out, historical (read-only) data is sometimes easier to sift or use if denormalized. This is because most of such research is done from a customer sales perspective rather than concerned with internal processes about already-completed stuff.
________________
oop.ismad.com
New Also called trade-offs.
... I would suggest looking for ways to improve performance under normalization before giving in to denormalization for speed.


I would agree. IMO, far too many people underestimate maintainability problems with a difficult schema, normalized or not.

And as somebody pointed out, historical (read-only) data is sometimes easier to sift or use if denormalized. This is because most of such research is done from a customer sales perspective rather than concerned with internal processes about already-completed stuff.


This is actually true right now for the application I'm maintaining.

I've found normalizing wins points when it eliminates clearly duplicated and errant data. However, it is possible to hide the normalization in the interface rather than do it right down at the database. Whilst this makes for hairy code, it is doable and is sometimes the solution. But it sacrifices maintainability.

Then, too, I've found that completely normalising the data can sometimes make it harder to use the database. In the simplest case, code to fetch data might change from reading one or two tables to having to dance on 6 or 7. Often not a huge problem, true, until an update is required, too.

Wade.

Is it enough to love
Is it enough to breathe
Somebody rip my heart out
And leave me here to bleed
 
Is it enough to die
Somebody save my life
I'd rather be Anything but Ordinary
Please

-- "Anything but Ordinary" by Avril Lavigne.

New re: Also called trade-offs
Then, too, I've found that completely normalising the data can sometimes make it harder to use the database. In the simplest case, code to fetch data might change from reading one or two tables to having to dance on 6 or 7. Often not a huge problem, true, until an update is required, too.

I generally only see this if somebody creates a lot of 1-to-1 or 1-to-0:1 relationships. I generally frown on that. When in doubt, make one bigger table instead of multiple smaller (or skinnier) tables.

________________
oop.ismad.com
     Concurrency: the race is on - (FuManChu) - (40)
         Interesting, but ... - (Another Scott) - (4)
             I think he's talking to shrinkwrappers - (FuManChu)
             I'd criticize it differently - (ben_tilly) - (2)
                 That's true for servers, less so for workstations - (drewk) - (1)
                     True... - (ben_tilly)
         Favorite quote - (drewk) - (1)
             Speaking of quotes... (new thread) - (folkert)
         Just use databases and transactions. Fixed! -NT - (tablizer) - (32)
             Yes and no... - (Simon_Jester)
             And again, you demonstrate yourself to be wrong - (ben_tilly) - (30)
                 Up with people - (FuManChu) - (24)
                     No connection - (ben_tilly) - (23)
                         Questions - (tablizer) - (22)
                             Don't try to solve the problem - (ben_tilly) - (7)
                                 Dude, you are rude. Grow some people skills - (tablizer) - (4)
                                     This was one of your most hilarious posts ever, Bryce. -NT - (CRConrad) - (2)
                                         I am learning NOT to flame back. Me grow up........I think -NT - (tablizer) - (1)
                                             A: Doubt it. B: Still, YOU calling SOMEONE ELSE rude=>funnee -NT - (CRConrad)
                                     Yes, you did answer something - (ben_tilly)
                                 lock and load - (cforde) - (1)
                                     re: lock and load - (tablizer)
                             Question for you - (drewk) - (13)
                                 All the damn time - (broomberg) - (9)
                                     No hints from the peanut gallery - (drewk) - (8)
                                         Give him the benefit - (broomberg) - (7)
                                             Fairy nuff - (drewk) - (6)
                                                 Barry's right; overnormalization is 1 of Bryce's hobbyhorses -NT - (CRConrad) - (4)
                                                     Huh? What did I over-normalize? -NT - (tablizer) - (3)
                                                         It means the opposite of what you seem to think it does. HTH -NT - (CRConrad) - (2)
                                                             Okay then, what did I UNDER-normalize? - (tablizer) - (1)
                                                                 SIGH... "A hobby-horse" means, something you like to... - (CRConrad)
                                                 Note: in this case it really is a bad idea - (ben_tilly)
                                 Re: Question for you - (tablizer) - (2)
                                     Also called trade-offs. - (static) - (1)
                                         re: Also called trade-offs - (tablizer)
                 Ah yes, the Upperson procedure - (tuberculosis)
                 Guilty until proven innocent? -NT - (tablizer) - (3)
                     No, you said something stupid - (ben_tilly) - (2)
                         You don't seem to disagree anywhere - (tablizer) - (1)
                             I disagree with, "Fixed!" - (ben_tilly)

I had lobster Marshall plan twice today...
271 ms