Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Actually, there's more than one problem with your model, even as simple as it is. A thing may have a date of birth if it was <em>ever</em> living. It may once have been living, yet now be dead.</p> <p>Also, you'll want to clarify whether the absence of the fact "Type lives" implies "Type does not live" (Closed World Assumption), or whether it only implies "Type is not known to live" (Open World Assumption, I think).</p> <p>One additional concern I have is that your question seems to be somewhat confused, combining "relational model" and "ORM" in the same "sentence". Object-Role Modeling is a Conceptual modeling tool for creating conceptual models, which may then be mapped to a Relational schema. Even if you are reverse-engineering an existing Relational schema, it's best to use the schema as only part of the information you would use to create a correct Conceptual model. In addition, use examples of valid input and output, and also discussions with the domain experts. This will often help you discover important constraints which were not captured by the Relational schema, or which may have been captured incorrectly.</p> <hr> <p>BTW, for an excellent ORM tool, see <a href="http://www.ormfoundation.org/files/folders/norma_the_software/default.aspx" rel="nofollow noreferrer">NORMA</a>. It's an add-in to Visual Studio 2005 or 2008 (Standard Edition or above), and uses the modern ORM2 notation. It can generate SQL for several different databases, as well as ER diagrams and even code.</p> <hr> <p>Also, see The Book:<br> <a href="http://rads.stackoverflow.com/amzn/click/0123735688" rel="nofollow noreferrer"><img src="https://xmlvga.blu.livefilestore.com/y1pQKt7IiCt5cbgK96grBdfnLw56iSlK79UfB4IKFgteBAL7EpJJweIxzikuiOjpmDy1xsCVIAb6YsneSkdJaVOI-kn5UGe4ISS/HalpinBook.jpg"/></a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. COThis is my fear, that the model is open to interpretation based on ones understanding of the words used to describe it rather than those words being defined based on the relationships within the model. If I were able to specify what I am asking the only way to interpret the model would be that only an instance of thing with type that lives could have a dob, implying the lives refers to the fact that thing lives not that it's currently alive. Of coarse if that was the case I would probably want it to be required based on the state of lives which creates a whole nother issue :( Thanks
      singulars
    2. COOne thing about conceptual models is that they do better when working with real concepts. You seem to have abstracted a set of situations in order to get an answer that could apply to all of the situations. I recommend you work with one model that's more concrete, and come up with a solution for the more-concrete model. The tools of conceptual modeling will help you make that concrete model correct.
      singulars
    3. COI agree that less abstract types would be ideal, but in situations where they may be unobtainable I hope there is still a way to finish an applicable design. I thought about it a little and I propose that the only domains that can't be modeled conceptually are one that conflicts with themselves. In this case my goal no matter how lazy one has to be to want to achieve it should still be realistic.
      singulars
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload