প্রকারগুলি একটি কারণে উপস্থিত রয়েছে, যদি তারা কোনও সুবিধা না যোগ করে তবে আমাদের সেগুলি না থাকত এবং সেগুলি ব্যবহার করতাম না এবং আমাদের কেবল "টাইপ" থাকত এবং সবকিছুই তা হয়ে থাকে। তারা কেবল সুবিধাজনক নয় তারা সুরক্ষা এবং দক্ষতাও যুক্ত করে। নীচে আপনি কেন সর্বদা তাদের নেটিভ ফর্ম্যাটে টাইপ করে স্ট্রিং হিসাবে না রাখেন তার একটি তালিকা রয়েছে । আমি DateTime
বেশিরভাগ সময় উদাহরণ হিসাবে ব্যবহার করেছি তবে একই নীতিগুলি কোনও প্রারম্ভিক ধরণের যেমন পূর্ণসংখ্যার, দশমিক, বাইনারি ইত্যাদির জন্য প্রযোজ্য
তথ্য দোকান
সীমাবদ্ধতাসমূহ
বাধা টাইপ করুন
প্রায় সব ডেটা স্টোরই ডেটাতে সীমাবদ্ধতা নির্দিষ্ট করার মঞ্জুরি দেয়, এতে টাইপের সীমাবদ্ধতা অন্তর্ভুক্ত। একটি DateTime
উদাহরণ নির্দিষ্ট করার অন্যতম প্রধান সুবিধা হ'ল সঞ্চিত ডেটা সেই ধরণের সীমাবদ্ধ থাকবে। স্টোরের মধ্যে কীভাবে ডেটা wasোকানো হয়েছিল তা নির্বিশেষে তারিখের সময় ব্যতীত অন্য কোনও কিছু প্রবেশ করা কখনই সম্ভব হবে না। আধুনিকগুলি বৃহত্তর সিস্টেমগুলির জন্য গুরুত্বপূর্ণ যেখানে একাধিক প্রক্রিয়া রয়েছে যা সরাসরি স্টোরের সাথে যোগাযোগ করে। এর মধ্যে 30 ফেব্রুয়ারির মতো ত্রুটিযুক্ত তারিখগুলি যুক্ত করার চেষ্টাও অন্তর্ভুক্ত রয়েছে (যে কোনও বছরের) ফেব্রুয়ারিতে কেবল একটি লিপ বছরে 29 দিন এবং অবধি লিপ বয়সের জন্য 28 দিন থাকতে পারে।
বৈধতা সীমাবদ্ধতা
বৈধতা সীমাবদ্ধতাগুলিও রয়েছে যা ডাটা স্টোরে প্রয়োগ করা যেতে পারে যেমন সন্নিবেশ করা তারিখটি বর্তমান তারিখের বেশি না হয় বা শেষের তারিখের আগে একটি শুরুর তারিখ উপস্থিত হয় তা নিশ্চিত করে like
অপারেশনস
বেশিরভাগ ডেটা স্টোরগুলি এমএস এসকিউএল সার্ভারের মতো DateAdd
বা কার্যকরী / ফাংশনগুলিতেও তৈরি করে DatePart
। এটি স্টোরের মধ্যে থাকা অবস্থায় (নির্দিষ্ট প্রয়োগে এখনও পুনরুদ্ধার করা হয়নি) ফিল্টারিং বা নির্দিষ্ট ডেটা নির্বাচন শুরু করার অনুমতি দেয়।
সর্বজনীন স্বীকৃত ফর্ম্যাট
নেটিভ টাইপ ব্যবহার করে অন্যান্য বিকাশকারী বা সিস্টেমগুলি যা স্টোরের সাথে ইন্টারেক্ট করে সে কীভাবে সেই আদিম টাইপটি কীভাবে সংরক্ষণ করা হয় তার মিনিটের বিশদেও আপনাকে জানাতে হবে না। যদি সেই ধরণের স্ট্রিং হিসাবে সংরক্ষণ করা হয় তবে এটি ক্ষেত্রে নয়, তবে আপনাকে নিশ্চিত করতে হবে যে প্রত্যেকে DateTime
স্ট্রিং উপস্থাপনার ফর্ম্যাটটি বোঝে । এই সিস্টেমটি ডেটাগুলির সাথে সম্পর্কিত যখন ডেটা উত্সে অঞ্চল, এবং সংস্কৃতিগুলিকে বিস্তৃত করে, কোনও অ্যাপ্লিকেশনের শারীরিক অবস্থান এবং সেই ব্যবহারকারী / সিস্টেমের বৈশিষ্ট্যগুলি যা সেই ডেটার সাথে ইন্টারঅ্যাক্ট করে। উদাহরণ: এক দেশে তারিখের ফর্ম্যাট এমএম / ডিডি / ইয়াই (মার্কিন যুক্তরাষ্ট্রে) হতে পারে তবে অন্য কোনও দেশে এটি ডিডি / এমএম / ইয়াই হতে পারে, এটি সনাক্ত করে প্রায় ততটা অসম্ভব হয়ে পড়ে।
দ্রুততা
পুনরুদ্ধারের গতি, বৈধতার গতি, পরিচালনার গতি এবং স্টোরেজ দক্ষতা এগুলিও গুরুত্বপূর্ণ কারণ। পুনরুদ্ধার গতির উদাহরণ: ডেটা স্টোরগুলি কলামগুলিতে সূচকের জন্য অনুমতি দেয় এবং প্রকারটি যদি তার স্থানীয় ফর্ম্যাটে সংরক্ষণ করা হয় তবে সাধারণত এই সূচকগুলি আরও কার্যকরভাবে ব্যবহার করা যেতে পারে।
আবেদন
তথ্য এক্সেস
স্টোরের বিরুদ্ধে জিজ্ঞাসাবাদগুলি কার্যকর করা দেশীয় টাইপ সিস্টেমটি বিকাশকারী হিসাবে আরও সহজ হয়ে ওঠে, আর একবার, স্টোরেজ ফর্ম্যাট হিসাবে অনুমান করার দরকার নেই। প্রায় সমস্ত ডেটা স্টোর অ্যাপ্লিকেশন সরবরাহকারী ( উদাহরণস্বরূপ: ado.net ) দেশীয় প্রকারের উপর ভিত্তি করে যথাযথ প্যারামিটারাইজড ক্যোয়ারী তৈরির জন্য প্রক্রিয়া সরবরাহ করে S স্ট্রিং দিয়ে একই কাজ করা খুব জটিল এবং ভঙ্গুর / ত্রুটিযুক্ত প্রবণ হবে।
command.Parameters.Add(new SqlParameter("@startDate", SqlDbType.Date) {Value = myDateInstance.Date});
অপারেশনস
কোডে দেশীয় প্রকারগুলি System.Date
। নেট টাইপের মতো মানক ক্রিয়াকলাপ সরবরাহ করে । অপারেশনগুলি সাধারণত তারিখগুলি যুক্ত করা, খেজুরের মধ্যে পার্থক্য সন্ধান করা ইত্যাদির মতো প্রকৃতিতে গাণিতিক হয় আবার স্ট্রিংয়ের ধরণগুলিতে সহজেই এটি সম্ভব হয় না।
উপস্থাপনা স্তর
স্থান
যখন কোনও আদিম প্রকারটি শেষ পর্যন্ত উপস্থাপনা স্তরটির স্ট্রিংয়ে রূপান্তরিত হয় ( এটি করার জন্য প্রোগ্রামের স্ট্যাকের সঠিক অবস্থান ) প্রোগ্রামারের কাছে এখন উপস্থাপিত প্রসঙ্গ অনুযায়ী সঠিকভাবে প্রদর্শন করার জন্য বিভিন্ন বিকল্প রয়েছে। এই প্রসঙ্গে সাধারণত ডেটার আসল অর্থ এবং ব্যবহারকারীর লোকেল থাকে।
উদাহরণ 1
একটি ডেটটাইম উদাহরণটি ব্যবহারকারীর লোকেলের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ফর্ম্যাট করা যায়।
DateTime.Now.ToString("D", CultureInfo.GetCultureInfo(userContext.Culture))
উদাহরণ 2
দশমিক উদাহরণটি কোনও পরিমাণ (মুদ্রা) উপস্থাপন করতে পারে এবং ব্যবহারকারীর লোকেল এর পরে তাদের পছন্দ অনুযায়ী পরিমাণটি প্রদর্শন করা উচিত। একটি সি # অ্যাপ্লিকেশন তখন মানটি ব্যবহার করে প্রদর্শিত হতে পারে
amount.ToString("C", CultureInfo.GetCultureInfo(userContext.Culture))
এটি বিভিন্ন সংস্কৃতিতে ভিন্ন ভিন্ন সংখ্যা প্রদর্শন করার কারণে এটি সমালোচনা হতে পারে। মার্কিন সময়কালে (।) এবং কমা (,) এর সঠিক বিপরীত অর্থ নেদারল্যান্ডসের মতো।
অবস্থান
এটি DateTime
উদাহরণগুলির জন্য খুব নির্দিষ্ট । একটি তারিখ এবং সময় সময় একটি নির্দিষ্ট মুহূর্তে একটি ঘটনা প্রতিনিধিত্ব করে কিন্তু এটি সাধারণত তাদের নিজস্ব সময় অঞ্চল উপর নির্ভর করে ব্যবহারকারীর কাছে অবহিত / উপস্থাপন করতে হবে। উদাহরণ: একটি DateTime
দৃষ্টান্ত 2016-09-21T23:38:21.399Z
হিসেবে প্রদর্শিত হতে পারে 9/21/2016 5:21 PM
যুক্তরাষ্ট্রের পূর্ব টাইমজোন একটি ব্যবহারকারীর জন্য। এটি সম্পাদন করার জন্য অনেকগুলি উপায় রয়েছে তবে তারিখের সময় উদাহরণটি স্ট্রিং টাইপের হিসাবে মেমরিতে রাখা হয় বা ডেটা স্টোরকে স্ট্রিংয়ের ধরণ হিসাবে রাখা হয় তবে এটি অসম্ভবের পাশে চলে যায়।
সাধারণ নিয়ম
কোনও অ্যাপ্লিকেশনটির জন্য সাধারণ 2 নিয়মগুলি অনুসরণ করে যখন কোনও আদিম ধরণের স্ট্রিং উপস্থাপনায় রূপান্তরিত করার বিষয়টি আসে সেগুলি হয়
- ইনপুট গ্রহণ করার সময় প্রোগ্রাম স্ট্যাকের (সাধারণত উপস্থাপনা স্তরে) যত তাড়াতাড়ি সম্ভব সেই ইনপুটটিকে সঠিক আদিম ধরণের রূপান্তরিত করুন When
- প্রদর্শিত তথ্য পুনরুদ্ধার করার সময়, প্রোগ্রাম স্ট্যাকের (যত তাড়াতাড়ি, সাধারণত উপস্থাপনা স্তরে) যত তাড়াতাড়ি দেরী উপাত্তটিকে স্ট্রিং উপস্থাপনায় রূপান্তর করুন