Sunteți pe pagina 1din 7

CS 480

Name: Rajendra Fofaliya ID: 678147784 Database Systems


Fall 2019

Homework #1

Complete By: Wednesday, September 4th @ 5:00pm


Submission: collected at beginning of class on paper or
submitted digitally through Gradescope

Reading Tables

On the following two pages is a set of data that was stored in a database. There are three tables extracted from
the database which store between them some information the company keeping the database finds useful. Read
through this data in order to answer the questions that follow.

Page 1 of 7
Employee Table
Employee_ID Employee_Fname Employee_Lname Employee_HireDate Employee_Title
2345 Brian Oates 2/14/99 DBA

3373 Franklin Johnson 3/15/06 Purchasing Agent


4893 Patricia Richards 6/11/08 DBA

6234 Jasmine Patel 8/10/09 Programmer


8273 Marco Bienz 7/28/10 Analyst

9002 Wade Gather 5/20/14 Clerk

9283 Juan Chavez 7/4/14 Clerk

9382 Susan Mathis 8/2/14 Database Programmer

13383 Raymond Matthews 3/12/16 Programmer

Certified Table
Employee_ID Skill_ID Certified_Date
2345 100 2/14/04
2345 110 8/9/05
2345 180 2/14/07
3373 120 6/20/13
4893 180 6/11/08
4893 220 9/20/14
6234 110 8/10/09
6234 200 8/10/09
6234 210 1/29/14
8273 110 3/8/11
8273 190 8/19/14
9002 110 5/16/15
9002 120 5/16/15
9382 140 8/2/14
9382 210 8/2/14
9382 220 5/1/15
13383 170 3/12/16

Page 2 of 7
Skill Table
Skill_ID Skill_Name Skill_Description
100 Basic Database Management Create and manage database user accounts
110 Basic Web Design Create and maintain HTML and CSS documents
120 Advanced Spreadsheets Use of advanced functions, user-defined functions, and macroing
130 Basic Process Modeling Create core business process models using standard libraries
140 Basic Database Design Create simple data models
Create integrated trigger and procedure packages for a
150 Master Database Programming
distributed environment
160 Basic Spreadsheets Create single tab worksheets with basic formulas
170 Basic C# Programming Create single-tier data aware modules
Advanced Database
180 Manage Database Server Clusters
Management
Evaluate and Redesign cross-functional and external business
190 Advanced Process Modeling
processes
200 Advanced C# Programming Create multi-tier applications using multi-threading
210 Basic Database Manipulation Create simple data retrieval and manipulation statements in SQL
Advanced Database Use of advanced data manipulations methods for multi-table
220
Manipulation inserts, sets operations and correlated subqueries.

Page 3 of 7
1. What is the domain from which this data might have been taken?

Ans. The domain for this data is HUMAN RESOURCES where we store information about people/employee.
It includes the basic name, job title, salary, etc. what all is required for the employee.
In addition here we have referenced Employee ID to get Skill Certification details which is further
referenced to get on details about skill name and description through Skill ID.

2. What is being represented by the data in these tables? What does this data allow us to describe?

Ans. There are basically 3 tables in the database i.e. Employee Table, Certified Table and Skill Table. All the
data stored in the employee table provides us the data with the Employee ID, first and last name, hiring
date and employee’s title. The second table provides details us about the Skill ID and certified date which
are referenced through the Employee IDs. Further the Skill ID is used in the 3rd table to reference the Skill
Name and the skill description. The first two tables are linked through the Employee ID and the last two
tables/relations are related through the Skill ID.
This data is totally for the employee’s information specifying who is certified in what skill.
It is easy to find out which employee is certified in which skill and on what date along with that using skill
ID, we also get to know about the skill name and its description.
Uniquely identify the skill and other things using Employee ID and Skill ID.

3. What might you do with this data? Name three potential uses of the data, questions a company might
ask that could be answered by this data set. Do not use questions that are nearly identical to the ones
asked in this assignment or each other.

Ans. We can easily modify/update/delete the data entered easily in these relations whereas it would have
been difficult to make changes if in whole it was a single relation instead of 3.

1) One can easily check on with the Employees who all are having particular Skill.

2) One can check which employee is actually interested in learning new things/skills so as to get more
knowledge by checking the hiring date and certification date.

3) One can check if the skill the employee is certified in is actually related to the Job designation that
employee is currently hired for so as to make best use out of the employee.

4. How many records are contained in the Employee table?

Ans. There are 9 records in the employee table.

5. How many fields are there per record?

Ans. There are 5 fields per record in the employee table i.e.

Employee_ID Employee_Fname Employee_Lname Employee_HireDate Employee_Title

Page 4 of 7
6. What is the domain of the Employee_HireDate attribute of the Employee relation?

Ans. The domain is actually the content/values that are present in that single attribute of a particular
relation. In this case we are asked for Employee_HireDate attribute’s domain which is a variety of hiring
dates which is between year 1999 and year 2016.

This column can be put on with the datatype as date to take date as input while inserting data in the
database.

Domain: 2/14/99 – 3/12/16

Employee_HireDate
2/14/99
3/15/06
6/11/08
8/10/09
7/28/10
5/20/14
7/4/14
8/2/14
3/12/16

7. The information in this database is divided into three tables. The data could be divided up differently,
into more or fewer tables. Suggest an alternative design, with at least one benefit and one limitation
of storing the data in that format.

Ans. Employee Table

Employee_ID Employee_Fname Employee_Lname Employee_HireDate Employee_Title


2345 Brian Oates 2/14/99 DBA

3373 Franklin Johnson 3/15/06 Purchasing Agent


4893 Patricia Richards 6/11/08 DBA

6234 Jasmine Patel 8/10/09 Programmer


8273 Marco Bienz 7/28/10 Analyst

9002 Wade Gather 5/20/14 Clerk

9283 Juan Chavez 7/4/14 Clerk

9382 Susan Mathis 8/2/14 Database Programmer

13383 Raymond Matthews 3/12/16 Programmer

Page 5 of 7
Skill Certified Table
Employee_ID Certified_Date Skill_Name Skill_Description
Basic Database
Create and manage database user accounts
2345 2/14/04 Management
2345 8/9/05 Basic Web Design Create and maintain HTML and CSS documents
Advanced Database
Manage Database Server Clusters
2345 2/14/07 Management
Advanced Use of advanced functions, user-defined functions, and
3373 6/20/13 Spreadsheets macroing
Advanced Database
Manage Database Server Clusters
4893 6/11/08 Management
Use of advanced data manipulations methods for multi-
Advanced Database
table inserts, sets operations and correlated
Manipulation
4893 9/20/14 subqueries.
6234 8/10/09 Basic Web Design Create and maintain HTML and CSS documents
Advanced C#
Create multi-tier applications using multi-threading
6234 8/10/09 Programming
Basic Database Create simple data retrieval and manipulation
6234 1/29/14 Manipulation statements in SQL
8273 3/8/11 Basic Web Design Create and maintain HTML and CSS documents
Advanced Process Evaluate and Redesign cross-functional and external
8273 8/19/14 Modeling business processes
9002 5/16/15 Basic Web Design Create and maintain HTML and CSS documents
Advanced Use of advanced functions, user-defined functions, and
9002 5/16/15 Spreadsheets macroing
9382 8/2/14 Basic Database Design Create simple data models
Basic Database Create simple data retrieval and manipulation
9382 8/2/14 Manipulation statements in SQL
Use of advanced data manipulations methods for multi-
Advanced Database
table inserts, sets operations and correlated
Manipulation
9382 5/1/15 subqueries.
13383 3/12/16 Basic C# Programming Create single-tier data aware modules

This design has only 2 tables, the first one is same Employee Table but the second one is now converted to
skill certified table where the skill name and description is added along with the certified date of the skill.

The Skill ID attribute/key is removed as now there is no requirement for it.

Benefit: The benefit with this design is that the memory now used is less as there are only 2
tables/relations defined and only a Single Foreign key i.e. Employee ID is left.

Page 6 of 7
Limitation: The drawback is that the list of all the skills is not available now which was inserted before so as
to check on with. The skill and description are must be added every time an employee gets a certificate for
any particular skill.

8. What skill(s) is Jasmine Patel certified in? List the names of the skills.

Ans. Jasmine Patel is certified in 3 skills.

110 - Basic Web Design - Create and maintain HTML and CSS documents.
200 - Advanced C# Programming - Create multi-tier applications using multi-threading.
210 - Basic Database Manipulation - Create simple data retrieval and manipulation statements in SQL.

9. Who are the employee(s) who are certified in Advanced Database Management?

Ans. Brian Oates and Patricia Richards are certified in Advanced Database Management.

10. Is there an employee who has been working at the company for more than 10 years (as of today’s
date) and has training in Advanced Database Manipulation?

Ans. Patricia Richards has been working for more than 10 years and has training in Advanced Database
Manipulation.

Page 7 of 7

S-ar putea să vă placă și