আমি mysql ডাটাবেস ব্যবহার করছি। প্রাথমিক কী এবং অনন্য কী এর মধ্যে আমার একটি বিভ্রান্তি রয়েছে।
আমার প্রাথমিক এবং অনন্য কী তৈরি করতে হবে আমাকে দয়া করে সহায়তা করুন। আমি বলতে চাইছি কোন পরিস্থিতিতে আমরা অনন্য কী বা প্রাথমিক কী তৈরি করি।
আমি mysql ডাটাবেস ব্যবহার করছি। প্রাথমিক কী এবং অনন্য কী এর মধ্যে আমার একটি বিভ্রান্তি রয়েছে।
আমার প্রাথমিক এবং অনন্য কী তৈরি করতে হবে আমাকে দয়া করে সহায়তা করুন। আমি বলতে চাইছি কোন পরিস্থিতিতে আমরা অনন্য কী বা প্রাথমিক কী তৈরি করি।
উত্তর:
প্রাথমিক কী:
NULL
- যেমন মাইএসকিউএল যোগ করেNOT NULL
অনন্য কী:
NULL
মান থাকতে পারেNULL
; একাধিক সারিগুলির NULL
মান থাকতে পারে এবং তাই এটি "অনন্য" হিসাবে বিবেচিত হতে পারে নাস্বতন্ত্র কী (ইউকে) : এটি একটি কলাম বা কলামগুলির একটি গ্রুপ যা একটি সারিতে একটি স্বতন্ত্রতা সনাক্ত করতে পারে।
প্রাথমিক কী (পি কে) : এটি এছাড়াও একটি কলাম বা কলাম যে একটি সারিতে একটি স্বতন্ত্রতা চিহ্নিত করতে পারেন গোষ্ঠীর।
সুতরাং প্রাথমিক কীটি অনন্য কীটির অন্য একটি নাম, তবে এসকিউএল সার্ভারে ডিফল্ট প্রয়োগকরণ প্রাথমিক এবং স্বতন্ত্র কীর জন্য আলাদা।
গতানুগতিক:
ইউকে বা পিকে তৈরি করবেন কিনা তা সিদ্ধান্ত নেওয়ার সময় আপনার লক্ষ্যটি কী তা সত্যই নির্ভর করে। এটি একটি উপমা অনুসরণ করে যেমন "যদি তিনজনের একটি দল থাকে তবে তারা সকলেই সহকর্মী, তবে তাদের মধ্যে একজন যাঁরা সমবয়সী হবেন: পিকে এবং যুক্তরাজ্যের সম্পর্ক একই রকম" " আমি এই নিবন্ধটি পড়ার পরামর্শ দেব: লেখকের দেওয়া উদাহরণটি উপযুক্ত না বলে মনে হতে পারে, তবে সামগ্রিক ধারণা পাওয়ার চেষ্টা করুন।
http://tsqltips.blogspot.com/2012/06/difference-between-unique-key-and.html
[table_name]_pkey
) টেবিলের সাথে যুক্ত করা হয়েছে (আমি এটি শুনেছি সরোগেট কী হিসাবে উল্লেখ করা হয়েছে)। উত্স: postgresqltutorial.com/postgresql-primary-key আমি এই সবের জন্য নতুন তাই আমি যে অনুভূতিগুলি হারিয়েছি তার উল্লেখ করার জন্য আরও জ্ঞাত পোস্টারের প্রশংসা করব।
কোনও সংস্থা বা ব্যবসায়ের জন্য এখানে অনেকগুলি শারীরিক সত্তা রয়েছে (যেমন মানুষ, সংস্থান, মেশিন ইত্যাদি) এবং ভার্চুয়াল সত্তা (তাদের কার্য, লেনদেন, ক্রিয়াকলাপ)। সাধারণত, ব্যবসায়ের সেই ব্যবসায়িক সত্ত্বাগুলির তথ্য রেকর্ড করা এবং প্রক্রিয়া করা প্রয়োজন। এই ব্যবসায়িক সত্ত্বাগুলি একটি কী দ্বারা একটি সম্পূর্ণ ব্যবসায় ডোমেনের মধ্যে সনাক্ত করা হয়।
আরডিবিএমএস সম্ভাব্য হিসাবে, কী (ওরফে প্রার্থী কী) এমন একটি মান বা মানগুলির সেট যা স্বতন্ত্রভাবে কোনও সত্তা সনাক্ত করে।
ডিবি-টেবিলের জন্য, অনেকগুলি কী রয়েছে এবং এটি প্রাথমিক কী এর জন্য যোগ্য হতে পারে। যাতে সমস্ত কী, প্রাইমারি কী, অনন্য কী ইত্যাদিকে সম্মিলিতভাবে ক্রেডিট কী হিসাবে ডাকা হয়। যাইহোক, ডিবিএ অনুসন্ধানের রেকর্ডগুলির জন্য প্রার্থী কী থেকে একটি কী নির্বাচন করেছে তাকে প্রাথমিক কী বলে।
প্রাথমিক কী এবং অনন্য কী এর মধ্যে পার্থক্য
1. আচরণ: প্রাথমিক কীটি একটি সারণিতে একটি সারি (রেকর্ড) সনাক্ত করতে ব্যবহৃত হয়, অন্যদিকে ইউনিক-কীটি কোনও কলামে নকল মানগুলি রোধ করতে হয় (নাল এন্ট্রি ব্যতীত)।
২. ইনডেক্সিং: ডিফল্টরূপে এসকিউএল ইঞ্জিন প্রাইমারি-তে বিদ্যমান না থাকলে ক্লাস্টারড ইনডেক্স এবং ইউনিক-কীতে নন-ক্লাস্টারড ইনডেক্স তৈরি করে।
৩. ন্যূনযোগ্যতা: প্রাথমিক কীতে নাল মানগুলি অন্তর্ভুক্ত হয় না, যেখানে ইউনিক-কীটি পারে।
৪. অস্তিত্ব: একটি টেবিলের সর্বাধিক একটি প্রাথমিক কী থাকতে পারে তবে একাধিক ইউনিক-কী থাকতে পারে।
৫. পরিবর্তনযোগ্যতা : আপনি প্রাথমিক মান পরিবর্তন বা মুছতে পারবেন না, তবে স্বতন্ত্র-কী মানগুলি পারে।
আরও তথ্য এবং উদাহরণের জন্য:
একটি প্রাথমিক কী অবশ্যই অনন্য হতে হবে।
একটি অনন্য কীটি প্রাথমিক কী হতে হবে না - দেখুন প্রার্থী কী ।
অর্থাৎ, কোনও টেবিলে একাধিক কলামের সংমিশ্রণ থাকতে পারে যা একটি সারি অনন্যভাবে সনাক্ত করতে পারে - এর মধ্যে কেবল একটিই প্রাথমিক কী হিসাবে নির্বাচন করা যেতে পারে। অন্যগুলি, যদিও অনন্য তবে প্রার্থী কী।
প্রাথমিক কী এবং অনন্য কী এর মধ্যে পার্থক্য
+-----------------------------------------+-----------------------------------------------+ | Primary Key | Unique Key | +-----------------------------------------+-----------------------------------------------+ | Primary Key can't accept null values. | Unique key can accept only one null value. | +-----------------------------------------+-----------------------------------------------+ | By default, Primary key is clustered | By default, Unique key is a unique | | index and data in the database table is | non-clustered index. | | physically organized in the sequence of | | | clustered index. | | +-----------------------------------------+-----------------------------------------------+ | We can have only one Primary key in a | We can have more than one unique key in a | | table. | table. | +-----------------------------------------+-----------------------------------------------+ | Primary key can be made foreign key | In SQL Server, Unique key can be made foreign | | into another table. | key into another table. | +-----------------------------------------+-----------------------------------------------+
আপনি থেকে বিস্তারিত তথ্য পেতে পারেন:
http://www.dotnet-tricks.com/Tutorial/sqlserver/V2bS260912- ডিফারেন্স-Between-Primary-Key-and-Unique-Key.html
একটি প্রাথমিক কীতে ডেটাবেসের সারি চিহ্নিত করার অর্থসূচক থাকে। অতএব প্রদত্ত টেবিলের জন্য কেবলমাত্র একটি প্রাথমিক কী থাকতে পারে, সেখানে অনেকগুলি অনন্য কী থাকতে পারে।
এছাড়াও একই কারণে একটি প্রাথমিক কীটি NULL হতে পারে না (কমপক্ষে ওরাকলে, অন্যান্য ডাটাবেসের বিষয়ে নিশ্চিত নয়)
যেহেতু এটি সারিটি চিহ্নিত করে এটি কখনই পরিবর্তন হয় না। প্রাথমিক কীগুলি পরিবর্তন করা গুরুতর ব্যথা এবং সম্ভবত চিরন্তন ক্ষতির কারণ হতে বাধ্য।
সেক্ষেত্রে বেশিরভাগ ক্ষেত্রে আপনি প্রাথমিক কীটির জন্য কিছু কৃত্রিম আইডি চান যা টেবিলের একক সারি চিহ্নিতকরণ ছাড়া অন্য কোনও কিছুর জন্য ব্যবহৃত হয় না।
অন্যদিকে অনন্য কীগুলি আপনার ইচ্ছামত পরিবর্তন করতে পারে।
একটি প্রাথমিক কী একটি অনন্য কী।
প্রতিটি টেবিলের সর্বাধিক এক প্রাথমিক কী থাকতে হবে তবে এতে একাধিক অনন্য কী থাকতে পারে। একটি প্রাথমিক কীটি টেবিলের সারিটি স্বতন্ত্ররূপে সনাক্ত করতে ব্যবহৃত হয়। একটি প্রাথমিক কীটি NULL
যেহেতু NULL
কোনও মান নয়।
আমি জানি এই প্রশ্নটি বেশ কয়েক বছর পুরনো তবে আমি কেন তার চেয়ে এই ব্যাখ্যা দিয়ে একটি উত্তর দিতে চাই
প্রাথমিক কী এর উদ্দেশ্য : একটি ডাটাবেসে অনন্যভাবে একটি সারি চিহ্নিত করতে => একটি সারিটি সারণী দ্বারা মডেল করা সত্তা টাইপের একক উদাহরণকে উপস্থাপন করে। একটি প্রাথমিক কী কোনও সত্তার অখণ্ডতা প্রয়োগ করে, একে সত্তা ইন্টিগ্রিটি। প্রাইমারি কীটি একটি ক্লাস্টারড ইনডেক্স হবে অর্থাত্ এটি একটি ক্রমের সংজ্ঞা দেয় যেখানে কোনও টেবিলে ডেটা শারীরিকভাবে সংরক্ষণ করা হয়।
স্বতন্ত্র কীটির উদ্দেশ্য : ঠিক আছে, প্রাথমিক কী সহ আমাদের কাছে একটি সারি অনন্যভাবে চিহ্নিত করার উপায় রয়েছে। তবে আমার একটি ব্যবসায়ের এমন দরকার আছে যে, অন্য কলাম / কলামগুলির একটি সেটের অনন্য মান থাকতে হবে। ভাল, প্রযুক্তিগতভাবে, এই কলামটি (গুলি) অনন্য বলে বিবেচনা করে এটি সত্তার অখণ্ডতা প্রয়োগের প্রার্থী হতে পারে। তবে আমরা সকলেই জানি, এই কলামে কোনও বাহ্যিক সংস্থা থেকে উত্পন্ন ডেটা থাকতে পারে যা আমার অনন্য হওয়ার বিষয়ে সন্দেহ থাকতে পারে। সত্তার অখণ্ডতা সরবরাহ করতে আমি এটি বিশ্বাস করতে পারি না। আমি আমার ব্যবসায়ের প্রয়োজনীয়তা পূরণের জন্য এটি কেবল একটি অনন্য কী তৈরি করেছি।
এই নাও!
যদি আপনার ডেটাবেস ডিজাইনটি এমন হয় যে এগুলির জন্য বিদেশী কী প্রয়োজন হয় না, তবে আপনি ইউনিক কী দিয়ে যেতে পারেন ( তবে স্বতন্ত্র কীটি একক নাল মানকে অনুমতি দিন ) মনে রাখবেন ।
আপনি যদি ডাটাবেসগুলি বিদেশী কী দাবি করেন তবে আপনাকে প্রাথমিক কী সহ কোনও পছন্দ ছাড়াই ছাড়তে হবে।
অনন্য এবং প্রাথমিক কী দেখার জন্য এখানে পার্থক্য দেখতে see
স্বতন্ত্র কী: - আপনাকে যখন অনন্য মূল্য দিতে হয় তখন এটি ব্যবহার করা উচিত unique অনন্য কীটির ক্ষেত্রে এর অর্থ হল নাল মানগুলিও অনুমোদিত U ইউনিক কীগুলি হ'ল সেই কীগুলি যা সেই কলামে অনন্য এবং অনুরূপ নয় যেমন উদাহরণস্বরূপ আপনার পোষ্যের নাম .আইটি নাল এর মতো কিছুই হতে পারে না এবং আপনি যদি ডাটাবেসের প্রসঙ্গে জিজ্ঞাসা করছেন তবে অবশ্যই এটি অবশ্যই লক্ষ রাখতে হবে যে প্রতিটি নাল ডাটাবেসের অন্য নাল থেকে আলাদা। এক্সেস-এসকিউএল সার্ভার যেখানে নাল = নাল সত্য
প্রাথমিক কী: - আপনি যখন আলাদাভাবে একটি সারি সনাক্ত করতে হবে তখন এটি ব্যবহার করা উচিত pপ্রাইমারি এমন কী যা ডাটাবেস সীমাবদ্ধতার মধ্যে প্রতিটি সারির জন্য স্বতন্ত্র হ'ল এটি এতে নালার অনুমতি দেয় না so সুতরাং, আপনি দেখতে পেলেন যে ডাটাবেস একটি কলাম রয়েছে যা স্বতঃবৃদ্ধি এবং এটি টেবিলের প্রাথমিক কী। প্লাস এটি অন্য টেবিলের বিদেশী কী হিসাবে ব্যবহার করা যেতে পারে ample উদাহরণটি অর্ডার টেবিলের উপর অর্ডার করা যেতে পারে , একটি বিল সারণীতে বিলআইড ।
এখন কখন এটি ব্যবহার করবেন সেই পরিস্থিতিতে ফিরে আসুন: -
1) কলামে প্রাথমিক কী যা টেবিলটি বাতিল হতে পারে না এবং আপনি সম্পর্ক তৈরির জন্য অন্য টেবিলে বিদেশী কী হিসাবে ব্যবহার করছেন
২) টেবিলের অনন্য কী যেখানে এটি কোনও টেবিলে বা পুরো ডাটাবেসে প্রভাব ফেলবে না আপনি যদি কোনও রেস্তোঁরাতে স্ন্যাকসের মতো নির্দিষ্ট কলামের জন্য নালাকে গ্রহণ করেন তবে আপনি কোনও রেস্তোঁরায় স্ন্যাক না খাওয়াই সম্ভব
প্রাথমিক কী এবং অনন্য কী এর মধ্যে পার্থক্য
উভয়ই Primary key
এবং Unique Key
একটি সারণীতে একটি সারিটির অনন্যভাবে সংজ্ঞা দিতে ব্যবহৃত হয়।
কলামটি Primary Key
তৈরি করে clustered index
যেখানে ক Unique creates an unclustered index of the column
।
A Primary Key
অনুমতি দেয় না NULL value
, তবে a Unique Key
অনুমতি দেয় না one NULL value
।
সহজভাবে প্রাথমিক কী এক অনন্য এবং শূন্য হতে পারে না, অনন্যটি নাল হতে পারে এবং অনন্যও নাও হতে পারে।
may not be unique
এখানে মানে কি ?
প্রাথমিক কীটির মূল উদ্দেশ্যটি সারণীতে প্রতিটি রেকর্ড সনাক্ত করার জন্য একটি উপায় সরবরাহ করা।
প্রাথমিক কীটি সারিটির মধ্যে থাকা ডেটা ব্যবহার করে সারিটি সনাক্ত করার জন্য একটি উপায় সরবরাহ করে। একটি প্রাথমিক কী এক বা একাধিক কলামের উপর ভিত্তি করে তৈরি করা যেতে পারে, যেমন প্রথম এবং শেষ নাম; তবে অনেকগুলি ডিজাইনে প্রাথমিক কীটি একটি পরিচয় কলাম থেকে একটি স্বয়ংক্রিয় উত্পন্ন নম্বর number
একটি প্রাথমিক কীতে নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
একটি অনন্য কীটিকে একটি অনন্য বাধাও বলা হয়। ডাটাবেসের মধ্যে সারি স্বতন্ত্র রয়েছে তা নিশ্চিত করতে একটি অনন্য বাধা ব্যবহার করা যেতে পারে।
আমরা কি ইতিমধ্যে প্রাথমিক কী দিয়ে এটি করি না? হ্যাঁ, আমরা করি তবে একটি টেবিলের কলামের কয়েকটি সেট থাকতে পারে যা আপনি অনন্য চান।
এসকিউএল সার্ভারে অনন্য কীটির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
উত্স: এখানে
একটি প্রাথমিক কী এর প্রধান বৈশিষ্ট্যগুলি হ'ল:
এটিতে প্রতিটি সারি ডেটার জন্য একটি অনন্য মান থাকতে হবে। এতে নাল মান থাকতে পারে না। একটি সারণীতে কেবল একটি প্রাথমিক কী।
একটি অনন্য কী এর প্রধান বৈশিষ্ট্যগুলি হ'ল:
এটিতে প্রতিটি সারি ডেটার জন্য একটি অনন্য মান থাকতে পারে।
এটি নাল মান থাকতে পারে।
এক টেবিলের একাধিক অনন্য কী।
PRIMARY KEY = UNIQUE KEY + Not Null CONSTRAINT