digraph g {
graph [
rankdir = "RL",
 concentrate = true,
ratio = auto
];
node [
fontsize = "18",
shape = record, fontsize = 18
];
edge [
];

"Records" [shape = record, fontsize = 18, label = "(Any RT::Record)" ];
"Records" -> "Principals" [label = "Creator -> id"];
"ACL" [shape = record, fontsize = 18, label = "<col0> \N " ];
"ACL" -> "Principals" [label="PrincipalId -> id"];
"ACL" -> "Principals" [label="DelegatedBy -> id"];
"ACL" -> "ACL" [label="DelegatedFrom -> id"];

"Attachments" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Attachments" -> "Transactions" [label="TransactionId -> id"];
"Attachments" -> "Attachments" [label="Parent -> id"];

"CachedGroupMemers" [shape = record, fontsize = 18, label = "<col0> \N " ];
"CachedGroupMemers" -> "Groups" [label="GroupId -> id", weight=2];
"CachedGroupMemers" -> "Principals" [label="MemberId -> id"];
"CachedGroupMemers" -> "CachedGroupMemers" [label="Via -> id"];
"CachedGroupMemers" -> "Groups" [label="ImmediateParentId -> id"];

"CustomFields" [shape = record, fontsize = 18, label = "<col0> \N " ];

"CustomFieldValues" [shape = record, fontsize = 18, label = "<col0> \N " ];
"CustomFieldValues" -> "CustomFields" [label="CustomField -> id"];

"GroupMembers" [shape = record, fontsize = 18, label = "<col0> \N " ];
"GroupMembers" -> "Groups" [label="GroupId -> id", weight=2];
"GroupMembers" -> "Principals" [label="MemberId -> id", weight = 2];

"Groups" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Groups" -> "Principals" [label="Groups.id -> id"];

"Links" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Links" -> "Tickets" [label="LocalBase => id (usually)", style="dotted"];
"Links" -> "Tickets" [label="LocalTarget => id (usually)", style="dotted"];

"Principals" [shape = record, fontsize = 18, label = "<col0> \N " ];

"Attributes" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Attributes" -> "Records" [label="ObjectId -> id"];

"Queues" [shape = record, fontsize = 18, label = "<col0> \N " ];

"ScripActions" [shape = record, fontsize = 18, label = "<col0> \N " ];

"ScripConditions" [shape = record, fontsize = 18, label = "<col0> \N " ];

"Scrips" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Scrips" -> "ScripConditions" [label="ScripCondition -> id"];
"Scrips" -> "ScripActions" [label="ScripAction -> id"];
"Scrips" -> "Templates" [label="Template -> id"];
"Scrips" -> "Queues" [label="Queue -> id"];

"Templates" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Templates" -> "Queues" [label ="Queue -> id" ];

"ObjectCustomFields" [shape = record, fontsize = 18, label = "<col0> \N " ];
"ObjectCustomFields" -> "CustomFields" [label="CustomField -> id"];
"ObjectCustomFields" -> "Records" [label="ObjectId -> id"];

"ObjectCustomFieldValues" [shape = record, fontsize = 18, label = "<col0> \N " ];
"ObjectCustomFieldValues" -> "CustomFields" [label="CustomField -> id"];
"ObjectCustomFieldValues" -> "Records" [label="ObjectId -> id"];

"Tickets" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Tickets" -> "Tickets" [label="EffectiveId -> id"];
"Tickets" -> "Principals" [label="Owner -> id"];
"Queues" -> "Tickets" [style="invis"];
"Tickets" -> "Queues" [label="Queue -> id"];

"Transactions" [shape = record, fontsize = 18, label = "<col0> \N " ];
"Transactions" -> "Records" [label="ObjectId -> id"];

"Users" [shape = record, fontsize = 18, label = "<col0> \N " ];

"Users" -> "Principals" [label="id -> id"];


}
