Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have read the definition of 1NF which is, "If each attribute of relation is atomic". Please tell me what is Atomic.

share|improve this question

4 Answers 4

up vote 9 down vote accepted

1NF requires that every attribute position in every tuple in every relation contains a single value of the appropriate type. The types can be arbitrarily complex. In fact, the types can be relations. (CJ Date's book Database in depth: relational theory for practitioners treats this issue in a way that's pretty easy to understand.)

"Atomic" has never really meant "indivisible", which is why that term is finally falling out of favor. Loosely speaking, "atomic" means if a value has component parts, the dbms either ignores the existence of those parts, or it provides functions to manipulate them. For example, a timestamp value has these parts.

  • Year
  • Month
  • Day
  • Hours
  • Minutes
  • Seconds
  • Milliseconds

That kind of value is obviously divisible, and all database management systems provide functions to manipulate those parts. They also provide a way to select a timestamp as a single value. (Which, of course, it is.)

share|improve this answer

"Atomic" refers to Codd's original notion from 1969 that each attribute in each tuple within a relation schould consist of a single value and not allow multivalued structures of the kind supported in databases like the CODASYL model.

In modern SQL DBMSs atomicity isn't really an issue. SQL tables do not allow multivalued columns and values are always "atomic".

share|improve this answer

It means that the key cannot be decomposed. Let's say that you have a table with three columns, forename, surname, and telephone_number. You declare a compound primary key on (forename, surname). That primary key is not atomic because it is actually composed of two columns. Now let's say you change your table to two columns, full_name and telephone_number, with a primary key on full_name. Is the key now atomic? No, because in your application you could split it into forename and surname still, on the space. Now let's make our table id, full_name and telephone_number, primary key on id (which is an integer). That is atomic, because the integer cannot be meaningfully decomposed.

share|improve this answer
2  
I've never heard "atomic" applied only to a key. –  Mike Sherrill 'Cat Recall' Apr 25 '11 at 11:03
1  
I'm a DBA not a textbook, Jim :-) The question was what does atomic mean and I use the key as an example. –  Gaius Apr 25 '11 at 11:05
2  
your example however begins with the statament that atomicity "means that the key cannot be decomposed". That's not what it means. It means attribuites consist of a single value. There is nothing "non-atomic" about a key consisting of multiple attributes. –  sqlvogel Apr 26 '11 at 9:30

Atomic mean data which cannot be divided further.

Rule of atomicity:

  • rule 1: column with atomic data cant have several value of same type of data in same column.
  • rule2: a table with atomic data cant have several column with same datatype.

Like fullname column can't say that it could be atomic because it can be further divded into lastname ,firstname . Column with interest also be divided into further, so column which cant be divided known as atomic.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.