I have to design a database, but I don't yet know which underlying technology it will use (not just my decision). Could be SQL, could be NoSQL, could be something else.
I do have quite a few requirements and I have enough knowledge of the business domain to create a data model.
Obviously, not the physical model. I would like to create a technology independent logical model. First, I'd like to create an E-R diagram.
But I don't want to draw it via drag and drop. I would like to describe it in some language from which I could generate a diagram.
Does this exist?
I know E-R diagrams can be reverse-engineered from existing SQL databases, for example. But that's not what I want.
I am looking for a generalized technology-agnostic language for describing a logical data model. It would support defining objects, relations between them (one to many, many to many) and perhaps attributes and their types (in a general way, thus 'text' or 'string' and not varchar2(100)).
Basically an E-R diagram written out. After I create it, I'd commit it to Github and share and maintain that way. Diagrams are quite useful, so I should be able to import it to some tool to get a diagram from it.