🔑 Primary Key (PK) क्या है?
Primary Key (PK) किसी तालिका की हर पंक्ति (row) को अनन्य रूप से पहचानने वाला कॉलम या कॉलम समूह होता है। PK हमेशा unique और NOT NULL होना चाहिए। अधिकांश डेटाबेस PK पर इंडेक्स बनाकर खोज और जॉइन को तेज करते हैं।
Table of Contents
TogglePrimary Key तथा Foreign Key क्या हैं, SQL में इनका उपयोग कैसे होता है, और दोनों के बीच का स्पष्ट अंतर — सरल हिंदी + अंग्रेज़ी उदाहरणों के साथ। जानें भी: क्या Primary Key foreign key बन सकती है और क्या Foreign Key NULL हो सकती है — 2025 अपडेट।
Primary Key (PK) तालिका के हर रिकॉर्ड को अनन्य रूप से पहचानता है; Foreign Key (FK) तालिकाओं के बीच संबंध बनाकर referential integrity लागू करता है। यह सेक्शन उन हाई-वॉल्यूम प्रश्नों का उत्तर देता है जैसे primary key aur foreign key, primary key aur foreign key mein antar, और primary key vs foreign key in SQL।
Primary Key (PK) किसी तालिका की हर पंक्ति (row) को अनन्य रूप से पहचानने वाला कॉलम या कॉलम समूह होता है। PK हमेशा unique और NOT NULL होना चाहिए। अधिकांश डेटाबेस PK पर इंडेक्स बनाकर खोज और जॉइन को तेज करते हैं।
Foreign Key (FK) एक तालिका का कॉलम है जो किसी दूसरी तालिका की Primary Key (या UNIQUE key) को संदर्भित करता है। इससे तालिकाओं के बीच संबंध बनते हैं और डेटाबेस सुनिश्चित करता है कि child रिकॉर्ड के लिए parent रिकॉर्ड मौजूद हो (referential integrity)।
Side-by-side तालिका — तेज़ उत्तर के लिए। (Search queries जैसे “primary key and foreign key example” को ध्यान में रखकर बनाया गया)
| Aspect | Primary Key | Foreign Key |
|---|---|---|
| Uniqueness (अनन्यता) | Unique & NOT NULL | Nullable & values repeat हो सकती हैं |
| Purpose (उद्देश्य) | Rows की पहचान करना | Tables को link करना |
| Count per table | एक (composite allowed) | एक से अधिक कॉलम हो सकते हैं |
| Enforces (सुरक्षा) | Entity integrity | Referential integrity |
हाँ — कुछ डिज़ाइनों में (जैसे 1:1 relationships या identifying/weak-entity मॉडल) PK वही कॉलम होता है जो parent तालिका की PK को reference करता है।
NULL: हाँ, जब तक NOT NULL न लगाया गया हो।
Duplicate: हाँ — एक parent रिकॉर्ड को कई child रिकॉर्ड्स refer कर सकते हैं (इसलिए FK अक्सर unique नहीं होता)।
Primary Key = अनन्य पहचान (NOT NULL). Foreign Key = parent तालिका को refer करता है (nullable & duplicates allowed)। डिज़ाइन करते समय integrity और joins का ध्यान रखें।
© Vista Academy • Content updated 2025 • Built with Vista Theme — dark, golden & elegant UX for learners.
यह तुलना सामान्य प्रश्नों का त्वरित उत्तर देती है जैसे primary key aur foreign key mein antar,
kya foreign key unique hoti hai, और primary key vs foreign key in SQL. डेटाबेस डिजाइन या ER डायग्राम बनाते समय यह एक तेज़ संदर्भ के रूप में उपयोग करें।
| Feature | Primary Key (PK) | Foreign Key (FK) |
|---|---|---|
| Definition (परिभाषा) | एक ही तालिका में प्रत्येक पंक्ति को अनन्य रूप से पहचानता है (unique identity) | किसी दूसरी तालिका की PK/UNIQUE को reference करके तालिकाओं के बीच संबंध बनाता है |
| NULL Allowed? (क्या NULL हो सकता है?) | No — PK हमेशा NOT NULL होता है | हाँ — जब तक NOT NULL constraint न लगा हो |
| Duplicates? (डुप्लिकेट) | No — मान (values) अनन्य होते हैं | Allowed — कई child rows एक ही parent को refer कर सकती हैं |
| Count per table (प्रत्येक तालिका में) | प्रति तालिका एक PK (composite PK संभव) | एक से अधिक FK हो सकते हैं (विभिन्न parent तालिकाओं के लिए) |
| Purpose (उद्देश्य) | Row identity, indexing, तेज़ lookup और joins | Referential integrity लागू करना और joins का समर्थन करना |
| Example (उदाहरण) | Students.student_id |
Marks.student_id → Students.student_id |
यह तालिका उन प्रश्नों को लक्षित करती है जैसे primary key vs foreign key, primary key aur foreign key mein antar,
primary key foreign key example, और kya foreign key unique hoti hai. प्रैक्टिकल SQL उदाहरणों और ER-डायग्राम टिप्स के लिए अगला सेक्शन देखें।
अक्सर छात्र पूछते हैं: क्या primary key foreign key हो सकती है?
जवाब: हाँ। SQL डिज़ाइन में किसी कॉलम का होना दोनों (PK और FK) संभव है — विशेषकर 1-to-1 relationships, self-referencing या identifying/weak-entity मॉडलों में। नीचे दो व्यावहारिक उदाहरण दिए गए हैं।
CREATE TABLE Employees ( emp_id INT PRIMARY KEY, name VARCHAR(100), manager_id INT, FOREIGN KEY (manager_id) REFERENCES Employees(emp_id) );
यहाँ emp_id तालिका की Primary Key है।
manager_id एक Foreign Key है जो उसी तालिका की PK की ओर इशारा करता है — इस तरह एक hierarchical relationship बनता है।
CREATE TABLE Users ( user_id INT PRIMARY KEY, email VARCHAR(100) UNIQUE ); CREATE TABLE UserProfiles ( user_id INT PRIMARY KEY, -- also FK bio VARCHAR(200), FOREIGN KEY (user_id) REFERENCES Users(user_id) );
इस उदाहरण में UserProfiles.user_id दोनों है — Primary Key और Foreign Key — जिससे Users के साथ कड़ाई से one-to-one mapping सुनिश्चित होती है।
कवर किए गए कीवर्ड: primary key as foreign key, can primary key be foreign key, primary key foreign key example in SQL — हिंदी में समझने के लिए कोड और व्याख्या दोनों दिए गए हैं।
CREATE TABLE Customers (
customer_id INT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
CREATE TABLE Orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE NOT NULL,
CONSTRAINT fk_orders_customer
FOREIGN KEY (customer_id) REFERENCES Customers(customer_id)
ON UPDATE CASCADE
ON DELETE SET NULL
);
यहाँ Orders.customer_id एक Foreign Key है जो
Customers.customer_id को reference करती है।
ON DELETE SET NULL का अर्थ है — जब parent row delete होती है, तो FK value NULL हो जाएगी।
यह SQL में referential integrity सुनिश्चित करता है।
INSERT INTO Customers(customer_id, name)
VALUES (1, 'Asha'), (2, 'Ravi');
INSERT INTO Orders(order_id, customer_id, order_date)
VALUES (101, 1, '2025-08-01'),
(102, 2, '2025-08-05');
हमेशा Parent Table (Customers) में डेटा पहले डालें और फिर Child Table (Orders) में। ऐसा करने से Foreign Key constraint के नियम पूरे होते हैं और त्रुटियाँ (errors) नहीं आतीं।
SELECT o.order_id, c.name, o.order_date
FROM Orders o
JOIN Customers c
ON o.customer_id = c.customer_id;
यह SQL JOIN query दोनों तालिकाओं को जोड़ती है और ऑर्डर विवरण (Order Details) के साथ ग्राहक का नाम दिखाती है। यहाँ Primary–Foreign Key relationship का उपयोग किया गया है जो डेटा को logical रूप से जोड़ता है।
कवर किए गए कीवर्ड: primary key and foreign key in SQL with examples, sql primary key foreign key example, how to use primary key and foreign key in SQL, difference between primary and foreign key in SQL — हिंदी में सरल व्याख्या के साथ SQL learners के लिए तैयार किया गया।
देखें कि production सिस्टम्स (retail से healthcare तक) में primary keys और foreign keys कैसे उपयोग होते हैं। ये उदाहरण स्पष्ट करते हैं कि क्यों primary key vs foreign key डिजाइन डेटा इंटीग्रिटी, रिपोर्टिंग, और प्रदर्शन के लिए महत्वपूर्ण है।
Customers.customer_id (PK) और Orders.customer_id (FK) का उपयोग खरीद को ग्राहक से जोड़ने के लिए होता है। FK cascade नियम ऑर्डर हिस्ट्री को consistent रखने में मदद करते हैं जब ग्राहक रिकॉर्ड बदलते या हटते हैं।
Accounts तालिका में PK (उदा. account_id) होता है जबकि Transactions इसे FK के माध्यम से reference करते हैं। Referential integrity सुनिश्चित करती है कि Transactions किसी deleted account को reference न करें।
Students ↔ Courses जैसी many-to-many relationships को एक join table से model करें जहाँ composite PK (student_id, course_id) duplicate enrollments रोकता है और दोनों कॉलम parent PKs को FK के रूप में reference करते हैं।
Patient records स्थिर primary key (उदा. patient_id) का उपयोग करते हैं। Appointments, prescriptions और lab results इस PK को FKs से reference करते हैं ताकि ऑडिटेबल और पूरा इतिहास सुरक्षित रहे।
Star schema में dimension tables की PKs को fact tables में FK के रूप में उपयोग किया जाता है (उदा. dim_date.date_id → fact_sales.date_id) — इससे aggregations और joins तेज़ व consistent होते हैं।
ये use-cases बताते हैं कि क्यों सावधानीपूर्वक primary key और foreign key डिजाइन डेटा की इंटीग्रिटी, क्वेरी प्रदर्शन और maintainability के लिए ज़रूरी है। व्यापारिक नियमों के अनुसार उचित cascade नियम, indexing और constraints लागू करें।
🎯 Vista Academy पर Practical DB Design सीखेंPrimary Keys (PK) और Foreign Keys (FK) रिलेशनल डेटाबेस की नींव हैं। ये डेटा इंटीग्रिटी बनाते हैं, duplicates रोकते हैं, और विभिन्न entities के बीच रिश्ते स्थापित करते हैं। नीचे कुछ सामान्य वास्तविक जीवन के परिदृश्य दिए गए हैं:
Customers (PK) को Orders (FK) से जोड़ा जाता है। यह सुनिश्चित करता है कि हर ऑर्डर किसी वैध ग्राहक से जुड़ा हो और ऑर्डर हिस्ट्री ट्रैक की जा सके।
Accounts (PK) को Transactions (FK) से लिंक किया जाता है। इससे सुनिश्चित होता है कि प्रत्येक ट्रांज़ैक्शन किसी मौजूद अकाउंट से जुड़ा हुआ है।
Students (PK) को Enrollments और Courses (FK) के साथ जोड़ा जाता है। इससे अकादमिक रिकॉर्ड और course registrations में consistency बनी रहती है।
Shipments (PK) को Delivery Tracking (FK) से लिंक किया जाता है। इससे वेयरहाउस, रूट और डिलीवरी स्टेटस अपडेट्स के बीच डेटा consistent रहता है।
Keywords: why do relational databases use primary keys and foreign keys, primary key foreign key examples, real-world use of primary and foreign key
हिंदी: नहीं — Foreign Key अक्सर repeat हो सकती है क्योंकि कई child rows एक ही parent row को reference कर सकती हैं (1-to-many)। अगर आप uniqueness चाहते हैं तो उस कॉलम पर UNIQUE constraint लगाएँ।
English: No — a foreign key can repeat because many child rows can reference the same parent. Add a UNIQUE constraint if you require uniqueness.
हिंदी: हाँ — जब तक आप कॉलम पर NOT NULL नहीं लगाते; NULL का मतलब है उस row का कोई parent रिकॉर्ड नहीं है।
English: Yes — unless the column is declared NOT NULL. NULL indicates the row currently has no parent relationship.
हिंदी: हाँ — identifying relationships और strict 1:1 mappings में child टेबल की PK वही कॉलम हो सकती है जो parent टेबल की PK को reference करती है।
English: Yes — in some designs (identifying relationships or strict one-to-one mappings), a child table’s PK can also be an FK to the parent table.
हिंदी: FK action पर निर्भर करता है — CASCADE child rows हटाता है, SET NULL child की FK value को NULL कर देता है, और RESTRICT/NO ACTION parent को हटने से रोकता है।
English: Behavior depends on the FK action — CASCADE deletes child rows, SET NULL sets the FK to NULL, and RESTRICT/NO ACTION prevents the delete.
हिंदी: Primary Key ही हर row की canonical पहचान होती है।
English: The Primary Key is the canonical identifier for rows in a table.
सभी प्रश्नों के उत्तर दीजिए — समाप्त करने पर आपका स्कोर और सही उत्तर दिखाई देंगे।
Answer all questions — your results and correct answers will appear when you finish.
Vista Academy’s Master Program in Data Analytics equips you with advanced skills in Data Analysis, Machine Learning, SQL, Python, Tableau, and Power BI. With hands-on projects and expert mentoring, this program prepares you for high-demand roles in Data Science and Analytics.
📍 Address: Vista Academy, 316/336, Park Rd, Laxman Chowk, Dehradun, Uttarakhand 248001
Now that you’ve mastered Primary & Foreign Keys, it’s time to practice advanced SQL concepts. Explore the following tutorials and apply them on real datasets to level up your skills:
🚀 Keep practicing on real-world datasets and refining your skills. The more hands-on experience you gain, the stronger your SQL foundation will become!
