A friend is creating a credit card applicatoin after she designed the database. However, she just put my way through two first NF tables, that have a couple of functional dependencies on non-PK posts. Indeed, she added the PKs once i recommended her. The Next+ NF style of her system may need 7 to fifteen tables.

I stated that you will see a few possible update abnormal. However, she stated she's saved methods for insertion and updates therefore the update abnormal won't ever happen since she'll pressure the customers/programs place/update the information through the saved methods.

Can there be every other valid reason to influence her to create the machine with greater normal form? Or perhaps is her solution adequate practically?

She's most likely unskilled and not aware from it. It was already shown in particular that there's not a way to assist they.

She most likely thinks that they could possibly get everything code in individuals SP's right, without creating a single mistake. That's not only likely a ridiculous overestimation of her very own capabilities.

I counsel you to allow her just make her mistakes. For You Personally, it'll save time of attempting and also the frustration of not succeeding to get the content through, as well as for HER, it'll offer her the chance to understand from her very own mistakes (only option left since she's apparently not necessarily prepared to study from other peoples' mistakes), and it'll save her the frustration of needing to undergo your later coming 'round with this glorious "I said so.".

But when you actually insist upon trying it out, then you definitely might point to her that :

  • her 1NF tables are really sights (materialized sights at this) around the 3/BC NF tables that they is voluntarily not applying.
  • the updates that her finish-user most likely needs to do, are likely, however, updates to individuals 7-15 3/BC NF tables. (I only say this since you indicated as her sole reason behind the low NF that they really wants to avoid this type of "huge" quantity of tables - the cynicism in "huge" is intentional.)
  • however the updates the DBMS is expecting, are updates towards the 1NF tables (that are sights).
  • Therefore, her problem boils lower to "distilling the right updates to 3NF tables from updates which are specified as updates to sights on individuals tables".
  • Therefore, getting her SP code to become correct, is a concern of methods to complete view upgrading.
  • And you know what, after a lot more than 4 decades of research around the relational model, by 1000's of scientists whose intellectual capabilities exceed hers most likely by orders of magnitude, it's exactly this issue of view upgrading that also stands unsolved ... (although granted, her issue is not "view upgrading generallyInch, but "view upgrading in certain given specific situation". Nevertheless, I greatly doubt that they has got the skill to place all of the particulars involved.)