-2

I'm creating a table and I have a constant name called C which will be filling like this: (CA, CB, CC...)

All of the columns must be filled by the user, (except ID wich is autonumbered):

ID | NUMBER | NIT | CA | CB | CC | ... | CZ

As you may notice normalization can be applied to the "C's", like this:

ID | NUMBER | NIT | C
-  | -      |  -  | A
-  | -      |  -  | B
-  | -      |  -  | C
-  | -      |  -  | ...
-  | -      |  -  | Z

Does normalization is necessary here? It is preferable handle rows of C instead of columns as the first table thought?

I would like to read recomendations or good practices for dealing with this.

dirojas
  • 57
  • 8
  • Hi. 'in theory, the user now will have to write the "names" of C' & 'limits me because this table [is] related to other one' are not clear. Also putting quotes around a word does give or clarify the non-standard meaning or specific case that you have in your head. PS [Normalization (to "1NF") has no one meaning and many "meanings" are unclear or nonsensical.](https://stackoverflow.com/a/40640962/3404097) – philipxy Sep 09 '18 at 23:10
  • You need to provide: the level of normalization you desire and the complete list of determinants for the schema you posted. There is no such thing as simply a "normalized" relation. There are levels of normalization and you need to pick the level you're after. – nicomp Sep 09 '18 at 23:46
  • @nicomp "Normalized" has two common meanings. The first is "normalized to 1NF" (it's first meaning) & "normalized to higher NFs" (since "1NF" & higher were defined). See the link in my previous comment. – philipxy Sep 10 '18 at 00:11
  • This is now more unclear. How is the introductory example related to the actual design? You change from many similar columns to 1 column with (somehow) many values. PS The parts that were unclear are still unclear. PS Please [use text, not images/links, for text (including code, tables & ERDs)](https://meta.stackoverflow.com/q/285551/3404097). Use an image only for convenience to supplement text and/or for what cannot be given in text. And never give a diagram without a legend/key. Use edit functions to inline, not link, if you have the rep--make your post self-contained. – philipxy Sep 10 '18 at 00:27
  • I understand, I'll be checking some things, this post eventually will be deleted – dirojas Sep 10 '18 at 00:52

2 Answers2

1

Is normalization "required"?

Normalization is never required unless you are doing a project for a database class. It is often a good idea. It can simplify some types of common queries and it guarantees that a given data item is stored once -- easing updates. In your case, it also ensures that adding a new "C" column would be easy -- just another row in the table, rather than modifying the table.

There are some circumstances where normalization is not the best approach. It is hard to say if this applies. It depends on how the data is used, where it is sources from, and how it gets updated.

Gordon Linoff
  • 1,242,037
  • 58
  • 646
  • 786
  • 1
    "Normalization is never required unless you are doing a project for a database class." -- So, so wrong. – nicomp Sep 10 '18 at 00:00
0

If [CA, CB ... CZ] are distinct attributes of the entity described by your table, then the schema seems to satisfy First Normal Form.

Since your description is abstract, it's difficult to tell whether more complex normalization would be appropriate.

Ted
  • 1
  • 2