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

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T12:22:53+00:00 2026-05-19T12:22:53+00:00

Goal Find a perfect , flexible schema for storing many different types of objects

  • 0

Goal

Find a perfect, flexible schema for storing many different types of objects with a wide variety of links between them in a relational database.


Problem

EAV is a workaround to the normal confinements of a RDBMS.

If you were to normalize an EAV schema, it would be ugly.


Idea

If EAV was normalized, it would be ugly.

Does the fact that we traditionally maintain these schema by hand limit their complexity and power?

But if it was maintained and queried programmatically, what would it matter?


Graphs

If you have n different entities in n different tables, why not let your code generate n(n+1)/2 link tables and the queries between them? Would this not result in a true graph in a normalized schema?

In a highly interlinked database, there will always be exponentially more edges than vertices. Why not focus on creating proper, normalized verticles (n entity tables) and let our code maintain the edges (n^x link tables)?


Conclusion

Can a system normalize EAV and maintain the resulting complex schema?

Can complex graphs be stored in (and remain true to) relational databases?

I’m sure this has been done before, but I’ve never seen it. What am I missing?


Example problem

Storing printed works and their bibliographic data

  • Many properties which might be not just strings but whole objects.
  • In the library world, there is no simple (and relational) schema which can store data “losslessly” without extremely complex schemas.
  • Many different types of associations and associated objects
    • And their relevant properties (which can vary wildly).
    • And their many relationships, of different types, amongst themselves.

Questions

“What problem are you trying to solve?“
-Piet

I’m looking for a normalized solution to EAV, graphs, and polymorphic relationships in a relational database system.

“I would hate to be the guy who has to understand or maintain it after it’s gone into production.“
-Andrew

This “traditional maintenance” is the exact thing I’m saying we should be automating. Isn’t it largely grunt work?

  • 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-19T12:22:53+00:00Added an answer on May 19, 2026 at 12:22 pm

    Since you are editing the question, it must be active.

    Yes, there are much better ways of designing this, for the purpose and use you describe.

    The first issue is EAV, which is usually very badly implemented. More precisely, the EAV crowd, and therefore the literature is not of high quality, and standards are not maintained, therefore the basic integrity and quality of a Relational Database is lost. Which leads to the many well-documented problems.

    You should consider the proper academically derived alternative. This retaiins full Relational integrity and capability. It is called Sixth Normal Form. EAV is in fact a subset of 6NF, without the full understanding; the more commonly known rendition of 6NF.

    6NF implemented correctly is particularly fast, in that it stores columns, not rows. Therefore you can map your data (graph series, data points) in such a way, as to gain a flat high speed regardless of the vectors that you use to access the graphs. (You can eliminate duplication to a higher order than 5NF, but that is advanced use.)

    “Highly-interlinked” is not a problem at all. That is the nature of a Relational Database. The caveat here is, it must be truly Normalised, not a inlerlinked bunch of flat files.

    The automation or code generation is not a problem. Of course, you need to extend the SQL catalogue, and ensure it is table-driven, if you want quality and maintainability.

    My answers to these questions provide a full treatment of the subject. The last one is particularly long due the the context and arguments raised.
    EAV-6NF Answer One
    EAV-6NF Answer Two
    EAV-6NF Answer Three

    And this one is worthwhile as well:
    Schema-Related Problem

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

Sidebar

Related Questions

My goal: Find a DIV, slideUp all of it's child divs, then after all
My goal is to find out how to programmatically adjust permissions on files &
My goal is to find the package (as string) of a Java source file,
My goal is to find all <?= occurrences with ack. How can I do
I have Persons table in SQL Server 2008 . My goal is to find
GOAL My goal is to find a text file or library that enables me
SUMMARY: The goal is to find the path to the WEB-INF folder in the
Goal: to find count of all words in a file. file contains 1000+ words
All: I'm seeking input/guidance/and design ideas. My goal is to find a lean but
Goal Java client for Yahoo's HotJobs Resumé Search REST API . Background I'm used

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.