সংখ্যাসূচক কলামগুলিতে অ-সংখ্যাযুক্ত মান সন্নিবেশ না করে এসকিউএলাইট কী কম কার্যকর হবে?


10

এসকিউএলাইটে নীচের বিবৃতিটি সফল হবে এবং স্ট্রিংটি টাইপযুক্ত SALARYকলামটিতে /োকানো / আপডেট করা হবে INTEGER:

update employee set salary='TOO MUCH' where emp_id=1;

নোট করুন যে শূন্য sertedোকানো / আপডেট করা হবে না তবে প্রকৃত "খুব অনেকগুলি " স্ট্রিং রয়েছে, সুতরাং এটি রচয়িতা সম্পর্কিত ধরণের রূপান্তর সম্পর্কে নয়।

এফএকিউতে বলা হয়েছে:

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

সুতরাং এই আচরণটি স্পষ্টভাবে ইচ্ছাকৃত, তবুও আমি আশ্চর্য হয়েছি কেন এসকিউএলাইটের এই আচরণটি হয়, যেহেতু আমি জানি যে অন্যান্য অন্যান্য এসকিউএল ডাটাবেসগুলি বেশ ভিন্নভাবে আচরণ করে, তারা একটি ত্রুটি বাড়াতে পারে বা স্ট্রিং 0 এ রূপান্তর করবে যখন একটি অ-সংখ্যাীয় স্ট্রিং intoোকানোর চেষ্টা করছিল একটি সংখ্যার কলাম

  • এসকিউএলাইট লাইব্রেরি এই আচরণ ছাড়া কম দরকারী হবে?

  • এটি কি লাইব্রেরিটি ছোট এবং দ্রুত রাখার জন্য ডিজাইন করে তৈরি করা হয়েছে?

  • সংখ্যার কলামে একটি স্ট্রিং toোকানোর চেষ্টা করার সময় ত্রুটিগুলি বাড়ানোর জন্য এসকিউএল লাইব্রেরিটি কি উল্লেখযোগ্যভাবে ধীর বা বড় হবে?


9
কেউ একবার বলেছিলেন যে "বৈশিষ্ট্যটি বিপণন বিভাগ দ্বারা বর্ণিত একটি বাগ"।
ড্যান পিচেলম্যান

3
আমি সন্দেহ করি এটি কার্যকারিতা এবং ডেটা-ঘনত্বের পক্ষে ভাল, যদিও এটি কোড-আকারের পক্ষে উপকারী। সব মিলিয়ে, আমি এটিকে উদ্দেশ্যমূলক (বা পাছে অবলম্বন করা) ভুল বৈশিষ্ট্য বলব।
উত্সাহকটি

3
"এটি আমার কাছে একটি ছোট আকারের, কম-সংস্থাগুলির লাইব্রেরি সাধারণত এম্বেড ব্যবস্থার জন্য ব্যবহৃত হয় যা রিয়েল টাইম পারফরম্যান্সের প্রয়োজন হয় বলে মনে হয় ..." আমি কোনও ধরণের চেকটি ড্রপ বাদে আরও কিছু হতে পারে তা কল্পনা করতে পারি না অপারেশনগুলির জন্য সময় / স্থানের পারফরম্যান্স বালতি যা কোনও পরিমাণ ডিস্ক আইও করে। এছাড়াও তাদের কোডে অতিরিক্ত চেক থাকতে হবে যেহেতু তারা সহজেই ডেটা নির্দিষ্ট আকার ধারণ করতে পারে না, সুতরাং যুক্তিযুক্তভাবে গতিশীল টাইপিংয়ের জন্য আপনার পারফরম্যান্স ব্যয় হয়।
ডোভাল

1
পছন্দ করুন @ ডকব্রাউন আমার পক্ষে তা বলার কারণ নয় তবে কারণ এটি সুই জেনার্স
তুলাইনস কর্ডোভা

2
@ ব্যবহারকারী 6১18৫২ আমি আপনাকে পরামর্শ দিয়েছি যে আপনি পুরোপুরি প্রশ্নটি পুনরায় লিখুন এবং এসকিউএলাইটের গতিশীল টাইপিং এটির কার্যকারিতা সুবিধা দেয় কিনা এবং এক্স বা ওয়াই প্রসঙ্গে গতিশীল টাইপিংয়ের সাধারণ উপযোগিতা / উপকারের কোনও উল্লেখ বাদ দিতে পারেন।
ডোভাল

উত্তর:


8

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

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


3
"খুব বেশি" স্ট্রিংটি একটি সংখ্যার কলমে সাফল্যের সাথে সঞ্চয় করার বিষয়ে আমি আমার প্রশ্নের একটি আপডেট লিখেছিলাম । স্বয়ংক্রিয় রূপান্তর শূন্য sertোকানো হবে। এছাড়াও এটিই প্রথম রিলেশনাল ডাটাবেস বাস্তবায়ন যা আমি জানি যে এটির অনুমতি দেবে। আমি এমএসএসকিউএস সার্ভার, ওরাকল, পোস্টগ্রাইএসকিউএল, মাইএসকিউএল, এমএস এক্সেস, ডিবেস, ফক্সবাস, সিওবিএল এবং সিবাজ এসকিউএল যে কোনও জায়গায় কাজ করেছি।
তুলিনস কর্ডোভা

2
আমি আপনার মন্তব্য বুঝতে পারি না। আমার উত্তর সম্পর্কে কিছুই ছিল না স্বয়ংক্রিয় রূপান্তর সঙ্গে।
কার্ল বিলেফেল্ট

1
এসকিউএলাইট তাদের ডেটাটাইপের পরিবর্তে স্টোরেজ ক্লাস হিসাবে বিবেচনা করে। sqlite.org/datatype3.html
JeffO

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

1
সম্পূর্ণ টাইপিং টাইপিংয়ের ব্যয় অল্প সঞ্চয় স্থান এবং প্রসেসরের সময়ের চেয়ে অনেক বেশি higher
ডেড এমজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.