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 6799831
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T18:53:45+00:00 2026-05-26T18:53:45+00:00

I am working on project, where a smaller datamart (maybe 30 tables) was implemented

  • 0

I am working on project, where a smaller datamart (maybe 30 tables) was implemented from the scratch. Now, the colleague with deep knowledge of this mart is going to do another project, left me alone in this project (with some support from him).

I just thought that I generate database diagram and thus I will not need any extra help when I would modify an ETL and do some joins etc. But, surprisingly for me, newbie in this profession…

I generated diagram, and no star or snowflake schema was there, just plain tables without primary and foreign keys. So My work was to try to imagine how the tables are related, then consult it if it is true, then remake my script etc. ANNOYING.

When I ask why it is like this (without relations between tables), I got this answer: “It is because of performance.”

Is it usual to solve it like this? If no, how to solve it with relations and still good performance?

  • 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-26T18:53:45+00:00Added an answer on May 26, 2026 at 6:53 pm

    Foreign keys are constraints used to ensure consistency of data in a database – their purpose is not to document the structure of your database, rather it is to enforce data consistency rules by controlling what changes are allowed to the database.

    This is all good in a live database where data integrity is key, but in a datamart there is no need to enforce these rules – we know the data is consistent because it’s a copy / extract of the live database where these rules are enforced.

    Foreign keys also come with some disadvantages:

    • They complicate the datamart extract process (you need to ensure that data is extracted in a certain order)
    • They prevent partial exports (where you export only certain tables from your database)
    • They also incur a runtime performance penalty when making changes to the database as the database server has to check / validate each constraint as changes are made

    In short, they reduce performance and provide no real benefit, so why bother? Just make sure that your datamart is documented properly elsewhere.

    You might be interested in these questions:

    • How to document a database
    • How do you document your database structure?
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I compiled an fine working project (before compiled with 3.1.3) now with 3.2.1 Now
I'm working on this ios app project with cocos2d, and I need to create
I'm working on an old project from an other developer, and can't get something
While working a project tonight, I ended up using one .js resource file for
I working on project and have problem with threading and update of UI. I
I am working a project where I need to generate a series of classes
I'm currently working on project with Haskell, and have found myself some trouble. I'm
I am working a project that does not have a trunk / branches /
I am working on project in Linux which involves 1) Static Lib in C++
I'm working on project that lets users choose some scientific authors and columnists and

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.