We'll get to the address part in a moment, but firstly the Name field.
Almost everything in Access (forms, reports, controls, tabledefs, ...) has a
Name property. You *really* don't want to call a field "Name". If you do
then Access is likely to think that you are referring to the Name of the
form when you try to refer to the Name field/control on your form. Searches,
matches, filters, sorting, and so on will all go awry.
In any case, one of the normalization rules is that the data must be atomic,
i.e. don't store 2 or more pieces of information in one field. That means
you need separate fields for Surname, FirstName, etc.
For the same reason, an address field that contains both the street and city
is not normalized, i.e. the data is not atomic--you have multiple pieces of
info in a single field. In practice, this severely limits:
- the reliability of the data (cannot match against a list of cities),
- data entry speed (cannot autocomplete the name),
- the efficiency of the data (cannot use the index when the city is embedded
in the middle of the field), and
- the searchability of the data (cannot distinguish between a street name
and a city name.)
To be fully normalized, you might even consider that 123 Main Drive should
be 3 fields: the number, the street name, and the street type. If addresses
were consistent, that would be a very good idea. In practice, though, that
structure is impractical, because heaps of addresses do not follow that
format. There are unit numbers (7 / 222 Main St), street numbers with
suffixes (12B Main St), building names, floor levels, lot numbers instead
of street numbers, rural addresses with no street number and perhaps an RMD
number (Road Mail Delivery), addresses that indicate the corner of 2
streets, post boxes, address Care Of somone else, locked bag numbers, ...
And that's before we start considering all the possibilities in other
countries. It becomes impractical to normalize addresses to that level.
Hope that's useful.