Object-Role Model Reservation.

Notes: A classroom reservation model.
Constraint Validation Report
"ClassroomHasClassroomNr"
Fact Type ↑
Summary

Classroom has Classroom_nr.
Role Players
Constraints
 InternalUniquenessConstraint3
Type:
InternalUniquenessConstraint
Verbalization:

Each Classroom_nr is of at most one Classroom.
This association with Classroom_nr provides the preferred identification scheme for Classroom.
 InternalUniquenessConstraint4
Type:
InternalUniquenessConstraint
Verbalization:

Each Classroom has at most one Classroom_nr.
 SimpleMandatoryConstraint2
Type:
SimpleMandatoryConstraint
Verbalization:

Each Classroom has some Classroom_nr.
"ClassroomIsInvolvedInPersonReservesClassroomForDateAtHourSlot"
Fact Type ↑
Summary

Classroom is involved in PersonReservesClassroomForDateAtHourSlot.
Role Players
Constraints
 InternalUniquenessConstraint8
Type:
InternalUniquenessConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves at most one Classroom.
 SimpleMandatoryConstraint7
Type:
SimpleMandatoryConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves some Classroom.
"CleanerIsASubtypeOfPerson"
Fact Type ↑
Summary

Each Cleaner is an instance of Person.
Role Players
Constraints
 InternalUniquenessConstraint24
Type:
InternalUniquenessConstraint
Verbalization:

Each Cleaner is at most one Person.
 InternalUniquenessConstraint25
Type:
InternalUniquenessConstraint
Verbalization:

Each Person is at most one Cleaner.
 SimpleMandatoryConstraint5
Type:
SimpleMandatoryConstraint
Verbalization:

Each Cleaner is some Person.
 ExclusionConstraint1
Type:
ExclusionConstraint
Verbalization:

For each Person, at most one of the following holds:
that Person is some Security;
that Person is some Teacher;
that Person is some Cleaner.
"CleanerIsOnContract"
Fact Type ↑
Summary

Cleaner is on Contract.
Role Players
Constraints
 InternalUniquenessConstraint32
Type:
InternalUniquenessConstraint
Verbalization:

Each Cleaner is on at most one Contract.
 SimpleMandatoryConstraint22
Type:
SimpleMandatoryConstraint
Verbalization:

Each Cleaner is on some Contract.
"CompanyHasCompanyName"
Fact Type ↑
Summary

Company has Company_name.
Role Players
Constraints
 InternalUniquenessConstraint13
Type:
InternalUniquenessConstraint
Verbalization:

Each Company_name is of at most one Company.
This association with Company_name provides the preferred identification scheme for Company.
 InternalUniquenessConstraint14
Type:
InternalUniquenessConstraint
Verbalization:

Each Company has at most one Company_name.
 SimpleMandatoryConstraint11
Type:
SimpleMandatoryConstraint
Verbalization:

Each Company has some Company_name.
"ContractHasContractNr"
Fact Type ↑
Summary

Contract has Contract_nr.
Role Players
Constraints
 InternalUniquenessConstraint30
Type:
InternalUniquenessConstraint
Verbalization:

Each Contract_nr is of at most one Contract.
This association with Contract_nr provides the preferred identification scheme for Contract.
 InternalUniquenessConstraint31
Type:
InternalUniquenessConstraint
Verbalization:

Each Contract has at most one Contract_nr.
 SimpleMandatoryConstraint21
Type:
SimpleMandatoryConstraint
Verbalization:

Each Contract has some Contract_nr.
"ContractIsWithCompany"
Fact Type ↑
Summary

Contract is with Company.
Role Players
Constraints
 InternalUniquenessConstraint15
Type:
InternalUniquenessConstraint
Verbalization:

Each Contract is with at most one Company.
 SimpleMandatoryConstraint12
Type:
SimpleMandatoryConstraint
Verbalization:

Each Contract is with some Company.
"DateIsInvolvedInPersonReservesClassroomForDateAtHourSlot"
Fact Type ↑
Summary

Date is involved in PersonReservesClassroomForDateAtHourSlot.
Role Players
Constraints
 InternalUniquenessConstraint9
Type:
InternalUniquenessConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves at most one Date.
 SimpleMandatoryConstraint8
Type:
SimpleMandatoryConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves some Date.
"FacultyHasFacultyName"
Fact Type ↑
Summary

Faculty has Faculty_name.
The possible values of Faculty_name in Faculty has Faculty_name are 'CS', 'Math', 'Eng', 'Phys', 'Chemistry'.
Role Players
Constraints
 InternalUniquenessConstraint23
Type:
InternalUniquenessConstraint
Verbalization:

Each Faculty_name is of at most one Faculty.
This association with Faculty_name provides the preferred identification scheme for Faculty.
 InternalUniquenessConstraint28
Type:
InternalUniquenessConstraint
Verbalization:

Each Faculty has at most one Faculty_name.
 SimpleMandatoryConstraint19
Type:
SimpleMandatoryConstraint
Verbalization:

Each Faculty has some Faculty_name.
"HourSlotIsInvolvedInPersonReservesClassroomForDateAtHourSlot"
Fact Type ↑
Summary

HourSlot is involved in PersonReservesClassroomForDateAtHourSlot.
Role Players
Constraints
 InternalUniquenessConstraint10
Type:
InternalUniquenessConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves at most one HourSlot.
 SimpleMandatoryConstraint9
Type:
SimpleMandatoryConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves some HourSlot.
"PersonHasDateOfBirth"
Fact Type ↑
Summary

Person has DateOfBirth.
Role Players
Constraints
 InternalUniquenessConstraint16
Type:
InternalUniquenessConstraint
Verbalization:

Each Person has at most one DateOfBirth.
 SimpleMandatoryConstraint14
Type:
SimpleMandatoryConstraint
Verbalization:

Each Person has some DateOfBirth.
"PersonHasFirstName"
Fact Type ↑
Summary

Person has FirstName.
Role Players
Constraints
 InternalUniquenessConstraint1
Type:
InternalUniquenessConstraint
Verbalization:

Each Person has at most one FirstName.
 SimpleMandatoryConstraint1
Type:
SimpleMandatoryConstraint
Verbalization:

Each Person has some FirstName.
"PersonHasLastName"
Fact Type ↑
Summary

Person has LastName.
Role Players
Constraints
 InternalUniquenessConstraint2
Type:
InternalUniquenessConstraint
Verbalization:

Each Person has at most one LastName.
 SimpleMandatoryConstraint4
Type:
SimpleMandatoryConstraint
Verbalization:

Each Person has some LastName.
"PersonHasPersonEmpNr"
Fact Type ↑
Summary

Person has Person_EmpNr.
Role Players
Constraints
 InternalUniquenessConstraint17
Type:
InternalUniquenessConstraint
Verbalization:

Each Person_EmpNr is of at most one Person.
This association with Person_EmpNr provides the preferred identification scheme for Person.
 InternalUniquenessConstraint18
Type:
InternalUniquenessConstraint
Verbalization:

Each Person has at most one Person_EmpNr.
 SimpleMandatoryConstraint13
Type:
SimpleMandatoryConstraint
Verbalization:

Each Person has some Person_EmpNr.
"PersonIsInvolvedInPersonReservesClassroomForDateAtHourSlot"
Fact Type ↑
Summary

Person is involved in PersonReservesClassroomForDateAtHourSlot.
Role Players
Constraints
 InternalUniquenessConstraint7
Type:
InternalUniquenessConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves at most one Person.
 SimpleMandatoryConstraint6
Type:
SimpleMandatoryConstraint
Verbalization:

Each PersonReservesClassroomForDateAtHourSlot involves some Person.
"PersonReservesClassroomForDateAtHourSlot"
Fact Type ↑
Summary

Person reserves Classroom for Date at HourSlot.
Role Players
Constraints
 InternalUniquenessConstraint11
Type:
InternalUniquenessConstraint
Verbalization:

For each Classroom, Date, and HourSlot,
at most one Person reserves that Classroom for that Date at that HourSlot.
This association with Classroom, Date, HourSlot provides the preferred identification scheme for PersonReservesClassroomForDateAtHourSlot.
 InternalUniquenessConstraint19
Type:
InternalUniquenessConstraint
Verbalization:

For each Person, Date, and HourSlot,
that Person reserves at most one Classroom for that Date at that HourSlot.
"SecurityIsASubtypeOfPerson"
Fact Type ↑
Summary

Each Security is an instance of Person.
Role Players
Constraints
 InternalUniquenessConstraint5
Type:
InternalUniquenessConstraint
Verbalization:

Each Security is at most one Person.
 InternalUniquenessConstraint6
Type:
InternalUniquenessConstraint
Verbalization:

Each Person is at most one Security.
 SimpleMandatoryConstraint3
Type:
SimpleMandatoryConstraint
Verbalization:

Each Security is some Person.
"SecurityIsOnContract"
Fact Type ↑
Summary

Security is on Contract.
Role Players
Constraints
 InternalUniquenessConstraint12
Type:
InternalUniquenessConstraint
Verbalization:

Each Security is on at most one Contract.
 SimpleMandatoryConstraint10
Type:
SimpleMandatoryConstraint
Verbalization:

Each Security is on some Contract.
"TeacherIsASubtypeOfPerson"
Fact Type ↑
Summary

Each Teacher is an instance of Person.
Role Players
Constraints
 InternalUniquenessConstraint26
Type:
InternalUniquenessConstraint
Verbalization:

Each Teacher is at most one Person.
 InternalUniquenessConstraint27
Type:
InternalUniquenessConstraint
Verbalization:

Each Person is at most one Teacher.
 SimpleMandatoryConstraint17
Type:
SimpleMandatoryConstraint
Verbalization:

Each Teacher is some Person.
"TeacherIsInFaculty"
Fact Type ↑
Summary

Teacher is in Faculty.
Role Players
Constraints
 InternalUniquenessConstraint29
Type:
InternalUniquenessConstraint
Verbalization:

Each Teacher is in at most one Faculty.
 SimpleMandatoryConstraint20
Type:
SimpleMandatoryConstraint
Verbalization:

Each Teacher is in some Faculty.
Signature