কীভাবে সত্যই মাইএসকিউএল মাস্টার করবেন?


13

আমি পিএইচপি ব্যবহার করার সময় একই পরিমাণে মাইএসকিএল ব্যবহার করে যাচ্ছি। তবে আমি পিএইচপিতে প্রায় 10x বেশি আত্মবিশ্বাসী বোধ করি; বা অন্য কোনও প্রোগ্রামিং ভাষা। তবে আমি সত্যিই সত্যিই এসকিউএল উপলব্ধি করতে পারি না। আমি বলতে চাইছি, আমি নির্বাচন করতে, আপডেট করতে, সন্নিবেশ করতে, মুছতে, যোগদান করতে, ইত্যাদি করতে পারি তবে এটি যখন আরও জটিল জিনিস আসে তখন আমি হারিয়ে যাই। কীভাবে আরও জটিল সিলেক্ট স্টেটমেন্ট লিখবেন, ইনডেক্সগুলি কীভাবে সঠিকভাবে ব্যবহার করবেন, কোন ইঞ্জিনটি ব্যবহার করবেন ইত্যাদি

কিছু কারণে আমি সত্যিই মাইএসকিএল ডক্সকে অনুসরণ করা শক্ত মনে করি তবে পিএইচপিগুলি অনুসরণ করা সহজ।

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

সত্যিই মাইএসকিউএল মাস্টার করার সেরা / দ্রুততম উপায় কী?

যখন আমি "মাস্টার" বলি আমি গুরুদের মধ্যে গুরু বলতে চাই না, আমি নিজেকে বিনা সাহায্যে জিজ্ঞাসা করি এমন বেশিরভাগ প্রশ্নের সন্ধান করার জন্য আমি যথেষ্ট স্মার্ট।


2
আপনি কি এসকিউএল বা মাইএসকিউএল সম্পর্কে কথা বলছেন, কারণ এগুলি খুব আলাদা জিনিস হতে পারে। প্রতিলিপি সেটআপ করা এবং পরিচালনা করা একটি জটিল স্কয়ার কোয়েরি লেখার চেয়ে খুব আলাদা কাজ। আমি সন্দেহ করি যে এটি সময়ের পাশাপাশি কাজ করে। আপনি অবশ্যই এসকিউএল-এর চেয়ে পিএইচপি লেখার জন্য অনেক বেশি সময় ব্যয় করেছেন, এমনকি যদি আপনি সেগুলি 'একই পরিমাণে' ব্যবহার করে যাচ্ছেন।
স্টিভেন ইভার্স

@ স্নোআরফাস পিএইচপি-তে আরও কোড লেখার বিষয়ে আপনার একটি ভাল বক্তব্য রয়েছে। মাইএসকিউএল হ'ল আমি কখনও ব্যবহার করেছি relation যখন আমি "এসকিউএল" বলছিলাম তখন আমি সাধারণভাবে সেই ধরণের ভাষার অর্থই ছিল।
জেডি আইজ্যাকস

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

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

উত্তর:


10

এটা ব্যবহার করো

রিলেশনাল ডাটাবেসগুলি কীভাবে কাজ করে তা অভ্যন্তরীণ করে তোলা অনেক লোকের পক্ষে কঠিন - তবে এটি অত্যন্ত মূল্যবান। আপনি এসকিউএল এর সাথে আরও বেশি কাজ করার সাথে সাথে এটি আপনার মস্তিষ্কে প্রবেশ করবে। নিজেকে চাপ দিতে থাকুন।

যখন কোনও বিষয় বিজোড় বলে মনে হচ্ছে, তদন্ত করুন

ক্রোমে, আমি এই অনুসন্ধান ইঞ্জিনটি সেট আপ করেছি তাই ডক্সগুলি অনুসন্ধান করতে "এম [অনুসন্ধান কোয়েরি]" টাইপ করতে হবে (dev.mysql.com এর অনুসন্ধান সফল হয়): oogle গুগল: বেসলাইম} অনুসন্ধান? Oogle গুগল: আরএলজেড} {গুগল: acceptedSuggestion} {গুগল: originalQueryForSuggestion} sourceid = ক্রোম & অর্থাত = {inputEncoding} এবং কুই = সাইট: dev.mysql.com/doc/refman/5.1/en+%s

যদি দস্তাবেজের কোনও উত্তর না থাকে, তবে ফ্রেইনোডে # এমএসকিউএল এ পপ করুন এবং দেখুন যে কেউ কিছু অন্তর্দৃষ্টি দিতে পারে কিনা।

পড়ুন!

আপনি যখন বুঝতে পারবেন যে কীভাবে সম্পর্কিত ডেটাবেসগুলি তাদের কাজ করে, আপনি মাইএসকিউএল কী লিখছেন সেগুলি সম্পর্কে আপনার আরও কিছুটা জানতে চাইবেন mag আমি উচ্চ পারফরম্যান্স মাইএসকিউএলকে অত্যন্ত সুপারিশ করব - এটি আপনার সময়ের জন্য অত্যন্ত মূল্যবান।


1
ভাল সুসংবাদটি হ'ল আমার কাছে ইতিমধ্যে আপনার প্রস্তাবিত বইটি এখনও এর বেশিরভাগ অংশে যায় নি। ধন্যবাদ! ক্রোম অনুসন্ধান কীভাবে সেটআপ করতে হয় তার জন্য নির্দেশাবলীর জন্য +1।
জেডি আইজ্যাকস

আমার কাছে বই আছে, এখনও পড়েনি have
ক্রোসনব্লুম

@tehSririk আপনি ক্রোমে এটি কীভাবে করেছেন?
জয়বনি

@ জাইব্নি ইউআরএল বারে ডান ক্লিক করুন এবং "অনুসন্ধান ইঞ্জিনগুলি সম্পাদনা করুন"
তেহশ্রাইক

9

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

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

কেস স্টেটমেন্টটি কী করে তা শিখুন।

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

এসকিউএল এ নিয়ে চিন্তা না করেই আপনার করা উচিত এমন কয়েকটি বুনিয়াদি কাজের একটি তালিকা এখানে রয়েছে:

  1. প্রথমে একটি সরল আপ নির্বাচন করুন যার সাথে যোগ দেয় না (এবং কোনও সিলেক্ট * নয়) তবে নির্বাচনের শর্তাদি রয়েছে
  2. আপনার কীভাবে দুটি বা আরও বেশি সারণী একত্রিত করতে হবে এবং সমস্ত সারণীতে থাকা রেকর্ডগুলি পাবেন তা আপনার জানা উচিত
  3. আপনার কীভাবে দুটি বা ততোধিক টেবিল একত্রিত করতে হবে এবং সমস্ত টেবিলের মধ্যে রেকর্ডগুলি পাওয়া যায় তবে একের সাথে একাধিক সম্পর্কের বহু দিক দিয়ে টেবিল থেকে কেবল একটি রেকর্ড ফিরিয়ে আনতে হবে
  4. আপনার কোনও টেবিলে রেকর্ডগুলি পেতে সক্ষম হওয়া উচিত তবে কোনও সংশ্লিষ্ট সারণীতে নয়
  5. কোনও প্রতিবেদনের জন্য আপনার ডেটা একত্রিত করতে সক্ষম হওয়া উচিত
  6. আপনার কোনও টেবিলে একটি রেকর্ড সন্নিবেশ করতে সক্ষম হওয়া উচিত
  7. আপনি একটি সারণীতে একটি রেকর্ড আপডেট করতে সক্ষম হওয়া উচিত
  8. আপনি একটি সারণীতে একটি রেকর্ড মুছতে সক্ষম হওয়া উচিত
  9. আপনার কোনও কার্সার ছাড়াই কোনও টেবিলে রেকর্ডের একটি দল সন্নিবেশ করতে সক্ষম হওয়া উচিত
  10. আপনার কোনও কার্সার ছাড়াই কোনও টেবিলে রেকর্ডের একটি গ্রুপ আপডেট করতে সক্ষম হওয়া উচিত
  11. আপনার কোনও কার্সার ছাড়াই কোনও টেবিলে রেকর্ডের একটি দল মুছতে সক্ষম হওয়া উচিত
  12. আপনার একটি লেনদেনে একাধিক ক্রিয়া সম্পাদন করতে এবং ত্রুটি ট্র্যাপিংয়ে পরিচালনা করতে সক্ষম হওয়া উচিত
  13. আপনার রেকর্ডগুলির ইউনিয়ন তৈরি করতে সক্ষম হওয়া উচিত এবং কখন ইউএনআইএন ভাইস ইউনিয়ন সব ব্যবহার করতে হবে তা জানতে
  14. কিছু মানদণ্ডের ভিত্তিতে আপনার এক ক্ষেত্রের জন্য ডেটা আলাদা করতে সক্ষম হওয়া উচিত (সিএসই ব্যবহার করে)

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


3

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

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

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

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


২ য় অনুচ্ছেদে দুর্দান্ত পরামর্শের জন্য +1 এবং আমি কখনই সে সম্পর্কে ভেবে দেখিনি!
জেডি আইজ্যাকস

2

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

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