Show TOC

Background documentationApplication Data Model Locate this document in the navigation structure

 

A data model is the database concept representing the application entities, entity attributes, and entity relations persisted in the database schema.

The entities (components) specified for the application are:

  • Educational Data Model (EDM) entities:

    • Department

      This entity represents a department. The attributes are ID, name, manager, version, list of employees.

    • Employee

      This entity manages the records for the employee instances. The attributes for this entity are employeeId, firstName, lastName, email, skills, emoloyeeDepartment, deptMnager, and so on.

    • Project

      This entity is responsible for the records of the project instances. Its attributes are projectId, title, description, startDate, endDate, employess, leader, skills, and so on.

    • Skill

      This entity manages the database entries for the skill instances. The attributes are skill Id, description, language, version.

  • Entities related to the application features:

    • Navigation

      This entity keeps the navigation sets defined for user groups. The available attributes are navigation key, label, href, position, and so on.

    • UserRoles

      This entity organizes the employees in user roles by connecting a single user to the set of navigation provided for its kind. The attributes are UserRoles, UserRoleId, and navigations.

    • ProjectChanges

      This entity keeps a record of the changes performed on the projects. For example, change of the corresponding dates, change of the list of employees, and so on. The entity attributes are id, project id, title, description, startDate, endDate, employee leader, version, change date, and so on.

      Figure: Application data model describing entities, relations, and attributes

This graphic is explained in the accompanying text.

  • Department - Employee

    Bidirectional one-to-many relationship for regular employees, and bidirectional one-to-one relationship for employees designated as department managers.

  • Project - Employees

    Bidirectional many-to-many relationship for regular employees, and bidirectional one-to-one relationship for employees designated as project leads.

  • Project - Skill

    Unidirectional many-to-many relationship.

  • Employee - Skill

    Unidirectional many-to-many relationship.

  • UserRoles- Navigation

    Unidirectional many-to-many relationship.

  • Project-Projectchanges

    Unidirectional one-to-many relationship.