DB211 - Unit 9 Assignment B
DB211 - Unit 9 Assignment B
Instructor:
Unit 9, Assignment B
Student:
Assignment Instructions:
Project Summary: Project was introduced in Unit 1 and a reminder was available in Unit 5. Complete the
Global Computer Solutions Case (GCS) from Chapter 5 - Case 10 starting on page 175 in our textbook
Database Systems, 10e, Coronell, Morriss, Rob. You will design a database to allow managers of GCS can keep
track of their customers, employees, projects, project schedules, assignments and invoices.
Phase one (deliverable) is due for this unit: Create and document a database design that fulfills the operations
described in the case. Minimum required entities: employee, skill, customer, region, project, project schedule,
assignment, work log, bill. Additional entities will be needed. Please submit your design in MS Visio
format. (Due Sunday of this unit, 50 points)
Assignment Details:
10. Global Computer Solutions (GCS) is an information technology consulting company with many offices
throughout the United States. The companys success is based on its ability to maximize its resourcesthat is,
its ability to match highly skilled employees with projects according to region. To better manage its projects,
GCS has contacted you to design a database so GCS managers can keep track of their customers, employees,
projects, project schedules, assignments, and invoices.
The GCS database must support all of GCSs operations and information requirements. A basic description of
the main entities follows:
The employees of GCS must have an employee ID, a last name, a middle initial, a first name, a region,
and a date of hire recorded in the system.
Valid regions are as follows: Northwest (NW), Southwest (SW), Midwest North (MN), Midwest South
(MS), Northeast (NE), and Southeast (SE).
Each employee has many skills, and many employees have the same skill.
Each skill has a skill ID, description, and rate of pay. Valid skills are as follows: Data Entry I, Data Entry
II, Systems Analyst I, Systems Analyst II, Database Designer I, Database Designer II, Cobol I, Cobol II,
C++ I, C++ II, VB I, VB II, ColdFusion I, ColdFusion II, ASP I, ASP II, Oracle DBA, MS SQL Server
DBA, Network Engineer I, Network Engineer II, Web Administrator, Technical Writer, and Project
Manager. Table P5.10a shows an example of the Skills Inventory.
TABLE P5.10a
SKILL
EMPLOYEE
Data Entry I
Data Entry II
Systems Analyst I
Craig Brett; Sewell Beth; Robbins Erin; Bush Emily; Zebras Steve
Systems Analyst II
DB Designer I
DB Designer II
SKILL
EMPLOYEE
Cobol I
Cobol II
C++ I
C++ II
VB I
VB II
ColdFusion I
ColdFusion II
ASP I
ASP II
Oracle DBA
Network Engineer I
Network Engineer II
Web Administrator
Technical Writer
Project Manager
GCS has many customers. Each customer has a customer ID, name, phone number, and region.
GCS works by projects. A project is based on a contract between the customer and GCS to design,
develop, and implement a computerized solution. Each project has specific characteristics such as the
project ID, the customer to which the project belongs, a brief description, a project date (the date the
contract was signed), an estimated project start date and end date, an estimated project budget, an actual
start date, an actual end date, an actual cost, and one employee assigned as the manager of the project.
The actual cost of the project is updated each Friday by adding that weeks cost to the actual cost. The
weeks cost is computed by multiplying the hours each employee worked by the rate of pay for that skill.
The employee who is the manager of the project must complete a project schedule, which effectively is a
design and development plan. In the project schedule (or plan), the manager must determine the tasks
that will be performed to take the project from beginning to end. Each task has a task ID, a brief task
description, starting and ending dates, the types of skills needed, and the number of employees (with the
required skills) needed to complete the task. General tasks are the initial interview, database and system
design, implementation, coding, testing, and final evaluation and sign-off. For example, GCS might have
the project schedule shown in Table P5.10b.
TABLE P5.10b
PROJECT ID: 1
COMPANY : SEE
ROCKS
REGION: NW
BUDGET: $15,500
END
DATE
TASK DESCRIPTION
SKILL(S)
REQUIRED
QUANTITY
REQUIRED
3/1/12
3/6/12
Initial interview
Project Manager
Systems Analyst II
DB Designer I
3/11/12
3/15/12
Database design
DB Designer I
3/11/12
4/12/12
System design
Systems Analyst II
Systems Analyst I
3/18/12
3/22/12
Database implementation
Oracle DBA
3/25/12
5/20/12
Cobol I
Cobol II
Oracle DBA
3/25/12
6/7/12
System documentation
Technical Writer
6/10/12
6/14/12
Final evaluation
Project Manager
Systems Analyst II
DB Designer I
Cobol II
Project Manager
Systems Analyst II
DB Designer I
Cobol II
Project Manager
6/17/12
7/1/12
6/21/12
7/1/12
Sign-off
GCS pools all of its employees by region; from this pool, employees are assigned to a specific task
scheduled by the project manager. For example, in the first projects schedule, you know that a Systems
Analyst II, Database Designer I, and Project Manager are needed for the period from 3/1/12 to 3/6/12.
The project manager is assigned when the project is created and remains for the duration of the project.
Using that information, GCS searches the employees who are located in the same region as the customer,
matches the skills required, and assigns the employees to the project task.
Each project schedule task can have many employees assigned to it, and a given employee can work on
multiple project tasks. However, an employee can work on only one project task at a time. For example,
if an employee is already assigned to work on a project task from 2/20/12 to 3/3/12, the employee cannot
work on another task until the current assignment is closed (ends). The date that an assignment is closed
does not necessarily match the ending date of the project schedule task, because a task can be completed
ahead of or behind schedule.
Given all of the preceding information, you can see that the assignment associates an employee with a
project task, using the project schedule. Therefore, to keep track of the assignment, you require at least
the following information: assignment ID, employee, project schedule task, assignment start date, and
assignment end date. The end date could be any date, as some projects run ahead of or behind
schedule.Table P5.10c shows a sample assignment form.
TABLE P5.10c
PROJECT ID: 1
COMPANY: SEE ROCKS
DESCRIPTION: SALES
MANAGEMENT SYSTEM
AS OF: 03/29/12
ACTUAL ASSIGNMENTS
PROJECT TASK
START
DATE
END
DATE
SKILL
EMPLOYEE
START
DATE
Initial interview
3/1/12
3/6/12
3/6/12
3/1/12
3/6/12
3/6/12
3/14/12
Database design
3/11/12
3/15/12
System design
3/11/12
4/12/12
3/11/12
3/11/12
END
DATE
3/18/12
3/22/12
3/15/12
5/20/12
Cobol I
109-Summers 3/21/12
A.
Cobol I
110-Ellis M.
3/21/12
3/19/12
PROJECT ID: 1
COMPANY: SEE ROCKS
DESCRIPTION: SALES
MANAGEMENT SYSTEM
AS OF: 03/29/12
ACTUAL ASSIGNMENTS
START
DATE
END
DATE
SKILL
EMPLOYEE
START
DATE
Cobol II
111-Ephanor
V.
3/21/12
3/21/12
3/25/12
System documentation
3/25/12
6/7/12
Final evaluation
6/10/12
6/14/12
Project Mgr.
END
DATE
Sys. Analyst
II
DB Designer
I
Cobol II
On-site system online and
data loading
6/17/12
6/21/12
Project Mgr.
Sys. Analyst
II
DB Designer
I
Cobol II
Sign-off
7/1/12
7/1/12
Project Mgr.
(Note: The assignment number is shown as a prefix of the employee namefor example, 101 or 102.)
Assume that the assignments shown previously are the only ones as of the date of this design. The
assignment number can be any number that matches your database design.
Employee work hours are kept in a work log, which contains a record of the actual hours worked by
employees on a given assignment. The work log is a form that the employee fills out at the end of each
week (Friday) or at the end of each month. The form contains the date, which is either the current Friday
of the month or the last workday of the month if it does not fall on a Friday. The form also contains the
assignment ID, the total hours worked either that week or up to the end of the month, and the bill number
to which the work-log entry is charged. Obviously, each work-log entry can be related to only one bill. A
sample list of the current work-log entries for the first sample project is shown in Table P5.10d.
TABLE P5.10d
EMPLOYEE NAME WEEK ENDING ASSIGNMENT NUMBER HOURS WORKED BILL NUMBER
Burklow S.
3/1/12
1-102
xxx
Connor S.
3/1/12
1-101
xxx
Smith M.
3/1/12
1-103
xxx
Burklow S.
3/8/12
1-102
24
xxx
Connor S.
3/8/12
1-101
24
xxx
Smith M.
3/8/12
1-103
24
xxx
Burklow S.
3/15/12
1-105
40
xxx
Bush E.
3/15/12
1-106
40
xxx
Smith J.
3/15/12
1-108
xxx
Smith M.
3/15/12
1-104
32
xxx
Zebras S.
3/15/12
1-107
35
xxx
Burklow S.
3/22/12
1-105
40
Bush E.
3/22/12
1-106
40
Ellis M.
3/22/12
1-110
12
Ephanor V.
3/22/12
1-111
12
Smith J.
3/22/12
1-108
12
Smith J.
3/22/12
1-112
12
Summers A.
3/22/12
1-109
12
Zebras S.
3/22/12
1-107
35
Burklow S.
3/29/12
1-105
40
Bush E.
3/29/12
1-106
40
Ellis M.
3/29/12
1-110
35
Ephanor V.
3/29/12
1-111
35
Kilby S.
3/29/12
1-113
40
Smith J.
3/29/12
1-112
35
Summers A.
3/29/12
1-109
35
Zebras S.
3/29/12
1-107
35
Note: xxx represents the bill ID. Use the one that matches the bill number in your database.
Finally, every 15 days, a bill is written and sent to the customer for the total hours worked on the project
during that period. When GCS generates a bill, it uses the bill number to update the work-log entries that
are part of the bill. In summary, a bill can refer to many work-log entries, and each work-log entry can be
related to only one bill. GCS sent one bill on 3/15/12 for the first project (SEE ROCKS), totaling the
hours worked between 3/1/12 and 3/15/12. Therefore, you can safely assume that there is only one bill in
this table and that the bill covers the work-log entries shown in the preceding form.
Your assignment is to create a database that fulfills the operations described in this problem. The minimum
required entities are employee, skill, customer, region, project, project schedule, assignment, work log, and bill.
(There are additional required entities that are not listed.)
Create the required indexes to maintain entity integrity when using surrogate primary keys.
Populate the tables as needed, as indicated in the sample data and forms.
Assignment Details: