Sha256: acb95b67e4f70ac3a234d602baf0f97cd432cb8b1233b9225f3554517765ca7f

Contents?: true

Size: 827 Bytes

Versions: 1

Compression:

Stored size: 827 Bytes

Contents

vocabulary Supervision;

/*
 * Value Types
 */
CompanyName is written as String;
EmployeeNr is written as Signed Integer(32);

/*
 * Entity Types
 */
Company is identified by its Name;

Employee is identified by Company and EmployeeNr where
	Employee works for one Company,
	Company employs Employee,
	Employee has one EmployeeNr,
	EmployeeNr is of Employee;

Manager is a kind of Employee;
Manager supervises Employee,
	Employee reports to at most one Manager;

CEO is a kind of Manager;
CEO runs Company,
	Company is run by one CEO;

CEO Shareholding is where
	CEO holds shares in Company;

/*
 * Constraints:
 */
either Employee reports to Manager(1) or Employee is a Manager(2) that is a CEO that runs Company but not both;
Employee is a Manager that is a CEO that runs Company
	if and only if
	Employee works for Company;

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activefacts-examples-1.9.8 cql/Supervision.cql