Database Systems: Design, Implementation, & Management
Database Systems: Design, Implementation, & Management
13th Edition
ISBN: 9780357155868
Author: Carlos Coronel; Steven Morris
Publisher: Cengage Learning US
bartleby

Concept explainers

Question
Book Icon
Chapter 6, Problem 4P

a.

Program Plan Intro

Normalization:

The process used to minimize data redundancy and dependency in a relational database is known as normalization. The database table is divided into two or more tables and defines the relationship between those tables.

Second normal form (2NF):

  • The value of all non-primary key attributes should be dependent on the primary key attribute.
    • If any attribute is depending on the partial primary key then it should determine the other attributes for an instance of the entity.
  • The partial dependencies should be removed from the data model.

Third normal form (3NF):

  • The value of any non-primary key attributes will not depend on any other non-primary key attributes.
    • If any non-primary key attributes depend on any other non-primary key attribute then it should be moved or deleted.
    • It is termed as transitive dependency.

Partial dependency:

A partial dependency exists at that time of an attributes depends only a part of primary key. This dependency is related with 1st normal form.

Transitive dependency:

A transitive dependency exists at that time of an attributes depends on another attribute which is not part of primary key.

Functional dependency:

An association between two attributes or two set of attributes in a same relational database table, which is having some constraints is known as functional dependency.

  • In a table one attribute is functionally dependent on another attribute to take one value.

a.

Expert Solution
Check Mark

Explanation of Solution

Construct the dependency diagram with all partial and transitive dependencies:

The relational schema for given STUDENT table is given below:

STUDENT(STU_NUM, STU_LNAME, STU_MAJOR, DEPT_CODE, DEPT_NAME,

DEPT_PHONE, ADVISOR_LNAME, ADVISOR_OFFICE, ADVISOR_BLDG, ADVISOR_PHONE, STU_GPA, STU_HOURS, STU_CLASS)

  • Here, “STU_NUM” indicates the primary key.

The representation of dependency diagram with all transitive dependencies is shown below:

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  1

Explanation:

In the above dependency diagram,

  • The transitive dependency is,

    DEPT_CODE -> (DEPT_NAME, DEPT_PHONE, COLLEGE_NAME)

    ADV_OFFICE -> (ADV_BUILDINGS)

    STU_HOURS -> (STU_CLASS)

b.

Program Plan Intro

Normalization:

The process used to minimize data redundancy and dependency in a relational database is known as normalization. The database table is divided into two or more tables and defines the relationship between those tables.

Second normal form (2NF):

  • The value of all non-primary key attributes should be dependent on the primary key attribute.
    • If any attribute is depending on the partial primary key then it should determine the other attributes for an instance of the entity.
  • The partial dependencies should be removed from the data model.

Third normal form (3NF):

  • The value of any non-primary key attributes will not depend on any other non-primary key attributes.
    • If any non-primary key attributes depend on any other non-primary key attribute then it should be moved or deleted.
    • It is termed as transitive dependency.

Partial dependency:

A partial dependency exists at that time of an attributes depends only a part of primary key. This dependency is related with 1st normal form.

Transitive dependency:

A transitive dependency exists at that time of an attributes depends on another attribute which is not part of primary key.

Functional dependency:

An association between two attributes or two set of attributes in a same relational database table, which is having some constraints is known as functional dependency.

  • In a table one attribute is functionally dependent on another attribute to take one value.

b.

Expert Solution
Check Mark

Explanation of Solution

Construct the dependency diagram:

The new dependency diagram is represented by removing all transitive dependencies in STUDENT table.

First table:

The relational schema for first table is given below:

STUDENT(STU_NUM, STU_LNAME, STU_MAJOR, DEPT_CODE, ADVISOR_NUM STU_GPA, STU_HOURS, STU_CLASS)

  • Here, “STU_NUM” indicates the primary keys and “ADVISOR_NUM” indicates the foreign key.
  • The relation is in third normal form (2NF), since there is transitive dependency in this table.

The representation of dependency diagram in first table is shown below:

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  2

Second table:

The relational schema for second table is given below:

MAJOR(MAJOR_CODE, DEPT_CODE, MAJOR_DESCRIPTION)

  • Here, “MAJOR_CODE” indicates the primary key.
  • The relation is in third normal form (3NF), since there is no transitive dependency and no repeated attributes.

The representation of dependency diagram in second table is shown below:

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  3

Third table:

The relational schema for third table is given below:

BUILDING(BLDG_CODE, BLDG_NAME, BLDG_MANAGER)

  • Here, “BLDG_CODE” indicates the primary key.
  • The relation is in third normal form (3NF), since there is no transitive dependency and no repeated attributes.

The representation of dependency diagram in third table is shown below:

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  4

Fourth table:

The relational schema for fourth table is given below:

DEPARTMENT(DEPT_NAME, DEPT_PHONE, COLL_CODE)

  • Here, “DEPT_NAME” indicates the primary key.
  • The relation is in third normal form (3NF) but it does not meet the BCNF, since there is no transitive dependency and no repeated attributes.

The representation of dependency diagram in fourth table is shown below:

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  5

Fifth table:

The relational schema for fifth table is given below:

COLLEGE(COLL_CODE, COLL_NAME)

  • Here, “COLL_CODE” indicates the primary key.
  • The relation is in third normal form (3NF), since there is no transitive dependency and no repeated attributes.

The representation of dependency diagram in fifth table is shown below:

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  6

Sixth table:

The relational schema for sixth table is given below:

ADVISOR(ADV_NUM, ADV_LASTNAME, ADV_OFFICE, ADV_BUILDING, ADV_PHONE)

  • Here, “ADV_NUM” indicates the primary key.
  • The dotted transitive dependency line specifies that dependency is interpretation.
  • The relation is in third normal form (2NF), since there is transitive dependency in this table.

The representation of dependency diagram in sixth table is shown below:

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  7

c.

Explanation of Solution

The representation of Crow’s Foot Entity Relational Diagram (ERD) is shown below:

The following data model shows the solution for the given question.

Database Systems: Design, Implementation, & Management, Chapter 6, Problem 4P , additional homework tip  8

Explanation:

  • In the above data model, the college owns more than one department.
    • The “COLLEGE” entity contains the “COLL_CODE” and “COLL_NAME” attributes.
      • The primary key of “COLL_CODE” entity is “INV_NUM”.
    • The “DEPARTMENT” entity contains the “DEPT_CODE”, “DEPT_NAME”, “DEPT_PHONE” and “COLL_CODE” attributes.
      • The primary of this entity is “DEPT_CODE”.
      • The foreign key of this entity is “COLL_CODE”.
  • The department offers more than one major.
    • The “MAJOR” entity contains the “MAJOR_CODE”, “MAJOR_NAME”, and “DEPT_CODE” attributes.
      • The primary key of “MAJOR_CODE” for this entity.
      • The foreign key of this entity is “VEND_CODE”.
  • The major attracts more than one student.
    • The “STUDENT” entity contains the “STU_NUM”, “STU_LNAME”, “STU_CLASS”, “STU_HOURS”, “STU_GPA”, “MAJOR_CODE”, and “ADV_NUM” attributes.
      • The primary key of “STU_NUM” entity.
      • The foreign key of this entity is “MAJOR_CODE” and “ADV_NUM”.
  • The building houses more than one advisor.
    • The “ADVISOR” entity contains the “ADV_NUM”, “DEPT_CODE”, “BLDG_CODE”, “ADV_LNAME”, “ADV_OFFICE”, and “ADV_PHONE” attributes.
      • The primary key of “ADV_NUM” entity.
      • The foreign key of this entity is “DEPT_CODE” and “BLDG_CODE”.
    • The “BUILDING” entity contains the “BLDG_CODE”, “BLDG_NAME” and “BLDG_MANAGER” attributes.
      • The primary key of “BLDG_CODE” entity.
  • The advisor advises more than one student.

Want to see more full solutions like this?

Subscribe now to access step-by-step solutions to millions of textbook problems written by subject matter experts!
Students have asked these similar questions
Please answer Java OOP homework scenario below: You have been hired by the National Insurance Company to create a program to track insurance policies for all its customers. National Insurance provides three types of insurance: automobile, home and life insurance. The program should be able to track up to 100 policies.   Based on the provided information, create an efficient, object-oriented solution with good design principles that will allow a user to manage policies. To do this, the solution should have a menu with the following capabilities: Add Policy o This capability will allow a user to add a policy. The user should specify if the policy is for home, auto, or life. Once the type of policy has been selected, the user should be prompted for all required fields for the policy type. Remove Policy o This capability will allow a user to select any policy and remove it from the list. View policies o This capability will allow a user to see all the policies. All policy fields…
What are the two errors in my pseudocode?Module getAverage(Integer value1, Integer value2, Integer value3)                 Declare Integer average                 average = value1 + value2 + value3 / 3                 Display average            End Module
Where did I make an error in my pseudocode module???Code:Module main()                 Call raiseToPower(2, 1.5)            End main              Module raiseToPower(Real value, Integer power)                 Declare Real result                 Set result = value ^ power                 Display result            End raiseToPower
Knowledge Booster
Background pattern image
Computer Science
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781305627482
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
A Guide to SQL
Computer Science
ISBN:9781111527273
Author:Philip J. Pratt
Publisher:Course Technology Ptr
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781285196145
Author:Steven, Steven Morris, Carlos Coronel, Carlos, Coronel, Carlos; Morris, Carlos Coronel and Steven Morris, Carlos Coronel; Steven Morris, Steven Morris; Carlos Coronel
Publisher:Cengage Learning
Text book image
Oracle 12c: SQL
Computer Science
ISBN:9781305251038
Author:Joan Casteel
Publisher:Cengage Learning
Text book image
Principles of Information Systems (MindTap Course...
Computer Science
ISBN:9781285867168
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning
Text book image
Fundamentals of Information Systems
Computer Science
ISBN:9781337097536
Author:Ralph Stair, George Reynolds
Publisher:Cengage Learning