26
Logic Systems Projects database Data Dictionary 2017-02-09

Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Logic Systems

Projects database

Data Dictionary

2017-02-09

Page 2: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Table of Contents

1. Projects database ...........................................................................................................................................................................................................................4

2. Projects ............................................................................................................................................................................................................................................ 5

2.1. Tables .......................................................................................................................................................................................................................................... 5

2.1.1. Table: ACTIVITIES ..............................................................................................................................................................................................................5

2.1.2. Table: ACTIVITIES_RELATIONSHIPS .............................................................................................................................................................................7

2.1.3. Table: PROGRAMS ...........................................................................................................................................................................................................8

2.1.4. Table: PROJECT_ROLES .................................................................................................................................................................................................. 9

2.1.5. Table: PROJECTS ............................................................................................................................................................................................................. 11

2.1.6. Table: STATUSES .............................................................................................................................................................................................................13

2.1.7. Table: WBS ....................................................................................................................................................................................................................... 14

3. Organization and HR .................................................................................................................................................................................................................. 16

3.1. Tables ........................................................................................................................................................................................................................................ 16

3.1.1. Table: COMPANIES .........................................................................................................................................................................................................16

3.1.2. Table: DEPARTMENTS ................................................................................................................................................................................................... 17

3.1.3. Table: PEOPLE ................................................................................................................................................................................................................. 18

4. Costs ............................................................................................................................................................................................................................................... 21

4.1. Tables ........................................................................................................................................................................................................................................ 21

4.1.1. Table: CST_HOURLY_RATES ......................................................................................................................................................................................... 21

4.1.2. Table: CST_PROJECT_COSTS ...................................................................................................................................................................................... 22

4.1.3. Table: CST_PROJECT_TIME_LOG ............................................................................................................................................................................... 23

5. Other .............................................................................................................................................................................................................................................. 25

5.1. Tables ........................................................................................................................................................................................................................................25

5.1.1. Table: DICTIONARY ....................................................................................................................................................................................................... 25

5.2. Views ........................................................................................................................................................................................................................................ 26

5.2.1. View: V_PEOPLE_ROLES ...............................................................................................................................................................................................26

Page 3: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Legend

Primary key

Primary key disabled

User-defined primary key

Unique key

Unique key disabled

User-defined unique key

Active trigger

Disabled trigger

Primary key relation

User-defined primary key relation

Foreign key relation

User-defined foreign key relation

Input

Output

Input/Output

3

Page 4: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

This is a sample data dictionary for projects database.

 

Data Dictionary was created with Dataedo (https://dataedo.com).

 

 

 

 

1. Projects database

4

Page 5: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

2. Projects

Our organization is project-driven and most of the work carried out is organized in projects. This includes assignments

for clients and all internal projects.

 

Projects and activities are organized in a hierarchy:

1. Programs

2. Projects

3. WBS elements (hierarchichal)

4. Activities

2.1. Tables

2.1.1. Table: ACTIVITIES

Columns

DescriptionData typeName

NUMBERACTIVITY_ID

VARCHAR2(50 CHAR)ACTIVITY_NO

5

Page 6: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

DescriptionData typeName

VARCHAR2(150 CHAR)NAME

NUMBERPROJECT_ID

VARCHAR2(4000 CHAR)DESCRIPTION

VARCHAR2(4000 CHAR)SCOPE

VARCHAR2(4000 CHAR)DELIVERABLES

NUMBERACTIVITY_TYPE_ID

NUMBERSTATUS_ID

NUMBERMANAGER_ID

DATEEXPECTED_BEGIN

DATEEXPECTED_END

NUMBERBUDGET_HOURS

NUMBERBUDGET_COST

NUMBERASSIGNED_TO_DEPARTMENT_ID

NUMBERASSIGNED_TO_PERSON_ID

NUMBERASSIGNED_TO_SUPPLIER_ID

VARCHAR2(50 CHAR)CONTRACT_NUMBER

DATECONTRACT_DATE

VARCHAR2(10 CHAR)CONTRACT_TYPE

DATEACTUAL_BEGIN

DATEACTUAL_END

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

NUMBERWBS_ID

Links to

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_SUPPLIERACTIVITIES.ASSIGNED_TO_SUPPLIER_I

D = COMPANIES.COMPANY_IDCOMPANIES

FK_ACTIVITIES_DEPARTMENT

ACTIVITIES.ASSIGNED_TO_DEPARTME

NT_ID =

DEPARTMENTS.DEPARTMENT_ID

DEPARTMENTS

FK_ACTIVITIES_TYPE

where DICT = 'ACTOVITY'

ACTIVITIES.ACTIVITY_TYPE_ID =

DICTIONARY.DICT_VAL_IDDICTIONARY

FK_ACTIVITIES_PERSONACTIVITIES.ASSIGNED_TO_PERSON_I

D = PEOPLE.PERSON_IDPEOPLE

FK_ACTIVITIES_PROJECTACTIVITIES.PROJECT_ID =

PROJECTS.PROJECT_IDPROJECTS

FK_ACTIVITIES_STATUSACTIVITIES.STATUS_ID =

STATUSES.STATUS_IDSTATUSES

User-defined relationACTIVITIES.WBS_ID = WBS.WBS_IDWBS

6

Page 7: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Linked from

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_REL_ACT

ACTIVITIES.ACTIVITY_ID =

ACTIVITIES_RELATIONSHIPS.ACTIVITY

_ID

ACTIVITIES_RELATIONSHIPS

FK_ACTIVITIES_REL_PREC

ACTIVITIES.ACTIVITY_ID =

ACTIVITIES_RELATIONSHIPS.PRECEDI

NG_ACTIVITY_ID

ACTIVITIES_RELATIONSHIPS

FK_CST_PROJECT_COSTS_ACTACTIVITIES.ACTIVITY_ID =

CST_PROJECT_COSTS.ACTIVITY_IDCST_PROJECT_COSTS

FK_CST_PROJECT_TIME_ACTACTIVITIES.ACTIVITY_ID =

CST_PROJECT_TIME_LOG.ACTIVITY_IDCST_PROJECT_TIME_LOG

Unique keys

DescriptionColumnsName

ACTIVITY_IDPK_ACTIVITIES

Uses

Name

ACTIVITIES

COMPANIES

DEPARTMENTS

DICTIONARY

PEOPLE

PROJECTS

STATUSES

WBS

Used by

Name

ACTIVITIES

ACTIVITIES_RELATIONSHIPS

ACTIVITIES_RELATIONSHIPS

CST_PROJECT_COSTS

CST_PROJECT_TIME_LOG

2.1.2. Table: ACTIVITIES_RELATIONSHIPS

Columns

DescriptionData typeName

NUMBERACTIVITY_RELATIONSHIP_ID

NUMBERACTIVITY_ID

NUMBERPRECEDING_ACTIVITY_ID

Default value: SYSDATE.DATECREATED_DATE

7

Page 8: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

DescriptionData typeName

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Links to

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_REL_ACTACTIVITIES_RELATIONSHIPS.ACTIVITY

_ID = ACTIVITIES.ACTIVITY_IDACTIVITIES

FK_ACTIVITIES_REL_PREC

ACTIVITIES_RELATIONSHIPS.PRECEDI

NG_ACTIVITY_ID =

ACTIVITIES.ACTIVITY_ID

ACTIVITIES

Unique keys

DescriptionColumnsName

ACTIVITY_RELATIONSHIP_IDPK_ACTIVITIES_RELATIONSHIPS

Uses

Name

ACTIVITIES_RELATIONSHIPS

ACTIVITIES

ACTIVITIES

2.1.3. Table: PROGRAMS

Columns

DescriptionData typeName

NUMBERPROGRAM_ID

VARCHAR2(50 BYTE)NAME

VARCHAR2(250 BYTE)DESCRIPTION

NUMBERDEPARTMENT_ID

NUMBERMANAGER_ID

VARCHAR2(5 BYTE)STATUS

NUMBERPROGRAM_TYPE_ID

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Links to

Title / Name / DescriptionJoinTable

FK_PROGRAMS_DEPARTMENTPROGRAMS.DEPARTMENT_ID =

DEPARTMENTS.DEPARTMENT_IDDEPARTMENTS

FK_PROGRAMS_TYPE

where DICT = 'PROGRAM'

PROGRAMS.PROGRAM_TYPE_ID =

DICTIONARY.DICT_VAL_IDDICTIONARY

8

Page 9: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Title / Name / DescriptionJoinTable

FK_PROGRAMS_MANAGERPROGRAMS.MANAGER_ID =

PEOPLE.PERSON_IDPEOPLE

Linked from

Title / Name / DescriptionJoinTable

FK_PROJECTS_PROGRAMPROGRAMS.PROGRAM_ID =

PROJECTS.PROGRAM_IDPROJECTS

Unique keys

DescriptionColumnsName

PROGRAM_IDPROGRAMS_PK

Uses

Name

PROGRAMS

DEPARTMENTS

DICTIONARY

PEOPLE

Used by

Name

PROGRAMS

PROJECTS

2.1.4. Table: PROJECT_ROLES

Columns

DescriptionData typeName

NUMBERPROJECT_ROLE_ID

NUMBERPROJECT_ID

NUMBERPERSON_ID

NUMBERROLE_TYPE_ID

VARCHAR2(50 BYTE)NAME

DATEVALID_FROM

DATEVALID_TO

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

9

Page 10: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Links to

Title / Name / DescriptionJoinTable

FK_PROJECT_ROLES_PERSONPROJECT_ROLES.PERSON_ID =

PEOPLE.PERSON_IDPEOPLE

FK_PROJECT_ROLES_PROJECTPROJECT_ROLES.PROJECT_ID =

PROJECTS.PROJECT_IDPROJECTS

Unique keys

DescriptionColumnsName

PROJECT_ROLE_IDPROJECT_ROLES_PK

Uses

Name

PROJECT_ROLES

PEOPLE

PROJECTS

Used by

Name

PROJECT_ROLES

V_PEOPLE_ROLES

10

Page 11: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

2.1.5. Table: PROJECTS

Table holds all projects carried out by a company. This includes:

· Contracts,

· Product development,

· R&D and,

· other internal projects.

 

Sources

New projects are created in following ways:

1. Projects form in Projects Management Application. Source = 'PMA'

2. Projects interface which is used to insert projects from:

1. CRM for new contracts. Source = 'CRM'

2. ERP/Maintenance module for facility maintenance projects. Source = 'MNT'

3. Migrated from old system prior to 2012 implementation of PMA. Source = 'OLD'

 

Lifecycle

Projects are regarder as open as long as they are not closed, i.e. in "CLOSED" status.

 

Calculations

Project begin:

Whichever is not null in this order: ACTUAL_BEGIN, EXPECTED_BEGIN, CREATED_DATE

 

Stadard criteria

Open projects

STATUS_ID -> DICTIONARY d

where d.LABEL not like 'Closed%'

 

Known issues

1. Projects before 2008 have most of descriptive fields blank or incorrect (e.g. manager, customer, market)

2. Project expected begin and end are rarely updated and expected begin can be in the past for long even if

project still didn't start

Columns

DescriptionData typeName

Project system IDNUMBERPROJECT_ID

Project unique business numberVARCHAR2(25 CHAR)PROJECT_NUMBER

Program which project is part of. Ref: programsNUMBERPROGRAM_ID

Project nameVARCHAR2(500 CHAR)NAME

Brief description of a project provided by project assistant or project managerVARCHAR2(4000 CHAR)DESCRIPTION

Project objectives provided by project ownerVARCHAR2(4000 CHAR)OBJECTIVES

Scope of work and deliverables provided by project ownerVARCHAR2(4000 CHAR)SCOPE

Project type. Ref: dictionaryNUMBERTYPE_ID

Project status from the listNUMBERSTATUS_ID

Organization/department within company that owns projectNUMBERORG_ID (Organization)

Project manager. Ref: peopleNUMBERMNGR_ID (Project Manager)

Expected begin date defined at project creation. Then updated till actual project

start date is established.DATEEXPECTED_BEGIN

11

Page 12: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

DescriptionData typeName

Expected end date defined at project creation. Then updated till actual project

end date is established.DATEEXPECTED_END

Project begin date as defined in contract.DATEACTUAL_BEGIN

Project end date as defined by contract until project is signed off, or project

actual sign off date.DATEACTUAL_END

Customer for contracts, null for internal projects. Ref: companiesNUMBERCUST_ID (Customer)

Customer manager for contracts, null for internal projects. Ref: peopleNUMBERCUST_MNGR_ID (Customer

Manager)

Row creation date in the database

Default value: SYSDATE.DATECREATED_DATE

Login for person that created row with UI or "P/IFACE" for data coming from

projects interface tableNUMBERCREATED_BY

Date row was last modified. Initially = creation_date

Default value: SYSDATE.DATEMODIFIED_DATE

Login for person that last modified row with UI. Null if row was not modified

after creation.NUMBERMODIFIED_BY

Contract market from the list. Ref: dictionaryNUMBERGEOGRAPHY_ID (Market)

Row source. 'PMA' for data enterd to main UI: Project Management Application.

Other values come from interface table. 'CRM' for data from CRM.VARCHAR2(10 BYTE)SOURCE

Links to

Title / Name / DescriptionJoinTable

FK_PROJECTS_CUSTOMERPROJECTS.CUST_ID =

COMPANIES.COMPANY_IDCOMPANIES

FK_PROJECTS_ORGPROJECTS.ORG_ID =

DEPARTMENTS.DEPARTMENT_IDDEPARTMENTS

Market

User-defined relation

where DICT = 'GEOGRAPHY'

PROJECTS.GEOGRAPHY_ID =

DICTIONARY.DICT_VAL_IDDICTIONARY

Project Type

FK_PROJECTS_TYPE

where DICT = 'PROJECT'

PROJECTS.TYPE_ID =

DICTIONARY.DICT_VAL_IDDICTIONARY

FK_PROJECTS_MANAGERPROJECTS.MNGR_ID =

PEOPLE.PERSON_IDPEOPLE

FK_PROJECTS_CUST_MGRPROJECTS.CUST_MNGR_ID =

PEOPLE.PERSON_IDPEOPLE

FK_PROJECTS_PROGRAMPROJECTS.PROGRAM_ID =

PROGRAMS.PROGRAM_IDPROGRAMS

FK_PROJECTS_STATUSPROJECTS.STATUS_ID =

STATUSES.STATUS_IDSTATUSES

Linked from

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_PROJECTPROJECTS.PROJECT_ID =

ACTIVITIES.PROJECT_IDACTIVITIES

FK_PROJECT_ROLES_PROJECTPROJECTS.PROJECT_ID =

PROJECT_ROLES.PROJECT_IDPROJECT_ROLES

12

Page 13: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Title / Name / DescriptionJoinTable

FK_WBS_PROJECTPROJECTS.PROJECT_ID =

WBS.PROJECT_IDWBS

Unique keys

DescriptionColumnsName

PROJECT_IDPK_PROJECTS

Project number should be unique across companyPROJECT_NUMBERProject name UK

Uses

Name

PROJECTS

COMPANIES

DEPARTMENTS

DICTIONARY

DICTIONARY

PEOPLE

PEOPLE

PROGRAMS

STATUSES

Used by

Name

PROJECTS

ACTIVITIES

PROJECT_ROLES

WBS

2.1.6. Table: STATUSES

Columns

DescriptionData typeName

NUMBERSTATUS_ID

VARCHAR2(100 BYTE)NAME

Default value: 'Y'.CHAR(1 BYTE)IS_OPEN

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

13

Page 14: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Linked from

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_STATUSSTATUSES.STATUS_ID =

ACTIVITIES.STATUS_IDACTIVITIES

FK_PROJECTS_STATUSSTATUSES.STATUS_ID =

PROJECTS.STATUS_IDPROJECTS

FK_WBS_STATUSSTATUSES.STATUS_ID =

WBS.STATUS_IDWBS

Unique keys

DescriptionColumnsName

STATUS_IDSTATUSES_PK

Used by

Name

STATUSES

ACTIVITIES

PROJECTS

WBS

2.1.7. Table: WBS

Columns

DescriptionData typeName

NUMBERWBS_ID

VARCHAR2(50 CHAR)WBS_NO

NUMBERPARENT_WBS_ID

VARCHAR2(150 CHAR)NAME

NUMBERPROJECT_ID

NUMBERWBS_TYPE_ID

NUMBERSTATUS_ID

VARCHAR2(4000 CHAR)DESCRIPTION

VARCHAR2(4000 CHAR)DELIVERABLES

DATEEXPECTED_BEGIN

DATEEXPECTED_END

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

14

Page 15: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Links to

Title / Name / DescriptionJoinTable

FK_WBS_TYPE

where DICT = 'WBS'

WBS.WBS_TYPE_ID =

DICTIONARY.DICT_VAL_IDDICTIONARY

FK_WBS_PROJECTWBS.PROJECT_ID =

PROJECTS.PROJECT_IDPROJECTS

FK_WBS_STATUSWBS.STATUS_ID =

STATUSES.STATUS_IDSTATUSES

FK_WBSWBS.PARENT_WBS_ID = WBS.WBS_IDWBS

Linked from

Title / Name / DescriptionJoinTable

FK_WBSWBS.WBS_ID = WBS.PARENT_WBS_IDWBS

User-defined relationWBS.WBS_ID = ACTIVITIES.WBS_IDACTIVITIES

FK_CST_PROJECT_COSTS_WBSWBS.WBS_ID =

CST_PROJECT_COSTS.WBS_IDCST_PROJECT_COSTS

FK_CST_PROJECT_TIME_WBSWBS.WBS_ID =

CST_PROJECT_TIME_LOG.WBS_IDCST_PROJECT_TIME_LOG

Unique keys

DescriptionColumnsName

WBS_IDPK_WBS

Uses

Name

WBS

DICTIONARY

PROJECTS

STATUSES

WBS

Used by

Name

WBS

ACTIVITIES

CST_PROJECT_COSTS

CST_PROJECT_TIME_LOG

WBS

15

Page 16: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

3. Organization and HR

3.1. Tables

3.1.1. Table: COMPANIES

Companies table holds project cusomers and suppliers.

Columns

DescriptionData typeName

NUMBERCOMPANY_ID

VARCHAR2(150 BYTE)NAME

VARCHAR2(500 BYTE)ADDRESS_1

VARCHAR2(500 BYTE)ADDRESS_2

VARCHAR2(50 BYTE)CITY

VARCHAR2(50 BYTE)POSTAL_CODE

VARCHAR2(50 BYTE)STATE

VARCHAR2(50 BYTE)COUNTRY

VARCHAR2(30 BYTE)PHONE

VARCHAR2(100 BYTE)EMAIL

VARCHAR2(100 BYTE)WEBSITE

NUMBERCOMPANY_TYPE_ID

NUMBERINDUSTRY_ID

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Linked from

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_SUPPLIER

COMPANIES.COMPANY_ID =

ACTIVITIES.ASSIGNED_TO_SUPPLIER_I

D

ACTIVITIES

FK_CST_PROJECT_COSTS_SUPPLIERCOMPANIES.COMPANY_ID =

CST_PROJECT_COSTS.SUPPLIER_IDCST_PROJECT_COSTS

FK_PROJECTS_CUSTOMERCOMPANIES.COMPANY_ID =

PROJECTS.CUST_IDPROJECTS

16

Page 17: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Unique keys

DescriptionColumnsName

COMPANY_IDCOMPANIES_PK

Used by

Name

COMPANIES

ACTIVITIES

CST_PROJECT_COSTS

PROJECTS

3.1.2. Table: DEPARTMENTS

Departments table holds organizational hierariarchy - divisions, business units, departments and teams.

Columns

DescriptionData typeName

NUMBERDEPARTMENT_ID

VARCHAR2(50 BYTE)SYMBOL

VARCHAR2(100 BYTE)NAME

VARCHAR2(50 BYTE)COST_CENTER_CODE

NUMBERPARENT_DEPARTMENT_ID

NUMBERMANAGER_ID

VARCHAR2(10 CHAR)DEFAULT_COST_RATE

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Links to

Title / Name / DescriptionJoinTable

User-defined relation

DEPARTMENTS.DEFAULT_COST_RATE

=

CST_HOURLY_RATES.COST_RATE_CO

DE

CST_HOURLY_RATES

FK_DEPARTMENTS_PARENT

DEPARTMENTS.PARENT_DEPARTMEN

T_ID =

DEPARTMENTS.DEPARTMENT_ID

DEPARTMENTS

FK_DEPARTMENTS_MANAGERDEPARTMENTS.MANAGER_ID =

PEOPLE.PERSON_IDPEOPLE

Linked from

Title / Name / DescriptionJoinTable

FK_DEPARTMENTS_PARENT

DEPARTMENTS.DEPARTMENT_ID =

DEPARTMENTS.PARENT_DEPARTMEN

T_ID

DEPARTMENTS

17

Page 18: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_DEPARTMENT

DEPARTMENTS.DEPARTMENT_ID =

ACTIVITIES.ASSIGNED_TO_DEPARTME

NT_ID

ACTIVITIES

FK_CST_PROJECT_COSTS_DEPT

DEPARTMENTS.DEPARTMENT_ID =

CST_PROJECT_COSTS.DEPARTMENT_I

D

CST_PROJECT_COSTS

FK_CST_PROJECT_TIME_DEPT

DEPARTMENTS.DEPARTMENT_ID =

CST_PROJECT_TIME_LOG.DEPARTME

NT_ID

CST_PROJECT_TIME_LOG

FK_PEOPLE_DEPARTMENTDEPARTMENTS.DEPARTMENT_ID =

PEOPLE.DEPARTMENT_IDPEOPLE

FK_PROGRAMS_DEPARTMENTDEPARTMENTS.DEPARTMENT_ID =

PROGRAMS.DEPARTMENT_IDPROGRAMS

FK_PROJECTS_ORGDEPARTMENTS.DEPARTMENT_ID =

PROJECTS.ORG_IDPROJECTS

Unique keys

DescriptionColumnsName

DEPARTMENT_IDDEPARTMENTS_PK

Uses

Name

DEPARTMENTS

CST_HOURLY_RATES

DEPARTMENTS

PEOPLE

Used by

Name

DEPARTMENTS

V_PEOPLE_ROLES

ACTIVITIES

CST_PROJECT_COSTS

CST_PROJECT_TIME_LOG

DEPARTMENTS

PEOPLE

PROGRAMS

PROJECTS

3.1.3. Table: PEOPLE

People table holds all peopple involved in projects - organization employees, contractors and customer employees.

Columns

DescriptionData typeName

NUMBERPERSON_ID

18

Page 19: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

DescriptionData typeName

VARCHAR2(100 BYTE)FIRST_NAME

VARCHAR2(100 BYTE)MIDDLE_NAMES

VARCHAR2(100 BYTE)LAST_NAME

VARCHAR2(50 BYTE)AKA

VARCHAR2(10 BYTE)LANGUAGE

VARCHAR2(10 BYTE)NATIONALITY

DATEDATE_OF_BIRTH

CHAR(1 BYTE)SEX

VARCHAR2(80 BYTE)PHONE

VARCHAR2(80 BYTE)MOBILE

VARCHAR2(100 BYTE)EMAIL

NUMBERDEPARTMENT_ID

VARCHAR2(10 CHAR)COST_RATE

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Links to

Title / Name / DescriptionJoinTable

FK_PEOPLE_DEPARTMENTPEOPLE.DEPARTMENT_ID =

DEPARTMENTS.DEPARTMENT_IDDEPARTMENTS

Linked from

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_PERSON

PEOPLE.PERSON_ID =

ACTIVITIES.ASSIGNED_TO_PERSON_I

D

ACTIVITIES

FK_CST_PROJECT_TIME_PERPEOPLE.PERSON_ID =

CST_PROJECT_TIME_LOG.PERSON_IDCST_PROJECT_TIME_LOG

FK_DEPARTMENTS_MANAGERPEOPLE.PERSON_ID =

DEPARTMENTS.MANAGER_IDDEPARTMENTS

FK_PROGRAMS_MANAGERPEOPLE.PERSON_ID =

PROGRAMS.MANAGER_IDPROGRAMS

FK_PROJECT_ROLES_PERSONPEOPLE.PERSON_ID =

PROJECT_ROLES.PERSON_IDPROJECT_ROLES

FK_PROJECTS_MANAGERPEOPLE.PERSON_ID =

PROJECTS.MNGR_IDPROJECTS

FK_PROJECTS_CUST_MGRPEOPLE.PERSON_ID =

PROJECTS.CUST_MNGR_IDPROJECTS

Unique keys

DescriptionColumnsName

PERSON_IDPEOPLE_PK

19

Page 20: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

DescriptionColumnsName

PHONEPEOPLE_UK1

AKAPEOPLE_UK2

FIRST_NAME, LAST_NAMEUK_PEOPLE_NAME

LAST_NAME,

DATE_OF_BIRTHUK_PEOPLE_NAME_DOB

Uses

Name

PEOPLE

DEPARTMENTS

Used by

Name

PEOPLE

V_PEOPLE_ROLES

ACTIVITIES

CST_PROJECT_TIME_LOG

DEPARTMENTS

PROGRAMS

PROJECT_ROLES

PROJECTS

PROJECTS

20

Page 21: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

4. Costs

Project costs are tracked in two main logs:

1. CST_PROJECT_TIME_LOG - holds cost of labor of company employees

2. CST_PROJECT_COSTS - holds all other costs

4.1. Tables

4.1.1. Table: CST_HOURLY_RATES

Dictionary holding current hourly cost rates that are used to calculate cost of work performed by employees. Each

department and employee has assigned one rate from the dictionary.

Columns

DescriptionData typeName

VARCHAR2(10 CHAR)COST_RATE_CODE

NUMBERCOST_RATE

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: sysdate.DATEMODIFIED_DATE

21

Page 22: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

DescriptionData typeName

NUMBERMODIFIED_BY

Linked from

Title / Name / DescriptionJoinTable

User-defined relation

CST_HOURLY_RATES.COST_RATE_CO

DE =

DEPARTMENTS.DEFAULT_COST_RATE

DEPARTMENTS

Unique keys

DescriptionColumnsName

COST_RATE_CODEPK_CST_HOURLY_RATES

Used by

Name

CST_HOURLY_RATES

DEPARTMENTS

4.1.2. Table: CST_PROJECT_COSTS

Table holds project costs, excluding work of company employees. Costs include: purchases of materials, third party

services and all other expenses.

Columns

DescriptionData typeName

NUMBERCOST_ENTRY_ID

DATECOST_DATE

NUMBERPROJECT_ID

NUMBERDEPARTMENT_ID

NUMBERACTIVITY_ID

NUMBERWBS_ID

NUMBERCOST

NUMBERCURRENCY

NUMBERCOST_USD

VARCHAR2(5 CHAR)STATUS

NUMBERSUPPLIER_ID

VARCHAR2(25 CHAR)DOCUMENT_NO

DATEDOCUMENT_DATE

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

22

Page 23: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Links to

Title / Name / DescriptionJoinTable

FK_CST_PROJECT_COSTS_ACTCST_PROJECT_COSTS.ACTIVITY_ID =

ACTIVITIES.ACTIVITY_IDACTIVITIES

FK_CST_PROJECT_COSTS_SUPPLIERCST_PROJECT_COSTS.SUPPLIER_ID =

COMPANIES.COMPANY_IDCOMPANIES

FK_CST_PROJECT_COSTS_DEPTCST_PROJECT_COSTS.DEPARTMENT_I

D = DEPARTMENTS.DEPARTMENT_IDDEPARTMENTS

FK_CST_PROJECT_COSTS_WBSCST_PROJECT_COSTS.WBS_ID =

WBS.WBS_IDWBS

Unique keys

DescriptionColumnsName

COST_ENTRY_IDPK_CST_PROJECT_COSTS

Uses

Name

CST_PROJECT_COSTS

ACTIVITIES

COMPANIES

DEPARTMENTS

WBS

4.1.3. Table: CST_PROJECT_TIME_LOG

Table holds time spent on projects by company employees. Together with CST_PROJECT_COSTS this is a base for cost

analysis.

Columns

DescriptionData typeName

NUMBERTIME_ENTRY_ID

DATEENTRY_DATE

NUMBERPERSON_ID

NUMBERDEPARTMENT_ID

NUMBERPROJECT_ID

NUMBERACTIVITY_ID

NUMBERWBS_ID

NUMBERHOURS

VARCHAR2(10 CHAR)COST_RATE_CODE

NUMBERCOST_RATE

NUMBERCOST

VARCHAR2(5 CHAR)STATUS

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

23

Page 24: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

DescriptionData typeName

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Links to

Title / Name / DescriptionJoinTable

FK_CST_PROJECT_TIME_ACTCST_PROJECT_TIME_LOG.ACTIVITY_ID

= ACTIVITIES.ACTIVITY_IDACTIVITIES

FK_CST_PROJECT_TIME_DEPT

CST_PROJECT_TIME_LOG.DEPARTME

NT_ID =

DEPARTMENTS.DEPARTMENT_ID

DEPARTMENTS

FK_CST_PROJECT_TIME_PERCST_PROJECT_TIME_LOG.PERSON_ID

= PEOPLE.PERSON_IDPEOPLE

FK_CST_PROJECT_TIME_WBSCST_PROJECT_TIME_LOG.WBS_ID =

WBS.WBS_IDWBS

Unique keys

DescriptionColumnsName

TIME_ENTRY_IDPK_CST_PROJECT_TIME_LOG

Uses

Name

CST_PROJECT_TIME_LOG

ACTIVITIES

DEPARTMENTS

PEOPLE

WBS

24

Page 25: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

5. Other

5.1. Tables

5.1.1. Table: DICTIONARY

Columns

DescriptionData typeName

NUMBERDICT_VAL_ID

VARCHAR2(50 BYTE)DICT

VARCHAR2(100 BYTE)LABEL

DATEVALID_FROM

DATEVALID_TO

Default value: SYSDATE.DATECREATED_DATE

NUMBERCREATED_BY

Default value: SYSDATE.DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Linked from

Title / Name / DescriptionJoinTable

FK_ACTIVITIES_TYPE

where DICT = 'ACTOVITY'

DICTIONARY.DICT_VAL_ID =

ACTIVITIES.ACTIVITY_TYPE_IDACTIVITIES

FK_PROGRAMS_TYPE

where DICT = 'PROGRAM'

DICTIONARY.DICT_VAL_ID =

PROGRAMS.PROGRAM_TYPE_IDPROGRAMS

Market

User-defined relation

where DICT = 'GEOGRAPHY'

DICTIONARY.DICT_VAL_ID =

PROJECTS.GEOGRAPHY_IDPROJECTS

Project Type

FK_PROJECTS_TYPE

where DICT = 'PROJECT'

DICTIONARY.DICT_VAL_ID =

PROJECTS.TYPE_IDPROJECTS

FK_WBS_TYPE

where DICT = 'WBS'

DICTIONARY.DICT_VAL_ID =

WBS.WBS_TYPE_IDWBS

Unique keys

DescriptionColumnsName

DICTIONARY_VALUE_ID,

DICT_VAL_IDPK_DICTIONARY

Used by

Name

DICTIONARY

ACTIVITIES

PROGRAMS

PROJECTS

PROJECTS

25

Page 26: Logic Systems – database documentation · cst_project_time_log.activity_id cst_project_time_log unique keys name columns description pk_activities activity_id uses name activities

Name

WBS

5.2. Views

5.2.1. View: V_PEOPLE_ROLES

Columns

DescriptionData typeName

NUMBERPROJECT_ROLE_ID

NUMBERPROJECT_ID

NUMBERPERSON_ID

NUMBERROLE_TYPE_ID

VARCHAR2(50 BYTE)ROLE_NAME

VARCHAR2(201 BYTE)PERSON_NAME

VARCHAR2(100 BYTE)DEPARTMENT_NAME

DATEVALID_FROM

DATEVALID_TO

DATECREATED_DATE

NUMBERCREATED_BY

DATEMODIFIED_DATE

NUMBERMODIFIED_BY

Uses

Name

V_PEOPLE_ROLES

DEPARTMENTS

PEOPLE

PROJECT_ROLES

26