

In a database, you have entities (which have attributes), and relationships between those entities. Managing them is key to preventing chaos from engulfing your database, which is where the concept of keys comes in. These unique identifiers enable you to pick specific rows in an entity set, as well as define their relationships to rows in other entity sets, allowing your database to handle complex computations.
Let’s explore keys in DBMS (database management systems) in more detail, before digging into everything you need to know about the most important keys – primary keys.
Understanding Keys in DBMS
Keys in DBMS are attributes that you use to identify specific rows inside a table, in addition to finding the relation between two tables. For example, let’s say you have a table for students, with that table recording each student’s “ID Number,” “Name,” “Address,” and “Teacher” as attributes. If you want to identify a specific student in the table, you’ll need to use one of these attributes as a key that allows you to pull the student’s record from your database. In this case “ID Number” is likely the best choice because it’s a unique attribute that only applies to a single student.
Types of Keys in DBMS
Beyond the basics of serving as unique identifiers for rows in a database, keys in DBMS can take several forms:
- Primary Keys – An attribute that is present in the table for all of the records it contains, with each instance of that attribute being unique to the record. The previously-mentioned “ID Number” for students is a great example, as no student can have the same number as another student.
- Foreign Key – Foreign keys allow you to define and establish relationships between a pair of tables. If Table A needs to refer to the primary key in Table B, you’ll use a foreign key in Table A so you have values in that table to match those in Table B.
- Unique Key – These are very similar to primary keys in that both contain unique identifiers for the records in a table. The only difference is that a unique key can contain a null value, whereas a primary key can’t.
- Candidate Key – Though you may have picked a unique attribute to serve as your primary key, there may be other candidates within a table. Coming back to the student example, you may record the phone numbers and email addresses of your students, which can be as unique as the student ID assigned to the individual. These candidate keys are also unique identifiers, allowing them to be used in tandem with a primary key to identify a specific row in a table.
- Composite Key – If you have attributes that wouldn’t be unique when taken alone, but can be combined to form a unique identifier for a record, you have a composite key.
- Super Key – This term refers to the collection of attributes that uniquely identify a record, meaning it’s a combination of candidate keys. Just like an employer sifting through job candidates to find the perfect person, you’ll sift through your super key set to choose the ideal primary key amongst your candidate keys.
So, why are keys in DBMS so important?
Keys ensure you maintain data integrity across all of the tables that make up your database. Without them, the relationships between each table become messy hodgepodges, creating the potential for duplicate records and errors that deliver inaccurate reports from the database. Having unique identifiers (in the form of keys) allows you to be certain that any record you pull, and the relationships that apply to that record, are accurate and unrepeated.
Primary Key Essentials
As mentioned, any unique attribute in a table can serve as a primary key, though this doesn’t mean that every unique attribute is a great choice. The following characteristics help you to define the perfect primary key.
Uniqueness
If your primary key is repeatable across records, it can’t serve as a unique identifier for a single record. For example, our student table may have multiple people named “John,” so you can’t use the “Name” attribute to find a specific student. You need something unique to that student, such as the previously mentioned ID number.
Non-Null Values
Primary keys must always contain a value, else you risk losing records in a table because you have no way of calling upon them. This need for non-null values can be used to eliminate some candidates from primary key content. For instance, it’s feasible (though unlikely) that a student won’t have an email address, creating the potential for null values that mean the email address attribute can’t be a primary key.
Immutability
A primary key that can change over time is a key that can cause confusion. Immutability is the term used for any attribute that’s unchanging to the point where it’s an evergreen attribute that you can use to identify a specific record forever.
Minimal
Ideally, one table should have one attribute that serves as its primary key, which is where the term “minimal” comes in. It’s possible for a table to have a composite or super key set, though both create the possibility of confusion and data integrity issues.
The Importance of a Primary Key in DBMS
We can distill the reason why having a primary key in DBMS for each of your tables is important into the following reasons:
- You can use a primary key to identify each unique record in a table, meaning no multi-result returns to your database searches.
- Having a primary key means a record can’t be repeated in the table.
- Primary keys make data retrieval more efficient because you can use a single attribute for searches rather than multiple.
Functions of Primary Keys
Primary keys in DBMS serve several functions, each of which is critical to your DBMS.
Data Identification
Imagine walking into a crowded room and shouting out a name. The odds are that several people (all of whom have the same name) will turn their heads to look at you. That’s basically what you’re doing if you try to pull records from a table without using a primary key.
A primary key in DBMS serves as a unique identifier that you can use to pull specific records. Coming back to the student example mentioned earlier, a “Student ID” is only applicable to a single student, making it a unique identifier you can use to find that student in your database.
Ensure Data Integrity
Primary keys protect data integrity in two ways.
First, they prevent duplicate records from building up inside a single table, ensuring you don’t get multiple instances of the same record. Second, they ensure referential integrity, which is the term used to describe what happens when one table in your database needs to refer to the records stored in another table.
For example, let’s say you have tables for “Students” and “Teachers” in your database. The primary keys assigned to your students and teachers allow you to pull individual records as needed from each table. But every “Teacher” has multiple “Students” in their class. So, your primary key from the “Students” table is used as a foreign key in the “Teachers” table, allowing you to denote the one-to-many relationship between a teacher and their class of students. That foreign key also ensures referential integrity because it contains the unique identifiers for students, which you can look up in your “Students” table.
Data Retrieval
If you need to pull a specific record from a table, you can’t rely on attributes that can repeat across several records in that table. Again, the “Name” example highlights the problem here, as several people could have the same name. You need a unique identifier for each record so you can retrieve a single record from a huge set without having to pore through hundreds (or even thousands) of records.
Best Practices for Primary Key Selection
Now that you understand how primary keys in DBMS work, here are some best practices for selecting the right primary key for your table:
- Choose Appropriate Attributes as Candidates – If the attribute isn’t unique to each record, or it can contain a null value (as is the case with email addresses and phone numbers), it’s not a good candidate for a primary key.
- Avoid Using Sensitive Information – Using personal or sensitive information as a primary key creates a security risk because anybody who cracks your database could use that information for other purposes. Make your primary keys unique, and only applicable, to your database, which allows you to encrypt any sensitive information stored in your tables.
- Consider Surrogate Keys – Some tables don’t have natural attributes that you can use as primary keys. In these cases, you can create a primary key out of thin air and assign it to each record. The “Student ID” referenced earlier is a great example, as students entering a school don’t come with their own ID numbers. Those numbers are given to the student (or simply used in the database that collects their data), making them surrogate keys.
- Ensure Primary Key Stability – Any attribute that can change isn’t suitable for use as a primary key because it causes stability issues. Names, email addresses, phone numbers, and even bank account details are all things that can change, making them unsuitable. Evergreen and unchanging is the way to go with primary keys.
Choose the Right Keys for Your Database
You need to understand the importance of a primary key in DBMS (or multiple primary keys when you have several tables) so you can define the relationships between tables and identify unique records inside your tables. Without primary keys, you’ll find it much harder to run reports because you won’t feel confident in the accuracy of the data returned. Each search may pull up duplicate or incorrect records because of a lack of unique identifiers.
Thankfully, many of the tables you create will have attributes that lend themselves well to primary key status. And even when that isn’t the case, you can use surrogate keys in DBMS to assign primary keys to your tables. Experiment with your databases, testing different potential primary keys to see what works best for you.
Related posts

From personalization to productivity: AI at the heart of the educational experience.
Click this link to read and download the e-book.
At its core, teaching is a simple endeavour. The experienced and learned pass on their knowledge and wisdom to new generations. Nothing has changed in that regard. What has changed is how new technologies emerge to facilitate that passing on of knowledge. The printing press, computers, the internet – all have transformed how educators teach and how students learn.
Artificial intelligence (AI) is the next game-changer in the educational space.
Specifically, AI agents have emerged as tools that utilize all of AI’s core strengths, such as data gathering and analysis, pattern identification, and information condensing. Those strengths have been refined, first into simple chatbots capable of providing answers, and now into agents capable of adapting how they learn and adjusting to the environment in which they’re placed. This adaptability, in particular, makes AI agents vital in the educational realm.
The reasons why are simple. AI agents can collect, analyse, and condense massive amounts of educational material across multiple subject areas. More importantly, they can deliver that information to students while observing how the students engage with the material presented. Those observations open the door for tweaks. An AI agent learns alongside their student. Only, the agent’s learning focuses on how it can adapt its delivery to account for a student’s strengths, weaknesses, interests, and existing knowledge.
Think of an AI agent like having a tutor – one who eschews set lesson plans in favour of an adaptive approach designed and tweaked constantly for each specific student.
In this eBook, the Open Institute of Technology (OPIT) will take you on a journey through the world of AI agents as they pertain to education. You will learn what these agents are, how they work, and what they’re capable of achieving in the educational sector. We also explore best practices and key approaches, focusing on how educators can use AI agents to the benefit of their students. Finally, we will discuss other AI tools that both complement and enhance an AI agent’s capabilities, ensuring you deliver the best possible educational experience to your students.

The Open Institute of Technology (OPIT) began enrolling students in 2023 to help bridge the skills gap between traditional university education and the requirements of the modern workplace. OPIT’s MSc courses aim to help professionals make a greater impact on their workplace through technology.
OPIT’s courses have become popular with business leaders hoping to develop a strong technical foundation to understand technologies, such as artificial intelligence (AI) and cybersecurity, that are shaping their industry. But OPIT is also attracting professionals with strong technical expertise looking to engage more deeply with the strategic side of digital innovation. This is the story of one such student, Obiora Awogu.
Meet Obiora
Obiora Awogu is a cybersecurity expert from Nigeria with a wealth of credentials and experience from working in the industry for a decade. Working in a lead data security role, he was considering “what’s next” for his career. He was contemplating earning an MSc to add to his list of qualifications he did not yet have, but which could open important doors. He discussed the idea with his mentor, who recommended OPIT, where he himself was already enrolled in an MSc program.
Obiora started looking at the program as a box-checking exercise, but quickly realized that it had so much more to offer. As well as being a fully EU-accredited course that could provide new opportunities with companies around the world, he recognized that the course was designed for people like him, who were ready to go from building to leading.
OPIT’s MSc in Cybersecurity
OPIT’s MSc in Cybersecurity launched in 2024 as a fully online and flexible program ideal for busy professionals like Obiora who want to study without taking a career break.
The course integrates technical and leadership expertise, equipping students to not only implement cybersecurity solutions but also lead cybersecurity initiatives. The curriculum combines technical training with real-world applications, emphasizing hands-on experience and soft skills development alongside hard technical know-how.
The course is led by Tom Vazdar, the Area Chair for Cybersecurity at OPIT, as well as the Chief Security Officer at Erste Bank Croatia and an Advisory Board Member for EC3 European Cybercrime Center. He is representative of the type of faculty OPIT recruits, who are both great teachers and active industry professionals dealing with current challenges daily.
Experts such as Matthew Jelavic, the CEO at CIM Chartered Manager Canada and President of Strategy One Consulting; Mahynour Ahmed, Senior Cloud Security Engineer at Grant Thornton LLP; and Sylvester Kaczmarek, former Chief Scientific Officer at We Space Technologies, join him.
Course content includes:
- Cybersecurity fundamentals and governance
- Network security and intrusion detection
- Legal aspects and compliance
- Cryptography and secure communications
- Data analytics and risk management
- Generative AI cybersecurity
- Business resilience and response strategies
- Behavioral cybersecurity
- Cloud and IoT security
- Secure software development
- Critical thinking and problem-solving
- Leadership and communication in cybersecurity
- AI-driven forensic analysis in cybersecurity
As with all OPIT’s MSc courses, it wraps up with a capstone project and dissertation, which sees students apply their skills in the real world, either with their existing company or through apprenticeship programs. This not only gives students hands-on experience, but also helps them demonstrate their added value when seeking new opportunities.
Obiora’s Experience
Speaking of his experience with OPIT, Obiora said that it went above and beyond what he expected. He was not surprised by the technical content, in which he was already well-versed, but rather the change in perspective that the course gave him. It helped him move from seeing himself as someone who implements cybersecurity solutions to someone who could shape strategy at the highest levels of an organization.
OPIT’s MSc has given Obiora the skills to speak to boards, connect risk with business priorities, and build organizations that don’t just defend against cyber risks but adapt to a changing digital world. He commented that studying at OPIT did not give him answers; instead, it gave him better questions and the tools to lead. Of course, it also ticks the MSc box, and while that might not be the main reason for studying at OPIT, it is certainly a clear benefit.
Obiora has now moved into a leading Chief Information Security Officer Role at MoMo, Payment Service Bank for MTN. There, he is building cyber-resilient financial systems, contributing to public-private partnerships, and mentoring the next generation of cybersecurity experts.
Leading Cybersecurity in Africa
As well as having a significant impact within his own organization, studying at OPIT has helped Obiora develop the skills and confidence needed to become a leader in the cybersecurity industry across Africa.
In March 2025, Obiora was featured on the cover of CIO Africa Magazine and was then a panelist on the “Future of Cybersecurity Careers in the Age of Generative AI” for Comercio Ltd. The Lagos Chamber of Commerce and Industry also invited him to speak on Cybersecurity in Africa.
Obiora recently presented the keynote speech at the Hackers Secret Conference 2025 on “Code in the Shadows: Harnessing the Human-AI Partnership in Cybersecurity.” In the talk, he explored how AI is revolutionizing incident response, enhancing its speed, precision, and proactivity, and improving on human-AI collaboration.
An OPIT Success Story
Talking about Obiora’s success, the OPIT Area Chair for Cybersecurity said:
“Obiora is a perfect example of what this program was designed for – experienced professionals ready to scale their impact beyond operations. It’s been inspiring to watch him transform technical excellence into strategic leadership. Africa’s cybersecurity landscape is stronger with people like him at the helm. Bravo, Obiora!”
Learn more about OPIT’s MSc in Cybersecurity and how it can support the next steps of your career.
Have questions?
Visit our FAQ page or get in touch with us!
Write us at +39 335 576 0263
Get in touch at hello@opit.com
Talk to one of our Study Advisors
We are international
We can speak in: