I was reading about normalization in my database management book, and the book only teaches I think up to 4NF. It explains first that you lose the ability to relate as your database gets more and more normal, but then says it omits teaching higher normal forms because they are '[mainly of theoretical interest, while this text is concerned with the practical applications]'.
Something about that bothers me. It could be that it feels like the textbook doesn't want me to learn and and think, but only do things that would make sense in a business (which is kind of what it fucking said). But what I think it really is, is that there is no difference between "theoretical" and "practical".
It's possible that I'm the only one who doesn't see the distinction. Maybe I'm caught in a morass of fallacy.
I say that theory and practicality are not mutually exclusive. How are theories not practical? Theory is one of the main ways of forming action. Mainly though I'm pissed at my shitty textbook.
"Practical" vs "Theoretical"
Moderators: gmalivuk, Moderators General, Prelates
 Benitosimies
 Posts: 326
 Joined: Wed Sep 19, 2007 5:57 pm UTC
 Contact:
"Practical" vs "Theoretical"
хлэб и Воля
Re: "Practical" vs "Theoretical"
Anonymous wrote:In theory, theory and practice are the same thing. In practice they're different.
Pretty much sums it up.
Theories are based on models, which inevitably have been simplified in some way. Practice does not seek to find general solutions, but has to deal with messy realities of the specific situation at hand. For example there may be performance constraints.
Here is my take. You should know the theory. When practical, you should operate according to what theory says. When (note not if but when) you deviate from theory, you should be able to justify why you did so. If you don't have a coherent rationale for doing so, you're probably doing something wrong. If you do and the rationale is sound, you should not hesitate to do so. (People may disagree about when the rationale is sound.)
About database normalization, I'm going to bet that the book only goes up to third normal form. The reason for that is that for most realworld design problems, if you write down a "natural" design that is in third normal form, then it is usually in several higher normal forms as well. Conversely in the rare cases that it isn't, there is usually little or no benefit from trying to make it be so. Therefore in the real world you'll be hardpressed to find people who care about anything beyond third normal form. Furthermore just getting people to understand and design properly to third normal form would be an improvement on what a lot of companies do...
Some of us exist to find out what can and can't be done.
Others exist to hold the beer.
 evilbeanfiend
 Posts: 2650
 Joined: Tue Mar 13, 2007 7:05 am UTC
 Location: the old world
Re: "Practical" vs "Theoretical"
i.e. the universe doesn't care about theory it just is.
in ur beanz makin u eveel
 Xanthir
 My HERO!!!
 Posts: 5400
 Joined: Tue Feb 20, 2007 12:49 am UTC
 Location: The Googleplex
 Contact:
Re: "Practical" vs "Theoretical"
btilly wrote:Anonymous wrote:In theory, theory and practice are the same thing. In practice they're different.
Pretty much sums it up.
Theories are based on models, which inevitably have been simplified in some way. Practice does not seek to find general solutions, but has to deal with messy realities of the specific situation at hand. For example there may be performance constraints.
Here is my take. You should know the theory. When practical, you should operate according to what theory says. When (note not if but when) you deviate from theory, you should be able to justify why you did so. If you don't have a coherent rationale for doing so, you're probably doing something wrong. If you do and the rationale is sound, you should not hesitate to do so. (People may disagree about when the rationale is sound.)
About database normalization, I'm going to bet that the book only goes up to third normal form. The reason for that is that for most realworld design problems, if you write down a "natural" design that is in third normal form, then it is usually in several higher normal forms as well. Conversely in the rare cases that it isn't, there is usually little or no benefit from trying to make it be so. Therefore in the real world you'll be hardpressed to find people who care about anything beyond third normal form. Furthermore just getting people to understand and design properly to third normal form would be an improvement on what a lot of companies do...
^ is correct.
Normalization, like many things, does not grant linear returns in utility. The book is correct to only go to 3nf or 4nf normally, as that's the point when the returns on your effort drop quite suddenly. As well, in many realworld cases, taking the database to this form puts it in maximally normal form. If you really want to dive into database theory, go for it. But this is one area where there really is very, very little reason to go further in most cases.
Check out this article for an explanation through 5nf, with a discussion of what further normal forms entail and several references at the end for further reading. I consider it the canonical internet tutorial on this subject.
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))
Re: "Practical" vs "Theoretical"
Circa 1927 Paul Dirac basically pulls out of his ass the existence of "antielectrons" that are like electrons with positive charge, that annihilate with electrons. 50 years later, they start using positrons to detect cancer.
"Purely theoretical" has its uses.
"Purely theoretical" has its uses.

 Posts: 80
 Joined: Wed Aug 01, 2007 6:01 am UTC
Re: "Practical" vs "Theoretical"
Fairly unrelated but I can't stand when people (normally teachers) say that Communism works in theory but not in practice.
If your theory were good enough, you'd see that it fails there also.
If your theory were good enough, you'd see that it fails there also.
Re: "Practical" vs "Theoretical"
Unless you have a theory which is perfectly applicable to a particular set of situations, but is not very useful in the more general case. For example, communism can work pretty well with small groups of people  on the order of Dunbar's number (kibbutzim being an example).
This is a placeholder until I think of something more creative to put here.
Re: "Practical" vs "Theoretical"
Benitosimies wrote:But what I think it really is, is that there is no difference between "theoretical" and "practical".
It's possible that I'm the only one who doesn't see the distinction. Maybe I'm caught in a morass of fallacy.
I say that theory and practicality are not mutually exclusive. How are theories not practical? Theory is one of the main ways of forming action. Mainly though I'm pissed at my shitty textbook.
Maybe you're in the wrong field to see. For example, engineers literally (ok, not *literally*) live on the border between theory and application.
What it boils down to is that you can see theory on paper. You can model the whole system. If you have an analytical (mathematical) model, you can see analytical representations of various aspects of the system. You can see how everything fits together through the math. You can solve problems in theory in ways which are impossible in "application."
On the other hand, theory will always be an approximation. Theory is an attempt to simplify the real world so that our feeble minds can grasp what the hell is going on. Sometimes we can come up with theories that perfectly describe what will happen in the real world. Other times we have to make simplifications and sacrifice thoroughness for the sake of usability. Sometimes we need to make approximations because we honestly do not know how to quantify certain effects, or even that they exist. And finally, often we are capable of perfectly describing a system in terms of theoretical equations that are always perfectly true (ie, in terms of basic principles) but that representation would be so ridiculously complex as to be unwieldy, or so ridiculously simple as to be unusable with current technology.
If you want to see what I'm talking about, open a textbook on heat transfer or fluid mechanics to the middle or end. You won't see nice, clean (and 100% accurate) equations like "F=ma" or "V=IR". No, you'll see some ridiculous shit like f = (27/Re_{D}^{.725})(D/C)^{.1375} and that's one of the equations with normal looking coefficients. Many of these equations, nobody knows how these random coefficients correspond to reality, only that they are necessary to make the computed curve fit the experimental data.
If we were to try characterizing turbulent flow analytically, for example, we'd need a super computer to model about a gazillion independent particles, applying simple, known equations like van der waals, momentum transfer, F=ma, and a host of other, simple principles. But it would take forever to actually compute anything useful, even though the equations are simple (there are a lot of particles to keep track of!). So in the example of turbulent flow, though we could say that theory and application are the same thing, that would only be true if we had the world's fastest (man made) supercomputer. Instead we have to rely on the fastest supercomputer ever: nature. We let nature carry out the calculations of particle to particle interactions and observe what happens on a macro scale. The translation is far from perfect, but that is the nature of the interaction between theory and application. In the case of turbulent flow we end up with something really simple like the Reynolds number which can be computed with just 3 or 4 terms. Sure, it only really tells us the overall picture (do we have turbulent flow: yes or no?) but we can make further approximations and further macroscale experiements and build a useful, though only partially accurate, theory.
There are other differences, technically, between theory and application but I'm pretty sure the distinction I talked about is the one you were getting at.
"Welding was faster, cheaper and, in theory,
produced a more reliable product. But sailors do
not float on theory, and the welded tankers had a
most annoying habit of splitting in two."
J.W. Morris
produced a more reliable product. But sailors do
not float on theory, and the welded tankers had a
most annoying habit of splitting in two."
J.W. Morris
Re: "Practical" vs "Theoretical"
It sounds to me like a lot of this boils down to how people learn. I like learning how stuff works from the big picture, and understanding how everything relates. Most people want to just have the minimum amount of information, and memorize some numbers (or better have a table to look them up in). So even in a situation where the theory method works a bit better most people will want to use the more "practical" method.
Re: "Practical" vs "Theoretical"
It seems to me there is also the matter of perspective. To one group of people, something will seem very practical, but to another different group, it might all seem very pointless and academic. This has to do with the goals of the person learning the material.
One of my physics professors tells a story about when he used to teach an intro engineering class. They were frustrated with him since he would try to PROVE to them that the formulas they were given HAD TO BE true (using mostly some calculus). In a physics course, this is ESSENTIAL information since when analyzing a problem since you need not only an 'intuitive' sense of what is physically happening, but you need to be able to figure out the relationships between items in the problems  this is a lot easier when you know where the formulas you use come from, just as useful and fundamental as v = dx/dt. The engineers didn't care too much for this stuff, they just wanted a formula and a slightly less fundamental look at things.
But it's not even as simple as that. There's even a groupswithingroups aspect of this. A threeway example: there is a mass moving at some velocity towards another mass at rest. How do you analyze the situation? Well since you have a moving object, you 'really' should use (special) relativity. And since you have a mass, a chunk of matter presumably, you 'really' should use quantum mechanics and/or general relativity. But ordinarily, it's more 'practical' to just use Newton's laws methods. If the speed is significantly less than c, this is fine. If the mass is significantly large, this is fine. It's not totally correct, and there is a lot more complex theory behind what should actually be done to 'correctly' analyze the problem, but NLM is good enough in this case.
So to some physicists in that case, using SR and QM would be pointless and academic (given the right conditions), and using NLM would be more 'practical'. On the other hand, an engineer might not want to waste his time thinking about it at all and just consult a relevant formula  his goal is probably not to solve the problem, but to use the solution to figure out how to shape the situation to make it do what he wants.

Additionally, on the wider topic: I see theory as more 'real' than practice. To me, theory is the underlying heartbeat of every practical problem. In practice, everything is imperfect, and that's a good realization to have with you at all times. But theory tells you what's really going on and gives you insight. In practical matters, theory tells you what to expect and acts as just an incredibly useful tool.
The other thing is that theory and practice have a sort of feedback loop. When one is improved, the other improves and makes the first better, and so on. You can do lots of experiments and gather data and then form a theory, or you can form a theory (or add to a theory) and then do experiments to check. This applies to applications as well.
Think of a chair factory. If this factory builds 1,000,000 chairs, it'll produce a lot of data, and from that data one can glean a pretty good understanding of chairs. A theory of chairs can probably be made from this data, and that can be used to improve the factory.
Consider also that, if you had a theory of chairs beforehand, it can tell you a lot more (if it's a GOOD theory) than 1,000,000 data points will. In that way it's more powerful and more meaningful than the actual 1,000,000 chairs data. But where did this theory come from? Probably from chair data.
One of my physics professors tells a story about when he used to teach an intro engineering class. They were frustrated with him since he would try to PROVE to them that the formulas they were given HAD TO BE true (using mostly some calculus). In a physics course, this is ESSENTIAL information since when analyzing a problem since you need not only an 'intuitive' sense of what is physically happening, but you need to be able to figure out the relationships between items in the problems  this is a lot easier when you know where the formulas you use come from, just as useful and fundamental as v = dx/dt. The engineers didn't care too much for this stuff, they just wanted a formula and a slightly less fundamental look at things.
But it's not even as simple as that. There's even a groupswithingroups aspect of this. A threeway example: there is a mass moving at some velocity towards another mass at rest. How do you analyze the situation? Well since you have a moving object, you 'really' should use (special) relativity. And since you have a mass, a chunk of matter presumably, you 'really' should use quantum mechanics and/or general relativity. But ordinarily, it's more 'practical' to just use Newton's laws methods. If the speed is significantly less than c, this is fine. If the mass is significantly large, this is fine. It's not totally correct, and there is a lot more complex theory behind what should actually be done to 'correctly' analyze the problem, but NLM is good enough in this case.
So to some physicists in that case, using SR and QM would be pointless and academic (given the right conditions), and using NLM would be more 'practical'. On the other hand, an engineer might not want to waste his time thinking about it at all and just consult a relevant formula  his goal is probably not to solve the problem, but to use the solution to figure out how to shape the situation to make it do what he wants.

Additionally, on the wider topic: I see theory as more 'real' than practice. To me, theory is the underlying heartbeat of every practical problem. In practice, everything is imperfect, and that's a good realization to have with you at all times. But theory tells you what's really going on and gives you insight. In practical matters, theory tells you what to expect and acts as just an incredibly useful tool.
The other thing is that theory and practice have a sort of feedback loop. When one is improved, the other improves and makes the first better, and so on. You can do lots of experiments and gather data and then form a theory, or you can form a theory (or add to a theory) and then do experiments to check. This applies to applications as well.
Think of a chair factory. If this factory builds 1,000,000 chairs, it'll produce a lot of data, and from that data one can glean a pretty good understanding of chairs. A theory of chairs can probably be made from this data, and that can be used to improve the factory.
Consider also that, if you had a theory of chairs beforehand, it can tell you a lot more (if it's a GOOD theory) than 1,000,000 data points will. In that way it's more powerful and more meaningful than the actual 1,000,000 chairs data. But where did this theory come from? Probably from chair data.
zenten wrote:Maybe I can find a colouring book to explain it to you or something.
Who is online
Users browsing this forum: No registered users and 12 guests