digraph structs {
	node [shape=record,style=filled,color=red3];
	Product [shape=record,label="{Product|{reference\ :\ string\nweight\ :\ double\nwidth\ :\ double\nheight\ :\ double\ndepth\ :\ double}}",fillcolor=yellow,];
	Book [shape=record,label="{Book|{title\ :\ string\nauthors\ :\ string[]\npages\ :\ int}}",fillcolor=yellow,];
	Customer [shape=record,label="{Customer|{name\ :\ string\naddress\ :\ string}}",fillcolor=yellow,];
	OrderLine [shape=record,label="{OrderLine|{quantity\ :\ int\namount\ :\ double\nprice\ :\ double\ncurrency\ :\ string\nsatisfied\ :\ boolean}}",fillcolor=yellow,];
	Order [shape=record,label="{Order|{received\ :\ date\nprePaid\ :\ boolean\nID\ :\ string\nprice\ :\ double\ncurrency\ :\ string}}",fillcolor=yellow,];
	Corporate [shape=record,label="{Corporate|{contactName\ :\ string\ncreditRating\ :\ double\ncreditLimit\ :\ double}}",fillcolor=yellow,];
	Personal [shape=record,label="{Personal|{creditCard\ :\ string}}",fillcolor=yellow,];

	Book -> Product [arrowhead=empty,arrowsize=2.0];
	OrderLine -> Product [arrowhead=normal,arrowsize=1.0,headlabel="[1] product"];
	Order -> Customer [arrowhead=normal,arrowsize=1.0,headlabel="[1] customer"];
	Order -> OrderLine [arrowtail=diamond,arrowhead=normal,arrowsize=1.0,headlabel="[1..*] orderLines"];
	Corporate -> Customer [arrowhead=empty,arrowsize=2.0];
	Personal -> Customer [arrowhead=empty,arrowsize=2.0];
}
