Record or Attribute Updates
Problem
Consider a record in a database, specifically we will look at a person record:
Person{
FirstName as String
LastName as String
PlaceOfWork as foreign key
PlaceOfRest as foreign key
}//Person
If I want to change a person's place of work, I can change PlaceOfWork, to a different business. If you want to change a person's place of rest, you can change PlaceOfRest to a different location. If we want to change the same person, at the same time, but different attributes, it should not cause a problem.
This fine attribute-level locking method allows database access to be even faster, notably in high use situations. Arguably no lock is really needed since most systems automatically make attribute (read variable) changes atomically to begin with.
Conclusion
It is the lack of functional dependencies that allow one attribute to change independently from another. It is in the face of functional dependencies that higher level locking schemes are necessary.