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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Constraints

InternalUniquenessConstraint29

Type:

InternalUniquenessConstraint

Verbalization:

Each Teacher is in at most one Faculty.

SimpleMandatoryConstraint20

Type:

SimpleMandatoryConstraint

Verbalization:

Each Teacher is in some Faculty.

Signature