2

I have a database design for which one entity of Class A always has at least two entities of Class B. Can I express this with valid Crow's Foot notation?

One possible idea I had was this:

Crows Foot diagram

Excuse the giant crow's foot, was a quick drawing! I know this breaks the Crow's Foot format of always having two symbols on each end. Also I'm concerned that it's not particularly obvious. I think doing a UML with 2...M is more obvious.

So is there a way I can do this cleanly with Crow's Foot?

  • How are you intending to implement that in the database such that one isn't allowed? – user40980 May 12 '15 at 12:53
  • 1
    @MichaelT Obviously not at the table design level, but I'd enforce the rule either with a trigger or with the code interface. So it's more of a business logic rule than raw DB design rule. Though it certainly is a strict rule. – andrewb May 12 '15 at 12:54
  • 2
    The crows foot format is trying to describe the raw DB design and isn't intended to be describing the additional business logic constraints in triggers or elsewhere. Thus, that idea just doesn't exist in the crows foot diagram. UML describes a different abstraction of the data than the crows foot diagram does. – user40980 May 12 '15 at 12:59
  • @MichaelT Oh right! Would the verbs in UMLs be another aspect of beyond-DB abstraction? – andrewb May 12 '15 at 13:02
  • 1
    I'd put UML verbs in the beyond-DB abstraction. I look at it this way: UML is a high level design language. ER diagrams are a low level design language. Just as you can compile C to assembly, you can 'compile' UML to an ER diagram. Just as with the C++ to assembly compiler, not all the abstractions that were in C++ are visible in assembly - the same is true with UML and ER diagrams. If you were working by hand in assembly, you don't think about classes and virtual functions. If you are working by hand in ER diagrams, you don't think of UML verbs and abstractions. – user40980 May 12 '15 at 13:11
2

AFAIK there is no "offical" symbol for this. You can help yourself by adding a free-form commentary, or use UML instead.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.