I have Cars with different Characteristics, Characteristics have values, which can be restricted by predefined set of values or be "open" values (any string). Characteristics and predefined values must be localized. I designed this schema: enter image description here

Though it seems like all requirements are met, I am a bit confused about having characteristic value in two different tables. I think it can cause some issues when trying to search by characteristic value.

Can you offer more elegant way to solve this problem?

  • Your model is an abstraction of an abstraction, I don't think you are going to find anything "elegant" from a relational view of the world in implementation. From purely a DBMS view, you would typically fall into default constraints and/or how you do your creation pattern works w.r.t. table-per-type/per-concrete/hierarchy. My take, you may have gone too far into the abstraction (akin to too normalized versus slowly-changing dimensions). – Andrew Loree Mar 23 '16 at 15:04
  • I think Object title is a bit misleading. I am not trying to create general model to represent any object, I use this name to avoid going into my specific field. Let it be a Car instead of Object. The problem is about storing localized sets of string values and number values together. – vsevolod Mar 24 '16 at 3:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.