The relational model only specifies that, if referential integrity in enforced (otherwise not), a foreign key must match a key in the referenced table or have a null. Thus you can have non-matching records. Indeed the relational model does not feature one-to-one relationships as a specific thing. Access does refer to them but I've never used Access's one-to-one feature so I can't comment on it.
I've always found the one-to-one relationship odd, if it's all about a single entity, why split the table up?
I wouldn't think that you would HAVE to have the same number of records. Say for instance, that you have tblPersonID and tblPersonInfo. Let's put name information in tblPersonID and Sex, Race, and DOB in tblPersonInfo.
The person is created in tblPersonID with an ID number and the name, but when the ID is created you don't know the sex, race or DOB. You could conceivably have a record in tblPersonID and not tblPersonInfo.
But again, all this information is about the PERSON, why have two tables to store information about a single entity?
I can see where one-to-one relationships might work better than a single table where information is processed by multiple users. This would limit the issue of record locking if there were two tables being edited rather than two users in the same table on the same record.
Duane
MS Access MVP
Find out how to get great answers faq219-2884.
Often you have a table owned by someone else but you wish to enhance the data model by adding data but can't do it on their tables - perhaps they are production tables on a different machine. You add your data to a separate table. The relationship is one-to-one.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.