বহুবচন বনাম একক টেবিলের নাম


41

নতুন ডাটাবেস তৈরি করার সময় আমার টেবিলগুলির নামকরণ কীভাবে করা উচিত?

সিঙ্গুলার: Clientবা বহুবচন: Clients?


আমার একবার সহকর্মী ছিল যিনি জোর দিয়েছিলেন যে টেবিলের নামগুলি একবচনীয় হওয়া এবং নামগুলি বহুবচন হতে হবে।
রেনী নেফেনিগার

1
অন্যান্য চিন্তাভাবনা স্কুল আছে। 1) এমন ক্রিয়াপদ ব্যবহার করুন যা একজনকে প্রাকৃতিক ভাষায় প্রশ্নগুলি প্রকাশ করার অনুমতি দেয় যেমন person NAMED 'fred' EARNS 20,000(যেখানে বড় হাতের নামগুলি সারণী হয়)। 2) সেট যেমন জন্য এন্টারপ্রাইজ এর নাম ব্যবহার PERSONNEL, PAYROLL, ORG_CHARTইত্যাদি,
onedaywhen

3
সম্ভাব্য ক্রস সাইটের সদৃশ: স্ট্যাকওভারফ্লো.
com/ জিজ্ঞাসা / 8৩৮১

উত্তর:


44

আপনার উপর শুধু যদিও সামঞ্জস্যপূর্ণ।

ব্যক্তিগতভাবে আমি প্রতিটি * সারি "কী সঞ্চয় করে" তার ভিত্তিতে একবচন পছন্দ করি: অর্ডার, পণ্য, ব্যবহারকারী, আইটেম ইত্যাদি stores

এটি আমার মডেলিংয়ের সাথে (অবজেক্ট রোল মডেলিংয়ের মাধ্যমে) মেলে যেখানে আমি একক সত্ত্বা / প্রকারগুলি ব্যবহার করি।

সম্পাদনা:

একটা কারণ হল, বহুবচন ব্যর্থ আপনি যদি এই লিঙ্কটি টেবিল আছে হল:
Orders, Productsদিতে হবে OrderProductsবা OrdersProducts। উভয়ই সঠিক মনে হচ্ছে না

বা ইতিহাসের সারণী (অবশ্যই আপনি এর জন্য স্কিম ব্যবহার করতে পারেন):
Orders-> OrdersHistoryবা (না!) OrdersHistories? করবে না Order-> OrderHistoryভালো হতে?


2
এটি কি সর্বদা ব্যক্তিগত পছন্দ হিসাবে সিদ্ধ হয় ? যদি কোনও ডাটাবেস ডিজাইনে 2 জন লোক কাজ করে, তবে একটিতে টেবিলগুলি বহুবচন হিসাবে এবং অন্যটি একক হিসাবে নামকরণ করতে পারে। কেন ব্যবহার Singularবা এটি সম্পর্কে কোন বৈধ যুক্তি নেই Plural?
জন যিশাইয় কারমোনা

2
@ জন ইশাইয়া কারমোনা: একটি কারণ যুক্ত করেছেন
জিবিএন

3
আমি একক হিসাবে সবচেয়ে বুদ্ধিমান হিসাবে ব্যবহার সম্পর্কে একমত। এটি জনপ্রিয় মতামত বলে মনে হয় না, যদি আপনি এখানে এবং এসও ইত্যাদির অনুরূপ প্রশ্নগুলি ঘুরে দেখেন তবে প্রচুর লোকেরা টেবিলগুলিকে সংগ্রহ হিসাবে একটি কর্মসূচিপূর্ণ দৃষ্টিভঙ্গি মনে করেন যার ফলে বহুবচন নাম থাকতে হবে। আমি মনে করি যে ওআরএম হতে পারে এই (খারাপ) অভ্যাসের লোকদের ভাঙতে শুরু করবে। আপনার টেবিলগুলির সাথে এটির শুরু করার জন্য বহু নাম রয়েছে তবে পিতামাতা এবং শিশু নেভিগেশন বৈশিষ্ট্যগুলি পৃথক করা এবং টেবিলের জন্য উদাহরণ এবং সংগ্রহের বিষয়গুলি পৃথক করা শক্ত করে তোলে।
জোয়েল ব্রাউন

4
সিঙ্গুলারের পক্ষে অন্য কারণ হ'ল যদি আপনার কোনও নিয়ম থাকে যে পিকে টেবিলের নাম অনুসারে দেওয়া হয়েছে, উদাহরণস্বরূপ TablenameIDবা TablenameCodeবা tablename_id। বহু টেবিলের নাম সহ, আপনি শেষ Orders.OrdersID(যা সঠিক মনে হয় না) বা Orders.OrderIDযেখানে আপনি টেবিলের নামগুলির জন্য বহুবচন ব্যবহার করেন তবে কলাম উপসর্গের জন্য একবচনতে পরিবর্তন করুন।
ypercubeᵀᴹ


8

একবচন বনাম বহুবচন সারণীর নাম সম্পর্কিত, বিষয়টি বিতর্কিত বলে মনে হচ্ছে, তবে এটি হওয়া উচিত নয়।

যখন একটি সারণী একাধিক রেকর্ডের সংকলন, একটি টেবিলের মধ্যে এটি রয়েছে এমন এক ধরণের রেকর্ডের সংজ্ঞা অনুসারে নামকরণ করা হয়েছে। যদি কোনও টেবিলে এতে থাকা রেকর্ডের চেয়ে আলাদা নাম থাকার অনুমতি দেওয়া হয়, আপনি টেবিলটিকে বহুবচন নাম দিতে পারেন, উদাহরণস্বরূপ আপনার একাধিক কর্মচারী রেকর্ডযুক্ত কোনও কর্মচারী টেবিল থাকতে পারে। তবে এসকিউএল এর ডিজাইনার সারণী এবং রেকর্ড ধরণের আলাদা আলাদা নাম সরবরাহ করেনি।

তথ্যগুলি ব্যবহার করে এমন অবজেক্ট ওরিয়েন্টেড প্রোগ্রামগুলির জন্য বিষয়গুলি আরও যুক্তিযুক্তভাবে কাজ করে, যদি কোনও রেকর্ড টাইপের নাম (এবং এক্সটেনশনের মাধ্যমে টেবিলের নামটি) একক রাখা হয়, কারণ এটি কোনও শ্রেণীর রেকর্ড বর্ণনা করতে আপনি যে শ্রেণীর নামের সাথে মিল রাখবেন তার সাথে মিলবে ।

আপনি যদি প্রোগ্রামটিতে কোনও সংগ্রহ সনাক্ত করতে চান তবে আপনি একটি বহুবচন, বা আরও ভাল ব্যবহার করতে পারেন, উপযুক্ত সংশোধক যেমন এমপ্লয়লিস্ট বা কর্মচারীআর্রে ব্যবহার করতে পারেন।

স্বয়ংক্রিয় কোড জেনারেশন এবং প্রোগ্রামারদের জন্য একটি অনিয়মিত বহুবচন নিয়েও সমস্যা রয়েছে যাদের প্রোগ্রামে বহুভাষার গঠন সম্পর্কে বিভিন্ন ভাষার ব্যাকগ্রাউন্ড বা ধারণা রয়েছে।

ইংরেজি ভাষা একটি ভাল এবং সঠিক প্রোগ্রামিং ভাষা নয়, এবং ডাটাবেস এবং প্রোগ্রামের বিবৃতিগুলি ইংরেজির সাথে সঙ্গতিপূর্ণ করার চেষ্টা করা কারণ এই বিবৃতিগুলির মধ্যে একটি পড়া ভাল বলে মনে হয় এটি একটি ভুল।


5

@ জিবিএন এর উত্তর যেমন আমার মনে হয় এটি বেশিরভাগ পছন্দের বিষয় এবং ঠিক তাঁর মতোই আমি আপনাকে প্রস্তাব দিচ্ছি যে আপনার যে কোনও পছন্দই হোক না কেন, এটি সর্বত্র প্রয়োগ করুন (অন্তত সেই ডিবিতে)। ধারাবাহিকতা এটি মূল্যবান।

আমার পছন্দ, তবে SELECTবিবৃতিতে বহুবচন আরও ভাল শোনাচ্ছে :

SELECT Id, Name, Status 
FROM   Persons
WHERE  Status <> 5  --5 meaning deleted

আমি এই ক্ষেত্রে বলতে চাইছি, কমপক্ষে, টেবিলটিতে বেশ কয়েকজন ব্যক্তি রয়েছেন এবং তাদের বেশ কয়েকটি ক্লায়েন্টকে ফিরিয়ে দেওয়া হয়েছে।


2
+1 যদিও প্রযুক্তিগতভাবে ব্যক্তির বহুবচন লোকজন এবং এটি একা ব্যবহার করার এক কারণ। কিছু ওআরএম আপনার জন্য টেবিলগুলি স্বয়ংক্রিয়ভাবে তৈরি করবে এবং আপনি এমন অদ্ভুত পরিস্থিতি পাবেন যেখানে ভাষাতাত্ত্বিকভাবে নামকরণ যৌক্তিক নয়।
মিঃ ব্রাউনস্টোন

5

"অর্ডার" একটি সংরক্ষিত শব্দ। "অর্ডার" নয়

"ব্যবহারকারী" একটি সংরক্ষিত শব্দ। "ব্যবহারকারী" না

"সেশন" একটি সংরক্ষিত শব্দ। "সেশন" হয় না

"ফলাফল" একটি সংরক্ষিত শব্দ। "ফলাফল" নয়

"আপেক্ষিক" একটি সংরক্ষিত শব্দ। "আত্মীয়" না

...

এগুলি সাধারণ শব্দের মতো মনে হয় যা লাইন অফ বিজনেস ডাটাবেসে যেতে পারে। বহুবচনীয় শব্দগুলি একবচন শব্দের চেয়ে মূল শব্দ হিসাবে কম সাধারণ বলে মনে হয়। সুতরাং, এসকিউএল কী শব্দের সাথে দ্বন্দ্ব এড়াতে বহুবচন সারণীর নামগুলি ব্যবহার করা উপকারী হতে পারে।


1
এটি স্পষ্টতার জন্য খুব কাছাকাছি। কেবল সংরক্ষিত শব্দ, একক বা বহুবচন থেকে দূরে থাকুন। এটি সংরক্ষিত শব্দের বহুবচন আন্তঃ পরিবর্তনীয়ভাবে ব্যবহার করে এমন ত্রুটি বার্তাগুলিকে ডিবাগ করার সময় এটি সত্যই সহায়তা করে। অ্যাপ্লিকেশনটির ডোমেন থেকে এটি ব্যবহার / ব্যবহারকারীর আরও প্রাসঙ্গিক করার জন্য আদর্শভাবে শব্দগুলি বেছে নিন।
ইমাক্স ব্যবহারকারী

"স্পষ্টতার খুব কাছে" এর অর্থ কী?
নিল ম্যাকগুইগান

1
এর অর্থ একটি অকারণে উচ্চতর ওভারহেড ডিক্রিফারিং ত্রুটি বার্তা। উদাহরণস্বরূপ, সিন্ট্যাক্স ত্রুটি বার্তাগুলিতে আদেশ করুন এবং অর্ডার করুন। বা প্রমাণীকরণের ত্রুটি বার্তাগুলিতে ব্যবহারকারী এবং ব্যবহারকারীদের ডিবাগ করার চেষ্টা করছে।
ইমাক্স ব্যবহারকারী 20

আইএমও পারচেজ অর্ডার, পোর্টাল ইউজার, ইউজারসেশন কেবল অর্ডার, ইউজার, সেশন চেয়ে ভাল তাই একা একা একা এই দৃশ্যে খুব ভাল করতে পারেন
জন জয় জয়

1

আমি বিশ্বাস করি এসকিউএল টেবিলের বহুবচন নাম থাকা উচিত। এটি সহজভাবে আরও ভাল পড়া।

বইয়ের রেকর্ডের একটি সারণিকে বই বলা উচিত। ওআরএম একই কনভেনশন ব্যবহার করা উচিত। বই অবজেক্টটি একটি সংগ্রহ, এবং বই সারণীতে সমস্ত রেকর্ডের উপরে সভাপতিত্ব করে। একটি বুক অবজেক্ট একক রেকর্ডের উপরে সভাপতিত্ব করে।

এটি কোডিংকে আরও প্রাকৃতিক করে তোলে।

select name, publication_date from books where publication_date > '2000-01-01';

books = Books()
for book in books.get("publication_date >= '2000-01-01'"):
    print book.name

আপনি seep.get এ ভেড়ার জন্য লিখতে না পারা অবধি বোঝায় ... নিয়ম বেন্ড করুন, নমনীয় হন।
ইমাক্স ব্যবহারকারী 0

সত্য যে কয়েকটি পাত্রে হ'ল শব্দগুলি হ'ল বহুত্বের মতো বিশেষ্য - যেমন 'অ্যাক্সেস'। তবে একটি ব্যবহার করে সংশোধন করতে পারে: 'অ্যাক্সেসে অ্যাক্সেস_রেকর্ডের জন্য'।
dlink

যদিও লিংক অবজেক্ট দেখে আমাকে কিছুটা ব্যাটি চালায়। বই এবং লেখকদের মধ্যে একটি লিঙ্ক টেবিল সম্পর্কে কীভাবে? "বুকসঅথারস" দেখতে ভয়ঙ্কর মনে হচ্ছে তবে "বুকঅর্টিফর" দেখতে আরও ভাল লাগছে। তারপরে আপনি এমন শব্দগুলিতে প্রবেশ করতে পারেন যা বহুবচন (স্ট্যাটাস) এর বেদিক সমাপ্তি বা অনিয়মিত বিশেষ্য (শিশু বনাম শিশু)। আইএমওতে চোখের ব্যথায় বিশ্ব!
26 এ ফুল ফোটে

হাই, @ ব্লববলগুলি বহুবচন বুকআউটর হবে, বইআউটর নয়। সুতরাং এটি এখনও প্রাকৃতিক পড়া। বুকপাবলিশার্স, বুকফরম্যাটস, ইত্যাদি
21

পঠনযোগ্যতা সর্বদা ভাল তবে এটি এমন কোনও বাক্য সম্পর্কে নয় যা আমরা যে স্থানগুলি থেকে ডেটা সংগ্রহ করি। যেমন table.field, তাই author.authorNameপুরোপুরি জরিমানা। লেখকের টেবিল থেকে লেখক নাম পান। যখন কেবল একজন লেখক আছেন বহুবচন দেখতে খুব খারাপ লাগে। authors.authorNameযখন কেবল একজন লেখক আছেন? এটি আরও বিভ্রান্তিকর ইমো। এটি অবশ্যই এখন আরও ভালভাবে তৈরি করা হয়েছে বাক্য শৈলী মাইএসকিএল_ এবং ডেটা অ্যাক্সেস করার আরও ভাল উপায় রয়েছে :)
জেমস

1

কয়েক বছর প্রোগ্রামিংয়ের সাথে কাজ করার পরে আমি এই সিদ্ধান্তে পৌঁছেছি যে বহুবচন এক অকারণ জটিলতা। আমার মতামতটি কেআইএসএস দর্শনের মতে একজন প্রোগ্রামারকে সময় এবং দক্ষতার কারণে সমস্ত সমস্যার সবচেয়ে সহজ এবং সহজ সমাধানের জন্য প্রচেষ্টা করা উচিত। এইভাবে এককটি আপনাকে সমস্ত পরিস্থিতিতে কম কাজের প্রয়োজন দেয়।


এই উত্তরটি পুরো থ্রেডে সত্যিই কিছু যুক্ত করে না! উদাহরণস্বরূপ আপনি একটি সারণিকে "অর্ডার" কল করে সমস্যার উত্তর দিতে ব্যর্থ হন! ব্যক্তিগতভাবে, আমি ফ্রেঞ্চ শব্দগুলি ব্যবহার করি যখন ইংরেজি কৌশলটি না করে - অর্ডার, গোষ্ঠী ... সর্বদা আপনার পছন্দটি ব্যাখ্যা করতে আপনার টেবিলের মন্তব্য ক্ষেত্রটি ব্যবহার করুন! তবে, সত্যিকারের গুরুত্বপূর্ণ বিষয়টি হল একটি সম্মেলন করা এবং এটির সাথে লেগে থাকা !
ভ্যারাস

এটি কীভাবে কিছু যুক্ত করে না? আমি যোগ করেছি যে একক শব্দটি আমার মতে কম কাজ। আমার চেয়ে আলাদা মতামত থাকলে আমার মতামত অবমূল্যায়ন করবেন না। "অর্ডার" সমস্যাটি নয় সমস্যাটি আরও জটিল বহুবচন যা "বিভাগ" এর মতো একটি নয় যা আমি অযথা কাজের কারণে সংযোজনীয় সমস্ত পদ্ধতিতে ভুল বানান দেখেছি।
কোলাকএক্স

0

এটা খুব ব্যক্তিগত জিনিস। আমি 30 বছর ধরে একক ফর্ম ব্যবহার করে আসছি। তবে আমি দেখতে পাচ্ছি কেন লোকেরা বহুবচন পছন্দ করে। বইগুলি - লেখকগুলি আকর্ষণীয় কারণ আমি মনে করি বইয়ের লেখকরা ভুল নয়। একটি বইতে এক বা একাধিক লেখক থাকতে পারে। এবং লেখকরা এক বা একাধিক বই লিখে থাকতে পারেন (যেমন সহ-লিখিত)। এটি কেবল নির্ভর করে যে আপনি কীভাবে একাধিক লেখকের লেখা বইগুলি পরিচালনা করেন। আমি অন্যান্য উত্তরের সাথে একমত; এক চয়ন করুন এবং ধারাবাহিক হতে। সংরক্ষিত শব্দের বিষয়গুলির ক্ষেত্রে। আমি মনে করি যে কাজের নামগুলি নিয়ে আসা কঠিন নয়। ব্যবহারকারী -> অ্যাপ_উজার, সেশন -> অ্যাপ_অ্যাসেশন, অর্ডার -> গ্রাহক_আর্ডার


0

আমরা জিনিসগুলি বিভিন্ন দৃষ্টিকোণ থেকে দেখি এবং আমি মনে করি দুটি শিবির দ্বারা চিহ্নিত করা হয়েছে:

একক ("ব্যবহারকারী")
ব্যক্তি যিনি টেবিলের নাম এবং এটি একটি ধারককে উপস্থাপন করে তার মধ্যে সম্পর্ক স্থাপন করে, এতে একাধিক সারি থাকতে পারে।

সুতরাং "ব্যবহারকারীর ধারক" এ একাধিক সারি থাকতে পারে।

বহুবচন ("ব্যবহারকারী")
যে ব্যক্তি টেবিলের নাম এবং সত্য যে এটি একটি ধারককে প্রতিনিধিত্ব করে না তার মধ্যে সম্পর্ক স্থাপন করে না। অবশ্যই তারা জানে এটি একটি ধারক, তবে এটি নামটিতে নেই।

উদাহরণস্বরূপ
একটি "ডিমের বাক্সে" এতে একাধিক ডিম থাকতে পারে তবে এটি স্পষ্টতই স্পষ্ট হয় যে নামে ধারক উল্লেখটি একাধিক ডিমের সম্ভাবনা সরবরাহ করে। তবে একক টেবিলের নাম "ব্যবহারকারী" সহ ধারক উল্লেখটি সেখানে নেই। উদাহরণস্বরূপ "ব্যবহারকারীর_কন্টেইনার" সম্ভবত এমন লোকদের পক্ষে গ্রহণযোগ্য হবে যারা বহুবচন নাম পছন্দ করেন।

আমি মনে করি এটি বহু বছরের বহুবচন সাধারণ অনুশীলন এবং বেশিরভাগ অনলাইন শিক্ষণ উপাদানের কারণেও।


এই সমস্ত বলেছিল, আমি মনে করি যে প্রযুক্তিগতভাবে একক কথা বলা আরও সঠিক, আমরা একটি একক ধারকটির নাম দিচ্ছি এবং পাত্রে একাধিক (বা একক) সারি থাকতে পারে।
লোকেদের পক্ষে এটি ভুল বলে মনে হচ্ছে যেহেতু তারা মানসিকভাবে টেবিলের নামটি সামগ্রীর সাথে সংযুক্ত করে (একাধিক সারিগুলির বহুবচন নাম প্রয়োজন) নামক ধারকটিকে বিষয়বস্তুতে মানসিকভাবে সংযুক্ত করার পরিবর্তে (একটি ধারক একাধিকের জন্য অনুমতি দেয়)।

যথারীতি যদিও সেখানে প্রায়ই সঠিক এবং ভুল হয় না, এবং দৃশ্যের অনুসারে কী উপযুক্ত হয় তা আরও গুরুত্বপূর্ণ এবং আপনি যা পছন্দ করেন তার সাথে সামঞ্জস্যপূর্ণ হন।

আপনি যদি এই প্রকল্পটি সম্পূর্ণরূপে করছেন এবং আপনার পক্ষে যা ভাল লাগে বা কেবল অগ্রাধিকার হিসাবে কোনওভাবেই যাওয়ার কোনও সত্য কারণ নেই। কোনও দেব দলে থাকাকালীন একই প্রয়োগ করুন এবং সর্বসম্মত সিদ্ধান্তে আসুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.