Re: [PHP] Re: Where to start!




"Jason Pruim" <japruim@xxxxxxxxxx> wrote in message
news:36133942-D547-43E4-9521-8B8C1D80D206@xxxxxxxxxxxxx

On May 5, 2008, at 6:21 AM, Tony Marston wrote:




Anyone who doesn't know how to reach 3NF shouldn't be designing
databases.

Just out of curiosity... How many Records do you need to have in a
database before you'll start seeing a performance boost from doing that?
I have written a few database apps that work quite well with no formal
training in PHP or Database design.. Don't want to start any wars here...
I'm just curious :)

It is not the number of records which is the deciding factor - it is:
a) is the data want in the right place (for easy access)?
b) can it be upated easily?

For example, many years ago I had to take over maintenance of a database
which was designed b someone who was not technically competent. There were 2
paticular tables, "order_header" and "order_lines". The order had a status
value, as did each of the order lines. So where did this twit choose to
store the order status? - you've guessed it, on the order_line record. His
rationale was that when traversing the order_line recods it was easier to
have the order_status on that record instead of having to perform a separate
read of the order_header record. The flaw in this argument was that when you
wanted to change the status of an order you had to update every order_line
record. Problems arose later when a software bug (introduced by him, BTW)
left different values for order_status across different order_lines.

The rules of normalisation dictate that order_status goes on the
order_header record, and is not dupliacted across several order_line
records.

--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org


--

Jason Pruim
Raoset Inc.
Technology Manager
MQC Specialist
3251 132nd ave
Holland, MI, 49424-9337
www.raoset.com
japruim@xxxxxxxxxx





.



Relevant Pages

  • Re: Relational database & OO
    ... The RDB Data Model and the solution's Class Model will typically be different for non-CRUD/USER applications because they need to be optimized differently. ... all the business systems I've participated coding or designing spent little production time changing data. ... Given statistics like these it makes little sense to design your application or OO model before designing your database. ... And OO Class Models are routinely normalized as part of the basic paradigm methodology. ...
    (comp.object)
  • Re: Writing a DAL with TDD
    ... will use the database - which is what you advocated elsewhere. ... designing some new algorithm for a particular business scenario. ... you'll say that we "just" mock those things... ... talented developers, coupled with the strongest ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Writing a DAL with TDD
    ... will use the database - which is what you advocated elsewhere. ... designing some new algorithm for a particular business scenario. ... you'll say that we "just" mock those things... ... talented developers, coupled with the strongest ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: relationship vss join
    ... A AAZ ... B BCJ ... into the database initially, nor one on which referential integrity could be ... In the process of designing a database, ...
    (microsoft.public.access.queries)
  • Re: Writing a DAL with TDD
    ... naive to drive a database design from the point of view of the code that will use the database - which is what you advocated elsewhere. ... The benefits of TDD seem readily apparent - to me anyway - when applied to things like developing an application framework or parsing engine, or designing some new algorithm for a particular business scenario. ... or ASP.NET Web application, where a lot of code MUST interact with external systems or be dependent on things like ASP.NET Application state, Session state, or the HTTP request pipeline, then we're forced to make our unit tests depend on external things like the HTTP request pipeline or an external database. ... Let me see you mock the HTTP Request pipeline and unit test some code that overrides ASP.NET's Application.Init method. ...
    (microsoft.public.dotnet.languages.csharp)