Database Systems: Design, Implementation, & Management
Database Systems: Design, Implementation, & Management
13th Edition
ISBN: 9781337627900
Author: Carlos Coronel, Steven Morris
Publisher: Cengage Learning
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
For context and I am looking for someone with experience in either computer graphics with companies, or at least has an expertise or experiences in engine development.I am developing a game engine. The niche that I want to focus in open-world development to specialize in.I have seen, heard, and had discussions about various approaches to scene graphs and ways they get handled to be sent to the renderer.If I wanted to focus on open-world, what are different tips and approaches you can tell me of how complex scenes. Like open-world get rendered? What I mean when asking this question, what is the design layout typically of a few approaches that is used for rendering not just basic scenes but complex scenes? Especially since I want to focus on building a game engine that hopes to focuse in open-world.I am using the entity component system framework EnTT, and would like to know if you can also provide tips and how that framework can be incorporated into the design layouts of how you've…
Please original work Describe the steps of the process of data discovery Why each one is important to data analysis and data warehousing frameworks. Please cite in text references and add weblinks
The following is code for a disc golf program written in C++:   player.h:   #ifndef PLAYER_H #define PLAYER_H #include <string> #include <iostream> class Player { private:    std::string courses[20]; // Array of course names    int scores[20];          // Array of scores    int gameCount;           // Number of games played public:    Player();                 // Constructor    void CheckGame(const std::string& courseName, int gameScore);    void ReportPlayer(int playerId) const; }; #endif // PLAYER_H   player.cpp:   #include "player.h" #include <iomanip> Player::Player() : gameCount(0) {} void Player::CheckGame(const std::string& courseName, int gameScore) {    for (int i = 0; i < gameCount; ++i) {        if (courses[i] == courseName) {            // If course has been played, check for minimum score            if (gameScore < scores[i]) {                scores[i] = gameScore; // Update to new minimum score            }            return; // Exit after…
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