global computer solutions (gcs) is an information technology consulting company
global computer solutions (gcs) is an information technology consulting company with many offices located throughout the united states. the company's success is based on its ability to maximize its resources-that 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 that gcs managers can keep track of their customers, employees, projects, project schedules, tasks, and invoices.the gcs database must support all of gcs's operations and information requirements. a basic description of the main entities follows:the employees working for gcs have an employee id, an employee last name, a middle initial, a first name, a region, and a date of hire. 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.gcs has many customers. each customer has a customer id, customer 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 (that is, the date on which the project's contract was signed), a project start date (an estimate), a project end date (also an estimate), a project budget (total estimated cost of the project), 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 week's cost (computed by multiplying the hours each employee worked by the rate of pay for that skill) to the actual cost.the employee who is the manager of the project must complete a project schedule, which is, in effect, 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, the task's starting and ending dates, the types of skills needed, and the number of employees (with the required skills) required to complete the task. general tasks are 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.tasks: gcs pools all of its employees by region, and from this pool, employees are assigned to a specific task scheduled by the project manager. for example, for the first project's schedule, you know that for the period 3/1/10 to 3/6/10, a systems analyst ii, a database designer i, and a project manager are needed. (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, matching the skills required and assigning them 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/10 to 3/3/10, (s)he cannot work on another task until the current task is closed (ends). the date on which an task 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 task associates an employee with a project task, using the project schedule. therefore, to keep track of the task, you require at least the following information: task id, employee, project schedule task, date task starts, and date task ends (which could be any date, as some projects run ahead of or behind schedule). table p5.10c shows a sample task form.the hours an employee works are kept in a work log containing a record of the actual hours worked by an employee on a given task. the work log is a weekly 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 (of each friday of the month or the last workday of the month, if it doesn't fall on a friday), the task id, the total hours worked that week (or up to the end of the month), and the number of the bill 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.finally, every 15 days, a bill is written and sent to the customer, totaling the hours worked on the project that period. when gcs generates a bill, it uses the bill number to update the work-log entries that are part of that 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/10 for the first project (see rocks), totaling the hours worked between 3/1/10 and 3/15/10. therefore, you can safely assume that there is only one bill in this table and that that bill covers the work-log entries shown in the above form. your task is to create a database that will fulfill the operations described in this problem. the minimum required entities are employee, skill, customer, region, project, project schedule, task, work log, and bill. (there are additional required entities that are not listed.) create all of the required tables and all of the required relationships.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).
Price Type: Negotiable
Total Proposals: 4
1 Current viewersl
8 Total views
Proposals Reputation Price offered