0% found this document useful (0 votes)
55 views

Abc

The document describes a problem to design database tables for an employee management system with tables for employees, skills, departments, and a joining table for employee skills. It provides sample data and asks the candidate to: 1) Create the tables with appropriate field types and constraints. 2) Modify some employee fields and add email to the employee table with a unique constraint. 3) Add foreign keys between employee and department tables. 4) Remove a field from the skills table, add sample data, and create a view of employees between certain levels.

Uploaded by

Tuan Pham Quang
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

Abc

The document describes a problem to design database tables for an employee management system with tables for employees, skills, departments, and a joining table for employee skills. It provides sample data and asks the candidate to: 1) Create the tables with appropriate field types and constraints. 2) Modify some employee fields and add email to the employee table with a unique constraint. 3) Add foreign keys between employee and department tables. 4) Remove a field from the skills table, add sample data, and create a view of employees between certain levels.

Uploaded by

Tuan Pham Quang
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

Objective: H5SD - SQL skills

Problem Description:

In the database design for the Employee Management System of Company, given tables
of the application with below:

EMPLOYEE:

EmpNo: employee code, primary key.

EmpName: employee name.

BirthDay: birthday of the employee.

DeptNo: department code of the employee.

MgrNo: manager code, not null.

StartDate: starting date of work.

Salary: salary of the employee, data type is money (VND).

Level: level of the employee (accepts value range from 1 to 7 only).

Status: status of the employee (0: working, 1: unpaid leave, 2: out)

Note: some note about an employee, free text.

EMP_SKILL:

SkillNo: skill code, foreign key.

EmpNo: employee code, foreign key.

SkillLevel: skill level of the employee (accepts value range from 1 to 3 only).

RegDate: registration date.

Description: skill description, free text.

Primary key (SkillNo, EmpNo)

SKILL:

SkillNo: skill code, primary key, auto-increment.

SkillName: name of skill.

Note: some note about skill, free text.

DEPARTMENT:

DeptNo: department code, primary key, auto-increment.

DeptName: department name.

Note: some note about department, free text.


Questions to answer:

Q1:

Create an EMPLOYEE table with the most appropriate/economic field/column


constraints & types. All fields are mandatory except Note field.

Create a SKILL table with the most appropriate/economic field/column constraints &
types, all fields are mandatory except Note field.

Create a DEPARTMENT table with the most appropriate/economic field/column


constraints & types, all fields are mandatory except Note field.

Create EMP_SKILL table with the most appropriate/economic field/column constraints


& types, all fields are mandatory except Description field.

Q2:

Add an Email field to EMPLOYEE table and make sure that the database will not allow
the value for Email to be inserted into a new row if that value has already been
used in another row.

Modify EMPLOYEE table to set default values to 0 of MgrNo and Status fields.

Q3:

Add the FOREIGN KEY constrain of DeptNo field to the EMPLOYEE table that will
relate the DEPARTMENT table.

Remove the Description field from the EMP_SKILL table.

Q4:

Add at least 5 records into each of the created tables.

Create a VIEW called EMPLOYEE_TRACKING that will appear to the user as EmpNo,
Emp_Name and Level. It has Level satisfied the criteria: Level >=3 and Level <= 5.

Estimated Time to complete:180 mins.

-- THE END --

You might also like