

In model (1), Band cannot be Independent (square corners): since it is identified as being Dependent on Party it is a Subtype of Party and it has the same Identifier. SO or any website, is not a good medium for formal interactive education, but we will give it our best shot. I point these out before presenting the model, because you appear to be seriously interested in learning IDEF1X, the Standard methodolgy for modelling Relational Databases, with a view to easing your models in the future. Do implement the Identifiers in the Entities, even at this abstract level. It appears you have ERwin (the best!) it allows you to view the single model at that level very conveniently.In order to provide clarity re those points, at this Conceptual level, we need to work with Entities and Identifiers (not Attributes), rather than just Entities. They are Persons, first (and Person is a Party, second) Here you understand the data really well, but (no one has taught you this and) you have confused Roles and Subtypes.īandMember and Fan are not Parties. Separately all the RoleNames are derived from Party, but that is not a valid reason to use Party instead of the correct Role. The common mistake is they use Party, and then the meaning of the Subtype or Role, and the correct Referential Integrity is lost. Notice that each Subtype is also a perfectly valid Entity (Table in the Physical, when we get to that stage) in its own right, and can stand on its own.įor the lower levels or transaction or function tables, which have Relations to these Subtypes, the trick is to use the correct Subtype (Role). No offence, I understand that people are attached to, and will defend, what they know, however limited as that may be. This is where Ken Downs and Chris Behrens confuse modelled simplicity (highly extensible) with unmodelled implementation (incorrect and un-extensible), due to the simplistic approach advised by dwarves such as Martin Fowler. Point is, that may look "complex" but it isn't, it is actually very simple. The correct implementation of that is very rare indeed, I have not seen this anywhere (except of course my own database implementations for customers, and a few high-end suppliers). Subtypes have the effect of changing the Role of the Supertype. Separately, even where Subtypes are implemented, they are implemented in very limited fashion.

IDEF1X, the only Standard for Relational Data Modelling, has specific symbols for it. Subtypes existed long before the Relational Model, and continues to exist.Unfortunately it is not common and therefore not commonly understood. Yes, a Supertype-Subtype structure is correct here.It is staggering that ERD is still being taught as "relational", and IDEF1X is suppressed. It has not concept of the Identifier, it cannot handle a Relational Key. I reject the work of Date Darwen Fagin etc, because it contradicts the Relational Model, it is anti-Relational.ĮRD (P Chen) is pre-relational, pre-IDEF1X, and primitive in comparison.

I adhere to the Relational Model by Dr E F Codd. When I answer Data Modelling questions, I am not supplying some personal method that I wrote a book about, I stand on the shoulders of giants. It must be mentioned that Relation Modelling is the work of giants in the industry, Dr E F Codd and R Brown in the 1980's. Be assured that I go through the formal sequence. (I answer questions more fully than others, and even that, causes negative commentary !).

you have found that out anyway in your "creating confusion in expanding the model". All the data being used or stored needs to be considered/modelled together. First a couple of caveats for understanding the limitations.
