YouTube2Text

Advanced SQL — Transcript

by Data Base Management System - IITKGP · 3,771 words · 536 segments · language en · Watch on YouTube

Full transcript

  1. 0:03इससे पहले कि हम शुरू करें पांच मॉड्यूल
  2. 0:10में पिछले हफ्ते हमने जो किया था उसे
  3. 0:17जल्दी से पुन: देख लेते हैं।
  4. 0:22पिछले हफ्ते हमने एसक्यूएल क्वेरी
  5. 0:26गठन का एक मध्यवर्ती स्तर किया।
  6. 0:31संदर्भ में, इस संदर्भ में, हम अब कुछ एसक्यूएल
  7. 0:39की एक और महत्वपूर्ण विशेषता पर एक नज़र
  8. 0:46डालेंगे।
  9. 0:47एसक्यूएल तक पहुँचने की मॉड्यूल रूपरेखा
  10. 0:52है।
  11. 0:53तो, यह केवल एक सार दृश्य है जिसे आप
  12. 1:01सोच सकते हैं कि हम स्वाभाविक रूप से
  13. 1:08अब तक क्या कर रहे हैं एक डेटाबेस है
  14. 1:16जिसमें मुख्य रूप से दो चीजें हैं स्कीमा
  15. 1:23करता है और वह सब, लेकिन एक डेटाबेस
  16. 1:30है जो सब कुछ संग्रहीत करता है।
  17. 1:36और अब तक हम इस जानकारी के केवल एक हिस्से
  18. 1:45के साथ काम कर रहे हैं कि मैं टेबल मूल्यों
  19. 1:53को निकाल रहा है, कुछ views को परिभाषित कर
  20. 2:01रहा है इत्यादि।
  21. 2:04. तो, इन सभी को एसक्यूएल
  22. 2:08पूर्ण प्रणाली की तरह है।
  23. 2:12लेकिन, सामान्य तौर पर, आवेदन के संदर्भ
  24. 2:18में हमारे पास बहुत अधिक आवश्यकताएं
  25. 2:24होंगी।उदाहरण के लिए, एप्लिकेशन को
  26. 2:28कुछ ग्राफिक्स की आवश्यकता हो सकती
  27. 2:33है, एसक्यूएल की गणना करने के लिए कुछ ज्यामितीय
  28. 2:41गणना की आवश्यकता हो सकती है इत्यादि
  29. 2:47इत्यादि।
  30. 2:48इसके लिए कुछ नेटवर्क प्रोग्रामिंग आदि
  31. 2:53की आवश्यकता हो सकती है।
  32. 2:58इसलिए, इन सभी को करने की आवश्यकता है और
  33. 3:05निश्चित रूप से ये कुछ विशेष देशी भाषाओं
  34. 3:12के संदर्भ में किए जाते हैं जो C ++, java,
  35. 3:24C #, visual basic, python, किसी भी मूल भाषा मे हो सकते
  36. 3:32हैं जिन्हें विभिन्न कार्यों के लिए विभिन्न
  37. 3:38प्रकार का समर्थन प्राप्त है।
  38. 3:41इसलिए, जो महत्वपूर्ण है वह यह है कि हम
  39. 3:48इन दोनों के बीच एक सेतु डोमेन के फायदे
  40. 3:55एक साथ ले सकते हैं।यही कारण है कि मैं कुछ
  41. 4:03ग्राफिक प्रतिनिधित्व कर सकता हूं और फिर
  42. 4:09निश्चित रूप से डेटाबेस में जाकर कुछ जानकारी
  43. 4:15निकाल सकता हूं और फिर इसे ग्राफिक्स
  44. 4:20में प्रस्तुत कर सकता हूं।
  45. 4:24उदाहरण के लिए, जब भी हम gmail का उपयोग
  46. 4:31करते हैं, तो हम उन्हें एक HTML प्रस्तुति के
  47. 4:38संदर्भ में देखते हैं जो किसी प्रकार
  48. 4:44का ग्राफिक्स रेंडरिंग है, लेकिन सभी मेल
  49. 4:49प्रविष्टि निश्चित रूप से कुछ डेटाबेस
  50. 4:54से आती हैं।
  51. 4:56तो, कहीं न कहीं एक कनेक्शन है जिसके
  52. 5:02द्वारा जब मैं कहता हूं कि मेरे इनबॉक्स
  53. 5:09मेल मिलते हैं और कहीं न कहीं यह जानकारी
  54. 5:16डेटाबेस से एसक्यूएल के साथ इंटरफेस करने
  55. 5:21में सक्षम होना चाहिए।
  56. 5:24और जो हम यहां चर्चा करते हैं वह इस इंटरफेसिंग
  57. 5:32के लिए दो अलग-अलग तंत्र हैं।
  58. 5:37पहला एक कनेक्शन लाइब्रेरी का उपयोग
  59. 5:41कर रहा है और यही वह है जो मैं विशेष रूप
  60. 5:50से आपको दिखाऊंगा।
  61. 5:52इसलिए, यदि आप कनेक्शन लाइब्रेरी का उपयोग
  62. 5:58कर रहे हैं, तो आपके पास एपीआई में वापस
  63. 6:05लाया जा सकता है।
  64. 6:08जब आप डेटाबेस सर्वर के संदर्भ में जानकारी
  65. 6:14भेज रहे होते हैं, तो हम आपको ध्यान
  66. 6:20में रखते हैं, हम एसक्यूएल के बारे में बात कर
  67. 6:28रहे हैं।जबकि, जब मैं इसे प्रोग्राम
  68. 6:33में चाहता हूं, तो प्रोग्राम वेरिएबल्स
  69. 6:38के संदर्भ में चाहता हूं ।इसलिए, उनके
  70. 6:43बीच कुछ पत्राचार किया जाना चाहिए
  71. 6:48विभिन्न प्रकार के उपकरण उपलब्ध हैं
  72. 6:52जो आपको यह करने की अनुमति देते हैं
  73. 6:59JDBC सामान्य रूप से ज्ञात है जो Java के
  74. 7:06लिए विशिष्ट है।
  75. 7:08हमारे पास एक ओपन डेटाबेस कनेक्टिविटी
  76. 7:13नामक एक ही कार्य करने के लिए एक और
  77. 7:20तंत्र है, हम बाद में आएंगे।
  78. 7:24तो, JDBC एक Java API है, मैं यहाँ विवरण में नहीं
  79. 7:31जाऊँगा अगर आप जावा जानते है थो आप यह
  80. 7:37जल्दी से समझने में सक्षम होंगे।
  81. 7:41तो यह एक डेटाबेस है जो Java को एक स्टेटमेंट
  82. 7:48ऑब्जेक्ट कहता है और एक स्टेटमेंट
  83. 7:53ऑब्जेक्ट का उपयोग करके क्वेरी को निष्पादित
  84. 7:58करता है और यह परिणाम वापस लाने के लिए
  85. 8:06क्वेरी भेजने के लिए उपयोग किया जाता
  86. 8:11है जो कनेक्शन को खोलकर डेटाबेस के
  87. 8:17साथ संचार करता है।
  88. 8:20तो, Java ऑब्जेक्ट ओरिएंटेड है जैसा कि आप जानते
  89. 8:27हैं कि स्टेटमेंट ऑब्जेक्ट का उपयोग
  90. 8:32एक एनकैप्सुलेशन के रूप में किया जाता
  91. 8:38है जो Java प्रोग्राम और एसक्यूएल है जो
  92. 8:44Java के लिए सामान्य है।
  93. 8:48इसके विपरीत आप जो देखते हैं वह एक समान
  94. 8:56काम करता है, लेकिन चूंकि यह अलग भाषाओं
  95. 9:02के लिए पूरा करना है इसे एक नरम मॉडल
  96. 9:09मिला है, इसे कम शक्तिशाली मॉडल मिला है।यह
  97. 9:16डेटाबेस सर्वर के साथ संवाद करने के
  98. 9:22लिए एक मानक एप्लिकेशन प्रोग्राम है।
  99. 9:26तो, फिर से इसे डेटाबेस से एक कनेक्शन खोलना
  100. 9:34होगा, Query और अपडेट भेजना होगा और वापस
  101. 9:40परिणाम प्राप्त करना होगा।
  102. 9:43तो, ये तीन बुनियादी चीजें हैं, ये तीन
  103. 9:50अन्य तीन बुनियादी चीजें हैं जो निश्चित
  104. 9:56रूप से किए जाने की आवश्यकता है अगर
  105. 10:02मैं आसानी से एप्लिकेशन प्रोग्रामिंग डोमेन
  106. 10:07और डेटाबेस प्रोग्रामिंग डोमेन पर काम करना
  107. 10:13चाहता हूं।
  108. 10:14इसलिए, GUI, स्प्रेडशीट, वगैरह जैसे एप्लिकेशन
  109. 10:19ODBC का उपयोग कर सकते हैं।
  110. 10:24तो, हाँ, मैं आपको जल्दी से एक उदाहरण
  111. 10:30दिखा रहा हूं हम बाद के मॉड्यूल में एप्लिकेशन
  112. 10:38प्रोग्रामिंग मोड के बारे में बात करेंगे।
  113. 10:43तो, यह एक Python उदाहरण है।
  114. 10:50तो, इस Python के ODBC के लिए pyodbc library के रूप में
  115. 11:02जाना जाता है।
  116. 11:04इसलिए, आपको इसे आयात करने की आवश्यकता
  117. 11:09है।
  118. 11:10और फिर इसका उपयोग करके आप कनेक्ट कर
  119. 11:16सकते हैं।
  120. 11:17इसलिए, यदि आपको कनेक्ट करना है, तो आपको यह
  121. 11:24कहना होगा कि कौन सा डेटाबेस है जो
  122. 11:30उपयोगकर्ता है, पासवर्ड क्या है, क्योंकि
  123. 11:34प्रमाणीकरण होने की आवश्यकता है।
  124. 11:38तो, एसक्यूएल क्वेरी के अलावा और कुछ नहीं
  125. 11:44है।
  126. 11:45तो, आप इसे एक स्ट्रिंग के रूप में लेते हैं
  127. 11:52और इसे कर्सर की निष्पादन विधि पर पास करते
  128. 11:59हैं।
  129. 12:00तो, यह क्या करता है, इसलिए इसने पहला
  130. 12:06कार्य किया है जो डेटाबेस से जुड़
  131. 12:11रहा है।
  132. 12:12अब, आप मूल रूप से डेटाबेस को क्वेरी
  133. 12:18करने के संदर्भ में कह रहे हैं कि यह निष्पादित
  134. 12:25करता है।
  135. 12:27इसी तरह, इसलिए यदि वह निष्पादित हो
  136. 12:32जाएगा, तो तालिका स्वाभाविक रूप से
  137. 12:37बनाई गई है यदि आपने एक तालिका बनाई है
  138. 12:43तो प्राप्त करने के लिए कोई परिणाम
  139. 12:48नहीं है।
  140. 12:50अब, आप एक इन्सर्ट करते हैं।
  141. 12:54तो, फिर से यह विशेष रिकॉर्ड, आप देख सकते
  142. 13:01हैं कि इस दोहरे उद्धरण के भीतर, यह संपूर्ण
  143. 13:08सम्मिलित वाक्यविन्यास आप इसे एक स्ट्रिंग
  144. 13:12के रूप में लेते हैं और इसे एक पैरामीटर
  145. 13:19के रूप में निष्पादित करने के लिए देते
  146. 13:25हैं।
  147. 13:26तीसरे में, जो आप करते हैं वह एक सेलेक्ट
  148. 13:32कर रहे हैं।
  149. 13:34इसलिए, निश्चित रूप से हम उम्मीद करते
  150. 13:39हैं कि एक रिकॉर्ड वापस आएगा।
  151. 13:44तो, ये एसक्यूएल निष्पादन हैं और फिर आपका परिणाम
  152. 13:51वापस मिलता है।
  153. 13:53तो, कर्सर का एक और function है जिसे fetchone से
  154. 14:00जाता है।
  155. 14:02तो, यह क्या करेगा कि यदि आपके परिणाम
  156. 14:08तालिका में कई प्रविष्टियां हैं, तो कर्सर होगा
  157. 14:13यदि पहली पंक्ति से शुरू होगा और fetchrow
  158. 14:19पंक्ति वेक्टर के रूप में इस पहली पंक्ति
  159. 14:25की पूरी तरह लाएगा।
  160. 14:28तो, यह सभी घटकों को Python स्ट्रिंग के रूप
  161. 14:35में लाएगा।
  162. 14:37और फिर आप जांचते हैं कि यह खाली है
  163. 14:45या नहीं, अगर यह खाली है तो मेरा मतलब है
  164. 14:53कि वापस लाने के लिए कुछ भी नहीं है, तो
  165. 15:01आपका काम हो गया।
  166. 15:05तो, आप तोड़ देते हैं अन्यथा आप बस पंक्ति
  167. 15:12को प्रिंट करते हैं, इसलिए आप वहां प्रिंट
  168. 15:19कर रहे हैं।
  169. 15:22और फिर आप फिर से वापस जाते हैं जब तक true
  170. 15:31है।
  171. 15:32तो, क्या होता है कर्सर अगली पंक्ति के लिए
  172. 15:39आगे बढ़ेगा और आपको अगली पंक्ति मिलेगी।
  173. 15:45फिर से आप वही काम करते हैं जो वापस
  174. 15:53आता है, वही वापस आएगा, लेकिन एक बार जब आप
  175. 16:01एक खाली परिणाम प्राप्त करते हैं, तो आप जानते
  176. 16:09हैं कि आगे बढ़ने के लिए कुछ भी नहीं
  177. 16:16है और आप break करके बाहर आ जाते हैं।
  178. 16:24तो, यह वही है जो सचित्र है फिर कुछ और हैं
  179. 16:33जो इस विशेष रिकॉर्ड को हटा दिया गया है,
  180. 16:40फिर एक और रिकॉर्ड डाला जाता है।
  181. 16:46और दूसरा सेलेक्ट देने के लिए चुना
  182. 16:52है, आप हम इसे C और java पर जेडीबीसी का उपयोग
  183. 17:01करने के लिए असाइनमेंट भी कर सकते हैं।
  184. 17:08अब, मैं आ गया हूं मैं उसी बातचीत के
  185. 17:16मुद्दे पर वापस आऊंगा, लेकिन इस बार आप देख
  186. 17:24सकते हैं कि मैं एक अलग आरेख का उपयोग
  187. 17:32कर रहा हूं।
  188. 17:35डेटाबेस वही है; यह हिस्सा समान है; क्वेरी
  189. 17:42प्रोसेसिंग समान है, लेकिन कनेक्शन
  190. 17:46लाइब्रेरी होने के बजाय, अब मैंने स्वयं
  191. 17:53एसक्यूएल क्वेरी को मूल प्रोग्राम,
  192. 17:57C प्रोग्राम के एक भाग के रूप में रखा
  193. 18:05है।
  194. 18:06तो, इसे ही एम्बेडिंग कहा जाता है।
  195. 18:12तो, आप कहते हैं कि मैं एम्बेड करता
  196. 18:19हूं कि मैं C के हिस्से के रूप में एसक्यूएल
  197. 18:29को एम्बेड करने के लिए उपयोग किया जा
  198. 18:37सकता है।
  199. 18:40तो, यह एम्बेडेड कहा जाता है, यह C, C ++, Java,
  200. 18:50Fortran वगैरह के लिए काम करता है।
  201. 18:56और भाषा की मूल भाषा जिसमें आपके एम्बेडिंग
  202. 19:02को होस्ट भाषा के रूप में जाना जाता
  203. 19:09है।
  204. 19:10और इन भाषाओं का मूल रूप यह अनुमति देता
  205. 19:17है कि सिस्टम R से आए हैं।
  206. 19:23तो, जो महत्वपूर्ण है वह यह विशेष विवरण
  207. 19:30EXEC-एसक्यूएल के लिए अलग-अलग syntax हैं।
  208. 19:35तो, आपको EXEC-एसक्यूएल आधारित कनेक्शन के
  209. 19:40संदर्भ में इसी तरह की चीजों को देखा,
  210. 19:46इन तीन सूचनाओं को निर्दिष्ट करने की
  211. 19:52आवश्यकता है कि कौन सा डेटाबेस सर्वर
  212. 19:58है, कौन उपयोगकर्ता है, क्या पासवर्ड
  213. 20:03है।
  214. 20:04तो, यहाँ आप कहते हैं कि इस रूप में।
  215. 20:11और यह विशेष विवरण आप C Program के एक भाग के
  216. 20:20रूप में लिख सकते हैं।
  217. 20:24अब, स्वाभाविक रूप से यहां सवाल पहले
  218. 20:30के मामले में है जब हम कनेक्शन लाइब्रेरी
  219. 20:37का उपयोग कर रहे हैं, तो आपके परिणाम कर्सर
  220. 20:45के माध्यम से वापस आ गए हैं जो आप तब
  221. 20:53सौदा कर सकते हैं क्योंकि कर्सर आवश्यक
  222. 20:59रूप से आपकी मूल भाषा में ऑब्जेक्ट हैं।
  223. 21:06तो, Python में pyodbc लाइब्रेरी में कर्सर एक विशेष
  224. 21:13object था।
  225. 21:15लेकिन अब आपने अपने c प्रोग्राम के संदर्भ
  226. 21:21में एसक्यूएल से खुद को अलग करना होगा।
  227. 21:27तो, किसी भी मूल भाषा वैरिएबल जिसे एसक्यूएल
  228. 21:33स्टार्ट डिक्लेयर सेक्शन के रूप में
  229. 21:38लिख सकते हैं, और END घोषणा खंड यह वह जगह
  230. 21:46है जहाँ आप निर्दिष्ट करते हैं कि विभिन्न
  231. 21:52सी वैरिएबल C घोषणाएँ क्या हैं जिन्हें
  232. 21:58इस एसक्यूएल के लिए उपयोग करने की आवश्यकता
  233. 22:04है परिभाषा।
  234. 22:06मैं आपको जल्द ही एक उदाहरण दिखाऊंगा
  235. 22:11।
  236. 22:12ODBC शैली के समान, आपके पास एक कर्सर होगा।
  237. 22:18तो, यह एम्बेडेड एसक्यूएल में उपयोग कर सकते
  238. 22:23हैं।
  239. 22:24तो, चलिए इसे जारी रखते हैं।
  240. 22:29आइए हम अन्य विशेषताओं को देखें।
  241. 22:33आप एक बार जब आप एक क्वेरी सेट कर सकते
  242. 22:40हैं तो आप वास्तव में खुले कथन ओपन
  243. 22:46C, कर्सर।
  244. 22:47तो, उस क्वेरी को निष्पादित करेंगे जो आपने उस
  245. 22:54कर्सर के साथ जुड़ी है।
  246. 22:57और फिर एक बार जो किया गया है, तो आप एक-एक
  247. 23:05करके उस कर्सर में परिणाम ला सकते हैं;
  248. 23:11एक समय में एक टपल।
  249. 23:15एक बार जब पूरा काम हो जाएगा, फिर इसे
  250. 23:21बंद कर सकते हैं।
  251. 23:24तो, आइए एक उदाहरण देखें।
  252. 23:28यह एक ऐसा program है जो उपयोगकर्ता को एक
  253. 23:34आदेश संख्या , विक्रेता, आदेश की स्थिति को
  254. 23:39पुनः प्राप्त करेगा और यह प्रदर्शित
  255. 23:44करेगा कि पुनर्प्राप्त जानकारी के रूप में
  256. 23:49स्क्रीन पर।
  257. 23:50तो, यहाँ एक C program है।
  258. 23:54यह यहाँ पर main के साथ शुरू होता है।
  259. 24:01तो, आप देख सकते हैं कि यह कहता है कि EXEC-SQL
  260. 24:09INCLUDE SQLCA, SQLCA संचार क्षेत्र है।
  261. 24:13तो, वहाँ एक आदान-प्रदान C Program और एसक्यूएल
  262. 24:19क्वेरी में इस्तेमाल किया जा सकता है।
  263. 24:25इसलिए, मान को SQLCA में बदला जा सकता है, फिर
  264. 24:32अगले में आप यह निर्दिष्ट कर रहे हैं कि यदि
  265. 24:40आपके पास कोई त्रुटि है तो क्या होगा।
  266. 24:45इसलिए, आप कहते हैं कि एसक्यूएल को पढ़ता
  267. 24:51है, और पढ़ने के बाद आप यह कर रहे हैं।
  268. 24:58तो, यह क्या करता है, EXEC-SQL कहना है कि यह
  269. 25:05एम्बेडेड है; यह select क्वेरी शुरू होती
  270. 25:10है, फ़ील्ड, relation, condition।
  271. 25:14और फिर तीन विशेषताएँ हैं।
  272. 25:18तो, आप C प्रोग्राम में तीन वेरिएबल्स
  273. 25:24के साथ जुड़ाव स्थापित कर रहे हैं।
  274. 25:29इसलिए, यदि मैं चाहता हूं कि इस select query के
  275. 25:36परिणाम तीन attributes वाले तीन कॉलम की एक तालिका
  276. 25:40होगी, तो हम अपने C program के संदर्भ में
  277. 25:47इन तीन attributes में से प्रत्येक को एक नाम
  278. 25:55दे रहे हैं।
  279. 25:57तो, एक कस्ट आईडी है।
  280. 26:01और यह एक पत्राचार है।
  281. 26:05तो, अब, आप आसानी से देख सकते हैं कि एक
  282. 26:13बार यह हो जाने के बाद मैं इन सभी मूल्यों
  283. 26:22को यहाँ प्राप्त कर सकूँगा, आम तौर
  284. 26:27पर यह कार्यक्रम लंबा होगा कि आपको
  285. 26:33कर्सर पर पुनरावृति करना होगा जैसा कि
  286. 26:39आपने ओडीबीसी मामले में किया था।
  287. 26:44लेकिन इस मामले में चूंकि हम एक आदेश
  288. 26:50संख्या का उपयोग कर रहे हैं, हम जानते
  289. 26:57हैं कि केवल एक ही रिकॉर्ड होगा।
  290. 27:03इसलिए, हमने कर्सर पर पुनरावृत्ति नहीं
  291. 27:08दिखाई है।
  292. 27:09इसलिए, एक बार जब आप इसे प्राप्त कर लेते
  293. 27:17हैं, तो आप परिणाम का प्रिंट करने के
  294. 27:23लिए उन मूल्यों का उपयोग कर रहे हैं।
  295. 27:30और यदि यह क्वेरी एसक्यूएल काम करता
  296. 27:35है।
  297. 27:36तो, ये दो अलग-अलग शैलियाँ हैं ODBC शैली
  298. 27:42और एम्बेडिंग शैली दो अलग-अलग शैलियाँ
  299. 27:47हैं।
  300. 27:48यदि आपके पास यदि आपके द्वारा उपयोग
  301. 27:52की गई वरीयता के आधार पर आपके पास पहले
  302. 27:58के दिनों में लोग एम्बेडिंग का अधिक
  303. 28:03उपयोग करते थे, तो मेरा मानना ​​है
  304. 28:08कि अब ओडीबीसी प्रकार के कनेक्शन उन्मुख
  305. 28:13प्रणाली ODBC JDBC प्रकार के लिए प्राथमिकता
  306. 28:16अधिक है क्योंकि वे निश्चित रूप से
  307. 28:18अधिक प्रोग्रामर अनुकूल हैं।
  308. 28:20आप एम्बेडेड एसक्यूएल के माध्यम से भी अपडेट
  309. 28:22कर सकते हैं।
  310. 28:23इसलिए, मैं उन विवरणों के माध्यम से नहीं
  311. 28:26जाऊंगा जिन्हें आप केवल इसके माध्यम
  312. 28:28से जा सकते हैं और समझ सकते हैं।
  313. 28:30मुझे एसक्यूएल निर्माण है।
  314. 28:32अब आप फिर से ध्यान दें कि ये दो मॉडल
  315. 28:35हैं जो हमने पहले ही आपको दिखाए हैं।
  316. 28:37दो मॉडल जिनमें application program मूल language program और
  317. 28:42क्वेरी भाषा ODBC तंत्र और एंबेडेड तंत्र
  318. 28:45को इंटरैक्ट कर सकता है।
  319. 28:49लेकिन अब जो हम सशक्त हो रहे हैं उसका अब
  320. 28:55तक हमारा मूल आधार यही था कि यह एक प्रक्रियात्मक
  321. 29:02प्रक्रिया है जिसकी मैंने शुरुआत में
  322. 29:06ही चर्चा की थी।
  323. 29:08और यह पक्ष घोषणात्मक है।
  324. 29:11तो, एसक्यूएल में आप यह नहीं कहते हैं
  325. 29:17कि आप कैसे परिणाम का पता लगाते हैं,
  326. 29:22आप कहते हैं कि आप क्या चाहते हैं परिणाम
  327. 29:28के रूप में, ये अधिक पसंद हैं।
  328. 29:32और C program में, आप यह नहीं निर्दिष्ट कर
  329. 29:37सकते हैं कि आप क्या चाहते हैं परिणामस्वरूप
  330. 29:39आप यह कहेंगे कि चरण एक, चरण दो, चरण तीन
  331. 29:41और आपको यह परिणाम मिलेगा।
  332. 29:42इसलिए, C program फंक्शन्स का चयन किया था।
  333. 29:50अब, हम क्या कह रहे हैं कि एसक्यूएल
  334. 30:00और procedural विशेषताओं में एक त्वरित नज़र
  335. 30:06डालेंगे।
  336. 30:07तो, यह एसक्यूएल लिखे होते हैं।
  337. 30:12इसलिए, और कुछ निश्चित निर्माण सामने आए
  338. 30:18हैं।
  339. 30:19तो, कई डेटाबेस हैं उनके निर्माण है।
  340. 30:25इसलिए, यदि आप C, C++, Java से परिचित हैं,
  341. 30:32तो मेरा मतलब है कि यह सिंटैक्स अलग
  342. 30:39है, लेकिन तत्व समान हैं।
  343. 30:43स्कोप में एक शुरुआती अंत है।
  344. 30:48और यह शुद्ध एसक्यूएल में लिख सकते हैं।
  345. 30:55और एक बार जब आप उस फ़ंक्शन को लिख लेते
  346. 31:04हैं तो आप वास्तव में इसका उपयोग कर
  347. 31:11सकते हैं।
  348. 31:12इसलिए, यदि आप फ़ंक्शन को देखते हैं तो विभाग
  349. 31:20का नाम है, फिर अलग से मैं एक क्वेरी
  350. 31:28लिख रहा हूं, मैं इस विभाग का नाम फ़ंक्शन
  351. 31:35के रूप में उपयोग कर रहा हूं।
  352. 31:41इसलिए, जब भी मैं इस क्वेरी को निष्पादित
  353. 31:48करूंगा, इस फ़ंक्शन को कॉल किया जाएगा,
  354. 31:54और संबंधित मान वापस मिल जाएंगे।
  355. 31:59तो, यह बुनियादी तंत्र ठीक है।
  356. 32:04तो, इसलिए एसक्यूएल फ़ंक्शन में कई विवरण
  357. 32:10हैं जो आप इसके माध्यम से जा सकते हैं यह
  358. 32:19स्वाभाविक रूप से वापस आ गया है।
  359. 32:25और आपके पास टेबल फ़ंक्शन हो सकते
  360. 32:31हैं जहां यह टेबल वापस कर सकता है।
  361. 32:38इसलिए, सिंटैक्स को फिर से यह देखने
  362. 32:44के लिए स्पष्ट दिया जाता है कि यदि आप
  363. 32:51उस तालिका को लौटाते हैं जो फ़ंक्शन के
  364. 32:58भीतर आपके पास उस क्वेरी से गणना की
  365. 33:05जाती है जहां select from where होता है।
  366. 33:10मेरे पास एसक्यूएल हो सकते हैं।
  367. 33:11अब, कई भाषा निर्माण हैं जैसा कि मैंने
  368. 33:12उल्लेख किया कि एसक्यूएल दोहराए जाने की अनुमति
  369. 33:13देता है।
  370. 33:14इसलिए, मुझे लगता है कि मैं उन्हें
  371. 33:15पूर्णता के संदर्भ में कवर कर रहा हूं
  372. 33:16ऐसा नहीं है कि ये अक्सर उपयोग की जाने
  373. 33:17वाली विशेषताएं हैं या मैं अनुशंसा करता
  374. 33:18हूं कि आप उनमें से बहुत कुछ यहीं करते
  375. 33:19हैं।
  376. 33:20अगर तुम्हे जरुरत हो प्रक्रियात्मक
  377. 33:21काम करने के लिए हमेशा उन्हें बाहर करना
  378. 33:22बेहतर होता है, लेकिन कुछ मामलों में यह
  379. 33:23हो सकता है तो एक बार कोड लिखना आसान है
  380. 33:24अगर while loop उपयोग करे ,एक प्रकार का लूप
  381. 33:25दोहराएं।
  382. 33:26आप एक for लूप लिख सकते हैं जो एक तालिका
  383. 33:27के रिकॉर्ड पर पुनरावृत्त करता है जो निश्चित
  384. 33:28रूप से बहुत सुविधाजनक है।
  385. 33:29इसलिए, यदि आप एक तालिका के रिकॉर्ड पर कुछ
  386. 33:30करना चाहते हैं, तो कुछ ऐसा करें, जिसके
  387. 33:31लिए for लूप आसान हो जाए।
  388. 33:32आपके पास एक सशर्त बयान मुख्य रूप से
  389. 33:33एक घोषणात्मक भाषा बना रहा है, इसमें
  390. 33:34काफी प्रक्रियात्मक समर्थन है जो कि उचित
  391. 33:35समय में उपयोग किया जा सकता है की आवश्यकता
  392. 33:36है।
  393. 33:37तो, आप इसके लिए मैनुअल देख सकते हैं।
  394. 33:38और ऐसी बहुत सारी चीजें हैं जो आप बाहरी
  395. 33:39भाषा की दिनचर्या के साथ कर सकते हैं।
  396. 33:40यह C में एक फ़ंक्शन का उपयोग करता है।
  397. 33:41इसलिए, बाध्यकारी के बाहरी तरीके हैं,
  398. 33:42मैं इन स्लाइडों के माध्यम से गहराई
  399. 33:43से नहीं जाऊंगा, क्योंकि फिर से आपको एक निश्चित
  400. 33:44तरीके से आना होगा, इससे पहले कि आप वास्तव
  401. 33:45में ऐसी सुविधाओं का उपयोग करना शुरू
  402. 33:46कर सकें।
  403. 33:47लेकिन यह जान लें कि एसक्यूएल से हो
  404. 33:48सकता है आप किसी भी बाहरी language library का उपयोग
  405. 33:49कर सकते हैं; और यदि कुछ लाइब्रेरी कुछ
  406. 33:50संगणना के लिए अच्छी है जो आपकी क्वेरी
  407. 33:51के लिए आवश्यक है जो कि एक गैर डेटाबेस
  408. 33:52प्रकार की संगणना है तो आप इस बाहरी
  409. 33:53भाषा रूटीन का उपयोग कर सकते हैं।
  410. 33:54इसलिए, मैंने उन सभी बुनियादी विशेषताओं
  411. 33:55को एक साथ रखा है जिनकी बाहरी भाषा की रूटीन्स
  412. 33:56की आवश्यकता होगी।
  413. 33:57लेकिन फिर से मैं आपको बताऊंगा कि
  414. 33:58लाभ हैं, लेकिन उनका उपयोग करने में बहुत
  415. 33:59कमियां हैं।
  416. 34:00और मैं यह सलाह नहीं दूंगा कि आप अक्सर
  417. 34:01इन सुविधाओं का उपयोग करें।
  418. 34:02आपको मुख्य रूप से एसक्यूएल प्रोग्रामिंग
  419. 34:03के लिए प्रतिबंधित करना चाहिए, और फिर
  420. 34:04कुछ भी जो आपको देशी में करने की आवश्यकता
  421. 34:05है, आपको अपनी भाषा चुनने के लिए जाना
  422. 34:06चाहिए और ऐसा करना चाहिए।
  423. 34:07सुरक्षा के मुद्दे भी हैं जिन्हें आपको
  424. 34:08यहां समझने की आवश्यकता होगी।
  425. 34:09अंत में, इससे पहले कि हम बंद करें मैं
  426. 34:10सिर्फ ट्रिगर बहुत महत्वपूर्ण हैं।
  427. 34:11ट्रिगर एक ऐसा कथन है जो डेटाबेस में
  428. 34:12कुछ होने पर स्वचालित रूप से निष्पादित
  429. 34:13होता है।
  430. 34:14इसलिए, आप चाहते हैं कि अच्छी चीजें हो
  431. 34:15रही हैं।
  432. 34:16और अच्छी तरह से मैं जानना चाहता हूं
  433. 34:17कि क्या एक विशेष मूल्य एक निश्चित
  434. 34:18स्तर से अधिक हो गया है या यदि कुछ null हो
  435. 34:19गया है या कुछ हिंसक चीजें हो रही हैं
  436. 34:20और इसी तरह।
  437. 34:21तो, आप कैसे जानते हैं कि क्योंकि एक
  438. 34:22डेटाबेस सैकड़ों और हजारों लोगों
  439. 34:23और सैकड़ों टेबल और लाखों रिकॉर्ड
  440. 34:24के साथ एक्सेस किया जा रहा है।
  441. 34:25तो, ट्रिगर्स एक ऐसा तंत्र है जिसके द्वारा
  442. 34:26आप यह निर्धारित कर सकते हैं कि इस
  443. 34:27शर्त के तहत, मुझे एक ट्रिगर का एक अलग
  444. 34:28प्रारूप और शब्दार्थ हो सकता है, तो हम
  445. 34:29यहाँ क्या चर्चा कर रहे हैं।
  446. 34:30तो, सबसे आम ट्रिगरिंग घटनाएँ हैं- इन्सर्ट
  447. 34:31हो रही है।
  448. 34:32और एक नई पंक्ति है मानों का नया सेट
  449. 34:33जो बन रहा है।
  450. 34:34इसलिए, मैं पुरानी पंक्ति और नई पंक्ति
  451. 34:35के बीच चाहता हूं कि कुछ चीजें हो जाएं।
  452. 34:36इसलिए, मैं कह सकता हूं कि अच्छी तरह
  453. 34:37से इस पर गौर करें।
  454. 34:38तो, फिर से सभी syntax समान है।
  455. 34:39ट्रिगर होने जा रहा है वह एक शो है जो
  456. 34:40अब होना निश्चित ग्रेड है क्योंकि
  457. 34:41यह तय नहीं किया गया है।
  458. 34:42अब, आप नहीं चाहते कि वे रिक्त मान मौजूद
  459. 34:43हों।
  460. 34:44आप चाहते हैं कि ब्लैंक चेक नहीं किया जा
  461. 34:45सके, हमारे पास नल वगैरह के चेकर्स
  462. 34:46हैं।
  463. 34:47इसलिए, आप इसे null करना चाहते हैं।
  464. 34:48तो, ट्रिगर इस बात का कारण बन सकता है
  465. 34:49अन्यथा आपको कैसे पता चलेगा कि वास्तव
  466. 34:50में क्या मूल्य बदल रहा है।
  467. 34:51तो, कई तरीके हो सकते हैं ट्रिगर का उपयोग
  468. 34:52किया जा सकता है।
  469. 34:53उदाहरण के लिए, यह एक दिखा रहा है कि
  470. 34:54जैसे ही आप ग्रेड बदलते हैं तो निश्चित
  471. 34:59रूप से ग्रेड के आधार पर अर्जित मूल्य
  472. 35:05की गणना की जाती है।
  473. 35:09इसलिए, एक सबसे बड़ा परिवर्तन के रूप
  474. 35:14में अगर यह अब एक बार 200 छात्रों के लिए
  475. 35:22कहने के लिए ग्रेड दर्ज किया गया है।
  476. 35:29अब, समीक्षा के बाद उनमें से तीन के लिए
  477. 35:36ग्रेड बदल रहे हैं।
  478. 35:39तो, आप कैसे जानते हैं कि उन छात्रों
  479. 35:45के लिए, ग्रेड का परिवर्तन क्रेडिट की गणना
  480. 35:51को प्रभावित कर सकता है।
  481. 35:55तो, आप यह अपडेट होता है आप पुरानी और नई
  482. 36:03मान n पंक्ति और o पंक्ति लेते हैं, और फिर आप
  483. 36:10कुछ शर्तें रख रहे हैं कि यदि वह नई पंक्ति
  484. 36:16ग्रेड f है, और null नहीं है; पुरानी पंक्ति
  485. 36:20ग्रेड है या यह null नहीं है, तो आप ऐसा
  486. 36:21करने का प्रयास करते हैं।
  487. 36:22इसलिए, यदि यह विफलता थी, और यदि यह लगातार
  488. 36:23विफल रही है, तो नया ग्रेड एफ नहीं है;
  489. 36:24अगर यह f है तो आपको कुछ करने की जरूरत
  490. 36:25नहीं है; अगर यह null है तो इसे कुछ नहीं
  491. 36:26करना है।
  492. 36:27लेकिन अगर ऐसा है कि यह f था या यह null
  493. 36:28था, और अब यह एक अलग ग्रेड बन गया है, तो
  494. 36:29निश्चित रूप से अर्जित क्रेडिट को अपडेट
  495. 36:30आपको सही बिंदु देता है जब आप ऐसा कर सकते
  496. 36:33हैं क्योंकि अन्यथा आपको लाखों अपडेट
  497. 36:35के संदर्भ में पता नहीं चलेगा कि यह
  498. 36:37विशेष बात कब हो रही है।
  499. 36:39. ट्रिगर statements पर हो
  500. 36:40सकते हैं और साथ ही आप अपने पढ़ने के
  501. 36:42लिए छोड़ सकते हैं।
  502. 36:43लेकिन आपको सावधान रहना होगा कि ट्रिगर
  503. 36:45कर सकती हैं, उदाहरण के लिए अन्य माध्यमों
  504. 36:48से किया जा सकता है, भौतिकवादी, विचारों
  505. 36:50और इसी तरह से।
  506. 36:51इसलिए, जैसा कि हम साथ चलते हैं, हम यह
  507. 36:53उल्लेख करेंगे कि ये ऐसी समस्याएं
  508. 36:55हैं जिन्हें हल करने की आवश्यकता है जो
  509. 36:57ट्रिगर्स द्वारा हल की जानी चाहिए;
  510. 36:59अन्यथा आम तौर पर आपको एक ट्रिगर का
  511. 37:01उपयोग करने से पहले दो बार सोचना चाहिए।
  512. 37:03तो, एक ही समस्या को हल करने के अन्य तरीके
  513. 37:06हो सकते हैं।
  514. 37:07और क्योंकि आपको ध्यान रखना है कि
  515. 37:09ट्रिगर्स महंगे पढ़ सकते हैं हैं क्योंकि
  516. 37:11एक बार ट्रिगर्स और वास्तव में आंतरिक
  517. 37:13रूप से हर अपडेट के लिए डेटाबेस।
  518. 37:15यदि आपके पास एक field या एक रिलेशन सही
  519. 37:17है या नहीं और इसलिए, इसके लिए एक लागत
  520. 37:20है।
  521. 37:21दूसरी बात यह है कि ट्रिगर्स लाइव निष्पादन
  522. 37:22के लिए हैं।
  523. 37:23इसलिए, यदि आपके पास उदाहरण के लिए ऑफ़लाइन
  524. 37:26है, तो आप बैकअप प्रति से डेटा लोड कर रहे
  525. 37:28हैं या आप किसी दूरस्थ साइट पर अपने डेटाबेस
  526. 37:31की नकल कर रहे हैं और फिर आपको ट्रिगर
  527. 37:33निष्पादित करें और उन सभी को।
  528. 37:35इसलिए, संक्षेप में हमारे पास है और इस
  529. 37:37तरह की एसक्यूएल में लिख सकते हैं।
  530. 37:39और हमने केवल ट्रिगर्स की अवधारणा पेश की
  531. 37:42है, ताकि आप अपने डेटाबेस में जो चल रहा है,
  532. 37:44उसे पता कर सकें।
  533. 37:45तो, वहाँ एसक्यूएल पर हमारी चर्चा को
  534. 37:47बंद करता है । और आगे हम बीजगणित और मॉडलिंग
  535. 37:50में देख रहे डेटाबेस के डिजाइन पर आगे
  536. 37:52बढ़ेंगे।

About this transcript

This page contains the full transcript of Advanced SQL by Data Base Management System - IITKGP, generated from the public captions YouTube serves with the video. The transcript has 3,771 words across 536 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.