1. Learning Outcomes#
या chapter नंतर तुम्हाला:
- database table मधील प्रत्येक row ची unique identification का आवश्यक आहे ते समजेल
PRIMARY KEYम्हणजे नेमके काय ते समजेल- Primary Key चे महत्त्वाचे rules समजतील
- duplicate आणि
NULLvalues Primary Key मध्ये का चालत नाहीत ते समजेल - एका table मध्ये किती Primary Keys असू शकतात हे स्पष्ट होईल
Natural KeyआणिSurrogate Keyमधला फरक समजेल- कोणत्या परिस्थितीत कोणत्या प्रकारचा key निवडणे योग्य ठरू शकते ते समजेल
- SQL मध्ये Primary Key define करण्याची basic syntax समजेल
- चुकीचा Primary Key निवडल्यामुळे project मध्ये कोणत्या अडचणी येऊ शकतात ते समजेल
- interview मध्ये Primary Key संबंधित basic questions confidently answer करता येतील
2. एका row ला स्वतःची ओळख का हवी?#
समजा आपल्या database मध्ये students नावाचा table आहे.
त्यात असा data आहे:
| student_id | name | city |
|---|---|---|
| 101 | Amit Patil | Pune |
| 102 | Sneha Jadhav | Mumbai |
| 103 | Amit Patil | Nashik |
इथे दोन students चे नाव Amit Patil आहे.
आता application ला सांगितले:
"Amit Patil चा city update करा."
Database चा पहिला प्रश्न असू शकतो:
"कोणता Amit Patil?"
हीच खरी problem आहे.
name हा column उपयोगी आहे, पण तो प्रत्येक row ची खात्रीशीर ओळख देत नाही.
दोन लोकांची नावे सारखी असू शकतात.
पण student_id पाहा:
- 101
- 102
- 103
प्रत्येक student साठी वेगळी value आहे.
म्हणून application सहज सांगू शकते:
UPDATE students
SET city = 'Nagpur'
WHERE student_id = 103;आता confusion नाही.
आपल्याला नेमका कोणता row बदलायचा आहे हे स्पष्ट आहे.
Table मधील प्रत्येक row ला बाकी सर्व rows पासून वेगळे ओळखता आले पाहिजे. हीच unique identification ची मूलभूत गरज आहे.
थोडक्यात, database ला "हा कोण?" या प्रश्नाचे एकदम स्पष्ट उत्तर हवे असते.
गावात दोन माणसांचे नाव सारखे असले तरी घर क्रमांक वेगळा असतो. Database मध्येही अशीच काहीतरी पक्की ओळख आवश्यक असते.
3. Primary Key म्हणजे काय?#
आधी simple meaning समजून घेऊ.
Primary Key म्हणजे table मधील प्रत्येक row uniquely identify करण्यासाठी वापरला जाणारा key.
उदाहरण:
student_id = 101हा value त्या specific student ची ओळख बनू शकतो.
जर student_id Primary Key असेल, तर database दोन महत्त्वाच्या गोष्टी enforce करते:
- Primary Key value duplicate असू शकत नाही.
- Primary Key value
NULLअसू शकत नाही.
म्हणजे database म्हणते:
"ओळख द्यायची असेल तर ती unique आणि available असली पाहिजे. 'मला माहिती नाही' असा ID चालणार नाही."
4. Definition#
A Primary Key is a constraint that uniquely identifies each row in a table and does not allow duplicate or NULL key values.
Primary Key हा असा database constraint आहे जो table मधील प्रत्येक row ला unique ओळख देतो. त्यामुळे Primary Key value repeat होऊ शकत नाही आणि ती NULL देखील असू शकत नाही.
इथे constraint म्हणजे database वर लावलेला rule.
म्हणजे आपण फक्त developer ला "duplicate ID टाकू नको" असे सांगत नाही.
Database स्वतः तो rule enforce करते.
5. Primary Key कसा काम करतो?#
समजा आपण नवीन student insert करत आहोत.
Database Primary Key संदर्भात साधारण असा विचार करते:
Rendering diagram…
Diagram could not be rendered.
Flow सुरुवातीला नवीन row पासून सुरू होतो.
Database प्रथम पाहते की Primary Key value उपलब्ध आहे का.
Value NULL असेल तर row accept होत नाही.
Value उपलब्ध असेल तर पुढचा प्रश्न:
"ही value आधीच दुसऱ्या row कडे आहे का?"
जर हो, तर duplicate identity तयार होईल.
म्हणून row reject केला जातो.
Value unique असेल तर row accept होतो.
Primary Key चा मुख्य उद्देश फक्त number store करणे नाही. त्याचा उद्देश प्रत्येक row ची विश्वासार्ह unique identity तयार करणे आहे.
6. SQL मध्ये Primary Key तयार करणे#
आपल्याला students table तयार करायचा आहे.
प्रत्येक student साठी student_id ही unique identity असेल.
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
city VARCHAR(100)
);इथे:
student_id INT PRIMARY KEYयाचा अर्थ:
student_idहा integer column आहे- हा column Primary Key म्हणून वापरला जाईल
- त्यातील values unique असल्या पाहिजेत
- त्यातील value
NULLअसू शकत नाही
आता काही data insert करूया.
INSERT INTO students (student_id, name, city)
VALUES (101, 'Amit Patil', 'Pune');
INSERT INTO students (student_id, name, city)
VALUES (102, 'Sneha Jadhav', 'Mumbai');दोन्ही rows valid आहेत.
कारण:
101 != 102दोन्ही students ची identity वेगळी आहे.
7. Duplicate Primary Key टाकल्यास काय होते?#
आता पुन्हा student_id = 101 insert करण्याचा प्रयत्न करू.
INSERT INTO students (student_id, name, city)
VALUES (101, 'Rahul Shinde', 'Nagpur');पण 101 आधीच Amit Patil च्या row कडे आहे.
म्हणून database हा insert reject करेल.
Expected Result#
Primary Key violation किंवा duplicate key संबंधित error मिळेल.
Exact error message कोणता database वापरत आहोत त्यावर अवलंबून बदलू शकतो.
पण कारण तेच आहे:
student_id 101 already existsDatabase च्या दृष्टीने situation अशी झाली:
"एका ID वर दोन students? मग 101 कोण? Amit की Rahul?"
Database अशा गोंधळाला परवानगी देत नाही.
Primary Key column मध्ये duplicate value manually insert करण्याचा प्रयत्न केल्यास database ती row accept करेल असे समजू नका.
8. Primary Key मध्ये NULL का चालत नाही?#
NULL म्हणजे साधारणपणे value unknown किंवा absent आहे.
समजा आपण हे करण्याचा प्रयत्न केला:
INSERT INTO students (student_id, name, city)
VALUES (NULL, 'Neha More', 'Pune');Primary Key student_id आहे.
पण Neha ची identity काय?
तीच नाही.
जर database अशा rows allow करत राहिला तर:
| student_id | name |
|---|---|
| NULL | Neha |
| NULL | Rohan |
| NULL | Pooja |
आता प्रत्येक row uniquely identify करण्याचा Primary Key चा उद्देशच संपला.
म्हणून Primary Key NULL accept करत नाही.
Primary Key = Unique + Not NULL ही beginner साठी अत्यंत महत्त्वाची mental model आहे.
पण Primary Key फक्त दोन rules ची बेरीज नाही.
तो table मधील row ची मुख्य identity म्हणून वापरला जातो.
9. Primary Key चे महत्त्वाचे Rules#
Rule 1: Primary Key values unique असल्या पाहिजेत#
हे:
101
102
103valid असू शकते.
हे:
101
102
101valid नाही.
कारण 101 repeat झाला आहे.
Rule 2: Primary Key NULL असू शकत नाही#
हे valid:
student_id = 101हे Primary Key साठी valid नाही:
student_id = NULLRow ची ओळखच नसणे Primary Key च्या उद्देशाच्या विरुद्ध आहे.
Rule 3: एका table ला एक Primary Key constraint असतो#
समजा table मध्ये columns आहेत:
student_id
email
phoneआपण दोन वेगवेगळ्या independent Primary Keys तयार करत नाही.
Table ला एक PRIMARY KEY constraint असतो.
एक Primary Key constraint एक किंवा अधिक columns वर आधारित असू शकतो. त्यामुळे "एका table मध्ये फक्त एक Primary Key column असतो" असे म्हणणे नेहमी अचूक नाही.
आपल्या current examples मध्ये आपण simple single-column Primary Keys वापरत आहोत.
Rule 4: Primary Key शक्यतो stable असावा#
stable म्हणजे value वारंवार बदलणारी नसावी.
उदाहरणार्थ:
customer_id = 5001हा ID customer चे नाव, phone किंवा email बदलले तरी तसाच राहू शकतो.
हे database design साठी सोपे असते.
समजा आपण email ला Primary Key केले:
rahul@gmail.comआणि customer ने नंतर email बदलला:
rahul@company.comआता आपण row ची मुख्य identity बदलत आहोत.
Technically काही systems मध्ये हे manage करता येते.
पण unnecessary complexity वाढू शकते.
म्हणून frequently changing values Primary Key म्हणून निवडताना काळजी घ्यावी.
"घाईचे काम शैतानाचे" म्हणतात. Database design मध्ये चुकीचा key पटकन निवडला तर नंतर त्याची किंमत migrations आणि updates मध्ये भरावी लागू शकते.
Rule 5: Primary Key practical आणि manageable असावा#
Primary Key theoretically unique असला तरी तो खूप मोठा, बदलणारा किंवा complex असेल तर काम अवघड होऊ शकते.
उदाहरणार्थ customer identify करण्यासाठी संपूर्ण अशी माहिती key म्हणून वापरणे:
name + city + phone + date_of_birthहे unnecessarily complicated आहे.
Simple stable identifier अनेकदा सोपा ठरतो:
customer_id = 1002510. Primary Key define करण्याची दुसरी syntax#
आपण आधी अशी syntax पाहिली:
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);Primary Key वेगळ्या table constraint स्वरूपातही लिहू शकतो:
CREATE TABLE students (
student_id INT,
name VARCHAR(100) NOT NULL,
PRIMARY KEY (student_id)
);दोन्ही examples मध्ये student_id Primary Key आहे.
Beginner म्हणून आत्ता एवढे लक्षात ठेवा:
student_id INT PRIMARY KEYही syntax single-column Primary Key साठी खूप सहज वाचता येते.
11. पण Primary Key साठी value कुठून आणायची?#
इथे दोन common approaches समजून घेणे महत्त्वाचे आहे:
- Natural Key
- Surrogate Key
दोन्हीचा उद्देश row identify करणे असू शकतो.
पण key कुठून येतो आणि त्याला business meaning आहे का यात फरक आहे.
12. Natural Key#
Natural Key म्हणजे business किंवा real-world data मध्ये आधीपासूनच अस्तित्वात असलेली unique value जी row identify करण्यासाठी वापरता येते.
उदाहरणार्थ countries table विचार करा:
| country_code | country_name |
|---|---|
| IN | India |
| US | United States |
| JP | Japan |
इथे country_code ला स्वतःचा business meaning आहे.
IN म्हणजे India.
तो फक्त database ने random तयार केलेला number नाही.
अशी meaningful value Primary Key म्हणून वापरली तर तिला Natural Key म्हणता येते.
उदाहरण:
CREATE TABLE countries (
country_code VARCHAR(2) PRIMARY KEY,
country_name VARCHAR(100) NOT NULL
);इथे:
IN
US
JPया values unique identity देतात आणि domain मध्ये त्यांना अर्थही आहे.
Natural Key ची मुख्य कल्पना#
Natural Key:
- real-world किंवा business data मधून येतो
- स्वतःचा अर्थ असतो
- naturally unique असणे अपेक्षित असते
- sufficiently stable असेल तर Primary Key म्हणून चांगला candidate असू शकतो
पण प्रत्येक naturally unique दिसणारी value चांगली Primary Key असेलच असे नाही.
13. Email नेहमी चांगला Natural Primary Key आहे का?#
समजा:
email = rohan@gmail.comEmail unique असू शकतो.
म्हणून पहिल्या नजरेत वाटेल:
"मग हाच Primary Key करू."
पण विचार करा.
User email बदलू शकतो का?
हो.
Company email बंद होऊ शकतो का?
हो.
Business rules बदलू शकतात का?
हो.
म्हणून email natural business value असला तरी तो प्रत्येक system मध्ये ideal Primary Key असेलच असे नाही.
Database design मध्ये फक्त:
"ही value आज unique आहे का?"
इतकाच प्रश्न पुरेसा नाही.
आपण हेही विचारले पाहिजे:
"ही value उद्याही stable राहील का?"
हा छोटासा प्रश्न पुढचे मोठे headaches वाचवू शकतो.
14. Surrogate Key#
आता दुसरा प्रकार पाहू.
Surrogate Key म्हणजे row ला identity देण्यासाठी system/database साठी तयार केलेला artificial identifier.
त्याला सामान्यतः business meaning नसतो.
उदाहरण:
| customer_id | name | |
|---|---|---|
| 1001 | Amit | amit@example.com |
| 1002 | Sneha | sneha@example.com |
| 1003 | Rohan | rohan@example.com |
इथे:
customer_id = 1001याचा business world मध्ये काही खास अर्थ नाही.
1001 पाहून आपल्याला customer Pune चा आहे, premium आहे किंवा male/female आहे असे काही समजत नाही.
तो फक्त identity आहे.
आणि अनेकदा तेच चांगले असते.
Database म्हणते:
"मला biography नको. मला unique ID द्या."
उदाहरण:
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(255)
);इथे customer_id हा Surrogate Key म्हणून वापरला जाऊ शकतो.
Surrogate Key चा उद्देश business information सांगणे नसतो. त्याचा उद्देश row ला stable आणि simple identity देणे असतो.
15. Natural Key आणि Surrogate Key मधला फरक#
| Point | Natural Key | Surrogate Key |
|---|---|---|
| Source | Existing business data | System-created identifier |
| Business meaning | असतो | सामान्यतः नसतो |
| Example | country_code |
customer_id |
| बदलण्याची शक्यता | business value वर अवलंबून | सामान्यतः कमी ठेवली जाते |
| Human readability | अनेकदा जास्त | अनेकदा कमी |
| Main purpose | Business value + identification | Primarily identification |
हे पाहून Surrogate Key नेहमीच better आहे असा निष्कर्ष काढू नका.
दोन्ही approaches योग्य असू शकतात.
Decision data च्या nature वर अवलंबून असतो.
16. Natural की Surrogate — विचार कसा करायचा?#
Key निवडताना असा विचार उपयोगी ठरतो:
Rendering diagram…
Diagram could not be rendered.
पहिल्या step मध्ये आपल्याला stable row identity हवी आहे.
जर useful unique business valueच नसेल, तर Surrogate Key practical ठरतो.
Unique value असेल तरी पुढचा प्रश्न विचारायचा:
ती stable आहे का?
ती सतत बदलत असेल, खूप मोठी असेल किंवा business rules वर जास्त अवलंबून असेल, तर Surrogate Key सोपा ठरू शकतो.
पण value naturally unique, stable आणि manageable असेल तर Natural Key योग्य पर्याय असू शकतो.
17. काही Practical Primary Key Examples#
Students#
CREATE TABLE students (
student_id INT PRIMARY KEY,
student_name VARCHAR(100) NOT NULL
);student_id प्रत्येक student ला स्वतंत्र identity देतो.
Products#
CREATE TABLE products (
product_id INT PRIMARY KEY,
product_name VARCHAR(150) NOT NULL,
price DECIMAL(10, 2)
);दोन products चे नाव सारखे असण्याची शक्यता असू शकते.
पण product_id unique ठेवता येतो.
Customers#
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
customer_name VARCHAR(100) NOT NULL,
email VARCHAR(255)
);Customer ने नाव किंवा email बदलले तरी customer_id stable ठेवता येतो.
Countries#
CREATE TABLE countries (
country_code VARCHAR(2) PRIMARY KEY,
country_name VARCHAR(100) NOT NULL
);इथे country_code ही meaningful Natural Key value आहे.
18. Primary Key फक्त id नावाचाच असावा का?#
नाही.
Column चे नाव काहीही meaningful असू शकते:
student_id
employee_id
product_id
order_id
customer_id
country_codePRIMARY KEY हा database rule आहे.
Column चे नाव id असणे ही requirement नाही.
उदाहरण:
CREATE TABLE employees (
employee_number INT PRIMARY KEY,
employee_name VARCHAR(100) NOT NULL
);इथे employee_number Primary Key असू शकतो.
19. Primary Key number असलाच पाहिजे का?#
नाही.
Primary Key हा integer असायलाच हवा असा rule नाही.
उदाहरण:
CREATE TABLE countries (
country_code VARCHAR(2) PRIMARY KEY,
country_name VARCHAR(100) NOT NULL
);इथे Primary Key text-based आहे.
महत्त्वाचे काय?
तो selected key table design साठी योग्य असला पाहिजे आणि Primary Key rules satisfy केले पाहिजेत.
"PRIMARY KEY म्हणजे नेहमी auto-increment integer" असे समजणे चुकीचे आहे.
Integer surrogate IDs common आहेत.
पण Primary Key concept त्यापेक्षा मोठा आहे.
20. Auto-generated ID आणि Primary Key एकच गोष्ट आहे का?#
नाही.
ही beginner मध्ये खूप common confusion आहे.
काही databases IDs automatically generate करण्याची सुविधा देतात.
पण:
ID generation आणि Primary Key constraint या दोन वेगळ्या कल्पना आहेत.
Primary Key चा मुख्य प्रश्न:
"ही row uniquely identify होते का?"
Automatic number generation चा प्रश्न:
"नवीन ID value तयार कोण करणार?"
दोन्ही एकत्र वापरले जातात म्हणून ते एकच concept वाटू शकतात.
पण तसे नाही.
21. चुकीचा Primary Key निवडल्यास काय problem होऊ शकते?#
समजा customer table मध्ये आपण customer_name Primary Key करण्याचा विचार केला.
पहिला customer:
Amit Patilदुसरा customer:
Amit Patilआता duplicate.
म्हणून customer_name reliable identity नाही.
आता phone number वापरूया असे वाटले.
पण customer phone number बदलू शकतो.
Email वापरूया?
तोही बदलू शकतो.
म्हणून project मध्ये key निवडताना फक्त current sample data पाहून निर्णय घेऊ नये.
आज आपल्या test database मध्ये फक्त एक Amit आहे म्हणून नाव unique आहे असे समजू नका.
Production मध्ये दुसरा Amit दार ठोठावून म्हणेल:
"माझी entry कुठे करणार?"
Database design मध्ये sample data आणि business reality वेगळी असू शकते.
22. Good Primary Key निवडताना विचारायचे प्रश्न#
Primary Key candidate पाहताना स्वतःला हे प्रश्न विचारा:
- ही value प्रत्येक row साठी unique आहे का?
- ही value
NULLहोऊ शकते का? - ही value वारंवार बदलते का?
- business rule बदलल्यास ही value बदलू शकते का?
- key unnecessarily मोठा किंवा complicated आहे का?
- row ची identity म्हणून ही value दीर्घकाळ reliable राहील का?
प्रत्येक प्रश्नाचे उत्तर "perfect" असायलाच हवे असे नाही.
Database design मध्ये context महत्त्वाचा असतो.
पण हे प्रश्न चुकीचे decisions कमी करतात.
23. Common Beginner Mistakes#
Mistake 1: नाव unique असेल असे गृहीत धरणे#
employee_name = Rahul Patilहा row identifier म्हणून reliable नाही.
लोकांची नावे repeat होतात.
Mistake 2: Primary Key मध्ये duplicate values insert करणे#
101
102
101Primary Key duplicate value reject करेल.
Mistake 3: NULL Primary Key चालेल असे समजणे#
Primary Key ला row identify करायचा आहे.
NULL identity हा contradiction आहे.
Mistake 4: प्रत्येक unique दिसणारी business value Primary Key करणे#
Email किंवा phone आज unique वाटू शकतात.
पण ते बदलू शकतात.
Uniqueness सोबत stability देखील विचारात घ्या.
Mistake 5: Surrogate Key ला business meaning देणे#
उदाहरणार्थ:
customer_id = 2026PUNEVIP1001या एका ID मध्ये year, city, customer type आणि sequence कोंबणे आकर्षक वाटू शकते.
पण business detail बदलली तर ID awkward होऊ शकतो.
अति तिथे माती.
Simple identifier अनेकदा maintain करायला सोपा असतो.
24. छोटा Checkpoint#
समजा table आहे:
| employee_id | employee_name | department |
|---|---|---|
| 501 | Amit | IT |
| 502 | Amit | HR |
| 503 | Sneha | Finance |
employee_name वरून row reliably identify करता येईल का?
नाही.
कारण Amit repeat झाला आहे.
employee_id वरून?
हो.
कारण:
501
502
503प्रत्येक value वेगळी आहे.
हेच Primary Key च्या गरजेचे core आहे.
25. Hands-On Practice#
Practice 1#
Requirement
books नावाचा table तयार करा.
त्यात:
book_id— integer Primary Keytitle— maximum 200 characters आणि requiredprice— decimal value
Your Task
योग्य CREATE TABLE query लिहा.
HintShow Hint
book_id च्या definition मध्ये PRIMARY KEY वापरू शकता.
SolutionShow Solution
CREATE TABLE books (
book_id INT PRIMARY KEY,
title VARCHAR(200) NOT NULL,
price DECIMAL(10, 2)
);Explanation
book_id प्रत्येक book row ची unique identity देतो.
title duplicate असण्याची शक्यता असू शकते, म्हणून title ला row identity मानण्याची गरज नाही.
Practice 2#
Requirement
हा data पाहा:
| customer_id | customer_name |
|---|---|
| 1001 | Rahul |
| 1002 | Sneha |
| 1001 | Amit |
Your Task
Primary Key म्हणून customer_id वापरला असेल तर कोणती row problem निर्माण करेल आणि का ते सांगा.
HintShow Hint
पहिल्या आणि तिसऱ्या row मधील ID compare करा.
SolutionShow Solution
तिसरी row problem निर्माण करेल.
कारण:
customer_id = 1001पहिल्या row मध्ये आधीच आहे.
Primary Key duplicate value allow करत नाही.
Explanation
Rahul आणि Amit वेगवेगळे customers आहेत.
पण दोघांना एकच Primary Key दिल्यास unique identification नष्ट होते.
Practice 3#
Requirement
एका application मध्ये user email बदलू शकतो.
Developer म्हणतो:
"Email unique आहे, म्हणून email ला Primary Key करू."
Your Task
या design मधील मुख्य risk ओळखा.
HintShow Hint
Uniqueness सोबत stability चा विचार करा.
SolutionShow Solution
Email unique असला तरी तो बदलू शकतो.
त्यामुळे row ची मुख्य identity बदलण्याची वेळ येऊ शकते.
अनेक applications मध्ये stable user_id सारखा Surrogate Key Primary Key म्हणून वापरणे अधिक manageable ठरू शकते.
Explanation
Natural Key चुकीचा आहे असे नाही.
पण Primary Key निवडताना value च्या lifetime चा विचार करणे आवश्यक आहे.
26. Interview Preparation#
What is a primary key in SQL?Show Answer
A primary key is a constraint that uniquely identifies each row in a table. Primary key values must be unique and cannot be NULL. A table has one primary key constraint, which may be defined using one or more columns.
Key Points:
- Unique row identification
- Duplicate key values are not allowed
- NULL key values are not allowed
- One primary key constraint per table
Why interviewer asks this:
The interviewer wants to verify that you understand basic row identity and relational table design rather than only SQL syntax.
Can a table have more than one primary key?Show Answer
A table can have only one primary key constraint. However, that primary key may consist of more than one column.
Key Points:
- One primary key constraint
- Do not confuse a key constraint with the number of participating columns
Why interviewer asks this:
A common beginner mistake is to say that a table can have multiple independent primary keys.
What is the difference between a natural key and a surrogate key?Show Answer
A natural key is based on an existing business value that has real-world meaning. A surrogate key is an artificial identifier created mainly to identify a row in the database. The choice depends on factors such as uniqueness, stability, size, and business requirements.
Key Points:
- Natural key has business meaning
- Surrogate key normally has no business meaning
- Stability is important
- Neither approach is automatically correct for every table
Why interviewer asks this:
The interviewer wants to understand whether you can make practical database design decisions instead of simply memorizing definitions.
27. या Chapter मधून काय लक्षात ठेवायचे?#
- प्रत्येक table row ला reliable identity असणे महत्त्वाचे आहे.
PRIMARY KEYप्रत्येक row uniquely identify करतो.- Primary Key duplicate values allow करत नाही.
- Primary Key
NULLallow करत नाही. - एका table ला एक Primary Key constraint असतो.
- Primary Key शक्यतो stable आणि manageable असावा.
Natural Keyexisting meaningful business value मधून येतो.Surrogate Keysystem-oriented artificial identifier असतो.- प्रत्येक naturally unique value चांगली Primary Key असेलच असे नाही.
- key निवडताना uniqueness सोबत stability देखील विचारात घ्या.
student_id,customer_id,product_idयांसारखे identifiers practical Primary Keys म्हणून खूप common आहेत.
Primary Key म्हणजे फक्त column वर लावलेला SQL keyword नाही. तो row ची मुख्य identity आहे. हे समजले की पुढचे relational database concepts समजणे खूप सोपे होते.