TEC (Temporary Employment Corporation) — ER Diagram
Database Management Assignment #1 — Chen Notation (Peter Chen, 1976)
CANDIDATE
QUALIFICATION
COMPANY
OPENING
PLACEMENT
JOB_HISTORY
CandidateNo
Name
Gender
Age
HighestEduc
Code
Description
CompanyName
Address
ContactPerson
Phone
OpeningNo
StartingDate
EndingDate
HourlyPay
TotalHrsWorked
OpeningNo
StartDate
EndDate
HrsWorked
Has_Qual
Requests
Req_Main
Req_Minor
Placed_In
Has_Hist
M N 1 N N 1 M N M 1 1 N

Assumptions:

  1. CompanyName is used as the primary key for COMPANY, as stated in the requirements ("company name" is used to identify companies in the opening folder).
  2. QUALIFICATION is modeled as a separate entity type (not just an attribute) because it has its own attributes (Code and Description), and is referenced by multiple relationships (Has_Qual, Req_Main, Req_Minor).
  3. PLACEMENT is modeled as a weak entity type identified through its identifying relationship with OPENING and CANDIDATE. Its partial key is the combination of OpeningNo and CandidateNo (inherited from the identifying relationship). TotalHoursWorked is its own attribute.
  4. JOB_HISTORY is modeled as a weak entity type owned by CANDIDATE. Each job history entry corresponds to a placement. OpeningNo serves as a partial key. Additional attributes StartDate, EndDate, and HrsWorked are assumed to capture the work record.
  5. OPENING has a required main qualification (1 per opening) modeled as a N:1 relationship (Req_Main) to QUALIFICATION, and optional minor qualifications (0 or more) modeled as a M:N relationship (Req_Minor) to QUALIFICATION.
  6. A candidate may have multiple qualifications (multi-valued), modeled as a M:N relationship (Has_Qual) between CANDIDATE and QUALIFICATION.
  7. A candidate's participation in Placed_In is partial (not all candidates get placed), while PLACEMENT has total participation (every placement must link to both a candidate and an opening).
  8. A candidate's participation in Has_Hist is partial (candidates who never worked have no history), while JOB_HISTORY has total participation with respect to CANDIDATE.