DBMS Concepts

DBMS Tutorial Components of DBMS. Applications of DBMS The difference between file system and DBMS. Types of DBMS DBMS Architecture DBMS Schema Three Schema Architecture. DBMS Languages.

DBMS ER Model

ER model: Entity Relationship Diagram (ERD) Components of ER Model. DBMS Generalization, Specialization and Aggregation.

DBMS Relational Model

Codd’s rule of DBMS Relational DBMS concepts Relational Integrity Constraints DBMS keys Convert ER model into Relational model Difference between DBMS and RDBMS Relational Algebra DBMS Joins

DBMS Normalization

Functional Dependency Inference Rules Multivalued Dependency Normalization in DBMS: 1NF, 2NF, 3NF, BCNF and 4NF

DBMS Transaction

What is Transaction? States of transaction ACID Properties in DBMS Concurrent execution and its problems DBMS schedule DBMS Serializability Conflict Serializability View Serializability Deadlock in DBMS Concurrency control Protocols

Difference

Difference between DFD and ERD

Misc

Advantages of DBMS Disadvantages of DBMS Data Models in DBMS Relational Algebra in DBMS Cardinality in DBMS Entity in DBMS Attributes in DBMS Data Independence in DBMS Primary Key in DBMS Foreign Key in DBMS Candidate Key in DBMS Super Key in DBMS Aggregation in DBMS Hashing in DBMS Generalization in DBMS Specialization in DBMS View in DBMS File Organization in DBMS What Is A Cloud Database What Is A Database Levels Of Locking In DBMS What is RDBMS Fragmentation in Distributed DBMS What is Advanced Database Management System Data Abstraction in DBMS Checkpoint In DBMS B Tree in DBMS BCNF in DBMS Advantages of Threaded Binary Tree in DBMS Advantages of Database Management System in DBMS Enforcing Integrity Constraints in DBMS B-Tree Insertion in DBMS B+ Tree in DBMS Advantages of B-Tree in DBMS Types of Data Abstraction in DBMS Levels of Abstraction in DBMS 3- Tier Architecture in DBMS Anomalies in Database Management System Atomicity in Database Management System Characteristics of DBMS DBMS Examples Difference between Relational and Non-Relational Databases Domain Constraints in DBMS Entity and Entity set in DBMS ER Diagram for Banking System in DBMS ER Diagram for Company Database in DBMS ER Diagram for School Management System in DBMS ER Diagram for Student Management System in DBMS ER Diagram for University Database in DBMS ER Diagram of Company Database in DBMS Er Diagram Symbols and Notations in DBMS How to draw ER-Diagram in DBMS Integrity Constraints in DBMS Red-Black Tree Deletion in DBMS Red-Black Tree Properties in DBMS Red-Black Tree Visualization in DBMS Redundancy in Database Management System Secondary Key in DBMS Structure of DBMS 2-Tier Architecture in DBMS Advantages and Disadvantages of Binary Search Tree Closure of Functional Dependency in DBMS Consistency in Database Management System Durability in Database Management System ER Diagram for Bank Management System in DBMS ER Diagram for College Management System in DBMS ER Diagram for Hotel Management System in DBMS ER Diagram for Online Shopping ER Diagram for Railway Reservation System ER Diagram for Student Management System in DBMS Isolation in DBMS Lossless Join and Dependency Preserving Decomposition in DBMS Non-Key Attributes in DBMS Data Security Requirements in DBMS DBMS functions and Components What is Homogeneous Database? DBMS Functions and Components Advantages and Disadvantages of Distributed Database Relational Database Schema in DBMS Relational Schema Transaction Processing in DBMS Discriminator in DBMS

Non-Key Attributes in DBMS

The primary key is an attribute that uniquely identifies any record in a table. The values inside the primary cannot be repeated. This is the main feature of a primary key. The attribute that does not identify any record uniquely is called a Non-key attribute. Or the attributes that are not key or part of the key attributes are known as non-key attributes. Non-key attributes can store as many as the values repeatedly.

When employees join a company or an organization, the company does not expect that all the employees they hire have a unique first name and last name; both first and last names can be the same. So, the name cannot become the primary key and hence become a non-key attribute in a table or database.

For example, in a Company type table, the database can have multiple instances for the customer name, which shows that the "customer name" cannot become unique as more than 1 person has the same. Thus, the customer name in this example falls under the non-key attribute.

Although, names chosen for any profile or designation in an organization can be key attributes as the way a company will choose- any company will not choose and give two different designations and profile the same name.

Example to understand non-key attributes deeply

Below we took two schemas or tables and their attributes, where primary attributes are underlined, and non-key attributes are non-underlined.

  • EMPLOYEE  (Emp_id,  Name, DOB, Address)
  • DETAILS (Emp_id, Emp_Enrolment, Salary, Department)

In the schema EMPLOYEE, the attribute Emp_id is the primary key (prime attribute), meaning the employees' Ids cannot be the same. And all the other attributes are non-key attributes means other attributes can have the same value or data.

In schema DETAILS, Emp_id and Emp_Enrolment are two primary keys (prime attributes). All the other attributes are non-key attributes. In this case, Emp_id individually is one prime attribute, and Emp_Enrolment  is another prime attribute.

Why are they called Non-key attributes?

They are non-key attributes because they cannot uniquely identify any records of the table.

For example, look at the following queries;

SELECT * from EMPLOYEE where Emp_id = ‘2087’;
SELECT * from EMPLOYEE where Name = ‘Abhishek’;

Here, Emp_id is the primary key of the Employee table, so this query will return only one record if 2087 is present in the emp_id section of Employee; otherwise, it will return zero. On the other hand, the name is not a primary key. Hence, the second query will return all the records that stored 'Abhishek' as a name. That's why they are called non-key attributes.