Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3760018
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T10:24:24+00:00 2026-05-19T10:24:24+00:00

Full disclosure…Trying feverishly here to learn more about databases so I am putting in

  • 0

Full disclosure…Trying feverishly here to learn more about databases so I am putting in the time and also tried to get this answer from the source to no avail.

Barry Williams from databaseanswers has this schema posted.

Clients and Fees Schema

alt text

I am trying to understand the split of address tables in this schema. Its clear to me that the Addresses table contains the details of a given address. The Client_Addresses and Staff_Addresses tables are what gets me.

1) I understand the use of Primary Foreign Keys as shown but I was under the assumption that when these are used you don’t have a resident Primary Key in that same table (date_address_from in this case). Can someone explain the reasoning for both and put it into words how this actually works out?

2) Why would you use date_address_from as the primary key instead of something like client_address_id as the PK? What if someone enters two addresses in one day would there be conflicts in his design? If so or if not, what?

3) Along the lines of normalization…Since both date_address_from and date_address_to are the same in the Client_Addresses and Staff_Addresses table should those fields just not be included in the main Address table?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T10:24:25+00:00Added an answer on May 19, 2026 at 10:24 am

    Evaluation

    First an Audit, then the specific answers.

    1. This is not a Data Model. This is not a Database. It is a bucket of fish, with each fish drawn as a rectangle, and where the fins of one fish are caught in the the gills of another, there is a line. There are masses of duplication, as well as masses of missing elements. It is completely unworthy of using as an example to learn anything about database design from.

    2. There is no Normalisation at all; the files are very incomplete (see Mike’s answer, there are a hundred more problem like that). The other_details and eg.s crack me up. Each element needs to be identified and stored: StreetNo, ApartmentNo, StreetName, StreetType, etc. not line_1_number_street, which is a group.

      • Customer and Staff should be normalised into a Person table, with all the elements identified.

      • And yes, if Customer can be either a Person or an Organisation, then a supertype-subtype structure is required to support that correctly.

    3. So what this really is, the technically accurate terms, is a bunch of flat files, with descriptions for groups of fields. Light years distant from a database or a relational one. Not ready for evaluation or inspection, let alone building something with. In a Relational Data Model, that would be approximately 35 normalised tables, with no duplicated columns.

    4. Barry has (wait for it) over 500 “schemas” on the web. The moment you try to use a second “schema”, you will find that (a) they are completely different in terms of use and purpose (b) there is no commonality between them (c) let’s say there was a customer file in both; they would be different forms of customer files.

      • He needs to Normalise the entire single “schema” first,

      • then present the single normlaised data model in 500 sections or subject areas.

      • I have written to him about it. No response.

    5. It is important to note also, that he has used some unrecognisable diagramming convention. The problem with these nice interesting pictures is that they convey some things but they do not convey the important things about a database or a design. It is no surprise that a learner is confused; it is not clear to experienced database professionals. There is a reason why there is a standard for modelling Relational databases, and for the notation in Data Models: they convey all the details and subtleties of the design.

    6. There is a lot that Barry has not read about yet: naming conventions; relations; cardinality; etc, too many to list.

    The web is full of rubbish, anyone can “publish”. There are millions of good- and bad-looking “designs” out there, that are not worth looking at. Or worse, if you look, you will learn completely incorrect methods of “design”. In terms of learning about databases and database design, you are best advised to find someone qualified, with demonstrated capability, and learn from them.

    Answer

    1. He is using composite keys without spelling it out. The PK for client_addresses is client_id, address_id, date_address_from). That is not a bad key, evidently he expects to record addresses forever.

      • The notion of keeping addresses in a separate file is a good one, but he has not provided any of the fields required to store normalised addresses, so the “schema” will end up with complete duplication of addresses; in which case, he could remove addresses, and put the lines back in the client and staff files, along with their other_details, and remove three files that serve absolutely no purpose other than occupying disk space.

      You are thinking about Associative Tables, which resolve the many-to-many relations in Databases. Yes, there, the columns are only the PKs of the two parent tables. These are not Associative Tables or files; they contain data fields.

    2. It is not the PK, it is the third element of the PK.

      The notion of a person being registered at more than one address in a single day is not reasonable; just count the one address they slept the most at.

    3. Others have answered that.

    Do not expect to identify any evidence of databases or design or Normalisation in this diagram.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Full Disclosure: I am bad at javascript. I'm trying to write something that takes
[Full disclosure: Cross-post between here and ServerFault, because I believe the audiences (server admins
Full Disclosure: There's a similar question here . Is there any way I can
Full disclosure : This is for a homework assignment. This is driving me nuts.
Full disclosure, I'm new to Visual Studio Web Tests and coding for them. I've
First, in order to provide full disclosure, I want to point out that this
How would you define testing? In the interest of full disclosure, I'm posting this
First off, full disclosure: This is going towards a uni assignment, so I don't
Full disclosure...this is my first SO question. Please be kind if I leave anything
Full disclosure: this issue is duplicated on the ggplot2 google group I'm developing a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.