I am struggling with my datbase design, in particular the relationships between my tables. This is possibly because my application is a non-typical use for Access. What I am trying to do is collect information from customers, that will be used to auto-generate
a number of documents. Therefore I will have few records, and many fields, which from my understanding lessens the requirement for indexing, and makes it difficult to see where I would create relationships.
The following is not my application, but puts what I am doing in a setting more familar. Say I am a company which decorates and furnishes newly built houses. I want to get customer information from an extensive questionnaire which asks what they want by
way of finishings (floor type, lamps, curtains, colour of paint, fittings, etc) and the furniture to be bought for each room (beds, tables, chairs, etc). It seems logical to break the house down into rooms, and each becomes a table. Once the information is
complete, I will use this to generate purchanse orders, tenders for sub-contractors, a work plan, job description and proceedure, cost estimate, etc. [As a final product I want Access to provide all my fields to a merge with Word to generate my documents].
I therefore create a number of tables, one for each room in the house. While they are all related in the sense they pertain to the same house, I don't see an obvious way of setting up relationships in the typical customers/products type. Is it possible to
set up pseudo-relationships not based on any particular field (autogenerate and index)?
In this example, theoretically I could have just one record, with several hundred fields. But it would still be beneficial to create many smaller tables rather than one large one.
In practice, I would probably like to keep track of changes to the customer choices, so I was contemplating recording the date whenever the customer changes any item, and creating a new record. In this way I could autogenerate the PK.
I could also (although not indispensible) keep data from multiple customers in the same database, so could have a composite field consisting of "customername"+"date". Even so, I don't see the number of customers (max 100) and their responses (even 20 each)
exceeding the number of fields.
I do need to link the tables in some way, for example to query "paint" to get the paint requirements for the whole house, and then maybe bathroom and kitchen to get the "plumbing fittings". So I do need to establish relationships, but don't know how to go
about it. Any suggestions would be gratefully appreciated (please bear in mind that the example is an analogy of my actual application).