Sie sind auf Seite 1von 2

1.

Using your knowledge of BITS, determine the functional dependencies that exist in the following
table. After determining the functional dependencies, convert this table to an equivalent collection of
tables that are in third normal form:

- Functional Dependencies
Tasks: F(TaskID) > Description, Category, Price
Consultant: F(ConsultNum) > LastName, FirstName
WorkOrders: F(OrderNum) > OrderDate ; F(OrderNum) > ClientNum ; F(OrderNum) >
ConsultNum
Client: F(ClientNum) > ClientName
OrderLine: PK(OrderNum, TaskID) ; F(PK) > ScheduledDate, QuotedPrice
- Converted:
Tasks [TasksID, Description, Category, Price] 3NF
Consultant [ConsultNum, Lastname, FirstName] 3NF
WorkOrders [OrderNum, OrderDate, ConsultNum] 3NF
Client [ClientNum, ClientName] 3NF
OrderLine [TaskID, OrderNum, ScheduledDate, QuotedPrice] 3NF

2. List the functional dependencies in the following table that concern invoicing (an application BITS is
considering adding to its database), subject to the specified conditions. For a given invoice (identified
by the InvoiceNum), there will be a single client. The client’s number, name, and complete address
appear on the invoice, as does the date. Also, there may be several different tasks appearing on the
invoice. For each task that appears, 186 Chapter 5 display the TaskID, description, category, and
price. Assume that each client that requests a particular service task pays the same price. Convert
this table to an equivalent collection of tables that are in third normal form:

- Functional Dependencies
Invoice: F(InvoiceNum) > ClientNum, TaskID
Task: F(TaskID) > Description, Category, Price
Client: F(ClientNum) > LastName, Firstname, Street, City, State, ZipCode, Date
- Converted:
Invoice [InvoiceNum, ClientNum, TaskID] 3NF
Task [TaskID, Description, Category, Price] 3NF
Client [ClientNum, LastName, FirstName, Street, City, State, ZipCode, Date] 3NF

3. BITS wants to store information about the supervisors, including their supervisor number and the
relationship to consultants. Supervisors can work with multiple consultants, but consultants only
have one supervisor. In addition, supervisors specialize in working with clients in specific task
categories. Using this information, convert the following unnormalized relation to fourth normal
form:

- Functional Dependencies:
Tasks: F(TaskID) > Description, Category, Price, ClientNum
Supervisor: F(SupervisorNum) > SupervisorName, TaskID
Consultant: F(ConsltNum) > LastName, FirstName, Street, City, ZipCode, Hours, Rate
- Converted
Tasks [TaskID, Description, Category, Price, ClientNum] 4NF
Supervisor [SupervisorNum, SupervisorName, TaskID] 4NF
Consultant [ConsultNum, LastName, FirstName, Street, City, Zipcode, Hours, Rate] 4NF

4. BITS is considering changing its business model so that many consultants can service one client
and one consultant can represent many clients. Using this information, convert the following
unnormalized relation to fourth normal form:

- Functional Dependencies
Client: F(ClientNum, ClientName, Street, City, State, ZipCode)
Description: F(ClientNum, CreditLimit, Balance)
Consultant: F(ConsltNum, Lastname, FirstName, Street, City, State, ZipCode, Hours, Rate)
- Converted
Client: [ClientNum, ClientName] 4NF
Description: [ClientNum, CreditLimit, Balance] 4NF
Consultant : [ConsltNum, Lastname, FirstName, Hours, Rate] 4NF

5. Convert the following unnormalized relation to fourth normal form using the same requirements
as in Question 4 (many consultants can represent one client, and one consultant can represent
many clients):

- Functional Dependencies
Client: F(ClientNum, ClientName, Street, City, State, ZipCode)
Description: F(ClientNum, CreditLimit, Balance)
Consultant: F(ConsltNum, Lastname, FirstName, Street, City, State, ZipCode, Hours, Rate)
- Converted
Client: [ClientNum, ClientName] 4NF
Description: [ClientNum, CreditLimit, Balance] 4NF
Consultant : [ConsltNum, Lastname, FirstName, Hours, Rate] 4NF

6. Is there any difference between the tables you created in Questions 4 and 5? Why or why not?
and 5? Why or why not?
No, it makes no difference because its practically just vice versa with the tables, they’re
accomplishing the same thing ultimately.

Das könnte Ihnen auch gefallen