এসকিউএল সার্ভার ম্যানেজমেন্ট স্টুডিও 2016 - শিক্ষানবিশের ক্যোয়ারী সহায়তা প্রয়োজন


0

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

আমি কেবল দুটি টেবিলই যত্নশীল। প্রত্যেকের 100 মিলিয়ন সারি রয়েছে। তারা একটি একক ওভারল্যাপিং কলাম ভাগ করে নেয় - আসুন এটি কল করুন, ইভেন্টআইডি। প্রতিটি সারণীতে 'ইভেন্ট' চলাকালীন কী ঘটেছিল তা চিত্রিত করে। সুতরাং টেবিল 1 এ ইভেন্টআইডি # 100001, # 100002, ইত্যাদি ইত্যাদির জন্য একটি এন্ট্রি রয়েছে এবং টেবিল 2 এ ইভেন্টআইডি # 100001, # 100002, ইত্যাদির জন্য একটি এন্ট্রি রয়েছে etc.

সুতরাং একটি বড় টেবিল রাখা অনেক সহজ হবে, তবে সি ল লা ভি ...

আমি দুটি জিনিস বের করার চেষ্টা করছি:

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

2) দুটি পৃথক টেবিল থাকার বিষয়টি আমি কীভাবে মোকাবিলা করব? (আমি কি এখনই আমার অন্য দুটি টেবিল তৈরি করতে পারি যা আমার কাছে থাকা দুটি টেবিলের সংমিশ্রণ করা উচিত? বা আমার লেখার প্রশ্নে আমার এই সমস্যাটি মোকাবেলা করা উচিত?)

যেকোনো সাহায্যের জন্য অগ্রিম ধন্যবাদ।


আপনি এসকিউএল ক্যোয়ারী ফলকটি খুঁজে পান, আপনার ক্যোয়ারিতে টাইপ করুন এবং তারপরে লাল বিস্মৃত চিহ্নটি চাপুন।
ডেভ

উত্তর:


0

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

1. আপনার ডেটা আমদানি করুন এবং একটি প্রাথমিক কী সেট করুন

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

আপনার টেবিলটি কনফিগার করা আছে তা নিশ্চিত করুন যাতে ইভেন্ট টেবিলে প্রতিটি টেবিলে প্রতিটি টেবিলে প্রাথমিক কী হিসাবে সেট করা থাকে। এখানে নির্দেশাবলী । যদি একই ইভেন্টআইডির সাথে অনেকগুলি সারি থাকে তবে জিনিসগুলি আরও জটিল হবে, তাই আমি ধরে নিচ্ছি যে সেগুলি অনন্য are

২. সম্পর্কের সংজ্ঞা দিন

2 টি টেবিলের মধ্যে সম্পর্কগুলি তাদের প্রাথমিক কীগুলিতে (ইভেন্টআইডি) লিঙ্ক করে সংজ্ঞায়িত করুন। প্রধান এক হিসাবে একটি টেবিল বাছুন, এবং দ্বিতীয় সারণীর প্রাথমিক কীটি প্রথমটির জন্য বিদেশী কী হয়ে উঠবে। ইভেন্ট আইডিগুলির মধ্যে যদি 1: 1 ম্যাচ হয় তবে এটি কাজ করা সবচেয়ে সহজ ঘটনা।

টিউটোরিয়াল এখানে দেখুন যা জিইউআই এবং এসকিউএল উভয় পদ্ধতিই দেখায়।

3. কোয়েরি ডিজাইনার ব্যবহার করুন

এটি এমন একটি সরঞ্জাম যা আপনাকে একটি এসকিউএল কোয়েরি তৈরি করতে সহায়তা করে যা উভয় টেবিলগুলিতে যোগদান করবে (সংযুক্ত বা লিঙ্ক করবে) এবং ফলাফল প্রদর্শন করবে। ফলো-আপ টিউটোরিয়াল এখানে । যেহেতু আপনি ইতিমধ্যে সম্পর্কগুলি সংজ্ঞায়িত করেছেন, ক্যোয়ারী ডিজাইনার কীভাবে তাদের সাথে যুক্ত হতে পারবেন তা জানবে।

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

৪. আপনার তৈরি ক্যোয়ারির বাইরে একটি ভিউ তৈরি করুন।

একটি ভিউ একটি কোয়েরি বোঝাতে একটি ডাটাবেস শব্দের অর্থ যা সংরক্ষণ করা হয় এবং এটি পড়তে পারে যেন এটি একটি আসল টেবিল, যদিও পর্দার পিছনে এটি এখনও আপনার তৈরি করা এসকিউএল ক্যোয়ারী, উভয় টেবিলকে এক হিসাবে যুক্ত করে। এটি আপনার দ্বিতীয় প্রশ্নের উত্তর দেওয়া উচিত।

ফলো-আপ টিউটোরিয়াল এখানে

5. পরীক্ষা

আপনি একবার এর সাথে পরিচিত হয়ে গেলে আপনি এসকিউএল আরও গভীরভাবে জানতে চাইতে পারেন। অনলাইনে প্রচুর সংস্থান রয়েছে। এবং প্রকৃতপক্ষে, এসকিউএল পদক্ষেপগুলিতে 2-4 কেবলমাত্র এটি দ্বারা প্রতিস্থাপন করা যেতে পারে:

create view MyBigTableView as
select * from table1 
inner join table2 
on table1.EventID = table2.EventID

অভিযোজ্য বস্তু

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

এসকিউএল-তে (আপনি প্রাথমিক কীটি সংজ্ঞায়িত করেছেন বা না) 2 টেবিলের অভ্যন্তরীণ জোড় যা ইভেন্টআইডি এবং সাব-এন্টিআইডি উভয়ই এইরকম দেখাবে:

select * from table1 
inner join table2
on table1.EventID = table2.EventID 
and table1.SubEventID = table2.SubEventID

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

@ জিরোকুল উত্তরে একটি অনুচ্ছেদ যুক্ত করেছে। আশা করি এইটি কাজ করবে.
এমটোন

যে কাজ করেছে, আপনাকে ধন্যবাদ! ঠিক আছে, সিরিয়াসলি শেষ প্রশ্ন - আমি কি পুরো টেবিল 2 প্রদর্শন করতে চাই না, কলাম মাত্র কয়েক? (আমার আসলে ইভেন্টিডি এবং সাব-এন্টিআইডিআইডি দরকার নেই, তবে আমি ধরে নিচ্ছি ওভারল্যাপটি যাচাই করতে তাদের রাখা ভাল ধারণা)
জিরো কুল

@ জিরোকুল নির্বাচন * এর অর্থ সমস্ত ক্ষেত্র (কলাম)। অস্পষ্টতা এড়াতে আপনার টেবিলের নাম অনুসারে আপনার দ্বারা * প্রতিস্থাপন করুন এবং allyচ্ছিকভাবে তাদের একটি নতুন নাম দিন: টেবিল 1 কোড 1, টেবিল 2.ফিল্ড, টেবিল3.ফিল্ড 1 নতুন নাম ইত্যাদি নির্বাচন করুন ... আপনি টেবিল 1 নির্বাচন করতে পারেন * , টেবিল 2.ফিল্ড 1, ...
এমটোন

0

ছেদকারী অপারেটরটি এই পরিস্থিতিতে ব্যবহার করা আরও সহজ হবে।

select * from table1
intersect
select * from table2

এটি কেবলমাত্র রেকর্ডগুলি দেবে যা উভয় সারণীতে সাধারণ common ছেদ করা, ইউনিয়ন এবং অপারেটরগুলি ব্যতীত এখানে একটি সহজ ব্যাখ্যা।


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