# erd: An entity-relationship diagram generator from a plain text description.

[ database, development, program, public-domain ] [ Propose Tags ]

erd transforms a plain text description of a relational database schema to a graphical representation of that schema. It is intended that the graph make use of common conventions when depicting entity-relationship diagrams, including modeling the cardinality of relationships between entities.

A quick example that transforms an er file to a PDF is just below. The original source file can be found amongst the examples in the repository.

$cat simple.er # Entities are declared in '[' ... ']'. All attributes after the # entity header up until the end of the file (or the next entity # declaration) correspond to this entity. # [Person] *name height weight +birth_location_id [Location] *id city state country # Each relationship must be between exactly two entities, which # need not be distinct. Each entity in the relationship has # exactly one of four possible cardinalities: # # Cardinality Syntax # 0 or 1 0 # exactly 1 1 # 0 or more * # 1 or more + Person *--1 Location$ erd -i simple.er -o simple.pdf

The PDF should now contain a graph that looks like this:

See the README.md file for more examples and instructions on how to write ER files.