Assignment 4

  1. 2.15
  2. 3.7
  3. Develop an object model (class diagram) for the following (hint the CLASSES appear in caps). Also, show all candidate keys and any partial keys and eliminate any multi-valued attributes in your model. A company database keeps track of a company's EMPLOYEES, DEPARTMENTS, PROJECTS, and the DEPENDENTS of employees. Each department has a unique name, a unique number, and a particular employee who manages the department. We keep track of the start date when the employee began managing the department. A department may have several locations. A department controls a number of projects, each of which has a unique name, and a single location. We store store each employee's name, social security number, address, salary, sex, and birth date. An employee is assigned to one department but may work on several projects, which are not necessarily controlled by the same department. We keep track of the number of hours per week that an employee works on each project. We also keep track of the direct supervisor of the employee. We want to keep track of the dependents of each employee. We keep each dependent's name, sex, birthdate, and relationship to the employee. Model DEPENDENT as a class that has ID dependency on EMPLOYEE (do not use a qualified association).
  4. Develop a class diagram for an example that uses catalog aggregation, then develop an example that uses physical aggregation. Explain the difference.
  5. Explain the differences in semantics between the OMT OR and the EARL OR.
  6. Develop an Object Model for the description below and indicate the primary key or any partial keys for classes not identified by their own attributes. Indicate the multiplicities and ID dependencies for each association. Do not use qualified associations but rather make any ID dependencies explicit in your model with constraint notation. Do not use multi-valued attributes.  A breed society keeps historical records of the owners of registered ponies. Each owner is represented. The data about an owner is his/her name, address, membership number, the ponies he/she owns, and the price paid for a pony. Allow for the fact that an owner may purchase the same pony on more than one date.