Tuesday, March 1, 2016

First Normal Form in Theory and Practice Part 1



09/19/23: For the latest on this subject see: FIRST NORMAL FORM - A DEFINITIVE GUIDE

 

Note: This is a 11/23/17 revision of Part 1 of a three-part series that replaced all of my previous posts on the subject (pages of which redirect here), in order to further tighten integration with the McGoveran formalization and interpretation [1] of Codd's true RDM.

On the one hand:

"... there is no generally accepted definition of 1NF ... the word that you see most often is 'atomic'. It is common to say that a relation is in 1NF if all its attributes [sic] are atomic ... Does 1NF equate to “atomic attribute [values]”? ... what [do] people have in mind [when they claim] atomicity? ... the [meaning] behind definitions is that you should rarely need to extract information from a value of an attribute ... But that explains why one cannot decide, depending on theory only, whether a relation is in 1NF ... it is a habitual use of data that makes attributes atomic, not theory. No wonder, there is so much mess in theory about what 1NF should be."
--What is the actual definition of First Normal Form, Vertabelo.com

On another, according to a DBDebunk reader:
"Codd in 1969/70 (and RM V/2 20 years later) gave a precise, theory-based definition of "atomic" aka "simple" aka "non-decomposable" (later aka non-"compound" aka non-"structured"): not relation-valued. And he gave a precise definition of "normalized" (1NF): relations free of relation-valued-domains (RVD)!"
 All sorts of other definitions proliferate, for example:
 "First normal form enforces these criteria:
- Eliminate repeating groups in individual tables.
- Create a separate table for each set of related data.
-Identify each set of related data with a primary key."
--First normal form, Wikipedia
Note: A relational databases consists of relations that can be visualized as R-tables. Normal forms are a property of relations, not R-tables -- a "R-table in 1NF" is shorthand for consistency with the underlying relation. 
 

Sunday, February 21, 2016

This Week



1. Quote of the Week
Karen Lopez: To bring others up to speed, Fabian is using an academic taxonomy for data modeling terms. It's valid. It's popular in research. It's not used in any major data modeling tool, nor in many practitioner resources. I have been using the industry vernaculars in my posts and here. Part of the debate that Fabian is having is because he does not tolerate the industry terms, so he chooses to attack others who use the mainstream terms. He believes they are "wrong" instead of "alternative". So that's part of the pain we have in debating his positions. I'm bilingual, but I choose to use just one set in my writings.

Fabian Pascal: Karen, bollocks. See, I can use non-academic terms too.

Sunday, February 14, 2016

Healthcare, Data Fundamentals and the PASS Summit (UPDATED)





When, years ago in an online exchange, I argued that working with SQL DBMS's without knowledge and understanding of data and relational fundamentals is a costly proposition, an Oracle practitioner replied that "they train doctors on how to use medical devices, not teach them the theories behind them". I asked him what do doctors learn in their six years of medical school, but got no reply.

I have documented and debunked for decades the substitution of tool training for education and the ensuing "cookbook approach" to database practice it produces. While I have become more jaded, it is still difficult to run so frequently across something like

Sunday, February 7, 2016

This Week



1. Quote of the Week
NULL values can be very useful, especially on indexes, as an indication of "index is not set" or "no index here", or "default inherited index applies".

I use Null values extensively (in huge database systems) with not only no problems whatsoever, but measurably signifcant advantages. People who try to tell you that "Nulls are the work of the devil", or :the sky will fall down if you allow nulls", or some such unsubstantiated childish delusion are exclusively ignorant of the correct ways to handle them. (Or too lazy/ineducable to learn their correct implementation and/or benefits.)

Fact, just plain indisputable fact.
--bytes.com

Wednesday, January 27, 2016

It’s Not Tables, It's the Relationships



My January post @All Analytics.

"Logical refers to the relationships among the components of the relation, not to any arrangement of the components of a relation. Any presentation that preserves those relationships and adds no extra ones is acceptable. An R-table is one possible such presentation. The problem is that people fixate on this one presentation, identifying it with relation. They then go even further and force the physical implementation of a relation to be table-like." -- David McGoveran 

Read it all. (Please comment there, not here)







Sunday, January 24, 2016

This Week



1. Quote of the Week
I don't know that I would say that the RM is dead per se, or even holding us back. But I have to ask... why the relational model? ...A Hierarchical Model would work. In fact if we look at these NoSQL databases ... Hierarchical Models work better than relational models. The point is that some of the factors which cause one to think in terms of relationships have changed. Disk is cheap. There are definitely problems where having a strongly typed and structured model make sense. Then there are problems where not having a rigid model make sense. Structure on read seems to make sense these days. PS... Relational models don't scale. Especially on MPP.
--LinkedIn.com

Sunday, January 17, 2016

Conceptual (Business) Modeling, Logical Database Design and Physical Implementation



A serious problem in the database field is not just that many data professionals do not know and understand the RDM, but also that they believe they do and criticize it. It is relatively easy to detect such critics. In "Recognizing and Treating Tableitis" Gordon Everest tries to be humorous, but it ends up more sad than funny.

View My Stats