As a new member welcome to the AWF!
The relationships diagram provided raises a number of questions, as flagged by others and comes back to modelling the data correctly. This ultimately depends on your business needs and is limited by our lack of knowledge of your specific business focus.
From what has been said/presented in this thread, and focussing on the data only:
- You have clients who may have one of more dependents. A client joins (enrols?) in your service.
- A Client (or Dependent) may have one or more Illness or Disability for which they may receive a Benefit.
- A Client (and/or Dependent) may visit your service multiple times. (not sure what NoAdults/ChildFed represents)
- A Client (and / or Dependent) may also be provided multiple "Extras" - of various types.
From your relationships diagram there are clients who may have an Illness or Disability (but may not if they are the parent/carer of a dependent who does have an illness/disability of interest to the service?)
A dependent is entered as a Client - and is (always) assigned an illness/Disability
However there is no association apparent for a dependent to a parent!?
A self-referential join of client to client (introducing a ParentID can address this. (Do you need to distinguish a Parent of a child from a Carer of a Client?). The DOBDep will then not be needed in the Dep2T table. Your query is limited to 2 dependents, however a parent may have more.
Can you have both natural parents as client records each with the same dependent records? Can a carer change over time and do you need to retain the Carer record? (this may then need a Junction table to resolve)
The repeated extras in the Extras table - are these limited to 4? Do you need to know when they were provided? (ie may they be associated to a visit
NoofDep - is a calculated value and should not be stored - unless this is the number of children in the family including those who are not in the register?
Disability/Illness and Benefit - are these all free text or do you have a need to control the entries so that the data is consistent - "coded" - to support querying of records. Can/do Benefits potentially change independent of Disability/illness over time. This might then be a separate table, and linked to a visit when it is assigned.