1 00:00:00,000 --> 00:00:02,405 >> [موسیقی بجانے] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 DAVID MALAN: ٹھیک ہے، اس CS50 ہے. 4 00:00:11,980 --> 00:00:13,740 اس ہفتے آٹھ کے آخر ہے. 5 00:00:13,740 --> 00:00:15,887 اور آج، ہم شروع کچھ ٹکڑوں میں کو بھرنے کے لئے 6 00:00:15,887 --> 00:00:17,720 اس عمارت کے لئے آتا ہے ویب پر چیزوں کو. 7 00:00:17,720 --> 00:00:20,020 تو، پیر کو یاد ہے کہ ہم نے ایک بہت زیادہ وقت خرچ 8 00:00:20,020 --> 00:00:22,530 پی ایچ پی، پر جو اس متحرک ہے پروگرامنگ زبان ہے کہ 9 00:00:22,530 --> 00:00:26,872 دوسرے کے درمیان، ہم پیداوار کی اجازت دیتا ہے چیزیں، ایچ ٹی ایم ایل اور دیگر اس طرح کے مواد 10 00:00:26,872 --> 00:00:27,830 ہم کو دیکھنے کے لئے چاہتے ہیں کریں گے کہ. 11 00:00:27,830 --> 00:00:30,871 لیکن ہم سچ میں کس طرح دیکھا نہیں ہے ہم کسی بھی معلومات کو ذخیرہ کرنے جا رہے ہیں. 12 00:00:30,871 --> 00:00:34,477 بے شک، تقریبا کسی بھی اس کی سپر تم نے آج کا دورہ دلچسپ ویب سائٹس 13 00:00:34,477 --> 00:00:36,560 ڈیٹا بیس کی کسی قسم کی ہے واپس اختتام پر، ٹھیک ہے؟ 14 00:00:36,560 --> 00:00:39,540 فیس بک یقینی طور پر اعداد و شمار کے بہت سے ذخیرہ کے بارے میں ہم سب اور Gmail کی دکانوں کے تمام 15 00:00:39,540 --> 00:00:40,210 آپ کی ای میلز کا. 16 00:00:40,210 --> 00:00:44,150 >> اور اس طرح، بہت سے دیگر سائٹوں صرف نہیں ہیں معلوماتی ہے کہ جامد مواد. 17 00:00:44,150 --> 00:00:45,640 یہ کسی طرح میں اصل میں متحرک ہے. 18 00:00:45,640 --> 00:00:48,480 آپ کو ان پٹ، اس اپ ڈیٹ فراہم دوسرے لوگوں کے لئے صفحات. 19 00:00:48,480 --> 00:00:50,620 آپ بھیجنے کے، پیغامات حاصل تو آگے پیغامات، اور. 20 00:00:50,620 --> 00:00:54,250 تو آج، ہم قریب سے دیکھو ایک منصوبے کی مضبوطی 21 00:00:54,250 --> 00:00:57,330 آپ کو اگلے میں کودو گے کہ ہفتے، CS50 خزانہ، جس 22 00:00:57,330 --> 00:01:00,509 اصل میں آپ کو تعمیر کی جا رہی ہے نہیں سی میں، لیکن پی ایچ پی میں کچھ. 23 00:01:00,509 --> 00:01:02,550 ایک لگتا ہے کہ ایک ویب سائٹ اس طرح کچھ 24 00:01:02,550 --> 00:01:05,810 کہ خرید و فروخت کرنے کی اجازت دیتا اصل میں ہیں کہ اسٹاک 25 00:01:05,810 --> 00:01:09,044 حقیقی وقت صلی اللہ علیہ وسلم اپنی طرف متوجہ کرنے کے لئے جا یاہو خزانہ سے اسٹاک اعداد و شمار. 26 00:01:09,044 --> 00:01:11,960 اور اس طرح بالآخر، آپ کو پڑے گا خود کے لئے اور صارفین کے لئے برم 27 00:01:11,960 --> 00:01:14,550 آپ اصل میں خرید و فروخت کر رہے ہیں کہ اسٹاک اور تقریبا حقیقی وقت ہو رہی ہے 28 00:01:14,550 --> 00:01:16,800 اپ ڈیٹس، کے انتظام کے ایک پورٹ فولیو، جن میں سے سب 29 00:01:16,800 --> 00:01:20,310 رکھنے کی ضرورت کرنے جا رہا ہے، بالآخر، صارفین کی ایک ڈیٹا بیس. 30 00:01:20,310 --> 00:01:23,330 >> تو، آپ کے اپنے الفاظ میں، تم نہیں ہو خاص طور پر اگر 31 00:01:23,330 --> 00:01:25,670 کمپیوٹر کے ساتھ سپر واقف سائنس یا ڈیٹا بیس، کیا 32 00:01:25,670 --> 00:01:30,790 آپ کو ایک ڈیٹا بیس جانتے ہونا اب، nontechnical لحاظ سے؟ 33 00:01:30,790 --> 00:01:32,300 یہ کیا ہے؟ 34 00:01:32,300 --> 00:01:36,882 آپ کو اس کی وضاحت کیسے کریں ایک روممیٹ یا ایک دوست کے لئے کس طرح؟ 35 00:01:36,882 --> 00:01:40,100 >> سامعین: [اشراوی] معلومات [اشراوی] 36 00:01:40,100 --> 00:01:44,430 >> DAVID MALAN: تو، معلومات کی ایک فہرست، یا معلومات کی ایک فہرست store-- 37 00:01:44,430 --> 00:01:47,160 آپ کو محفوظ کرنے کے لئے چاہتے ہو سکتا ہے ایک صارف کی طرح کچھ کے بارے میں. 38 00:01:47,160 --> 00:01:50,190 اور صارفین ہے کیا ان کے ساتھ منسلک؟ 39 00:01:50,190 --> 00:01:53,160 اگر آپ فیس بک یا ایک صارف ہیں جی میل، خصوصیات کیا ہیں 40 00:01:53,160 --> 00:01:54,940 کہ ہم میں سے تمام صارفین ہے؟ 41 00:01:54,940 --> 00:01:58,530 کی طرح، جو کچھ ہو سکتا ہے سپریڈ شیٹ میں کالم میں جسے ہم 42 00:01:58,530 --> 00:01:59,390 آخری بار اشارہ؟ 43 00:01:59,390 --> 00:02:01,140 ایک بار پھر، آپ کر سکتے ہیں کی وجہ سے ایک ڈیٹا بیس کے بارے میں سوچنا 44 00:02:01,140 --> 00:02:05,810 واقعی ایک فینسی ایکسل فائل یا گوگل کے طور پر سپریڈ شیٹ یا ایپل نمبر فائل. 45 00:02:05,810 --> 00:02:08,280 >> تو، آپ کے بارے میں کیا سوچتے ہیں آپ کو ایک صارف کے بارے میں سوچنا ہے؟ 46 00:02:08,280 --> 00:02:11,290 وہ کیا ہے؟ 47 00:02:11,290 --> 00:02:11,790 وہ کیا ہے؟ 48 00:02:11,790 --> 00:02:12,470 >> سامعین: ایک نام. 49 00:02:12,470 --> 00:02:13,303 >> DAVID MALAN: ایک نام. 50 00:02:13,303 --> 00:02:16,840 اگر ایسا ہے تو نام، طرح، ڈیوڈ Malan کچھ صارف کا نام ہو گا. 51 00:02:16,840 --> 00:02:17,980 ایک صارف اور کیا ہے؟ 52 00:02:17,980 --> 00:02:18,770 >> سامعین: ایک شناختی. 53 00:02:18,770 --> 00:02:19,561 >> DAVID MALAN: ایک شناختی. 54 00:02:19,561 --> 00:02:23,320 لہذا، آپ کی ہارورڈ طرح ایک شناختی نمبر، طرح ID یا آپ ییل نیٹ ID یا کی طرح. 55 00:02:23,320 --> 00:02:24,923 ایک صارف اور کیا ہو سکتا ہے؟ 56 00:02:24,923 --> 00:02:25,890 >> سامعین: پاس ورڈ. 57 00:02:25,890 --> 00:02:29,240 >> DAVID MALAN: شاید ایک ایک پاس ورڈ، پتہ، شاید ایک فون نمبر، شاید 58 00:02:29,240 --> 00:02:30,050 ایک ای میل ایڈریس. 59 00:02:30,050 --> 00:02:32,640 تو، کھیتوں اور اس کے bunches ہے قسم کے کنٹرول سے باہر سرپل سکتا 60 00:02:32,640 --> 00:02:34,760 فوری طور پر کے طور پر جلد ہی آپ کو شروع کرنے کے طور پر اوہ، یہ سٹور دو، احساس 61 00:02:34,760 --> 00:02:36,190 اور ہم اس کو اور اس کی دکان. 62 00:02:36,190 --> 00:02:37,657 >> لیکن ہم کس طرح اصل میں اس کروں؟ 63 00:02:37,657 --> 00:02:39,740 تو ایک بار پھر، ذہنی ماڈل آج کے لئے ہے کے طور پر ہم نے 64 00:02:39,740 --> 00:02:42,320 اصل SQL میں کودو، ساخت طلب زبان، 65 00:02:42,320 --> 00:02:44,186 اس طرح لگتا ہے کہ ایک ڈیٹا بیس ہے. 66 00:02:44,186 --> 00:02:45,310 یہ صرف قطار اور کالم ہے. 67 00:02:45,310 --> 00:02:48,309 اور آپ کو گوگل سپریڈ شیٹ تصور کر سکتے ہیں یا دیگر پروگراموں کی کسی بھی تعداد. 68 00:02:48,309 --> 00:02:52,130 لیکن ہے جو ایس کیو ایل، کے بارے میں اہم کیا ہے ڈاٹا بیس سوفٹ ویئر ہم استعمال کرتے ہیں کے لئے جا رہے، 69 00:02:52,130 --> 00:02:54,920 آزادانہ طور پر کھل کر فیس بک استعمال available-- 70 00:02:54,920 --> 00:02:59,200 یہ اور دیگر websites-- کی کسی بھی تعداد ڈیٹا بیس relationally چیزیں ذخیرہ. 71 00:02:59,200 --> 00:03:01,770 اور ایک سنبندپرک ڈیٹا بیس صرف یہ ہے کہ لفظی ایک مطلب 72 00:03:01,770 --> 00:03:03,672 قطار اور کالم میں اس کے ڈیٹا ذخیرہ. 73 00:03:03,672 --> 00:03:04,630 یہ کہ کے طور پر آسان ہے. 74 00:03:04,630 --> 00:03:07,230 >> تو، اوریکل کی طرح کچھ بھی ہے کہ آپ عام طور پر کے بارے میں سنا ہے ہو سکتا ہے 75 00:03:07,230 --> 00:03:08,271 ایک سنبندپرک ڈیٹا بیس ہے. 76 00:03:08,271 --> 00:03:10,929 اور ہڈ کے نیچے، یہ قطار اور کالم میں اسٹورز ڈیٹا. 77 00:03:10,929 --> 00:03:12,970 اور اوریکل آپ کو ایک الزام پیسے کی بہت ہے کہ ایسا کرنے، 78 00:03:12,970 --> 00:03:15,550 ایس کیو ایل کے الزامات جبکہ اسی کے لئے آپ کو کچھ نہیں. 79 00:03:15,550 --> 00:03:18,790 تو، SQL ہمیں دینے کے لئے کی جا رہی ہے کم از کم چار آپریشن. 80 00:03:18,790 --> 00:03:23,190 پڑھنے کی طرح، ڈیٹا کو منتخب کرنے کی صلاحیت ڈیٹا، داخل کریں، خارج کر دیں، اور اپ ڈیٹ ڈیٹا. 81 00:03:23,190 --> 00:03:25,525 دوسرے الفاظ میں، ان لوگوں کے ہیں واقعی چار اہم آپریشن 82 00:03:25,525 --> 00:03:28,950 کہ ہمیں تبدیل کرنے کی اجازت دینے جا رہے ہیں ان قطاروں اور کالموں میں چیزیں. 83 00:03:28,950 --> 00:03:33,250 >> ہم خاص طور پر آج استعمال کریں گے اس آلے ایس کیو ایل کو جاننے کے لئے اور اس کے ساتھ کھیلنے کے لئے 84 00:03:33,250 --> 00:03:34,627 ایک بار پھر پی ایچ پی MyAdmin کہا جاتا ہے. 85 00:03:34,627 --> 00:03:35,460 یہ ویب کی بنیاد پر آلہ ہے. 86 00:03:35,460 --> 00:03:38,200 کل اتفاق ہے کہ یہ پی ایچ پی میں لکھا ہے. 87 00:03:38,200 --> 00:03:42,400 لیکن یہ ہمارے ایک گرافیکل دینے جا رہا ہے یوزر انٹرفیس ہم اصل میں کر سکتے ہیں تاکہ 88 00:03:42,400 --> 00:03:46,054 ان قطاروں اور کالم بنانے اور پھر کوڈ کے ذریعے ان سے بات. 89 00:03:46,054 --> 00:03:47,970 تو، اب کرنا شروع کر دیں کیا مجھے لگتا ہے کہ واضح ہے 90 00:03:47,970 --> 00:03:51,000 کا مذاق کے عمل کی قسم ویب سائٹ کے پیچھے آخر تعمیر، 91 00:03:51,000 --> 00:03:54,580 صارفین نہیں ہے کہ حصوں دیکھیں، لیکن یقینا بارے میں دیکھ بھال کرتے ہیں، 92 00:03:54,580 --> 00:03:56,170 کہ ہے کیونکہ ڈیٹا کی جا بجائے. 93 00:03:56,170 --> 00:03:59,570 C اور ایک کے لئے اتنا، اسی طرح کم پی ایچ پی کی طرح تھوڑا سا، 94 00:03:59,570 --> 00:04:04,954 ایس کیو ایل، یا حمایت کرتا ہے کہ ایک ڈیٹا بیس ایس کیو ایل، کم از کم ان اعداد و شمار اقسام 95 00:04:04,954 --> 00:04:05,870 اور دوسروں کے bunches. 96 00:04:05,870 --> 00:04:08,107 چار، varchar کے، INT، BIGINT، دشملو، اور تریخ ویلہ. 97 00:04:08,107 --> 00:04:09,940 اور ایک پوری ہے دیگر خصوصیات میں سے گروپ، 98 00:04:09,940 --> 00:04:11,940 لیکن کی طرف سے ایسا کرنے دو اصل مثال کے طور پر. 99 00:04:11,940 --> 00:04:16,450 >> میں CS50 IDE میں جانے کے لئے جا رہا ہوں جہاں، پیشگی، میں لاگ ان 100 00:04:16,450 --> 00:04:19,372 اور میں نے بھی کے لئے ایک یو آر ایل کا دورہ کیا ہے پی ایچ پی کی MyAdmin نامی یہ آلہ. 101 00:04:19,372 --> 00:04:22,580 اور مسئلہ سات سیٹ میں، ہم کو بتا دونگا آپ کس طرح اس انٹرفیس حاصل کرنے کے لئے 102 00:04:22,580 --> 00:04:23,200 اس کے ساتھ ساتھ. 103 00:04:23,200 --> 00:04:25,640 سب سے اوپر بائیں کونے پر، نوٹس اس لیکچر کا کہنا ہے کہ. 104 00:04:25,640 --> 00:04:27,610 اور یہ صرف کا مطلب ہے کہ پیشگی، میں پیدا 105 00:04:27,610 --> 00:04:31,360 ایک خالی ڈیٹا بیس نامی لیکچر کہ ابھی تک اس میں کوئی سپریڈ شیٹ ہے. 106 00:04:31,360 --> 00:04:32,600 کوئی قطار اور کالم ہے. 107 00:04:32,600 --> 00:04:34,308 پہلی بار بات ہم کیا کرنے جا رہے ہیں 108 00:04:34,308 --> 00:04:37,100 ایک ٹیبل بنانے کے لئے شروع کر رہا ہے کہ ہمارے صارفین کو ذخیرہ کرنے جا رہا ہے. 109 00:04:37,100 --> 00:04:39,100 >> تو، لفظی زیادہ یہاں دائیں، ہوں 110 00:04:39,100 --> 00:04:42,070 ڈیٹا بیس کو بتانے جا رہا میں ایک میز صارفین کہا جاتا چاہتے. 111 00:04:42,070 --> 00:04:44,845 لہذا، اس فائل کی طرح ہے کہ میں میں میرے اعداد و شمار کے تمام محفوظ کرنا چاہتے ہیں. 112 00:04:44,845 --> 00:04:45,720 اور کس طرح بہت سے کالم؟ 113 00:04:45,720 --> 00:04:47,740 ٹھیک ہے، اب کے لئے یہ آسان رکھنے کے لئے دو. 114 00:04:47,740 --> 00:04:51,855 میں صرف ایک طرح محفوظ کرنا چاہتے ہیں صارف کا نام اور ایک صارف کے لئے ایک نام. 115 00:04:51,855 --> 00:04:53,020 ہم چھوٹے شروع کر دیں گے. 116 00:04:53,020 --> 00:04:55,370 لہذا، میں نے دو کالم کل چاہتے ہیں. 117 00:04:55,370 --> 00:04:57,360 اور میں آگے بڑھو اور چلیں کو کلک کرنے کے لئے جا رہا ہوں. 118 00:04:57,360 --> 00:04:59,210 اور پھر، کے لئے ان کالم، میں کیا جا رہا ہوں 119 00:04:59,210 --> 00:05:04,576 یہ انٹرنیٹ تو do-- سے ، ٹھیک cooperates-- 120 00:05:04,576 --> 00:05:05,950 ہم ایک بار پھر اس کی کوشش کرنے جا رہے ہیں. 121 00:05:05,950 --> 00:05:09,180 میں نامی ایک ٹیبل بنانے کے لئے جا رہا ہوں دو کالم کے ساتھ صارفین کو ٹھیک، چلیں کو کلک کریں. 122 00:05:09,180 --> 00:05:10,520 اب ہم یہ واقعی بہت تیزی سے مل گیا ہے. 123 00:05:10,520 --> 00:05:12,065 بہت اچھا کام کیا، آپ کا شکریہ. 124 00:05:12,065 --> 00:05:14,440 ٹھیک ہے، تو ہم کیا چاہتے ہو ان کالموں کہا جا کرنے کے لئے؟ 125 00:05:14,440 --> 00:05:16,080 >> لہذا، ایک صارف نام بلایا جا رہا ہے. 126 00:05:16,080 --> 00:05:19,480 یہاں اور انٹرفیس تو، تمام میں دیکھ واضح طور سے، آخر میں تھوڑا بدسورت ہو جاتا ہے 127 00:05:19,480 --> 00:05:21,270 آپ کو ایک بار یہ سب اعداد و شمار میں ٹائپ کرنا شروع کریں. 128 00:05:21,270 --> 00:05:27,450 لیکن کیا اچھا ہے اس طرح ہے وڈمبنا، میں کالم پیدا کر رہا ہوں، 129 00:05:27,450 --> 00:05:29,977 لیکن آلے حماقت ہے قطار میں باہر رکھی ان 130 00:05:29,977 --> 00:05:31,560 تاکہ میں ان کالموں ترتیب دے سکتے ہیں. 131 00:05:31,560 --> 00:05:33,550 لہذا، نام کے تحت دو خالی وہاں ہے. 132 00:05:33,550 --> 00:05:36,180 اور ان شعبوں میں سے ایک میں صارف کا نام کہا جاتا کرنا چاہتے ہیں، 133 00:05:36,180 --> 00:05:38,000 اور دوسرے میدان میں نام کو فون کرنا چاہتے. 134 00:05:38,000 --> 00:05:40,340 >> اور اب میں منتخب کرنے کے لئے ہے ان چیزوں کے لئے اعداد و شمار اقسام. 135 00:05:40,340 --> 00:05:42,330 تو، ایکسل میں جبکہ اور گوگل سپریڈ شیٹ، 136 00:05:42,330 --> 00:05:45,531 آپ کو ایک کالم چاہتے ہیں تو، آپ لفظی صرف نام یا اسم صارف ٹائپ، درج کریں مارا. 137 00:05:45,531 --> 00:05:48,030 شاید آپ کو اس کے جرات مندانہ چہرے صرف وضاحت کے لئے، لیکن یہ بات ہے. 138 00:05:48,030 --> 00:05:50,140 آپ کی وضاحت نہیں کرتے کالم کی اقسام. 139 00:05:50,140 --> 00:05:53,790 اب گوگل سپریڈ شیٹ یا ایکسل آپ میں ڈیٹا مہیا کیا جاتا ہے کہ کس طرح کی وضاحت ہو سکتا ہے. 140 00:05:53,790 --> 00:05:58,120 آپ کی شکل مینو میں جانا، اور آپ کر سکتے ہیں اس طرح ڈالر کا نشان ظاہر کی وضاحت کر سکتے، 141 00:05:58,120 --> 00:05:59,900 چل نقاط قدر کی طرح یہ ظاہر. 142 00:05:59,900 --> 00:06:01,990 >> لہذا، یہ روح میں اسی طرح کی ہے ہم ایسا کرنے کے بارے میں کیا کر رہے ہیں کہ، 143 00:06:01,990 --> 00:06:04,740 لیکن یہ اصل میں کرنے پر مجبور کرنے کی جا رہی ہے اعداد و شمار ایک خاص قسم ہونا. 144 00:06:04,740 --> 00:06:07,750 اب، یہاں تک کہ ایک لمحے پہلے اگرچہ میں ، صرف چند اعداد و شمار اقسام موجود ہے کہا 145 00:06:07,750 --> 00:06:11,120 اصل میں وہاں ایک پوری بہت، اور وہ کر رہے ہیں 146 00:06:11,120 --> 00:06:12,910 وضاحتی کے مختلف ڈگری میں. 147 00:06:12,910 --> 00:06:14,970 اور ایک ایک طرف کے طور پر، آپ بھی پسند چیزیں کر سکتے ہیں 148 00:06:14,970 --> 00:06:17,520 سٹوریج گیومیٹریس طرح ایک ڈیٹا بیس کے اندر. 149 00:06:17,520 --> 00:06:19,250 تم چیزوں کو محفوظ کر سکتے ہیں GPS کے نقاط کی طرح 150 00:06:19,250 --> 00:06:22,420 اور اصل میں، ریاضی، مل دوسروں کے قریب ہیں کہ پوائنٹس. 151 00:06:22,420 --> 00:06:24,128 لیکن ہم کرنے جا رہے ہیں اس سپر سادہ رکھیں 152 00:06:24,128 --> 00:06:26,800 اور، یہاں کے تمام جانا نام نہاد سٹرنگ اقسام. 153 00:06:26,800 --> 00:06:29,240 >> تو، یہاں ایک کی ایک فہرست ہے اختیارات کے پورے گچرچھی. 154 00:06:29,240 --> 00:06:32,740 چار، varchar کے، TINYTEXT، MEDIUMTEXT، LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 اور یہ حد سے زیادہ کی طرح ہے. 156 00:06:34,110 --> 00:06:37,610 اور بدقسمتی سے، کسی حد تک وڈمبنا C کرنے کے لئے، 157 00:06:37,610 --> 00:06:40,120 ایک چار واقعی ایک چار نہیں ہے. 158 00:06:40,120 --> 00:06:44,170 آپ کو ایک ڈیٹا بیس میں وضاحت تو آپ کے ڈیٹا کی قسم چار ہے، 159 00:06:44,170 --> 00:06:47,390 کہ جی ہاں، یہ ایک کا مطلب ہے کہ چار، لیکن یہ ایک یا اس سے زیادہ حروف ہے. 160 00:06:47,390 --> 00:06:49,630 اور آپ کو وضاحت کرنا پڑے کتنے حروف آپ چاہتے ہیں. 161 00:06:49,630 --> 00:06:51,636 تو، کیا ایک عام ہے ایک صارف نام کے لئے لمبائی؟ 162 00:06:51,636 --> 00:06:52,760 ایک حد وہاں عام طور پر ہے؟ 163 00:06:52,760 --> 00:06:53,920 >> سامعین: [اشراوی] 164 00:06:53,920 --> 00:06:55,050 >> DAVID MALAN: 16 شاید؟ 165 00:06:55,050 --> 00:06:55,990 کچھ اس طرح. 166 00:06:55,990 --> 00:06:57,948 تم میں واپس، جانتے ہیں دن، یہ آٹھ ہو جائے کرنے کے لئے استعمال. 167 00:06:57,948 --> 00:07:00,289 کبھی کبھی یہ 16 کبھی کبھی، ہے یہ اس سے بھی زیادہ ہے. 168 00:07:00,289 --> 00:07:02,080 اور اس طرح، یہ نہیں کرتا مجھے ایک چار دینے کا مطلب. 169 00:07:02,080 --> 00:07:04,730 یہ وضاحت کرنے کے لئے ہے کا مطلب ہے میدان کی لمبائی، 170 00:07:04,730 --> 00:07:07,402 اور اب میں 16 کی طرح کچھ کہہ سکتا ہے. 171 00:07:07,402 --> 00:07:08,610 اور یہاں سے ایک تجارتی ہے. 172 00:07:08,610 --> 00:07:11,360 لہذا، ہم ایک لمحے میں نظر آئے گا یہ ایک کا مطلب ہے کہ، 173 00:07:11,360 --> 00:07:14,620 ہر صارف نام 16 حروف کا ہونا ضروری ہے. 174 00:07:14,620 --> 00:07:18,720 لیکن ایک منٹ، ایم-اے-ایل-اے-این انتظار. ہے تو اپنے صارف کا نام اور میں نے صرف پانچ استعمال کر رہا ہوں، 175 00:07:18,720 --> 00:07:23,070 آپ کے ڈیٹا بیس ہے کہ کیا تجویز کریں گے دیگر 11 حروف کے لئے کرنا ہے کہ 176 00:07:23,070 --> 00:07:24,471 میں کے لئے جگہ مخصوص ہے؟ 177 00:07:24,471 --> 00:07:25,220 آپ کیا کریں گے؟ 178 00:07:25,220 --> 00:07:26,480 >> سامعین: [اشراوی] 179 00:07:26,480 --> 00:07:27,160 >> DAVID MALAN: جی ہاں، صرف ان سب کو شہوت انگیز null بنانے. 180 00:07:27,160 --> 00:07:28,290 ان خالی جگہوں بنائیں. 181 00:07:28,290 --> 00:07:30,816 لیکن شاید، شہوت انگیز null، تو ایک الٹا سلیش zeros کی بہت. 182 00:07:30,816 --> 00:07:33,190 لہذا، ایک طرف، ہم نے اب اپنے صارف کا نام بات کو یقینی بنایا 183 00:07:33,190 --> 00:07:34,780 16 حروف سے زیادہ نہیں ہو سکتا. 184 00:07:34,780 --> 00:07:37,590 اس کا دوسرا پہلو ہے کہ میں نے ایک بہت طویل نام تھا تو 185 00:07:37,590 --> 00:07:39,940 یا واقعی ایک طویل چاہتا تھا تم میں سے بعض کی طرح صارف کا نام 186 00:07:39,940 --> 00:07:44,840 لوگ اس کالج میں ہو سکتا ہے یا Yale.edu میں، آپ کو ایک نہیں کر سکتے ہیں. 187 00:07:44,840 --> 00:07:47,177 اور اس حقیقت میں، آپ نے تو کبھی ایک ویب سائٹ کے لئے رجسٹر 188 00:07:47,177 --> 00:07:49,385 اور تم کہہ رہے ہو پر چللایا آپ اپنا پاس ورڈ بہت طویل ہے 189 00:07:49,385 --> 00:07:52,710 یا اپنا اسم رکنیت یہ ہے، بہت طویل ہے صرف ایک پروگرامر، کیونکہ جب 190 00:07:52,710 --> 00:07:55,500 اس کا یا اس کے ڈیٹا بیس کی تشکیل، فیصلہ اس میدان گے 191 00:07:55,500 --> 00:07:57,150 اب کوئی اس کی لمبائی سے زیادہ ہو جائے. 192 00:07:57,150 --> 00:08:00,580 >> ٹھیک ہے، تو کیا ہوا اگر ہم نام کے لئے آگے بڑھنے؟ 193 00:08:00,580 --> 00:08:05,240 کتنی دیر تک چاہئے عام انسانی کا نام ہو سکتا ہے؟ 194 00:08:05,240 --> 00:08:07,492 کتنے حروف، 16؟ 195 00:08:07,492 --> 00:08:09,450 میں ہم کر سکتے اندازہ لگا رہا ہوں اس کمرے میں کسی کو تلاش 196 00:08:09,450 --> 00:08:13,210 جہاں گزشتہ اس کا یا اس کی پہلی Plus کی طرف سے نام 16 حروف سے زیادہ ہے. 197 00:08:13,210 --> 00:08:14,850 تو،، 17 اس سے بہتر کیا ہے؟ 198 00:08:14,850 --> 00:08:17,040 18؟ 199 00:08:17,040 --> 00:08:18,830 25؟ 200 00:08:18,830 --> 00:08:20,350 بڑا؟ 201 00:08:20,350 --> 00:08:20,980 30؟ 202 00:08:20,980 --> 00:08:21,855 >> سامعین: [اشراوی] 203 00:08:21,855 --> 00:08:23,700 DAVID MALAN: 5،000، اوہ میرے خدا. 204 00:08:23,700 --> 00:08:26,309 تو، کہ شاید ایک مہذب ہے اوپری، پابند کرے ہم کہتے ہیں. 205 00:08:26,309 --> 00:08:28,350 اور یہاں ہم اس قسم کی ہے ایک فیصلے کال کرنے کے لئے. 206 00:08:28,350 --> 00:08:30,400 کی طرح، یہاں کوئی درست جواب ہے. 207 00:08:30,400 --> 00:08:32,740 لامحدود، بالکل ممکن نہیں ہے ہم آخر میں ہیں کیونکہ 208 00:08:32,740 --> 00:08:34,781 ہم ہیں have-- کرنے کے لئے جا میموری سے باہر چلانے کے لئے جا. 209 00:08:34,781 --> 00:08:36,909 تو، ہم نے ایک بنانے کے لئے ہے کچھ نقطہ پر فیصلے کال. 210 00:08:36,909 --> 00:08:41,010 >> ہو جائے گا بہت عام، مثال کے طور پر، use-- اور مجھے یہاں چار کی وضاحت کرنے کی اجازت دینا 211 00:08:41,010 --> 00:08:46,050 کے طور پر سے پہلے 255 لفظی تھا اس ڈیٹا بیس سافٹ ویئر پر اوپری کی حد 212 00:08:46,050 --> 00:08:46,700 کئی برس قبل. 213 00:08:46,700 --> 00:08:48,575 اور انسانوں کی تو، ایک بہت بس ٹھیک، کہیں گے. 214 00:08:48,575 --> 00:08:49,420 255 کی حد ہے. 215 00:08:49,420 --> 00:08:50,620 صرف زیادہ سے زیادہ استعمال کرتے ہیں. 216 00:08:50,620 --> 00:08:51,870 اور اس خوبصورت مضحکہ خیز ہے. 217 00:08:51,870 --> 00:08:55,060 کی طرح، آپ کسی کے ٹائپ کر رہے ہیں تو 200 کے علاوہ حروف کا نام، 218 00:08:55,060 --> 00:08:56,140 ایک چھوٹا سا مضحکہ خیز ہے. 219 00:08:56,140 --> 00:08:59,624 >> لیکن، ASCII نہیں ہے یاد رکھیں کہ حروف کے لئے صرف نظام. 220 00:08:59,624 --> 00:09:01,540 اور اس طرح، خاص طور پر میں ایک ایشیائی زبانوں میں سے بہت 221 00:09:01,540 --> 00:09:04,248 حروف موجود ہے جہاں ہم نہیں کر سکتے میرے امریکہ جیسے بورڈ پر اظہار 222 00:09:04,248 --> 00:09:08,209 کی بورڈ، اصل میں کچھ حروف 16 بٹس کی بجائے آٹھ بٹیں لے. 223 00:09:08,209 --> 00:09:10,250 اور اس طرح، یہ اصل میں تمام ہے کہ غلط نہیں ہے 224 00:09:10,250 --> 00:09:12,250 ہم زیادہ سے زیادہ کی ضرورت ہے خلائی ہم فٹ ہونے کے لئے چاہتے ہیں تو 225 00:09:12,250 --> 00:09:16,252 بہت امریکہ کے مقابلے میں بڑے حروف مرکوز ہیں ہم کے بارے میں بات کرنے کے لئے تھے ہے. 226 00:09:16,252 --> 00:09:17,460 لہذا، ہم نے کچھ اوپری پابند ضرورت ہے. 227 00:09:17,460 --> 00:09:21,470 میں سب سے بہتر میں سے ایک ہے کیا نہیں جانتے لیکن 255 عام طور پر ایک عام سے ایک ہے. 228 00:09:21,470 --> 00:09:22,700 25 کم محسوس ہوتا ہے. 229 00:09:22,700 --> 00:09:23,857 16، 32 کم محسوس. 230 00:09:23,857 --> 00:09:25,690 میں نے پارٹی کی غلطی کریں گے زیادہ کچھ کے. 231 00:09:25,690 --> 00:09:27,330 لیکن ایک تجارتی طور پر ہمیشہ، بند ہے. 232 00:09:27,330 --> 00:09:31,902 ، شاید، واضح کیا ہے 255 حروف مخصوص دور تجارت 233 00:09:31,902 --> 00:09:33,360 اپنے ڈیٹا بیس میں ہر کسی کے نام کے لئے؟ 234 00:09:33,360 --> 00:09:34,230 >> سامعین: [اشراوی] 235 00:09:34,230 --> 00:09:34,510 >> DAVID MALAN: یہ کیا ہے؟ 236 00:09:34,510 --> 00:09:35,430 >> سامعین: [اشراوی] 237 00:09:35,430 --> 00:09:37,138 >> DAVID MALAN: یہ ایک ہے میموری کی بہت، ہے نا؟ 238 00:09:37,138 --> 00:09:42,280 ایم-اے-ایل-اے-این. میں صرف 250 برباد کیا حروف صرف میرا نام ذخیرہ کرنے کے لئے 239 00:09:42,280 --> 00:09:46,000 دفاع، صرف اس صورت میں کسی کلاس میں ایک بہت طویل نام ہے. 240 00:09:46,000 --> 00:09:47,940 یہ ایک بے جا tradeoff کے کی طرح لگتا ہے. 241 00:09:47,940 --> 00:09:52,040 >> لہذا، یہ، کہ ایس کیو ایل باہر کر دیتا ہے اس ڈیٹا بیس کو زبان، 242 00:09:52,040 --> 00:09:55,480 اصل میں کچھ کی حمایت کرتا ہے varchar کے، یا متغیر چار بلایا. 243 00:09:55,480 --> 00:09:59,390 اور یہ ہے کہ اس میں اچھی قسم کا ہے آپ کو ایک مقررہ نہیں کی وضاحت کرنے کی اجازت دیتا 244 00:09:59,390 --> 00:10:01,900 چوڑائی، بلکہ، ایک متغیر کی چوڑائی. 245 00:10:01,900 --> 00:10:05,060 اور خاص طور پر، ایک میدان کے زیادہ سے زیادہ چوڑائی. 246 00:10:05,060 --> 00:10:08,901 لہذا، یہ ایک نام کر سکتے ہیں کا مطلب ہے کہ کوئی زیادہ سے زیادہ 250 حروف پر مشتمل ہونا، 247 00:10:08,901 --> 00:10:10,150 لیکن یہ یقینی طور پر کم ہو سکتا ہے. 248 00:10:10,150 --> 00:10:11,733 اور ڈیٹا بیس ہوشیار ہو جا رہا ہے. 249 00:10:11,733 --> 00:10:14,860 آپ ایم-اے-ایل-اے (ن) میں ڈال دیا ہے تو، یہ صرف پانچ استعمال کرنے کے لئے جا رہا ہے 250 00:10:14,860 --> 00:10:18,120 کے لئے شاید چھ بائٹس کی طرح ایک پشت بندی شہوت انگیز null کردار، 251 00:10:18,120 --> 00:10:23,330 اور ایک اضافی خرچ نہیں بیکار 249 یا 250 بائٹس. 252 00:10:23,330 --> 00:10:27,380 >> لہذا، اس میں ہونا چاہئے کی طرح لگتا ہے اس کہانی کے ساتھ شروع کر دیا ہے. 253 00:10:27,380 --> 00:10:29,140 لیکن ہمیشہ ایک tradeoff ہے. 254 00:10:29,140 --> 00:10:33,024 لہذا، ایک ہاتھ پر، ایک صارف کا نام میں نے مشکل 16 میں کوڈت کیا جائے کے لئے مخصوص، 255 00:10:33,024 --> 00:10:34,940 اور ہو سکتا ہے کہ نہیں تھا حق کال، شاید یہ 256 00:10:34,940 --> 00:10:40,040 ہے، لیکن کیوں استعمال نہیں ہر چیز کے لئے VARCHARs؟ 257 00:10:40,040 --> 00:10:42,020 >> یہ ایک وجہ کے لئے موجود ہے. 258 00:10:42,020 --> 00:10:46,200 کیوں ہر فیلڈ کے لئے VARCHARs استعمال نہیں جس کی لمبائی آپ کو پیشگی میں نہیں جانتے 259 00:10:46,200 --> 00:10:48,180 یہ درست ہے، ایک عظیم چیز ہونے لگتا ہے تو کیا ہوگا؟ 260 00:10:48,180 --> 00:10:50,482 کے طور پر صرف کے طور پر زیادہ سے زیادہ جگہ کا استعمال کریں آپ کو اس حد تک کی ضرورت ہے؟ 261 00:10:50,482 --> 00:10:51,271 >> سامعین: سست. 262 00:10:51,271 --> 00:10:52,146 DAVID MALAN: ہجے کنندہ؟ 263 00:10:52,146 --> 00:10:53,120 سامعین: سست کرتا ہے؟ 264 00:10:53,120 --> 00:10:53,970 DAVID MALAN: اوہ، یہ سست ہے. 265 00:10:53,970 --> 00:10:55,720 اچھا، کہ تقریبا ہمیشہ جواب، واضح طور سے. 266 00:10:55,720 --> 00:10:56,520 کی طرح، tradeoff کے کیا ہے؟ 267 00:10:56,520 --> 00:10:58,570 یہ یا تو زیادہ جگہ کے اخراجات یا اس سے زیادہ وقت کے اخراجات. 268 00:10:58,570 --> 00:11:00,111 لہذا، اس معاملے میں، یہ سست ہو سکتا ہے. 269 00:11:00,111 --> 00:11:00,920 کیوں؟ 270 00:11:00,920 --> 00:11:05,830 >> سامعین: [اشراوی] [اشراوی] کا تعین. 271 00:11:05,830 --> 00:11:06,640 >> DAVID MALAN: اچھا. 272 00:11:06,640 --> 00:11:09,670 لہذا، آپ کو بھی سے یاد کر سکتے ہیں PSED5، آپ کے نقطہ نظر کے ساتھ کھیل 273 00:11:09,670 --> 00:11:12,750 ڈکشنری، آپ کی ضرورت ہے تو متحرک طور پر میموری مختص یا رکھنا 274 00:11:12,750 --> 00:11:14,630 کہ، ایک بفر بڑھتی ہوئی اصل میں سست ہو سکتا ہے. 275 00:11:14,630 --> 00:11:16,963 آپ malloc بلانا پڑے تو ہڈ کے نیچے اور شاید 276 00:11:16,963 --> 00:11:19,610 کہ ایس کیو ایل، تو کیا کر رہا ہے ہے بیشک اس کیس ہو سکتا ہے. 277 00:11:19,610 --> 00:11:22,430 اور آپ کو راستے میں سوچتے ہیں تو واپس بھی PSet-- یا 278 00:11:22,430 --> 00:11:26,340 کی طرح ہفتے دو، ہم نے کیا جب چیزیں بائنری تلاش یا اس سے بھی لکیری تلاش، 279 00:11:26,340 --> 00:11:30,690 ہر لفظ کے بارے میں اچھی چیزیں میں سے ایک ایک کالم میں ایک ڈیٹا بیس یا ہر لفظ میں 280 00:11:30,690 --> 00:11:33,690 بھی، بالکل اسی لمبائی ہونے اگر ان حروف کی ایک پوری چڑھانے 281 00:11:33,690 --> 00:11:37,390 خالی ہیں، آپ استعمال کر سکتے ہیں ہے آپ کے اعداد و شمار پر رینڈم رسائی، ٹھیک ہے؟ 282 00:11:37,390 --> 00:11:40,310 >> آپ کو ہر جانتے ہیں کہ اگر لفظ، 16 حروف دور ہے 283 00:11:40,310 --> 00:11:46,460 آپ کو تو، پوائنٹر ریاضی کا استعمال کر سکتے ہیں بولتے ہیں، اور ہمارے لئے جا 16، 32، 48، 64، 284 00:11:46,460 --> 00:11:49,589 اور آپ کو صرف کود کر سکتے ہیں فوری طور پر استعمال کر رہے ہیں ریاضی 285 00:11:49,589 --> 00:11:51,130 آپ کے ڈیٹا بیس میں الفاظ میں سے کسی کو. 286 00:11:51,130 --> 00:11:54,280 یہ ایک varchar ہے جبکہ اگر، کیا آپ اس کے بجائے کیا کرنا ہوگا؟ 287 00:11:54,280 --> 00:11:55,960 >> [فون بج رہا] 288 00:11:55,960 --> 00:11:58,680 >> یہ ایک varchar ہے تو، آپ رینڈم ایکسیس استعمال نہیں کر سکتے. 289 00:11:58,680 --> 00:12:01,341 کیا آپ کے لئے نظر آتے ہیں یا کرنا ہے؟ 290 00:12:01,341 --> 00:12:01,840 جی ہاں؟ 291 00:12:01,840 --> 00:12:03,240 >> سامعین: [اشراوی] 292 00:12:03,240 --> 00:12:04,310 >> DAVID MALAN: دیکھو whole-- ٹریس کے ذریعے 293 00:12:04,310 --> 00:12:06,518 پوری فہرست کے ذریعے سب سے زیادہ امکان، کیا ہے کے لئے تلاش کر رہے؟ 294 00:12:06,518 --> 00:12:08,356 خصوصی قیمت کس طرح؟ 295 00:12:08,356 --> 00:12:09,230 سامعین: [اشراوی] 296 00:12:09,230 --> 00:12:11,105 DAVID MALAN: آپ ڈھونڈ رھے ہیں شہوت انگیز null Terminators کے لئے 297 00:12:11,105 --> 00:12:13,637 کہ الفاظ کی علیحدگی ہدبندی. 298 00:12:13,637 --> 00:12:15,720 تو ایک بار پھر، ایک tradeoff، اور کوئی درست جواب ہے. 299 00:12:15,720 --> 00:12:18,380 لیکن یہ خاص طور پر، وہ جگہ ہے جہاں اپنے صارفین کو بہت سے ہو حاصل کرنے کے لئے جب 300 00:12:18,380 --> 00:12:21,700 آپ کے سرور پر اور آپ کی لوڈ، لوگوں کی تعداد، یہ اعلی ہو جاتا ہے کا استعمال کرتے ہوئے 301 00:12:21,700 --> 00:12:23,650 یہ اصل nontrivial نجی فیصلے ہیں. 302 00:12:23,650 --> 00:12:26,640 تو، ہم اس کے طور پر ان کو چھوڑ، لیکن کر سکتے ہیں کے حق میں زیادہ نیچے سکرال 303 00:12:26,640 --> 00:12:27,332 یہاں. 304 00:12:27,332 --> 00:12:30,290 اب، کالم سے ایک جوڑے کی ہے ہم نے ایک فیصلے کال کرنے کے لئے ہے جہاں. 305 00:12:30,290 --> 00:12:35,170 یہ ایک صارف کی اجازت دینے کے لئے احساس ہے کسی صارف کے اسم رکنیت یا کسی صارف کے، نام 306 00:12:35,170 --> 00:12:36,370 ، شہوت انگیز null ہونے کا نام ہے؟ 307 00:12:36,370 --> 00:12:37,610 یہ صرف خالی ہے. 308 00:12:37,610 --> 00:12:40,360 ایک چھوٹا سا نامعقول محسوس ہوتا ہے، تو میں ہوں ان باکس چیک کرنے کے لیے نہیں جا رہا. 309 00:12:40,360 --> 00:12:42,670 لیکن یہ ایک باہر کر دیتا ڈیٹا بیس، آپ کہہ سکتے ہیں، 310 00:12:42,670 --> 00:12:44,620 کسی اختیاری اس قدر کر سکتے ہیں. 311 00:12:44,620 --> 00:12:47,180 یہ کالم نہیں ہے اصل میں وہاں ہونا. 312 00:12:47,180 --> 00:12:48,570 >> اب، مینو کے نیچے اس کمی موجود ہے. 313 00:12:48,570 --> 00:12:50,810 اور میں اب بھی ہوں نوٹس وہاں سب سے پہلے قطار میں، 314 00:12:50,810 --> 00:12:52,520 تو اب میں رکنیت کے بارے میں بات کر رہا ہوں. 315 00:12:52,520 --> 00:12:56,290 اور یہ، ایک ڈیٹا بیس ہے کہ باہر کر دیتا ہے ایک سادہ سپریڈ شیٹ محض برعکس، 316 00:12:56,290 --> 00:12:58,520 اشاریہ جات نامی طاقتور خصوصیات. 317 00:12:58,520 --> 00:13:02,600 اور ایک انڈیکس کہہ کا ایک طریقہ ہے پیشگی ڈیٹا بیس میں انسان کہ 318 00:13:02,600 --> 00:13:03,900 تم سے زیادہ ہوشیار ہوں. 319 00:13:03,900 --> 00:13:10,430 >> میں، سوالات کے کس قسم کا انتخاب جانتے ہیں ، یا داخل یا خارج کر دیں یا اپ ڈیٹ 320 00:13:10,430 --> 00:13:13,182 میرا کوڈ ختم کرنے کے لئے جا رہی ہے کہ اس ڈیٹا بیس پر کر. 321 00:13:13,182 --> 00:13:14,390 میں اعداد و شمار کی ایک بہت پڑھا کرنا چاہتے ہیں. 322 00:13:14,390 --> 00:13:15,681 میں اعداد و شمار کی ایک بہت شامل کرنے کے لئے چاہتے ہیں. 323 00:13:15,681 --> 00:13:17,530 میں مسلسل کرنا چاہتے ہیں اعداد و شمار کے ایک بہت کو حذف. 324 00:13:17,530 --> 00:13:21,520 میں جا رہا ہوں جانتے ہیں کہ اگر ایک بہت صارف کی طرح ایک کھیت تک رسائی حاصل کرنے، 325 00:13:21,520 --> 00:13:24,770 مجھے بتا سکتے ہیں کہ preemptively ڈیٹا بیس، میں تم سے زیادہ جانتے ہیں 326 00:13:24,770 --> 00:13:29,220 اور میں حکم کے لئے چاہتے ہیں آپ انڈیکس اس میدان چاہئے. 327 00:13:29,220 --> 00:13:33,200 ایک میدان یا ایک کالم تخکرمن کہاں کا مطلب ہے کہ پیشگی ڈیٹا بیس 328 00:13:33,200 --> 00:13:37,040 کی طرح، سے کچھ خیالات قرضے چاہئے، ہفتے چار اور پانچ اور چھ CS50 سے 329 00:13:37,040 --> 00:13:39,240 اور اصل کی تعمیر ایک بائنری تلاش کی طرح کچھ 330 00:13:39,240 --> 00:13:41,560 درخت یا کچھ عام طور پر ایک بی درخت کہا جاتا 331 00:13:41,560 --> 00:13:43,410 آپ سیکھیں گے کہ ایک کلاس کی طرح CS124 میں 332 00:13:43,410 --> 00:13:46,710 ہارورڈ میں، ایک الگورتھم کلاس، یا دیگر مقامات کی کسی بھی تعداد. 333 00:13:46,710 --> 00:13:49,570 >> ڈیٹا بیس اور ہوشیار اس پر عمل کرنے والے لوگوں 334 00:13:49,570 --> 00:13:53,880 ذخیرہ کرنے کے لئے کس طرح پتہ گا ہے کہ معلومات کے ٹیبل 335 00:13:53,880 --> 00:13:57,061 یاد میں تاکہ تلاش اور دیگر کارروائیوں کے سپر روزہ ہیں. 336 00:13:57,061 --> 00:13:58,060 آپ کو ایسا کرنے کی ضرورت نہیں ہے. 337 00:13:58,060 --> 00:14:00,640 آپ کو لاگو کرنے کی ضرورت نہیں ہے لکیری تلاش یا بائنری تلاش 338 00:14:00,640 --> 00:14:03,300 یا طرح یا انتخاب ضم قسم، اس میں سے کسی. 339 00:14:03,300 --> 00:14:06,590 تم کو بتاؤں تو ڈیٹا بیس آپ کے لئے کرتا ہے یہ کہ preemptively انڈیکس اس میدان. 340 00:14:06,590 --> 00:14:09,100 >> اور تم وہاں ہے، بھی دیکھ سکتے ہیں کچھ دیگر خصوصیات 341 00:14:09,100 --> 00:14:11,010 ہم ڈیٹا بیس نافذ کرنے بتا سکتے ہیں. 342 00:14:11,010 --> 00:14:16,431 میں منفرد انتخاب کرتے ہیں تو اس کا کیا مطلب ہو سکتا ہے اس مینو میں سے، صرف intuitively؟ 343 00:14:16,431 --> 00:14:16,930 جی ہاں؟ 344 00:14:16,930 --> 00:14:17,889 >> سامعین: [اشراوی] 345 00:14:17,889 --> 00:14:19,930 DAVID MALAN: جی ہاں، اسم رکنیت منفرد ہونا ضروری ہے. 346 00:14:19,930 --> 00:14:23,330 یہ ایک اچھی بات یا ایک بری چیز کے لئے ہے صارفین کے ساتھ ایک ویب سائٹ کے لئے ایک ڈیٹا بیس؟ 347 00:14:23,330 --> 00:14:24,965 صارف کا نام منفرد ہونا چاہئے؟ 348 00:14:24,965 --> 00:14:25,880 جی ہاں، شاید. 349 00:14:25,880 --> 00:14:27,800 کہ تو کیا میدان ہم میں لاگ ان کرنے کے لئے استعمال 350 00:14:27,800 --> 00:14:31,867 تم واقعی میں لوگوں رکھنے کے لئے نہیں کرنا چاہتے اسی احساس یا اسی صارف نام. 351 00:14:31,867 --> 00:14:33,700 لہذا، ہم کر سکتے ہیں ڈیٹا بیس تاکہ نافذ 352 00:14:33,700 --> 00:14:37,880 کہ اب اپنے پی ایچ پی کوڈ یا کسی بھی زبان میں، میں، مثال کے طور پر، کی جانچ پڑتال کرنے کی ضرورت نہیں 353 00:14:37,880 --> 00:14:41,490 ضروری نہیں کہ اس اسم رکنیت کرتا میں نے کسی کو رجسٹر ہیں پہلے موجود ہیں؟ 354 00:14:41,490 --> 00:14:46,690 ڈیٹا بیس کا نام دو افراد نہیں ہونے دیں گے ڈیوڈ یا Malans اس صورت میں رجسٹر. 355 00:14:46,690 --> 00:14:50,030 >> اور ایک ایک طرف کے طور پر، یہاں تک کہ یہ اگرچہ مینو صرف آپ ایک کو منتخب کرنے کی اجازت دیتا، 356 00:14:50,030 --> 00:14:54,550 ایک منفرد انڈیکس ہے کہ ایک ہے سپر روزہ کارکردگی کے لئے حساب سے ترتیب، 357 00:14:54,550 --> 00:14:56,100 لیکن یہ بھی انفرادیت نافذ. 358 00:14:56,100 --> 00:14:58,850 اور ہم واپس آ جائیں گے کیا صرف ایک لمحے میں مطلب دو دیگر. 359 00:14:58,850 --> 00:15:00,930 دریں اثنا، میں جاتے ہیں تو میری دوسری صف، جس 360 00:15:00,930 --> 00:15:06,230 صارف کا نام ہے، میں وضاحت کرنا چاہئے نام منفرد ہونا چاہئے ہے؟ 361 00:15:06,230 --> 00:15:09,550 نہیں، آپ کو یقینی طور سکتا ہے کیونکہ have-- کوئی دو ڈیوڈ ہے 362 00:15:09,550 --> 00:15:11,050 اس کمرے میں Malans، سب سے زیادہ امکان. 363 00:15:11,050 --> 00:15:14,290 لیکن ہم ایک مختلف نام کا انتخاب کرتے ہیں، ہم ضرور collisions سے ہو سکتا ہے. 364 00:15:14,290 --> 00:15:16,130 >> میزیں اور طرح ہیش پر واپس لگتا. 365 00:15:16,130 --> 00:15:18,604 تو، ہم یقینی طور پر نہیں کرنا چاہتے نام کے خانے منفرد بنانے کے لئے. 366 00:15:18,604 --> 00:15:21,270 تو، ہم صرف چھوڑنے کے لئے جا رہے ہیں کہ ڈیش، ڈیش، ڈیش، کچھ بھی نہیں کے طور پر. 367 00:15:21,270 --> 00:15:22,660 اور میں چھوڑ کر جا رہا ہوں اکیلے سب کچھ. 368 00:15:22,660 --> 00:15:25,035 بے شک، ان شعبوں میں سے اکثر ہم کے بارے میں پرواہ نہیں کرنا پڑے گا. 369 00:15:25,035 --> 00:15:27,830 اور میں اس کو بچانے کے لئے تیار ہوں جب، انٹرنیٹ تعاون تو 370 00:15:27,830 --> 00:15:35,032 میں بہت، بہت، بہت محفوظ کریں پر کلک، اور آہستہ آہستہ ڈیٹا بیس محفوظ ہو جاتا ہے. 371 00:15:35,032 --> 00:15:37,240 اور اب میں اس سے واپس آ گیا ہوں انٹرفیس، جس کا اقرار، 372 00:15:37,240 --> 00:15:38,680 پہلی نظر میں غالب ہے. 373 00:15:38,680 --> 00:15:42,450 لیکن میں کیا کرنے جا رہا ہوں پر کلک ہے سب سے اوپر بائیں میں لفظ صارفین پر. 374 00:15:42,450 --> 00:15:47,630 میں یہاں جانے کے لئے جا رہا ہوں، کلک صارفین، اور پہلے سے طے شدہ، یہ 375 00:15:47,630 --> 00:15:50,180 ، کچھ SQL پھانسی دے دی ہے لیکن ایک لمحے میں اس پر مزید. 376 00:15:50,180 --> 00:15:52,654 یہاں میں نے کیا کے صرف ایک خلاصہ ہے. 377 00:15:52,654 --> 00:15:55,320 اور آپ دیکھتے ہیں کہ میں فکر کرنے کی نہیں یہاں لاطینی اور سویڈش کا ذکر. 378 00:15:55,320 --> 00:16:00,490 وہ صرف پہلے سے طے شدہ ہیں ترتیبات، اصل میں ایس کیو ایل کی وجہ سے، 379 00:16:00,490 --> 00:16:04,000 یا پی ایچ پی MyAdmin، دو میں سے ایک ہوا کچھ سویڈش لوگوں کی طرف سے لکھا جائے. 380 00:16:04,000 --> 00:16:06,100 لیکن یہ یہاں ہمارے معاملے میں غیر متعلقہ ہے. 381 00:16:06,100 --> 00:16:08,280 >> ٹھیک ہے، تو یہی وجہ ہے یہ سب دلچسپ؟ 382 00:16:08,280 --> 00:16:13,050 یہ باہر کر دیتا ہے، میں ڈیٹا داخل کر سکتے ہیں کوڈ لکھنے کی طرف سے ایک ڈیٹا بیس میں. 383 00:16:13,050 --> 00:16:15,940 اور میں آگے جانے کے لئے اور کر رہا ہوں یہاں میری فائل میں، ہوں 384 00:16:15,940 --> 00:16:19,000 آگے بڑھو اور طرح کا ڈرامہ کرنے جا اس ڈیٹا بیس ہے کہ، کے لئے وائرڈ کیا جاتا ہے جس 385 00:16:19,000 --> 00:16:23,040 یہ اس وقت نہیں ہے، لیکن یہ ہم اس مسئلے کو حاصل کرنے کے لئے سات مقرر کرتے وقت ہو. 386 00:16:23,040 --> 00:16:25,640 اور میں آگے جانے کے لئے جا رہا ہوں اور ، استفسار نامی ایک تقریب کو پھانسی 387 00:16:25,640 --> 00:16:28,730 جس میں ہم مسئلہ میں آپ کو دے گا کہ، سات کی تقسیم کے کوڈ مقرر 388 00:16:28,730 --> 00:16:31,490 کم از کم ایک دلیل لیتا ہے، جس میں صرف ایک تار ہے. 389 00:16:31,490 --> 00:16:33,460 SQL کوڈ کی ایک سٹرنگ. 390 00:16:33,460 --> 00:16:36,700 لہذا، آپ کو کس طرح جاننے کے لئے کے بارے میں ہیں ساخت طلب زبان لکھنے. 391 00:16:36,700 --> 00:16:41,270 >> میں میں ایک نئی صف داخل کرنا چاہتے ہیں تو میری ڈیٹا بیس کسی پیش کر دیا ہے کیونکہ 392 00:16:41,270 --> 00:16:47,600 میرا کوڈ کے لئے ایک فارم، میں لفظی گے صارفین میں داخل مندرجہ ذیل لکھنا 393 00:16:47,600 --> 00:16:52,800 کھیتوں: صارف کا نام، کوما، نام، اقدار، 394 00:16:52,800 --> 00:16:57,480 اور اب میں داخل کرنے کی ضرورت مالن، اور اقتباس کی طرح کچھ، 395 00:16:57,480 --> 00:17:01,490 unquote جو 'ڈیوڈ Malan.' اور اب بھی SQL سے ناواقف ان لوگوں کے لئے، 396 00:17:01,490 --> 00:17:07,830 کیوں میں ایک کی قیمت درج استعمال کر رہا ہوں اس سبز سٹرنگ کے اندر؟ 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 کیا وجہ یہاں ہو سکتا ہے؟ 399 00:17:13,040 --> 00:17:14,609 >> میں شریک mingling کے دو زبانوں ہوں نوٹس. 400 00:17:14,609 --> 00:17:18,099 سوال، ایک پی ایچ پی کی تقریب ہے لیکن یہ ایک دلیل لیتا ہے. 401 00:17:18,099 --> 00:17:21,740 اور یہ دلیل خود ہے ہو جائے نامی ایک زبان میں لکھا گیا 402 00:17:21,740 --> 00:17:23,500 ایس کیو ایل، طلب زبان ساخت. 403 00:17:23,500 --> 00:17:27,940 تو، سب کچھ ہے کہ میں صرف یہاں پر روشنی ڈالی ہے 404 00:17:27,940 --> 00:17:30,380 ایس کیو ایل کہا جاتا ہے اس کی زبان ہے. 405 00:17:30,380 --> 00:17:36,290 لہذا، ایک کی قیمت درج ساتھ کیا ہے، صرف ایک فوری وویک چیک کے طور پر؟ 406 00:17:36,290 --> 00:17:37,324 آگے بڑھو. 407 00:17:37,324 --> 00:17:37,990 وہ ڈور ہیں. 408 00:17:37,990 --> 00:17:41,590 تو، اقتباس، unquote جو مالان اور اقتباس، unquote جو ڈیوڈ Malan ڈور ہیں. 409 00:17:41,590 --> 00:17:45,210 اور بس، اب intuitively پر سوچ آپ C اور پی ایچ پی کے بارے میں جاننا ہے کیا جاننے، 410 00:17:45,210 --> 00:17:50,220 میں ایسا کیوں کروں، جس میں عام طور پر نہیں تھا ڈور کے لئے استعمال کیا جاتا ہے ڈبل قیمت درج کرنے؟ 411 00:17:50,220 --> 00:17:52,310 کیوں میں ایسا نہیں کرنا چاہتا تھا؟ 412 00:17:52,310 --> 00:17:52,810 جی ہاں؟ 413 00:17:52,810 --> 00:17:53,685 >> سامعین: [اشراوی] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 DAVID MALAN: بالکل. 416 00:17:57,570 --> 00:17:59,653 میں نے پہلے ہی استعمال کر رہا ہوں کیونکہ راستے پر ڈبل قیمت درج کرنے 417 00:17:59,653 --> 00:18:01,929 دلیل سے باہر پی ایچ پی کی تقریب کے لئے، 418 00:18:01,929 --> 00:18:03,470 میں صرف مترجم الجھانے گا. 419 00:18:03,470 --> 00:18:04,860 یہ پتہ نہیں چلے گا، ایک دوسرے کے ساتھ جاتے ہو؟ 420 00:18:04,860 --> 00:18:05,735 ایک دوسرے کے ساتھ جاتے ہو؟ 421 00:18:05,735 --> 00:18:06,810 ایک دوسرے کے ساتھ جاتے ہو؟ 422 00:18:06,810 --> 00:18:08,070 لہذا، میں نے اس کی بجائے متبادل. 423 00:18:08,070 --> 00:18:11,784 >> یا میں کچھ اس طرح کر سکتے ہیں الٹا سلیش اقتباس یا الٹا سلیش اقتباس. 424 00:18:11,784 --> 00:18:14,200 سچ کہوں تو، یہ صرف کرنے کے لئے شروع ہوتا ہے بہت unreadable اور بدسورت حاصل. 425 00:18:14,200 --> 00:18:16,790 لیکن اس کو حاصل کرے گا اس کے ساتھ ساتھ ایک ہی نتیجہ. 426 00:18:16,790 --> 00:18:19,760 >> میں تھے تو، اس کو پھانسی استفسار اب، کیا ہوتا ہے دیکھتے ہیں. 427 00:18:19,760 --> 00:18:22,740 میں اب اور نہیں بلکہ آگے جانے کے لئے جا رہا ہوں پی ایچ پی کوڈ، پھانسی کے مقابلے میں 428 00:18:22,740 --> 00:18:24,610 آپ کھیلونگا کہاں ہے مسئلہ میں، سات سیٹ 429 00:18:24,610 --> 00:18:27,200 میں بجائے پی ایچ پی MyAdmin پر جانے کے لئے جا رہا ہوں. 430 00:18:27,200 --> 00:18:29,770 اور میں دستی طور پر جا رہا ہوں SQL ٹیب پر جانا، 431 00:18:29,770 --> 00:18:31,580 اور مجھے انٹرفیس پر میں زوم. 432 00:18:31,580 --> 00:18:34,007 اور میں پیسٹ کرنے جا رہا ہوں میں صرف ٹائپ چیز. 433 00:18:34,007 --> 00:18:36,090 اور رنگ کوڈنگ ہے ، اب تھوڑا سا تبدیل کر دیا گیا 434 00:18:36,090 --> 00:18:38,750 صرف پروگرام فارمیٹ کی وجہ سے چیزوں کو مختلف طریقے سے ایک چھوٹا سا. 435 00:18:38,750 --> 00:18:41,960 لیکن تمام میں نے کیا ہے کہ محسوس کریں ہے میں صارفین میں داخل، کہا ہے. 436 00:18:41,960 --> 00:18:45,790 میں نے ایک کوما میں، پھر، مخصوص ہے الگ parenthesized فہرست دو 437 00:18:45,790 --> 00:18:48,850 میں داخل کرنا چاہتے ہیں کھیتوں اور پھر میں نے لفظی کہا ہے اقدار 438 00:18:48,850 --> 00:18:51,510 ایک قوس کی طرف سے، اور پھر دو اقدار 439 00:18:51,510 --> 00:18:53,520 میں پلگ ان کرنا چاہتے ہیں، اور اب اچھا اقدام کے لئے، 440 00:18:53,520 --> 00:18:55,010 میں نے آخر میں ایک نیم وقفہ ڈال دیتا ہوں. 441 00:18:55,010 --> 00:18:56,570 لہذا، یہ پی ایچ پی کی نہیں ہے سی نہیں ہے. 442 00:18:56,570 --> 00:18:59,970 یہ اب ایس کیو ایل ہے، اور میں نے اسے چسپاں کر رہا ہوں ہے کہ اس ویب کی بنیاد پر انٹرفیس میں 443 00:18:59,970 --> 00:19:02,710 صرف مجھے کرنے کے لئے جا، جیسے ہی میں جاؤ پر کلک کریں، 444 00:19:02,710 --> 00:19:08,060 ڈیٹا بیس پر اس سوال پھانسی CS50 IDE کے اندر چل رہا ہے. 445 00:19:08,060 --> 00:19:09,470 >> تو یہ اچھا ہے. 446 00:19:09,470 --> 00:19:12,520 نے کہا کہ نوٹس ایک صف ڈالا،، سپر روزہ گئے 447 00:19:12,520 --> 00:19:15,190 0،0054 سیکنڈ کہ اعداد و شمار شامل کرنے کے لئے. 448 00:19:15,190 --> 00:19:16,610 لہذا، اس خوبصورت صحت مند لگتا ہے. 449 00:19:16,610 --> 00:19:19,350 یہ میرے سوال reformatted صرف یہ دیکھنے کے لئے یہاں میرے لئے 450 00:19:19,350 --> 00:19:21,730 رنگ کوڈت ورژن کی طرح میں. 451 00:19:21,730 --> 00:19:24,540 لیکن اب میں پر کلک کریں تو براؤز کریں، یہاں تک کہ، کہ محسوس 452 00:19:24,540 --> 00:19:29,070 بے ترتیبی کی ایک بہت پر وہاں ہے، اگرچہ سکرین، میری میز اب دو لائنیں ہیں. 453 00:19:29,070 --> 00:19:30,700 >> تو، مجھے آگے جانا ہے اور دوسرے کرتے ہیں. 454 00:19:30,700 --> 00:19:33,760 بجائے اس کے، مجھے دو پھر SQL ٹیب پر جائیں. 455 00:19:33,760 --> 00:19:40,723 اور اس بار میں کچھ اس طرح داخل کریں گے روب اور اس کا نام روب Bowden ہو جائے گا. 456 00:19:40,723 --> 00:19:42,330 Bowden کی. 457 00:19:42,330 --> 00:19:44,040 کی محفوظ پر کلک کریں. 458 00:19:44,040 --> 00:19:46,140 افوہ، بلکہ جاؤ. 459 00:19:46,140 --> 00:19:48,890 >> پھر بروز پر کلک کریں، اور اب میں دو قطاروں ہے محسوس. 460 00:19:48,890 --> 00:19:52,390 تو، یہ صرف ایک طریقہ زیادہ پیچیدہ ہے کھولنے گوگل سپریڈ شیٹ کی راہ 461 00:19:52,390 --> 00:19:54,010 اور صرف ایک کالم میں ایک قطار ٹائپ. 462 00:19:54,010 --> 00:19:57,070 لیکن چابی ہے کہ کیا ہے اب ہم نحو ہے 463 00:19:57,070 --> 00:20:00,220 جس کے ساتھ کوڈ لکھنے کے لئے ہے تا کہ بالآخر، ہم اصل میں کر سکتے ہیں 464 00:20:00,220 --> 00:20:01,790 کچھ اور ایسا. 465 00:20:01,790 --> 00:20:05,380 کہ پی ایچ پی کی حمایت کرتا ہے یاد سپر عالمی متغیر. 466 00:20:05,380 --> 00:20:08,415 >> ڈالر کے اندر کیا ہے پی ایچ پی میں حاصل کشید دستخط؟ 467 00:20:08,415 --> 00:20:10,290 ہم ایک پر ایک نظر لیا یا دو سادہ مثالیں. 468 00:20:10,290 --> 00:20:15,640 اور PSet6 میں، آپ کو خوش ہیں یاد اس متغیر استعمال کرتا ہے جس ڈاٹ پی ایچ پی. 469 00:20:15,640 --> 00:20:17,870 کیا وہاں ہے؟ 470 00:20:17,870 --> 00:20:21,015 یا پھر یہ کیا ہے؟ 471 00:20:21,015 --> 00:20:22,522 ایک چھوٹا سا زور. 472 00:20:22,522 --> 00:20:23,790 >> سامعین: [اشراوی] 473 00:20:23,790 --> 00:20:25,030 >> DAVID MALAN: یہ ایک برف کی صف کے بیج، جس 474 00:20:25,030 --> 00:20:27,714 ایک کہہ کے صرف ایک پسند ہیں طریقہ ہے کلیدی قدر جوڑوں ہے اس صف. 475 00:20:27,714 --> 00:20:28,880 اور چابیاں عددی نہیں ہیں. 476 00:20:28,880 --> 00:20:30,420 وہ الفاظ یا ڈور ہیں. 477 00:20:30,420 --> 00:20:32,750 اور خاص طور پر، کیا ان کلیدی قدر جوڑوں ہیں؟ 478 00:20:32,750 --> 00:20:35,110 وہ کہاں سے آئے ہیں؟ 479 00:20:35,110 --> 00:20:35,620 معاف کیجئے گا؟ 480 00:20:35,620 --> 00:20:36,994 >> سامعین: [اشراوی] 481 00:20:36,994 --> 00:20:37,660 DAVID MALAN: نہیں؟ 482 00:20:37,660 --> 00:20:40,700 جہاں ان کی چابی کرتے قدر جوڑوں سے آتے ہیں؟ 483 00:20:40,700 --> 00:20:42,490 پھر سے کہنا؟ 484 00:20:42,490 --> 00:20:44,610 ایک بار پھر؟ 485 00:20:44,610 --> 00:20:46,472 میں صرف ایک سماعت کچھ ہوں؟ 486 00:20:46,472 --> 00:20:47,810 >> [ہنسی] 487 00:20:47,810 --> 00:20:49,042 >> ہاں، ٹھیک ہے؟ 488 00:20:49,042 --> 00:20:50,435 >> سامعین: [اشراوی] 489 00:20:50,435 --> 00:20:52,560 DAVID MALAN: جی ہاں، وہ سوال کے جملے کی طرف سے آیا. 490 00:20:52,560 --> 00:20:55,380 لہذا، آپ کو وقت میں ماضی تو ہم گوگل کے ساتھ ادا کیا ہے جب 491 00:20:55,380 --> 00:20:59,600 اور ہم Google.com سلیش چلے گئے تلاش سوالیہ نشان ق، بلیوں برابر 492 00:20:59,600 --> 00:21:03,550 مجھے مارنے کے لئے تھے تو درج اور اگر گوگل، پی ایچ پی میں لاگو کیا گیا 493 00:21:03,550 --> 00:21:07,017 گوگل نے لکھا ہے کہ پی ایچ پی کوڈ ڈالر کا نشان کرنے کے لئے رسائی حاصل کریں گے 494 00:21:07,017 --> 00:21:11,600 جس کے اندر حاصل کشید ایک اہم ملاقات کی (ق) اور ایک قیمت ہے 495 00:21:11,600 --> 00:21:17,680 اس وقت استعمال کر سکتے ہیں کہا جاتا بلیوں کے ساتھ ایک اصل تلاش کیا کرتے تھے. 496 00:21:17,680 --> 00:21:20,860 >> لہذا، حقیقت میں، میں کیا جا رہا ہوں اب میرے پی ایچ پی کوڈ کے لئے واپس جانا ہے ایسا 497 00:21:20,860 --> 00:21:23,140 آپ کو دوبارہ PSet7 میں زیادہ نظر آئے گا کہ. 498 00:21:23,140 --> 00:21:25,440 اور بجائے plugging کے مشکل کوڈت اقدار جس میں 499 00:21:25,440 --> 00:21:27,630 ایک طرح نہیں لگ رہا ہے بہت متحرک ویب سائٹ، 500 00:21:27,630 --> 00:21:30,680 میں تم سے ایک جھلکی دینے جا رہا ہوں اپنے اصل کوڈ کیا کریں گے. 501 00:21:30,680 --> 00:21:32,854 آپ کے پاس دو میں ڈال دیں گے سوال اس طرح کا پرتیک ہے. 502 00:21:32,854 --> 00:21:34,270 میں صارف کا نام ہے کیا نہیں جانتے. 503 00:21:34,270 --> 00:21:37,390 میں کیا نہیں جانتے نام، جا رہا ہے 504 00:21:37,390 --> 00:21:39,470 لیکن میں کر سکتے ہیں جانتے ہیں متحرک طور پر ان کو حاصل. 505 00:21:39,470 --> 00:21:43,420 >> تو، اب ہم لکھ رہے ہیں کوڈ ہے گوگل کے سرورز پر چلنے کوڈ، 506 00:21:43,420 --> 00:21:46,940 یا اس خوش ڈاٹ ہے PSet6 کے ساتھ آتا ہے جو پی ایچ پی،، 507 00:21:46,940 --> 00:21:48,650 میں میں منتقل کرنے جا رہا ہوں استفسار تقریب 508 00:21:48,650 --> 00:21:51,450 صرف printf طرح، دیگر دو دلائل. 509 00:21:51,450 --> 00:21:57,120 اقتباس، حاصل، unquote جو یوزر نیم، اور اقتباس، unquote جو نام، حاصل. 510 00:21:57,120 --> 00:22:00,720 اور اب، کیا محسوس عام ساخت یہاں ہے. 511 00:22:00,720 --> 00:22:03,320 میں بائیں مل گیا ہے کال کے ہاتھ کی طرف، 512 00:22:03,320 --> 00:22:05,480 اس تقریب پی ایچ پی میں استفسار بلایا. 513 00:22:05,480 --> 00:22:08,160 میں اب بھی ایک سب سے پہلے کے طور پر ہے دلیل، متن کے صرف ایک تار. 514 00:22:08,160 --> 00:22:11,000 >> لیکن متن کی ہے کہ سٹرنگ ہے ایس کیو ایل نامی ایک زبان میں لکھا گیا. 515 00:22:11,000 --> 00:22:12,616 اور واضح طور سے، یہ ایک بڑا زبان نہیں ہے. 516 00:22:12,616 --> 00:22:14,990 ہم صرف کے بارے میں بات کرنے کے لئے جا رہے ہیں یہ رسمی طور پر آج، واقعی. 517 00:22:14,990 --> 00:22:17,031 اور پھر مسئلہ میں قائم سات، نسبتا ہے 518 00:22:17,031 --> 00:22:18,800 ہم ہیں کہ چند خصوصیات بیعانہ رہا. 519 00:22:18,800 --> 00:22:22,530 سوال نمبر، اگرچہ، میں پلگ مطلب ایک قدر میں یہاں قدر اور پلگ 520 00:22:22,530 --> 00:22:23,130 یہاں. 521 00:22:23,130 --> 00:22:26,010 اور نوٹس، میں لپ کیا ہے quote-- لات بھر سے 522 00:22:26,010 --> 00:22:30,470 کوٹیشن کے ارد گرد اندازہ لگانے والے اس وقت کا پرتیک ہے. 523 00:22:30,470 --> 00:22:34,930 میں کوٹیشن لپ ہے سوالیہ نشان کے ارد گرد کے نشانات، 524 00:22:34,930 --> 00:22:36,410 معذرت، اس وقت کے ارد گرد. 525 00:22:36,410 --> 00:22:38,870 >> تو، کیا اس کے بارے میں اچھی بات ہے سوالیہ نشان خصوصیت جس 526 00:22:38,870 --> 00:22:42,830 پی ایچ پی، روبی کی حمایت کرنے کے لئے جاتا ہے اور ازگر اور دیگر زبانوں میں، 527 00:22:42,830 --> 00:22:45,730 یہ صرف کچھ میں پلگ مطلب یہاں قدر کرتے ہیں اور آپ کو پتہ ہے کیا؟ 528 00:22:45,730 --> 00:22:48,300 آپ کو استعمال کرنے کے لئے چاہے پتہ ایک کی قیمت درج یا ڈبل ​​قیمت درج کرنے. 529 00:22:48,300 --> 00:22:50,966 ان لوگوں کے ساتھ مجھے پریشان نہ کرو ذہنی پر uninteresting کی تفصیلات. 530 00:22:50,966 --> 00:22:53,780 لیکن، یقین ہے کہ یہ درست ہے بنانے کے میرا کوڈ بالآخر ہے تاکہ 531 00:22:53,780 --> 00:22:57,010 آپریشنل اور، محفوظ ہے جس طویل عرصے سے پہلے ایک معنی ہوگا. 532 00:22:57,010 --> 00:23:00,460 >> اب، بہت سے دلائل صرف، کل واضح ہونا، استفسار تقریب ہو رہی ہے؟ 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 کوئی دو سے زیادہ کے لئے ووٹ ڈالنے کے لئے چاہتے ہیں؟ 535 00:23:07,581 --> 00:23:08,080 تین؟ 536 00:23:08,080 --> 00:23:10,001 اس بات کا یقین، کیوں؟ 537 00:23:10,001 --> 00:23:10,920 کیوں تین؟ 538 00:23:10,920 --> 00:23:12,305 >> سامعین: [اشراوی] 539 00:23:12,305 --> 00:23:13,180 DAVID MALAN: بالکل. 540 00:23:13,180 --> 00:23:14,610 پہلا حصہ سٹرنگ ہے. 541 00:23:14,610 --> 00:23:18,640 دوسری دلیل ڈالر کی نشانی ہے حاصل بریکٹ اسم رکنیت کشید. 542 00:23:18,640 --> 00:23:21,950 اور تیسری دلیل ہے ایک ہی بات، لیکن صرف نام. 543 00:23:21,950 --> 00:23:24,590 اب، تو دوسرے الفاظ میں میں نے ایک ویب فارم تھا تو 544 00:23:24,590 --> 00:23:27,149 کہ، متن قطعے کرنا پڑا صارف کی رکنیت کے لئے ایک، 545 00:23:27,149 --> 00:23:29,690 ان کے لئے ایک یا ایک سے اس کا نام، صرف آپ کی طرح ایک ویب سائٹ میں دیکھیں گے 546 00:23:29,690 --> 00:23:32,120 آپ کے لئے رجسٹر جب کچھ ویب سائٹ، اس طاقت 547 00:23:32,120 --> 00:23:35,450 واپس اختتام پر کوڈ ہو اصل اندراج اب کرتا ہے 548 00:23:35,450 --> 00:23:37,220 ڈیٹا بیس میں. 549 00:23:37,220 --> 00:23:40,870 >> اب اس کے برعکس کی طرف سے، تیزی سے آگے چلو. 550 00:23:40,870 --> 00:23:43,840 ایک صارف ہے فرض کریں میں لاگ ان اور آپ چاہتے ہیں 551 00:23:43,840 --> 00:23:48,860 چاہے جانچ پڑتال کرتا ہے کہ پی ایچ پی کوڈ لکھنے کے لئے بس میں لاگ ان ہے جو ایک شخص 552 00:23:48,860 --> 00:23:52,250 کسی صارف کو اصل، آپ کر سکتے ہیں ہے بہت آسان نحو کا استعمال. 553 00:23:52,250 --> 00:23:55,832 آپ کا کہنا ہے کہ، SELECT کہہ سکتے ہیں سٹار سب کچھ ہے جہاں، ستارہ. 554 00:23:55,832 --> 00:23:57,540 مجھے کیا معلوم نہیں کہ مجھے چاہتے ہیں، تو صرف مجھے دے 555 00:23:57,540 --> 00:24:01,585 میز سے تمام کالم صارفین جہاں کہا جاتا ہے، اور یہ اچھا ہے. 556 00:24:01,585 --> 00:24:03,710 منتخب کیا ہے کی حمایت کرتا ہے ہے جس میں، ایک ودیئ بلایا 557 00:24:03,710 --> 00:24:06,630 آپ کیا چاہتے ہیں کوالیفائنگ کا ایک طریقہ کی طرح. 558 00:24:06,630 --> 00:24:10,590 کہاں اسم رکنیت برابر اقتباس، unquote جو مالن. 559 00:24:10,590 --> 00:24:13,680 تو یہاں بھی، میں سرایت ہے دلیل اندر 560 00:24:13,680 --> 00:24:16,110 ایک پی ایچ پی کی تقریب، ایس کیو ایل کوڈ کا ایک لائن پر. 561 00:24:16,110 --> 00:24:18,680 اور یہ کہ اس SQL کوڈ وقت لفظی جا رہا ہے 562 00:24:18,680 --> 00:24:21,790 اقتباس کے لئے تلاش کرنے کے لئے، مالن unquote جو. 563 00:24:21,790 --> 00:24:24,420 >> اب جب کہ، سب اس مفید نہیں ہے تو میں نے اس پر جا رہا ہوں 564 00:24:24,420 --> 00:24:28,650 اور میں دور ڈال کرنے جا رہا ہوں بریڈی سے اس ٹپ، اور جانے 565 00:24:28,650 --> 00:24:30,990 اور پلگ ان کی بجائے یہاں ایک سوال کے نشان. 566 00:24:30,990 --> 00:24:33,290 تو، صرف، واضح ہونا کیا میری دوسری دلیل چاہئے 567 00:24:33,290 --> 00:24:37,480 کسی کو صرف اور میں ریکارڈ کیا گیا ہے جائے تو وہ اصل ہے جانچ کرنا چاہتے ہیں 568 00:24:37,480 --> 00:24:39,265 ایک صارف؟ 569 00:24:39,265 --> 00:24:40,140 سامعین: [اشراوی] 570 00:24:40,140 --> 00:24:40,890 DAVID MALAN: جی ہاں. 571 00:24:40,890 --> 00:24:44,120 میں ڈالر کا نشان کشید سننے اقتباس، unquote جو اسم رکنیت حاصل. 572 00:24:44,120 --> 00:24:50,040 اور اس نے مجھ سے واپس آ جانا چاہئے اپنے ڈیٹا بیس میں قطاروں کی کسی بھی 573 00:24:50,040 --> 00:24:51,986 کہ مالن کا صارف کا نام ہے. 574 00:24:51,986 --> 00:24:54,860 اب امید ہے کہ، میں واپس حاصل کرنے کے لئے جا رہا ہوں صفر مالن یہاں کبھی نہیں رہا ہے، 575 00:24:54,860 --> 00:24:56,290 یا ایک وہ ہے تو. 576 00:24:56,290 --> 00:24:59,026 میں واپس نہیں ہونا چاہئے دو یا تین یا چار. 577 00:24:59,026 --> 00:24:59,526 کیوں؟ 578 00:24:59,526 --> 00:25:00,220 >> سامعین: [اشراوی] 579 00:25:00,220 --> 00:25:01,120 >> DAVID MALAN: ٹھیک ہے، میں منفرد ہے؟ 580 00:25:01,120 --> 00:25:01,750 سادہ وجہ. 581 00:25:01,750 --> 00:25:04,030 میں نے کہا اس کی وجہ سے کرنے کے لئے ہے صرف منطقی طور پر، منفرد ہونا، 582 00:25:04,030 --> 00:25:07,940 آپ کو صرف صفر یا ایک Malans کر سکتے ہیں یہ خاص طور پر ڈیٹابیس کے ٹیبل میں. 583 00:25:07,940 --> 00:25:10,965 اب تم نے دیکھا ہے ایک طرف ایک، صرف اس کے طور پر یہ میں نے استعمال کرتے ہوئے رکھنے اگرچہ حاصل 584 00:25:10,965 --> 00:25:14,350 اور PSet6 صرف استعمال کیا، اگرچہ ، آپ کو یقینی طور پوسٹ ہے حاصل کر سکتے ہیں. 585 00:25:14,350 --> 00:25:17,212 اور پوسٹ ایک اور مثال ہے کہ یاد معلومات جمع کرنے کے لئے ٹیکنالوجی 586 00:25:17,212 --> 00:25:19,170 ایک شکل سے، لیکن یہ یو آر ایل میں ظاہر نہیں کرتا. 587 00:25:19,170 --> 00:25:22,690 اس کے لئے یقینی طور پر ایک چھوٹا سا زیادہ محفوظ ہے صارف کا نام اور پاس ورڈ طرح چیزیں، 588 00:25:22,690 --> 00:25:25,210 جس PSet7، حقیقت میں، شامل ہوں گے. 589 00:25:25,210 --> 00:25:28,130 >> تو، پی ایچ پی میں ایسا کرنے دو MyAdmin اور دیکھتے ہیں کیا. 590 00:25:28,130 --> 00:25:30,020 میں ایس کیو ایل کے ٹیب پر جا رہا ہوں. 591 00:25:30,020 --> 00:25:34,450 اور اس کے لئے پہلے سے طے شدہ قیمت نوٹس پی ایچ پی کی MyAdmin، صرف، مددگار ثابت کرنے کی کوشش کرنا 592 00:25:34,450 --> 00:25:37,050 جہاں صارفین کو ایک سے ایک ستارہ کا انتخاب کرنے کے لئے ہے. 593 00:25:37,050 --> 00:25:39,430 ویسے، ایک تو، ہمیشہ سچ ہے یہ مؤثر پاگل ہے 594 00:25:39,430 --> 00:25:40,400 صرف ہر چیز منتخب کریں. 595 00:25:40,400 --> 00:25:42,691 لیکن میں نے ایک چھوٹا سا ہو جائے کرنے جا رہا ہوں زیادہ pedantic اور دستی طور پر 596 00:25:42,691 --> 00:25:45,920 صارفین سے منتخب سٹار ٹائپ. 597 00:25:45,920 --> 00:25:48,294 >> اب تکنیکی طور پر، آپ کر سکتے ہیں ٹیبل کے نام حوالہ. 598 00:25:48,294 --> 00:25:50,460 یہ آپ پر ہے کہ شاذ و نادر ہے، لیکن ان نہیں ہیں نوٹس 599 00:25:50,460 --> 00:25:52,240 امریکہ کی بورڈ پر اپنے معمول کی قیمت درج کرنے. 600 00:25:52,240 --> 00:25:54,760 یہ نام نہاد backtick، ہے جو سب سے اوپر بائیں ہاتھ پر عام طور پر ہے 601 00:25:54,760 --> 00:25:56,000 اپنے کی بورڈ کے کونے. 602 00:25:56,000 --> 00:25:58,500 لیکن یہ تمہیں کہ غیر معمولی ہے اصل میں اس کے ساتھ فکر کرنے کی ضرورت، 603 00:25:58,500 --> 00:25:59,950 تو میں صرف ویسے بھی ان کا ترک گا. 604 00:25:59,950 --> 00:26:02,280 تو اب، مجھے آگے جانا ہے اور جانے مارا. 605 00:26:02,280 --> 00:26:06,616 اور کتنے قطار میں ہو جانا چاہئے واپس میں صارفین کی طرف سے ستارہ کا انتخاب ہے؟ 606 00:26:06,616 --> 00:26:08,407 >> سامعین: [اشراوی] 607 00:26:08,407 --> 00:26:09,990 DAVID MALAN: اس بات کا یقین قطاروں کی تعداد،. 608 00:26:09,990 --> 00:26:12,390 لیکن اس میں کتنے ابھی ٹھوس کہانی؟ 609 00:26:12,390 --> 00:26:14,640 دو، وہاں تھا کیونکہ مجھے اور روب وہاں تھا. 610 00:26:14,640 --> 00:26:19,370 میں اس پر کلک کریں تو،، میں ضعف کہ دیکھیں میں، یقینا، دو قطاروں ملتا ہے. 611 00:26:19,370 --> 00:26:22,060 بے ترتیبی کی ایک بہت پر نہیں ہے سکرین، لیکن میں صرف دو قطاروں دیکھیں. 612 00:26:22,060 --> 00:26:28,580 میں نے پھر سے یہ کرتے ہیں اور اگر اس کے برعکس کی طرف سے، صارفین، جہاں اسم رکنیت سے منتخب سٹار 613 00:26:28,580 --> 00:26:31,840 اقتباس، unquote جو برابر MALAN، اب میں، اس پر کلک کریں 614 00:26:31,840 --> 00:26:33,970 میں صرف ایک صف واپس حاصل کرنے کے لئے جا رہا ہوں. 615 00:26:33,970 --> 00:26:36,499 اور آخر میں، میں کرتے ہیں تو کچھ اس طرح، فرض 616 00:26:36,499 --> 00:26:38,290 مجھے پرواہ نہیں ہے سب کچھ ہو رہی ہے، 617 00:26:38,290 --> 00:26:41,020 جو اب اس قسم کی بے معنی ہے، صرف دو کالم ہے کیونکہ. 618 00:26:41,020 --> 00:26:43,103 یہ میں نے منتخب کر رہا ہوں نہیں ہے اعداد و شمار کی ایک بڑی رقم. 619 00:26:43,103 --> 00:26:46,720 مجھے آگے جانا ہے اور مان لیں سے نام منتخب کرتے ہیں 620 00:26:46,720 --> 00:26:51,990 اسم رکنیت مالن برابر جہاں صارفین،، کیا ایمانداری سے ایس کیو ایل کے بارے میں اچھی بات ہے، 621 00:26:51,990 --> 00:26:54,290 یہ واقعی صرف یہ ہے کہ کیا تمہیں کیا کرنا یہ بتانے کے. 622 00:26:54,290 --> 00:26:57,550 یہ بہت succinct کے ہے، لیکن آپ لفظی صرف آپ کیا کرنا چاہتے ہیں یہ بتانے کے. 623 00:26:57,550 --> 00:27:01,130 صارفین جہاں سے منتخب نام اسم رکنیت مالن برابر. 624 00:27:01,130 --> 00:27:03,440 اور یہ سچ ہے کہ واضح ہے. 625 00:27:03,440 --> 00:27:08,410 تو، اب مجھے جانا، کتنے مارا تو قطار میں واپس حاصل کرنے کے لئے جا رہا ہوں؟ 626 00:27:08,410 --> 00:27:10,770 ایک، یہ صرف ہے کیونکہ مالن، امید ہے کہ. 627 00:27:10,770 --> 00:27:13,100 یا صفر وہ نہیں ہے تو وہاں، لیکن زیادہ سے زیادہ ایک. 628 00:27:13,100 --> 00:27:17,610 >> اور مجھے کتنے کالم ملے گا؟ 629 00:27:17,610 --> 00:27:18,450 کتنے کالم؟ 630 00:27:18,450 --> 00:27:20,658 اس وقت، میں نے ابھی جا رہا ہوں میں نے نہیں کیا کیونکہ ایک حاصل کرنے کے لئے 631 00:27:20,658 --> 00:27:22,380 سب کچھ ہے جو، ایک ستارہ کا انتخاب. 632 00:27:22,380 --> 00:27:27,900 اب میں صرف نام منتخب، تو میں ہوں صرف ایک کالم اور ایک صف واپس حاصل. 633 00:27:27,900 --> 00:27:31,730 اور اس کا مناسب طرح لگ رہا ہے مضحکہ خیز، صرف دیکھ سپر 634 00:27:31,730 --> 00:27:33,060 اس طرح چھوٹے. 635 00:27:33,060 --> 00:27:34,290 تو، واقعی کیا ہو رہا ہے؟ 636 00:27:34,290 --> 00:27:36,890 آپ کو ایک ایس کیو ایل پھانسی استفسار، منتخب کا استعمال کرتے ہوئے 637 00:27:36,890 --> 00:27:38,700 کیا آپ کو ہو رہی ہے واپس ڈیٹا بیس سے 638 00:27:38,700 --> 00:27:42,970 ایک عارضی ٹیبل کی طرح ہے قطار اور کالم کے ساتھ، شاید، 639 00:27:42,970 --> 00:27:46,260 لیکن جو کچھ ترک کہ اصل میں آپ کی طرف سے منتخب نہیں کیا گیا تھا. 640 00:27:46,260 --> 00:27:49,010 تو، یہ کسی ایک بڑا تھا تو طرح ہے تمام طالب علموں کے سپریڈ شیٹ 641 00:27:49,010 --> 00:27:51,610 کچھ کے لئے رجسٹر طالب علم گروپ، اور آپ کا کہنا ہے، 642 00:27:51,610 --> 00:27:55,097 مجھے ہے جو افزائش کے تمام دے ہمارے طالب علم گروپ کے لئے رجسٹرڈ کیا 643 00:27:55,097 --> 00:27:56,930 میں آپ کے ساتھی طالب علم گروپ ہو سکتا ہے 644 00:27:56,930 --> 00:27:58,430 وہ صرف ہاتھ سکتا ہے آپ کو پورے سپریڈ شیٹ. 645 00:27:58,430 --> 00:27:59,742 کہ منتخب ستارہ کہہ طرح ہے. 646 00:27:59,742 --> 00:28:02,200 اور یہ تو ایک چھوٹا سا پریشان ہے آپ کو صرف افزائش چاہتا تھا. 647 00:28:02,200 --> 00:28:05,640 اور اس طرح آپ اس کے بجائے،، نے کہا کہ اگر ڈیٹا بیس کی میز سے منتخب سٹار 648 00:28:05,640 --> 00:28:08,470 جہاں سال کے برابر ہے اقتباس، unquote جو افزائش، 649 00:28:08,470 --> 00:28:10,810 یہ آپ کے دوست کے طور پر اگرچہ ہے طالب علم گروپ میں 650 00:28:10,810 --> 00:28:13,770 لفظی پر روشنی ڈالی اور کاپی صرف افزائش قطاروں، 651 00:28:13,770 --> 00:28:16,780 ایک نیا Google میں چسپاں سپریڈ شیٹ یا ایک ایکسل فائل، 652 00:28:16,780 --> 00:28:18,860 اور آپ کو واپس حوالے کر دیا صرف فائل کے نتیجے میں. 653 00:28:18,860 --> 00:28:21,710 یہ ہو رہا ہے کہ تمام ہے تصوراتی یہاں پر. 654 00:28:21,710 --> 00:28:23,920 >> لہذا آخر میں، ہم کر سکتے ہیں کچھ خوبصورت پسند چیزیں 655 00:28:23,920 --> 00:28:26,560 صارف کا نام کی طرح چیزوں کو ذخیرہ کرنے کی طرف اور پاس ورڈ اور اس طرح. 656 00:28:26,560 --> 00:28:30,310 لیکن، یہ باہر کر دیتا، ہمیں کیا کرنا چاہئے مختلف طریقے سے اس کے مقابلے میں تھوڑا. 657 00:28:30,310 --> 00:28:34,750 یہ صرف ہے کہ ہوشیار نہیں ہے ایک صارف نام اور پاس ورڈ کو محفوظ. 658 00:28:34,750 --> 00:28:37,790 پہلے کسی نے، مجھے لگتا ہے کہ یہاں نیچے، ایک شناختی مشورہ دیا. 659 00:28:37,790 --> 00:28:40,787 اب ایک ID ایک طرح ہو سکتا ہے ہارورڈ ID یا ییل کی نیٹ کی شناخت، 660 00:28:40,787 --> 00:28:42,870 لیکن یہ بھی آسان ہو سکتا ہے ہمارے ڈیٹا بیس کے معاملے میں. 661 00:28:42,870 --> 00:28:45,120 اور بے شک، عام کیس دوسرے کالم کے لئے ہے. 662 00:28:45,120 --> 00:28:46,953 اور میں جا رہا ہوں آگے اور میری میز ترمیم. 663 00:28:46,953 --> 00:28:49,521 اور آپ کے ساتھ کے ارد گرد ادا تو PSet7 لئے اس انٹرفیس، 664 00:28:49,521 --> 00:28:51,770 آپ چیک کر سکتے ہیں دیکھ لیں گے اس بٹن کو یہاں شامل 665 00:28:51,770 --> 00:28:53,750 میز کے آغاز میں ایک کھیت. 666 00:28:53,750 --> 00:28:56,720 میں جا کلک اب تو، یہ جا رہا ہے مجھے ان اقسام میں سے ایک دینے کے لئے 667 00:28:56,720 --> 00:28:57,600 پہلے سے. 668 00:28:57,600 --> 00:29:00,170 میں آئی ڈی نامی ایک فیلڈ شامل کرنے کے لئے جا رہا ہوں. 669 00:29:00,170 --> 00:29:03,070 اور میں یہ ایک عددی قسم بنانے کے لئے جا رہا ہوں. 670 00:29:03,070 --> 00:29:05,362 >> میں نے ایک پورے گچرچھی ہے کے numerics لئے اقدار. 671 00:29:05,362 --> 00:29:08,677 میں صرف ایک int منتخب کرنے کے لئے جا رہا ہوں اور مختلف سائز کے بارے میں فکر نہ کریں. 672 00:29:08,677 --> 00:29:10,510 میں وضاحت کی ضرورت نہیں ہے لمبائی یا ایک قدر، 673 00:29:10,510 --> 00:29:13,710 یہ ہونے جا رہا ہے کیونکہ 32 بٹیں کوئی بات نہیں کیا. 674 00:29:13,710 --> 00:29:16,070 صفات، ہم نے پہلے نہیں دیکھا تھا. 675 00:29:16,070 --> 00:29:18,410 ان میں سے کسی میں کوئی دلچسپی مینو کے اختیارات اس وقت؟ 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 ایک int کے لئے؟ 678 00:29:23,745 --> 00:29:24,620 آپ کیا تجویز کیا؟ 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 نہیں؟ 681 00:29:28,445 --> 00:29:29,570 ان میں سے کوئی مطلب ہے؟ 682 00:29:29,570 --> 00:29:30,536 جی ہاں. 683 00:29:30,536 --> 00:29:31,900 ٹھیک ہے، اہستاکشرت، جی ہاں؟ 684 00:29:31,900 --> 00:29:35,930 >> ہم جا رہے ہیں تو عام طور پر، دینے کے لئے سب ایک منفرد تعداد ہے، جس 685 00:29:35,930 --> 00:29:38,200 اس کہانی ہے جہاں ہے جا، میں واقعی صرف چاہتے ہیں 686 00:29:38,200 --> 00:29:41,919 ایک شخص صفر کی طرح تعداد ہے اور ایک اور دو اور تین اور چار. 687 00:29:41,919 --> 00:29:43,710 میں نمٹنے کے لئے کی ضرورت نہیں ہے منفی تعداد کے ساتھ. 688 00:29:43,710 --> 00:29:45,210 یہ صرف اسمیک پیچیدگی کی طرح لگتا ہے. 689 00:29:45,210 --> 00:29:48,470 میں چار ارب ممکن اقدار چاہتے ہیں، چار ارب ممکن اقدار، 690 00:29:48,470 --> 00:29:50,699 تو میں صرف دگنی میرے INT کی صلاحیت. 691 00:29:50,699 --> 00:29:53,490 ایک طرف، آپ کو منسلک کرنے کے لئے چاہتے ہیں کے طور پر اگر فیس بک کی طرح اس کے کچھ، 692 00:29:53,490 --> 00:29:56,190 میرا دن جب کی طرح میں فیس بک سب سے پہلے باہر آئے، 693 00:29:56,190 --> 00:29:59,510 میں وہ تھے کیا یقین ان کیو ایل ڈیٹا بیس میں استعمال 694 00:29:59,510 --> 00:30:02,856 ایک صارف کی ذخیرہ شناخت، صرف ایک int تھا. 695 00:30:02,856 --> 00:30:05,230 لیکن کورس کے، ایک بہت کچھ ہے دنیا میں لوگوں کی. 696 00:30:05,230 --> 00:30:07,438 جعلی فیس بک کے ایک بہت کچھ ہے دنیا میں اکاؤنٹس. 697 00:30:07,438 --> 00:30:11,701 اور اس طرح بالآخر، فیس بک پر overflowed ایک int کے سائز، ایک چار ارب 698 00:30:11,701 --> 00:30:12,200 قدر. 699 00:30:12,200 --> 00:30:15,032 آپ کیوں، نظر آتے ہیں تو کون سا ہے کے ارد گرد اور ویب سائٹس موجود ہے 700 00:30:15,032 --> 00:30:16,740 کہ آپ کو بتا سکتا ہے اپنے منفرد شناخت ہے. 701 00:30:16,740 --> 00:30:19,781 اور میں آپ کو ایک صارف نام منتخب کیا کبھی نہیں اگر فیس بک، آپ کو آپ کے منفرد ID دیکھ لیں گے. 702 00:30:19,781 --> 00:30:23,080 میں یہ پروفائل ڈاٹ پی ایچ پی ہے سوالیہ نشان کی شناخت کچھ برابر. 703 00:30:23,080 --> 00:30:27,210 یہ اب ایک بڑا کی طرح کچھ ہے INT، یا طویل اگر آپ ایک، 704 00:30:27,210 --> 00:30:29,700 ایک 64 بٹ کی قیمت ہے جس میں یا موازنہ کچھ. 705 00:30:29,700 --> 00:30:33,620 >> تو، یہاں تک کہ حقیقی دنیا میں یہ کیا مسائل بالآخر کبھی کبھی فرق. 706 00:30:33,620 --> 00:30:37,600 ہوں تو یہ، یہاں باہر کر دیتا ہے ، اپنے صارفین کو ایک منفرد ID کے تمام دے 707 00:30:37,600 --> 00:30:41,750 میں سپر واضح ہونا چاہتے ہیں اور کم از کم اس میدان کو منفرد بنا دیا. 708 00:30:41,750 --> 00:30:44,750 وہاں باہر لیکن یہ بدل جاتا ہے نام آج کا ٹکڑا بھی 709 00:30:44,750 --> 00:30:46,470 کہ ایک بنیادی کلید ہے. 710 00:30:46,470 --> 00:30:49,800 آپ کو ایک ڈیٹا بیس کے ڈیزائن کر رہے ہیں میز اور آپ کو پیشگی میں جانتے ہیں 711 00:30:49,800 --> 00:30:55,580 کہ ٹیبل میں کالم میں سے ایک ہے اور منفرد قطاروں کی شناخت کرے گا چاہئے 712 00:30:55,580 --> 00:30:58,500 ٹیبل میں، آپ چاہتے ہیں اس کی وضاحت اور ڈیٹا بیس کو بتا، 713 00:30:58,500 --> 00:31:00,250 یہ میرا بنیادی کلید ہے. 714 00:31:00,250 --> 00:31:02,110 نقلیں ہو سکتا ہے دیگر شعبوں میں، 715 00:31:02,110 --> 00:31:06,330 لیکن میں اس ڈیٹا بیس ہے کہ کہہ رہا ہوں میرا بنیادی ہے، میرا سب سے اہم میدان، 716 00:31:06,330 --> 00:31:08,420 کہ منفرد ہونے کی ضمانت ہے. 717 00:31:08,420 --> 00:31:09,660 >> اب، یہ بے کار لگتا ہے. 718 00:31:09,660 --> 00:31:13,830 اب میں کہ ہم تجویز کر رہا ہوں یہاں کلک کریں محفوظ کلک کر کے شامل، 719 00:31:13,830 --> 00:31:17,210 ایک کھیت called-- اور میں جا رہا ہوں آگے بڑھو اور AI کلک کرنے کے لئے، 720 00:31:17,210 --> 00:31:19,720 ہم واپس آ جائیں گے ایک لمحے میں، کو بچانے کے. 721 00:31:19,720 --> 00:31:22,540 اب میں اس تجویز کر رہا ہوں میری میز اس طرح نظر آئے. 722 00:31:22,540 --> 00:31:26,305 میں، ID نامی ایک int میدان ہے صارف کا نام نامی ایک چار فیلڈ، 723 00:31:26,305 --> 00:31:31,100 ایک varchar نام میدان، لیکن شناخت، یہ بنیادی اور اس وجہ سے منفرد ہے تو، 724 00:31:31,100 --> 00:31:33,760 کیوں میں صرف برباد کیا وقت متعارف کیا 725 00:31:33,760 --> 00:31:39,140 مؤثر طریقے سے منفرد دوسری ہے میدان ایک int ہے کہ آئی ڈی بلایا؟ 726 00:31:39,140 --> 00:31:41,980 >> صارف کا نام، یاد، تھا پہلے سے ہی منفرد، ہم نے کہا. 727 00:31:41,980 --> 00:31:45,350 تو منطقی طور پر، آپ کی ضرورت نہیں کی وجہ سے کسی بھی ڈیٹا بیس کے تجربے 728 00:31:45,350 --> 00:31:47,570 ، کیوں اس کے ذریعے میں متعارف کرایا ہے ہو سکتا ہے 729 00:31:47,570 --> 00:31:50,065 اس کے ساتھ ساتھ اپنی منفرد شناخت کے طور پر ایک INT؟ 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 this-- پھر کیا کہہ رہا ہے؟ 732 00:31:53,930 --> 00:31:55,580 >> سامعین: [اشراوی] 733 00:31:55,580 --> 00:31:59,534 >> DAVID MALAN: رینڈم رسائی آسان ہے، کیوں؟ 734 00:31:59,534 --> 00:32:00,410 >> سامعین: [اشراوی] 735 00:32:00,410 --> 00:32:02,367 DAVID MALAN: جی ہاں، یہ ہے صرف تعداد تک رسائی حاصل. 736 00:32:02,367 --> 00:32:04,750 تو، اگر آپ واقعی اس کے بارے میں سوچنا ایک میز، ایک صف کی طرح، ہے 737 00:32:04,750 --> 00:32:07,690 اب میں منفرد شناخت ہے میں نے ارد گرد کود کر سکتے ہیں. 738 00:32:07,690 --> 00:32:11,520 اور اس سے بہتر ابھی تک ہے کتنا بڑا ایک INT دوبارہ ہونے جا رہا ہے؟ 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 بٹیں یا چار بائٹس. 741 00:32:15,800 --> 00:32:17,750 >> کتنا بڑا اپنے صارف کا نام ہونے جا رہا ہے؟ 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 زیادہ سے زیادہ؟ 744 00:32:21,990 --> 00:32:22,880 16 بائٹس. 745 00:32:22,880 --> 00:32:26,080 >> تو کیا تم واقعی، کے بارے میں دیکھ بھال کر رہے ہیں اپنے کوڈ کی کارکردگی، 746 00:32:26,080 --> 00:32:31,390 آپ پسند کریں گے، واپس PSet5 کے لئے لگتا ہے چار بائٹ قیمت یا ایک 16 تلاش کرنے کے لئے 747 00:32:31,390 --> 00:32:32,240 بائٹ قیمت، ٹھیک ہے؟ 748 00:32:32,240 --> 00:32:33,810 یہ واقعی میں اس کے طور پر کے طور پر آسان ہے. 749 00:32:33,810 --> 00:32:38,060 آپ زیادہ سے زیادہ کام کے طور پر چار مرتبہ کرنا ہے ان کی وجہ سے صارف کا نام تلاش کرنے کے لئے 750 00:32:38,060 --> 00:32:38,830 16 بائٹس ہیں. 751 00:32:38,830 --> 00:32:41,320 لہذا، آپ لفظی ہے ہونے کے لئے تمام 16 بائٹس کا آپس میں موازنہ 752 00:32:41,320 --> 00:32:43,140 ہاں اس بات کا یقین، اس میں چاہتا ہوں اسم ہے. 753 00:32:43,140 --> 00:32:46,610 ایک int کے لئے، آپ کر سکتے ہیں جبکہ صرف چار بائٹس کے ساتھ ایسا. 754 00:32:46,610 --> 00:32:49,212 >> اور ایک ایک طرف کے طور پر ان لوگوں کے لئے کمپیوٹر ہارڈ ویئر میں دلچسپی رکھنے والے، 755 00:32:49,212 --> 00:32:52,420 یہ آپ کی طرح کچھ فٹ کر سکتے ہیں باہر کر دیتا ہے ایک INT یا کچھ میں ایک 32 بٹ کی قیمت 756 00:32:52,420 --> 00:32:55,330 ایک کمپیوٹر میں ایک رجسٹر بلایا یہ سپر جس کا مطلب ہے سی پی یو،، 757 00:32:55,330 --> 00:32:58,400 یہاں تک کہ سب سے کم، سپر روزہ کمپیوٹر کی ہارڈ ویئر کی سطح. 758 00:32:58,400 --> 00:33:00,530 تو، سب کے ارد گرد صرف فوائد ہے. 759 00:33:00,530 --> 00:33:01,530 تو، اس کا کیا مطلب ہے؟ 760 00:33:01,530 --> 00:33:04,850 اصل میں، جب آپ کو ڈیزائن کر رہے ہیں ایک وقت کی، تقریبا تمام ڈیٹا بیس کی میز 761 00:33:04,850 --> 00:33:07,170 تم نہیں کرنے جا رہے ہیں صرف آپ کے بارے میں پرواہ ڈیٹا، 762 00:33:07,170 --> 00:33:09,280 کی طرح بلکہ کچھ ایک منفرد شناخت کنندہ 763 00:33:09,280 --> 00:33:11,280 اس کی وجہ سے کی جا رہی ہے ہمیں دوسری چیزوں کرتے ہیں. 764 00:33:11,280 --> 00:33:13,160 اور یہاں ایک مسئلہ زیادہ سفر دو. 765 00:33:13,160 --> 00:33:15,990 >> صارفین کو نہیں ہے کہ مان لیں صرف صارف کا نام اور نام، 766 00:33:15,990 --> 00:33:19,540 لیکن وہ بھی شہروں کی طرح چیزیں ہیں اور امریکہ اور زپ کوڈ، کم از کم 767 00:33:19,540 --> 00:33:20,432 یہاں امریکہ میں. 768 00:33:20,432 --> 00:33:22,390 لہذا، میں آگے جانے کے لئے جا رہا ہوں اور صرف فوری طور پر کا کہنا ہے کہ، 769 00:33:22,390 --> 00:33:26,180 مجھے تین سے زیادہ کالموں دے ٹیبل کے آخر میں. 770 00:33:26,180 --> 00:33:28,900 اور اس شہر کی جا رہی ہے یہ ریاست کی جا رہی ہے 771 00:33:28,900 --> 00:33:30,400 اور اس زپ ہونے جا رہا ہے. 772 00:33:30,400 --> 00:33:32,710 >> اب شہر، جو اعداد و شمار اقسام یہ شاید، ہونا چاہئے؟ 773 00:33:32,710 --> 00:33:35,460 774 00:33:35,460 --> 00:33:35,989 varchar کے؟ 775 00:33:35,989 --> 00:33:37,780 میں کیا نہیں جانتے طویل نام شہر ہے. 776 00:33:37,780 --> 00:33:40,571 کہیں امریکہ میں، وہاں ہے شاید کچھ مضحکہ خیز طویل لفظ، 777 00:33:40,571 --> 00:33:43,605 تو کسی حد تک، صرف 255 کے ساتھ چلتے ہیں تاریخی طور پر یا منمانے. 778 00:33:43,605 --> 00:33:44,730 ریاست، آپ کیا کرنا چاہتے ہیں؟ 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 قیامت کال، ٹھیک ہے؟ 781 00:33:50,367 --> 00:33:51,700 کیا سب سے زیادہ موثر ہو سکتا ہے؟ 782 00:33:51,700 --> 00:33:53,500 کتنے حروف؟ 783 00:33:53,500 --> 00:33:55,950 شاید صرف دو، تو ہم کر سکتے ہیں صرف کر کے ساتھ دور حاصل کرنے کے، 784 00:33:55,950 --> 00:33:58,250 کی طرح، ایم اے میسا چوسٹس کے لئے اور تو آگے. 785 00:33:58,250 --> 00:34:00,520 لہذا، میں ان دونوں میں سے ایک چار قیمت جانے کے لئے جا رہا ہوں. 786 00:34:00,520 --> 00:34:03,080 >> زپ کوڈ ایک دلچسپ بات ہے. 787 00:34:03,080 --> 00:34:06,679 ہم ایسا، 02138 میں یہاں ہو ہم کیا استعمال کرنا چاہئے؟ 788 00:34:06,679 --> 00:34:07,470 یہ درست ہے، ایک int ہے؟ 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT، INT، مختصر؟ 791 00:34:12,800 --> 00:34:14,521 مختصر کام کریں گے. 792 00:34:14,521 --> 00:34:15,020 نہیں؟ 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 چار یا پانچ، لیکن میں نے ایک INT چاہتے ہیں. 795 00:34:20,870 --> 00:34:23,710 کیوں ایک INT پر واپس دھکا؟ 796 00:34:23,710 --> 00:34:26,820 اس سے مجھے قائل. 797 00:34:26,820 --> 00:34:29,210 کیا ایک INT، میرے خیال کے بارے میں پاگل ہے؟ 798 00:34:29,210 --> 00:34:29,871 جی ہاں. 799 00:34:29,871 --> 00:34:31,199 >> سامعین: زیادہ میموری لے لو. 800 00:34:31,199 --> 00:34:32,909 >> DAVID MALAN: زیادہ میموری لے لو. 801 00:34:32,909 --> 00:34:35,310 چار بائٹس، لیکن آپ ہیں ایک زپ کوڈ کی تجویز 802 00:34:35,310 --> 00:34:39,000 یا پانچ بائٹس کے طور پر کسی، ایک چار کے طور پر تھا کہ واقعی نہیں ہے، اہ کی طرح محسوس ہوتا ہے جس 803 00:34:39,000 --> 00:34:39,620 کیس. 804 00:34:39,620 --> 00:34:40,489 >> ویسے، تفریح ​​کہانی. 805 00:34:40,489 --> 00:34:43,179 سال پہلے، میں استعمال کرنے کے استعمال کیا جاتا ہے میرے ای میل کے لئے مائیکروسافٹ آؤٹ لک، 806 00:34:43,179 --> 00:34:45,150 میں نے آخر میں Gmail پر سوئچ کرنے کے لئے کرنا چاہتا تھا. 807 00:34:45,150 --> 00:34:48,949 اور اس طرح، میں تمام برآمد میری ایک CSV فائل کے طور پر آؤٹ لک سے رابطے. 808 00:34:48,949 --> 00:34:50,699 کاما اقدار الگ، جس میں صرف میرا مطلب 809 00:34:50,699 --> 00:34:54,060 اپنے تمام دوستوں کے نام تھا اور آخری نام اور فون نمبر اور زپ کوڈ 810 00:34:54,060 --> 00:34:54,747 اور اس کے سب. 811 00:34:54,747 --> 00:34:56,580 اور پھر میں نے کر دیا اسے کھول کی غلطی 812 00:34:56,580 --> 00:34:58,640 ایکسل میں، جس میں ایک ہے سپریڈ شیٹ پروگرام 813 00:34:58,640 --> 00:35:00,289 ہم نے دیکھا ہے کے طور پر CSV فائلوں سمجھتا. 814 00:35:00,289 --> 00:35:03,080 لیکن اس وقت، میں، کی طرح، مارا ہوگا ایک نقطہ پر کمانڈ یا کنٹرول ایس. 815 00:35:03,080 --> 00:35:06,250 اور ایکسل بظاہر وقت کسی بھی وقت ہے جس کے تحت ایک خصوصیت تھی اس 816 00:35:06,250 --> 00:35:08,100 یہ مددگار ثابت ہو کرنے کی کوشش کی، ایک بڑی تعداد کو دیکھا. 817 00:35:08,100 --> 00:35:11,610 اور یہ کہ تعداد کے ساتھ شروع کر دے تو سے zeros، یہ صرف ان سے چھٹکارا حاصل کریں گے. 818 00:35:11,610 --> 00:35:13,420 کیوں آپ کی قیادت کی ضرورت ہے integers کے پر سے zeros؟ 819 00:35:13,420 --> 00:35:15,140 انہوں نے ریاضی، بے معنی ہیں. 820 00:35:15,140 --> 00:35:17,530 وہ معنی نہیں ہیں امریکی پوسٹل نظام میں. 821 00:35:17,530 --> 00:35:19,954 لہذا، میں سال کے لئے پڑا ہے، اس دن کے لئے، میں اب بھی 822 00:35:19,954 --> 00:35:22,370 کہ دوست ہے جب مجھے کسی کے کی ضرورت ہے کہ غیر معمولی کیس 823 00:35:22,370 --> 00:35:24,078 ان دنوں سے نمٹنے کے، میں اب بھی اس میں دیکھتا ہوں 824 00:35:24,078 --> 00:35:26,767 ، کیمبرج میں ایک دوست ہے میسا چوسٹس، 2138. 825 00:35:26,767 --> 00:35:29,350 تم تو یہ پریشان کن ہے پروگرام کے حل کرنے کی کوشش 826 00:35:29,350 --> 00:35:30,975 لفافے پیدا یا صرف اسے مختصر میں لکھ. 827 00:35:30,975 --> 00:35:33,599 اور یہ کہ، اس کی وجہ سے ہے غلط ڈیٹا کی قسم کا انتخاب. 828 00:35:33,599 --> 00:35:34,490 لہذا، میں نے آپ کے خیال سے محبت کرتا. 829 00:35:34,490 --> 00:35:35,650 ایک چار فیلڈ کا استعمال کرتے ہیں. 830 00:35:35,650 --> 00:35:38,340 پانچ حروف، سوائے ایک کونے معاملہ ہے. 831 00:35:38,340 --> 00:35:42,220 اگر آپ اب بھی میل بھیجتے ہیں تو، کبھی کبھی ان دنوں کوڈ زپ، 832 00:35:42,220 --> 00:35:45,360 وہ کس طرح، ہیں، کے علاوہ چار. 833 00:35:45,360 --> 00:35:48,200 تو، اس کے بعد ہم ایک ہیفین کی ضرورت ہے ہم چار زیادہ تعداد کی ضرورت ہے. 834 00:35:48,200 --> 00:35:50,330 تو ایماندار ہونا، یہ کر سکتے ہیں بہت سے مختلف طریقوں سے جانے. 835 00:35:50,330 --> 00:35:52,371 >> اب کے لئے، میں رکھنے کے لئے جا رہا ہوں یہ آسان ہے اور میں صرف ہوں 836 00:35:52,371 --> 00:35:54,780 یہ ایک کا کہنا ہے کہ کرنے کے لئے جا پانچ چار قیمت اور ہم ہیں 837 00:35:54,780 --> 00:35:56,739 پورے ڈیش کے علاوہ چار کو چھوڑ کرنے کے لئے جا. 838 00:35:56,739 --> 00:35:58,280 لیکن ان tradeoffs کے قسم کے ہیں. 839 00:35:58,280 --> 00:36:00,196 اور آپ کے بارے میں سوچ کر سکتے ہیں پیدا ہونے والے ایک ہی مسائل 840 00:36:00,196 --> 00:36:01,860 فون نمبر یا دیگر شعبوں کے ساتھ. 841 00:36:01,860 --> 00:36:04,350 >> اور اب، یہ اصل میں ہے ایک بے وقوف سڑک نیچے جانے کے لئے. 842 00:36:04,350 --> 00:36:08,000 روب اور میں اور ہننا دونوں مان اور ماریا اور [؟ Davon کی؟] اور اینڈی 843 00:36:08,000 --> 00:36:12,820 اور عملے پر دیگر تمام رہتے ہیں کیمبرج، میسا چوسٹس، 02138 میں. 844 00:36:12,820 --> 00:36:17,970 یہ اصل میں ہوں کہ پاگل لگتا ہے اپنے صارفین کے ٹیبل میں اضافہ، شہر، ریاست، 845 00:36:17,970 --> 00:36:18,630 اور زپ. 846 00:36:18,630 --> 00:36:20,980 کیوں؟ 847 00:36:20,980 --> 00:36:21,960 >> سامعین: [اشراوی] 848 00:36:21,960 --> 00:36:22,918 >> DAVID MALAN: پھر سے کہو؟ 849 00:36:22,918 --> 00:36:24,310 سامعین: [اشراوی] 850 00:36:24,310 --> 00:36:25,850 >> DAVID MALAN: وہ ہمیشہ ہیں صحیح، ایک دوسرے کے ساتھ جانے کے لئے جا رہے ہیں؟ 851 00:36:25,850 --> 00:36:28,660 یہ باہر کر دیتا ہے، ہم سوچتے ہیں کے لئے استعمال کیا اس exhaustively ہم تک معاملہ تھا 852 00:36:28,660 --> 00:36:30,570 ، پورے امریکہ تلاشی اور یہ کہ وہاں باہر کر دیتا ہے 853 00:36:30,570 --> 00:36:32,653 کچھ inconsistencies ہیں جہاں ایک سے زیادہ شہروں ہے 854 00:36:32,653 --> 00:36:35,060 عجیب ہے جس میں ایک ہی زپ،. 855 00:36:35,060 --> 00:36:40,580 لیکن، اب ہم اس کے لیے 02138 شرط تو ، ہمیشہ کیمبرج، میسا چوسٹس ہے 856 00:36:40,580 --> 00:36:44,910 کیوں دنیا میں میں محفوظ کریں گے آپ کے ڈیٹا بیس کیمبرج اور MA اور 02138 857 00:36:44,910 --> 00:36:49,357 میرے لئے اور ہننا اور روب اور [کے لیے؟ Davon کی؟] اور رہنے والے دوسروں کے لئے 858 00:36:49,357 --> 00:36:51,190 یہاں کیمبرج میں، یہ ہے بالکل بے کار. 859 00:36:51,190 --> 00:36:54,480 >> ہم دور ہو جانا چاہئے صرف کیا ذخیرہ کرنے کے ساتھ؟ 860 00:36:54,480 --> 00:36:55,610 بس زپ کوڈ. 861 00:36:55,610 --> 00:36:58,660 لیکن اس وقت، ہم صرف محفوظ ہے زپ کوڈ، میں، شاید، چاہتے ہیں 862 00:36:58,660 --> 00:37:02,160 02138 ہے جہاں اپنی ویب سائٹ کے لئے جاننا. 863 00:37:02,160 --> 00:37:03,910 تو، میں ایک میز کی ضرورت ہے. 864 00:37:03,910 --> 00:37:04,697 اور یہ کہ ٹھیک ہے. 865 00:37:04,697 --> 00:37:07,530 اور حقیقت میں، اس میں سے ایک ہے ڈیزائن ٹیبل کے ڈیزائن کے عمل 866 00:37:07,530 --> 00:37:11,472 آپ کے ساتھ ساتھ جس PSet7 میں کروں گا کہ آپ کو عام ڈیٹا باہر عنصر کرنا چاہتے ہیں. 867 00:37:11,472 --> 00:37:14,430 بس ہم باہر فیکٹرنگ گیا ہے کی طرح عام کوڈ اور باہر فیکٹرنگ عام 868 00:37:14,430 --> 00:37:17,380 یہاں، سی ایس ایس شیلیوں بھی ڈیٹا بیس میں، 869 00:37:17,380 --> 00:37:21,180 میں صرف منفرد کرنے کے لئے 02138 کی ضرورت ہے تو ، کسی کے آبائی شہر کی شناخت 870 00:37:21,180 --> 00:37:25,020 کے لئے کیمبرج، میساچوسٹس کی دکان نہیں ہے آپ کے ٹیبل میں ہر خوفناک صارف. 871 00:37:25,020 --> 00:37:29,770 >> اس کے بجائے، نامی ایک علیحدہ ٹیبل ہے زپ ہونا چاہئے کہ کیا کالم؟ 872 00:37:29,770 --> 00:37:33,490 شاید ایک ID میدان، صرف آپ کے لئے، کیونکہ اصولوں اب ہم کے بارے میں بات کر رہے ہیں. 873 00:37:33,490 --> 00:37:35,720 02138 کے لئے شاید ایک زپ میدان. 874 00:37:35,720 --> 00:37:38,400 اور پھر شاید دوسرے کالم؟ 875 00:37:38,400 --> 00:37:42,950 شہر اور ریاست، لیکن صرف ایک ہے صف 02138 کے لئے، 02139 کے لئے ایک صف، 876 00:37:42,950 --> 00:37:44,772 90210 کے لئے ایک صف. 877 00:37:44,772 --> 00:37:46,730 اور یہ کہ لفظی ہے مجھے صرف اتنا پتہ زپ کوڈ. 878 00:37:46,730 --> 00:37:49,012 >> تو اب، تم کیا کر سکتے ہیں؟ 879 00:37:49,012 --> 00:37:51,220 اس کی وجہ سے، پریشانی ہے اب میں دو میزیں مل گیا ہے. 880 00:37:51,220 --> 00:37:54,660 تو، اپنے صارفین کو زیادہ تر یہاں ہیں، لیکن ان کے شہر ریاست معلومات 881 00:37:54,660 --> 00:37:55,390 یہاں پر. 882 00:37:55,390 --> 00:37:58,635 لہذا، یہ وہاں ہے، SQL کے ساتھ باہر کر دیتا ہے اصل میں ایک راستہ، معلومات شامل کرنے کے لئے 883 00:37:58,635 --> 00:38:00,470 اور آپ pset میں یہ دیکھ لیں گے. 884 00:38:00,470 --> 00:38:03,000 >> لیکن یہ آپ کر سکتے ہیں باہر کر دیتا ہے اس طرح کچھ کرنا. 885 00:38:03,000 --> 00:38:10,501 صارفین سے منتخب سٹار، پر کی zips شامل صارفین زپ زپ کی zips ڈاٹ برابر ڈاٹ. 886 00:38:10,501 --> 00:38:13,360 جو تھوڑا wordy ہے، اس کا اقرار بھی، لیکن یہ صرف 887 00:38:13,360 --> 00:38:17,590 سے منتخب سب کچھ ہے اپنے صارفین کے ٹیبل لینے کے عمل 888 00:38:17,590 --> 00:38:19,580 اور میری میز کی zips. 889 00:38:19,580 --> 00:38:22,120 ایک پر ان کی شمولیت میدان وہ کالم میں ہے. 890 00:38:22,120 --> 00:38:24,780 تو، لفظی کچھ کر اس طرح، اور مجھے واپس دے 891 00:38:24,780 --> 00:38:27,360 نیا عارضی ٹیبل کہ، کہ بڑا ہے، وسیع تر ہے 892 00:38:27,360 --> 00:38:29,450 اس کے تمام ہے ان دونوں سے کالم. 893 00:38:29,450 --> 00:38:33,510 اور یہ کہ، بہت صرف، ہو جائے گا اس طرح کچھ کرنے کے لئے نحو. 894 00:38:33,510 --> 00:38:35,540 >> تو،، آگے اس موجود ہے لیکن وہاں جا رہا ہے 895 00:38:35,540 --> 00:38:38,950 دیگر ڈیزائن کے فیصلوں ہونا تمہیں نہ صرف اشاریہ جات کے ساتھ، بنانے کے لئے ہے 896 00:38:38,950 --> 00:38:40,550 بلکہ چیلنجوں میں چل رہا ہے. 897 00:38:40,550 --> 00:38:43,360 اصل میں، ایک چیلنج ہے کسی بھی ڈیٹا بیس ڈیزائن میں 898 00:38:43,360 --> 00:38:47,930 جس کے تحت کبھی کبھی دو افراد چاہتے ہو سکتا ہے ڈیٹا بیس کی ایک ہی قطار تک رسائی حاصل کرنے 899 00:38:47,930 --> 00:38:48,530 ٹیبل. 900 00:38:48,530 --> 00:38:51,450 تو، یہ کچھ ہے کہ ہم کریں گے ہے اس کے ساتھ ساتھ PSet7 میں سامنا. 901 00:38:51,450 --> 00:38:54,686 >> لیکن مجھے دیکھو سوچا SQL میں ممکن ہے کہ حملے. 902 00:38:54,686 --> 00:38:56,560 میں سے کچھ ہیں پیدا کر سکتے ہیں کوئی مسئلہ ہے؟ 903 00:38:56,560 --> 00:38:58,170 لہذا، آپ کو PSet7 میں اس کا سامنا کریں گے. 904 00:38:58,170 --> 00:39:01,874 اور ہم مکمل طور پر کیا آپ کو بتا اس مسئلہ کے لئے کوڈنگ حل ہے. 905 00:39:01,874 --> 00:39:04,790 لیکن آپ کو ایک اعلی سطح کلاس لے تو، خاص طور پر آپریٹنگ سسٹمز میں، 906 00:39:04,790 --> 00:39:06,950 آپ کا سامنا کرنے جا رہے ہیں atomicity کا مسئلہ، 907 00:39:06,950 --> 00:39:10,080 کیا کرنے کی کوشش کا مسئلہ ایک سے زیادہ چیزوں تمام ایک بار میں 908 00:39:10,080 --> 00:39:11,000 بغیر کسی رکاوٹ کے. 909 00:39:11,000 --> 00:39:14,560 >> اور میں اس کو متعارف کرانے سوچا ایک استعارہ کے ساتھ PSet7 کے لئے خیال 910 00:39:14,560 --> 00:39:18,160 میں مآرگو میں خود سیکھا ہے کہ Seltzer کی CS164 آپریٹنگ سسٹمز 911 00:39:18,160 --> 00:39:18,990 پہلے کلاس سال. 912 00:39:18,990 --> 00:39:22,230 آپ کو اس چھاترالی میں سے ایک ہے کہ مان لیں اپنے چھاترالی کمرے یا گھر میں فریج، 913 00:39:22,230 --> 00:39:24,474 اور آپ کو دودھ کے لئے ایک حقیقی جھکاو ہے. 914 00:39:24,474 --> 00:39:27,140 اور اس طرح، آپ کو کلاس سے گھر آتے ہیں ایک دن، آپ کو فرج یا کھولنے. 915 00:39:27,140 --> 00:39:27,620 اوہ، یہ لات. 916 00:39:27,620 --> 00:39:28,870 فرج یا میں کوئی دودھ ہے. 917 00:39:28,870 --> 00:39:32,470 لہذا، آپ کو فرج یا بند، ، دروازے پر تالا لگا اپنے چھاترالی مقفل، 918 00:39:32,470 --> 00:39:34,770 کونے کے ارد گرد چلنا CVS کرنے، لائن میں حاصل، 919 00:39:34,770 --> 00:39:36,312 اور کچھ دودھ کے لئے باہر کی جانچ پڑتال شروع. 920 00:39:36,312 --> 00:39:38,978 اور یہ، تھوڑی دیر کے لے جا رہا ہے ان لات خود چیکآاٹ کیونکہ 921 00:39:38,978 --> 00:39:40,570 کاؤنٹر بھی استعمال کرنے کے لئے ہمیشہ کے لئے لے. 922 00:39:40,570 --> 00:39:41,950 تو اس دوران، آپ روممیٹ گھر آتا ہے. 923 00:39:41,950 --> 00:39:43,470 وہ واقعی اس کے ساتھ ساتھ دودھ پسند ہے. 924 00:39:43,470 --> 00:39:45,520 وہ چھاترالی کمرے میں آتے ہیں، فرج یا کھولنے، اوہ، یہ خوفناک. 925 00:39:45,520 --> 00:39:46,490 کوئی زیادہ دودھ نہیں ہے. 926 00:39:46,490 --> 00:39:49,040 >> تو، وہ بھی کونے کے ارد گرد ہے. 927 00:39:49,040 --> 00:39:51,670 لیکن اب، کے بعد سے دو کی طرح ہے یا تین یا چار CVSes قریبی، 928 00:39:51,670 --> 00:39:53,800 وہ میں سے ایک پر جانے کے لئے ہو چوک میں مختلف لوگ. 929 00:39:53,800 --> 00:39:55,830 اور تو اب، چند منٹ آپ کے بعد، دونوں 930 00:39:55,830 --> 00:39:58,060 گھر آتے ہیں اور کبھی اہ، سب سے زیادہ مسئلہ. 931 00:39:58,060 --> 00:40:00,967 اب آپ بہت زیادہ دودھ ہے اس ھٹی جا رہا ہے کی وجہ سے. 932 00:40:00,967 --> 00:40:03,050 اور آپ کو دودھ کی طرح، لیکن آپ واقعی دودھ پسند نہیں. 933 00:40:03,050 --> 00:40:06,730 >> تو اب، یہ ایک مہنگا تھا غلطی تم دونوں کی وجہ سے 934 00:40:06,730 --> 00:40:09,870 کی بنیاد پر ایک فیصلہ کر لیا کچھ متغیر کی حالت کہ 935 00:40:09,870 --> 00:40:12,660 کے عمل میں تھا آپ کی طرف سے تبدیل کیا جا رہا، 936 00:40:12,660 --> 00:40:14,560 دودھ حاصل کرنے کے لئے جا کے initiator. 937 00:40:14,560 --> 00:40:17,785 تو، کیا شاید ایک انسان ہے اس مسئلہ کا حل کیا ہے؟ 938 00:40:17,785 --> 00:40:18,660 سامعین: [اشراوی] 939 00:40:18,660 --> 00:40:19,430 DAVID MALAN: ٹھیک ہے، ایک نوٹ چھوڑ دو؟ 940 00:40:19,430 --> 00:40:21,850 تم تو ہمیشہ، ایک نوٹ چھوڑ دو اس شو سے واقف. 941 00:40:21,850 --> 00:40:23,100 جی ہاں، ہم دونوں وہاں ہو. 942 00:40:23,100 --> 00:40:25,940 تو، ہمیشہ ایک نوٹ چھوڑ دو، یا لفظی ریفریجریٹر تالا 943 00:40:25,940 --> 00:40:28,602 پیڈلاک کے کچھ قسم کے ساتھ یا اس طرح سب سے زیادہ کچھ. 944 00:40:28,602 --> 00:40:31,310 لیکن کہ اصل میں ہونے جا رہا ہے ڈیٹا بیس کے ڈیزائن کے ساتھ اہم مسئلہ، 945 00:40:31,310 --> 00:40:34,710 آپ ہو سکتا ہے خاص طور پر جب ایک سے زیادہ براؤزر، ایک سے زیادہ لیپ ٹاپ، 946 00:40:34,710 --> 00:40:37,450 ایک سے زیادہ صارفین کو تمام کرنے کی کوشش ایک بار میں معلومات کو اپ ڈیٹ. 947 00:40:37,450 --> 00:40:40,590 خاص طور پر حساس معلومات مالی معلومات کی طرح، 948 00:40:40,590 --> 00:40:43,350 جس کے تحت ایک اسٹاک ٹریڈنگ کے ساتھ آپ کی طرح ویب سائٹ کی تعمیر کیا جائے گا، 949 00:40:43,350 --> 00:40:47,270 تم کتنا پیسے کی جانچ پڑتال کرنا چاہتے ہیں تو کیا آپ کے پاس اور اس کے بعد آپ کو کافی ہے، 950 00:40:47,270 --> 00:40:48,490 کچھ اسٹاک خریدنے کے لئے؟ 951 00:40:48,490 --> 00:40:50,899 >> لیکن کیا اگر اور کون کسی آپ کے ساتھ ایک مشترکہ اکاؤنٹ ہے 952 00:40:50,899 --> 00:40:52,690 ایک ہی وقت میں کوشش کر رہی ہے کچھ اسٹاک خریدنے کے لئے؟ 953 00:40:52,690 --> 00:40:55,190 تو، وہ جانچ پڑتال کی ہے تم دونوں اکاؤنٹ بیلنس، 954 00:40:55,190 --> 00:40:57,540 اسی واپس حاصل جواب، کوئی دودھ ہے. 955 00:40:57,540 --> 00:41:00,580 یا تم دونوں، جواب واپس حاصل آپ کے اکاؤنٹ میں $ 100 ہے. 956 00:41:00,580 --> 00:41:04,680 تم دونوں فیصلے بنانے کی کوشش کچھ کمپنی کے اسٹاک کے ایک حصہ خریدنے کے لئے. 957 00:41:04,680 --> 00:41:06,130 >> اور اب، کیا ہوتا ہے؟ 958 00:41:06,130 --> 00:41:07,140 آپ کے پاس دو حصص ہیں؟ 959 00:41:07,140 --> 00:41:08,420 آپ کے پاس کوئی حصص ہیں؟ 960 00:41:08,420 --> 00:41:10,320 اس طرح کے مسائل پیدا کر سکتے ہیں. 961 00:41:10,320 --> 00:41:11,755 تو، ہم اس کا سامنا کریں گے. 962 00:41:11,755 --> 00:41:14,630 SQL انجکشن حملوں، شکر، ہم آپ کے ساتھ مدد کریں گے کچھ ہیں، 963 00:41:14,630 --> 00:41:17,430 لیکن ان atrociously ہے ہیں اب بھی عام ان دنوں. 964 00:41:17,430 --> 00:41:18,680 تو، یہ صرف ایک مثال ہے. 965 00:41:18,680 --> 00:41:21,290 میں کوئی دعوی ہے کہ ہارورڈ پن نظام ہے 966 00:41:21,290 --> 00:41:23,130 یہ خاص طور پر حملے کے خطرے سے دوچار. 967 00:41:23,130 --> 00:41:24,160 ہم نے کوشش کی ہے. 968 00:41:24,160 --> 00:41:26,120 لیکن، آپ کو معلوم ہے کہ ہم اس اس طرح ایک فیلڈ ہے. 969 00:41:26,120 --> 00:41:29,620 اور ییل کی خالص ID ایک اسی طرح کی ہے ان دنوں سکرین لئے تلاش کر رہے. 970 00:41:29,620 --> 00:41:33,190 اور یہ باہر کر دیتا ہے کہ ہو سکتا ہے پن نظام پی ایچ پی میں لاگو کیا جاتا ہے. 971 00:41:33,190 --> 00:41:37,050 >> یہ were-- اور اگر یہ وہ not-- ہے اس طرح لگ رہا ہے کہ کوڈ ہو سکتا ہے. 972 00:41:37,050 --> 00:41:38,210 انہوں نے دو متغیر ہے. 973 00:41:38,210 --> 00:41:42,495 مجھے صارف کا نام اور پاس ورڈ دو پوسٹ سپر عالمی متغیر سے 974 00:41:42,495 --> 00:41:43,970 ہم نے پہلے کے بارے میں بات کی ہے کہ. 975 00:41:43,970 --> 00:41:47,310 ہو سکتا ہے کہ ہارورڈ ایک سوال ہے صارفین سے منتخب ستارہ کی طرح 976 00:41:47,310 --> 00:41:50,005 جہاں صارف کا نام جو کہ برابر ہے اور پاس ورڈ جو کہ برابر ہے. 977 00:41:50,005 --> 00:41:51,880 اور میں صرف ہوں کہ نوٹس استعمال کرتے ہوئے میں یہ plugging 978 00:41:51,880 --> 00:41:55,050 دوسرے سے گھوبگھرالی تسمہ سنکیتن صرف ایک قدر میں پلگ جس کا مطلب ہے دن، 979 00:41:55,050 --> 00:41:55,550 یہاں. 980 00:41:55,550 --> 00:41:57,449 میں استعمال نہیں کر رہا ہوں سوالیہ نشان تکنیک. 981 00:41:57,449 --> 00:41:59,240 میں کسی بھی دوسرے کی ضرورت نہیں ہے یا تیسری دلائل. 982 00:41:59,240 --> 00:42:02,350 میں صرف لفظی ہوں سٹرنگ خود کی تعمیر. 983 00:42:02,350 --> 00:42:04,930 >> مسئلہ، اگرچہ، ہے کسی scroob چاہیں تو، 984 00:42:04,930 --> 00:42:09,020 جس میں ایک فلم کے لئے ایک ریفرنس ہے، اس طرح کچھ کے ساتھ میں نوشتہ، 985 00:42:09,020 --> 00:42:11,250 اور میں نقطوں ہٹا دیا عام طور پر احاطہ کرتا ہے کہ 986 00:42:11,250 --> 00:42:14,370 وہ کیا ہے تو پاس ورڈ، خاص طور پر بدنیتی پر مبنی 987 00:42:14,370 --> 00:42:18,860 اور ان کے پاس ورڈ، شاید 12345 ہے نامی فلم کے مطابق "کوئی Spaceballs،" 988 00:42:18,860 --> 00:42:21,970 لیکن انہوں نے شدید قسم کے ایک پانچ کے بعد ایک اقتباس، 989 00:42:21,970 --> 00:42:24,790 تو لفظی لفظ یا خلا میں، اور پھر اقتباس، 990 00:42:24,790 --> 00:42:29,160 unquote جو ایک، اقتباس ایک برابر لیکن وہ کیا لپ نوٹس؟ 991 00:42:29,160 --> 00:42:32,700 انہوں نے کہا کہ دائیں اقتباس لپ ہے اور وہ بائیں طرف اقتباس لپ ہے. 992 00:42:32,700 --> 00:42:35,170 >> کیونکہ اگر اس حملہ آور scroob کی پرکلپنا 993 00:42:35,170 --> 00:42:38,160 لوگوں جو لکھا ہے کہ یہ پی ایچ پی کوڈ، اتنی روشن نہیں تھے 994 00:42:38,160 --> 00:42:42,990 شاید وہ کچھ واحد ہے پرکشیپ کے ارد گرد کی قیمت درج کرنے 995 00:42:42,990 --> 00:42:45,210 گھوبگھرالی منحنی خطوط وحدانی میں ایک متغیر ہے؟ 996 00:42:45,210 --> 00:42:48,620 اور تو ہو سکتا ہے، وہ قسم سکتا ان کی سوچ مکمل 997 00:42:48,620 --> 00:42:53,290 ان کے لئے، لیکن ایک طرح سے کہ رہا ہے اس پن نظام میں ہیک کرنے کی اجازت دینا. 998 00:42:53,290 --> 00:42:55,310 دوسرے الفاظ میں، فرض اس کوڈ ہے 999 00:42:55,310 --> 00:42:57,140 اور اب ہم ٹائپ scroob کیا میں پلگ. 1000 00:42:57,140 --> 00:42:58,770 یہ برا ہے کیونکہ یہ، لال ہے. 1001 00:42:58,770 --> 00:43:01,310 >> اور بنیادی متن ، وہ میں ٹائپ کیا ہے 1002 00:43:01,310 --> 00:43:05,510 scroob ہارورڈ یونیورسٹی کے سرور کو چکما کر سکتے ایک SQL سوال کی تعمیر میں 1003 00:43:05,510 --> 00:43:07,440 اس طرح لگتا ہے کہ سٹرنگ. 1004 00:43:07,440 --> 00:43:11,760 پاس ورڈ 12345 یا ایک برابر ہے. 1005 00:43:11,760 --> 00:43:14,820 جس کے نتیجے میں، منطقی طور پر، اس scroob لاگ ان کریں گے یہ ہے کہ 1006 00:43:14,820 --> 00:43:18,360 ان کے پاس ورڈ ہے تو میں 12345 یا اگر ایک برابر 1007 00:43:18,360 --> 00:43:22,660 ہمیشہ کورس کے سچ ہے جس میں سے ایک،، جس scroob ہمیشہ میں ہو جاتا ہے کا مطلب ہے. 1008 00:43:22,660 --> 00:43:26,060 >> اور اس طرح، جس طرح ٹھیک کرنے کے لئے اس، مقدمات کی ایک بہت میں کے طور پر، 1009 00:43:26,060 --> 00:43:28,140 مزید جنہیں دفاعی انداز میں لکھنے کے لئے ہو جائے گا. 1010 00:43:28,140 --> 00:43:30,390 کچھ اس طرح استعمال کرنے کے ہمارے اصل استفسار تقریب، جس میں 1011 00:43:30,390 --> 00:43:33,980 آپ ہم میں پلگ جہاں PSet7، میں دیکھیں گے سوال کی طرح کچھ یہاں کا پرتیک ہے. 1012 00:43:33,980 --> 00:43:35,980 اور خوبصورتی استفسار تقریب ہے کہ ہم 1013 00:43:35,980 --> 00:43:40,010 آپ کو اسے ان کے خلاف دفاع ہے اس پر دے نام نہاد SQL انجکشن حملوں، جہاں 1014 00:43:40,010 --> 00:43:44,260 کسی میں اپنے کوڈ tricking ہے اس کا یا اس کے اپنے SQL کوڈ انجیکشن. 1015 00:43:44,260 --> 00:43:47,380 کیا استفسار تقریب کیونکہ ہم آپ کو اصل میں کیا جائے گا دے، 1016 00:43:47,380 --> 00:43:51,270 آپ سوالیہ نشان نحو استعمال کرتے ہیں تو اور ایک دوسرے اور یہاں ایک تیسری دلیل، 1017 00:43:51,270 --> 00:43:54,590 اس میں شامل کیا ہے صارف فراہم کی ہے کہ ان پٹ؟ 1018 00:43:54,590 --> 00:43:56,060 لوگ الٹا سلیش کی قیمت درج کرنے. 1019 00:43:56,060 --> 00:43:58,590 >> تو، یہ کسی بھی ممکنہ طور پر بچ گئے خطرناک حروف. 1020 00:43:58,590 --> 00:44:01,000 اب یہ عجیب لگتا ہے لیکن یہ کمزور نہیں ہے 1021 00:44:01,000 --> 00:44:03,260 یہ نہیں ہے کیونکہ اب منطق تبدیل 1022 00:44:03,260 --> 00:44:06,470 کہ پورے پاس ورڈ ہے کیونکہ اب نہیں ہے کہ ایک اقتباس، 1023 00:44:06,470 --> 00:44:07,596 حقیقت میں، scroob کے پاس ورڈ. 1024 00:44:07,596 --> 00:44:09,845 تو، کچھ مذاق ہو گیا ہے سال کے دوران اس کے بارے میں. 1025 00:44:09,845 --> 00:44:12,570 لہذا، یہ ایک تصویر لے جایا گیا ایک پارکنگ لاٹ میں Geek کی 1026 00:44:12,570 --> 00:44:16,620 جس کے تحت آپ کو کہ کچھ شہروں معلوم ہو سکتا ہے اور ریاستوں آپ کے لائسنس کو اسکین کرنے کی کوشش کریں 1027 00:44:16,620 --> 00:44:19,460 پلیٹ آپ یا ٹکٹ کے لئے بل کرنے کے لئے آپ آپ کی طرح، بغیر کے ذریعے جانا ہے تو، 1028 00:44:19,460 --> 00:44:20,660 ای-Z درہ بات. 1029 00:44:20,660 --> 00:44:24,490 تو، اس شخص ہو سکتا ہے کہ خیال کیا جاتا ای-Z پاس نظام لکھنے لوگوں 1030 00:44:24,490 --> 00:44:28,240 اتنی روشن نہیں تھے، اور شاید وہ صرف ایک تار کے ساتھ مل کر لئے concatenated، 1031 00:44:28,240 --> 00:44:32,190 تاکہ وہ بدنیتی نہیں کر سکتا صرف ان کی سوچ کو مکمل نہیں، 1032 00:44:32,190 --> 00:44:35,150 لیکن اصل میں ایک برا کمانڈ پھانسی، جس میں ہم، ابھی تک ذکر نہیں ہے 1033 00:44:35,150 --> 00:44:36,380 لیکن آپ کو شاید اندازہ لگا سکتے ہیں. 1034 00:44:36,380 --> 00:44:39,820 اس کے علاوہ میں اس کو حذف کرنے اور داخل کریں اور اپ ڈیٹ کریں اور منتخب کریں، 1035 00:44:39,820 --> 00:44:43,370 ڈراپ نامی ایک مطلوبہ الفاظ بھی موجود ہے، جو لفظی ہر چیز کو خارج 1036 00:44:43,370 --> 00:44:45,300 ڈیٹا بیس، جس میں خاص طور پر خراب ہے. 1037 00:44:45,300 --> 00:44:48,760 >> ہم اس اگر میں زوم کر سکتے ہیں اسے دیکھنے کے لئے ایک چھوٹا سا مشکل ہے. 1038 00:44:48,760 --> 00:44:52,300 یہ، اب، ایک مشہور کارٹون ہے کہ اب حیرت انگیز ہوشیار ہے 1039 00:44:52,300 --> 00:44:53,145 اور قابل فہم. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [ہنسی] 1042 00:45:04,750 --> 00:45:05,910 >> ٹھنڈا، جی ہاں. 1043 00:45:05,910 --> 00:45:06,800 قسم کی geeking. 1044 00:45:06,800 --> 00:45:08,800 ان، تو، ہیں SQL انجکشن حملوں. 1045 00:45:08,800 --> 00:45:13,050 اور وہ استعمال کرتے ہوئے سے بچنے کے لئے اتنا آسان ہو حق کوڈ یا دائیں لائبریریوں. 1046 00:45:13,050 --> 00:45:15,947 اور یہ کہ آپ ہے PSet7 میں دیکھیں گے کیوں ہم آپ کے استفسار تقریب دے. 1047 00:45:15,947 --> 00:45:17,780 تو، لڑانے والے گیمز کے ایک جوڑے ہم نے سوچا کہ 1048 00:45:17,780 --> 00:45:19,930 میں یہاں آپ کو دے ہماری ایک دوسرے کے ساتھ منٹ باقی. 1049 00:45:19,930 --> 00:45:24,030 تو، کے طور پر آپ ہفتے صفر سے یاد، ہم ان دو روشنی بلب متعارف کرایا ہے جس 1050 00:45:24,030 --> 00:45:26,610 ہیں اچھا، نہ صرف اس وجہ سے وہ خوبصورت ہیں اور رنگارنگ ہیں، 1051 00:45:26,610 --> 00:45:29,450 لیکن وہ کچھ کی حمایت کی وجہ سے درخواست، ایک API کہا جاتا ہے 1052 00:45:29,450 --> 00:45:31,980 پروگرامنگ انٹرفیس اور CS50 میں اس طرح اب تک، ہم نے 1053 00:45:31,980 --> 00:45:34,440 زیادہ تر حاصل کرنے پر توجہ مرکوز اور پوسٹ، لیکن یہ باہر کر دیتا ہے 1054 00:45:34,440 --> 00:45:37,390 رکھ جیسے دوسرے HTTP فعل ہے. 1055 00:45:37,390 --> 00:45:39,430 >> اور حقیقت میں، یہ تھا ہفتے صفر سے ایک سلائڈ 1056 00:45:39,430 --> 00:45:44,930 جس کے تحت آپ کو کوڈ لکھنے ہے کہ بھیجتا ہے ایک لا PSet6 ایک HTTP درخواست ہے کہ 1057 00:45:44,930 --> 00:45:49,647 متن کے اس حصہ کے ساتھ اس طرح لگ رہا ہے JSON کہا جاتا ہے جس کے نیچے دیے، میں، 1058 00:45:49,647 --> 00:45:52,230 یا جاوا سکرپٹ کے آبجیکٹ سنکیتن کہ ہم اگلے ہفتے کے بارے میں بات کریں گے، 1059 00:45:52,230 --> 00:45:57,030 آپ پر باری یا بند یا تبدیل کر سکتے ہیں ان لوگوں کی طرح روشنی کا رنگ. 1060 00:45:57,030 --> 00:46:00,480 CS50 بھی کچھ کے علاوہ میں ہے تو نیو ہیون میں یہاں ان کی روشنی بلب کی 1061 00:46:00,480 --> 00:46:02,480 آپ قرضے کرنا چاہتے ہیں تو ان آخری منصوبوں کے لئے، 1062 00:46:02,480 --> 00:46:04,370 بھی کچھ مائیکروسافٹ کی طرح ہیں جس بینڈ، 1063 00:46:04,370 --> 00:46:07,619 آپ کو آپ کی کلائی کے گرد پہننے گھڑیاں اسی طرح تا کہ ایک API ہے کہ آپ 1064 00:46:07,619 --> 00:46:10,040 ان کے لئے آپ اپنے سافٹ ویئر لکھ سکتے ہیں. 1065 00:46:10,040 --> 00:46:12,490 >> ہم آپ کو ایک اکاؤنٹ کے ساتھ ہے ایپل iOS کوڈ اتنی 1066 00:46:12,490 --> 00:46:15,510 کہ آپ کو ایک ایپل گھڑی یا ہے تو ایک فون یا ایک رکن یا ایک آئی پوڈ، 1067 00:46:15,510 --> 00:46:17,707 آپ نے کوڈ لکھ سکتے ہیں اصل میں ان لوگوں پر چلتا ہے. 1068 00:46:17,707 --> 00:46:19,540 ہم ایک پوری چڑھانے ہے ہیں جن میں Arduinos، 1069 00:46:19,540 --> 00:46:22,010 چھوٹی سی کمپیوٹر مقدمات کے بغیر، بنیادی طور پر، 1070 00:46:22,010 --> 00:46:25,240 آپ USB کے ذریعے سے رابطہ قائم کر سکتے ہیں، عام طور پر آپ کے اپنے میک یا پی سی کے لئے، 1071 00:46:25,240 --> 00:46:28,810 ان جسمانی پر چلتا ہے کہ کوڈ لکھنے اکثر ان پر سینسر ہے کہ آلات 1072 00:46:28,810 --> 00:46:30,790 لہذا آپ کو حقیقی دنیا کے ساتھ بات چیت کر سکتے. 1073 00:46:30,790 --> 00:46:32,860 ہم ایک پوری چڑھانے ہے لیپ موشن آلات کی، 1074 00:46:32,860 --> 00:46:36,500 Macs کے لئے یوایسبی آلات ہیں اور جو یہاں اور پھر، نیو ہیون میں پی سی،. 1075 00:46:36,500 --> 00:46:40,080 اور تم اپنے میک پر اس سے متصل تو، آپ اصل میں آپ کے کمپیوٹر کو کنٹرول کر سکتے ہیں 1076 00:46:40,080 --> 00:46:42,550 سافٹ ویئر لکھ کر کہ اورکت بیم کے ذریعے، 1077 00:46:42,550 --> 00:46:46,360 اپنے انسانی ہاتھ ہیں جہاں باہر کے اعدادوشمار، یہاں تک کہ آپ کی بورڈ کو چھونے کے بغیر. 1078 00:46:46,360 --> 00:46:49,135 ہم ایک فوری اشتراک سوچا مثال کے طور پر، اس میں ایک جھلک. 1079 00:46:49,135 --> 00:46:51,428 >> [موسیقی بجانے] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 لہذا، ہم ایک پوری ہے ان چیزوں کے گروپ، 1082 00:47:57,590 --> 00:48:01,040 بھی، سے Myo بازو بینڈ بلایا جس سے آپ اپنے بازو ڈال دیا 1083 00:48:01,040 --> 00:48:04,595 اور پھر آپ کو حقیقی کنٹرول کر سکتے ہیں دنیا یا اس طرح مجازی دنیا. 1084 00:48:04,595 --> 00:48:06,471 >> [موسیقی بجانے] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 یا، ہم بھی کچھ گوگل ہے کی طرح، لفظی ہے گتے،، 1087 00:49:20,920 --> 00:49:24,841 تم پر ڈال سکتا ہے ایک گتے باکس آپ اس میں آپ کے فون میں چہرہ، لیکن سلائڈ 1088 00:49:24,841 --> 00:49:27,590 تاکہ آپ کے گلاس ڈال آپ آپ کی آنکھوں کے لئے بہت قریب فون. 1089 00:49:27,590 --> 00:49:30,190 اور گوگل گتے ہے $ 10 یا $ 20 میں بہت سستے. 1090 00:49:30,190 --> 00:49:32,230 اور یہ تھوڑا لینس ہے کہ تھوڑا سا شفٹ بند 1091 00:49:32,230 --> 00:49:35,900 آپ انسان کے لئے سکرین پر تصویر آنکھیں آپ گہرائی کا احساس دینے کے لئے 1092 00:49:35,900 --> 00:49:39,550 لہذا آپ کو اصل میں ایک 3D ہے کہ آپ کے سامنے میں ماحول. 1093 00:49:39,550 --> 00:49:42,927 ہم نے بھی کچھ سیمسنگ گئر، ہے جس اس سے زیادہ مہنگی ورژن، ہے 1094 00:49:42,927 --> 00:49:46,010 لیکن اس اسی طرح ایک میں سلائڈ کر سکتے ہیں لوڈ، اتارنا Android فون اور آپ برم دے 1095 00:49:46,010 --> 00:49:48,309 of-- یا تجربہ دے ورچوئل رئیلٹی کے. 1096 00:49:48,309 --> 00:49:50,850 اور ہماری آخری دو منٹ میں، ہم ایسا کرنے کی کوشش نے سوچا. 1097 00:49:50,850 --> 00:49:55,250 میں کولٹن کیا پیش کر سکتے ہیں تو یہاں صرف آپ کی بھوک whet کرنے کے لئے، 1098 00:49:55,250 --> 00:49:58,442 مجھے آگے بڑھو اور پھینک دو یہاں بڑے پردے پر. 1099 00:49:58,442 --> 00:49:59,400 مجھے روشنی کو قتل. 1100 00:49:59,400 --> 00:50:02,290 کولٹن، آپ آگے جانا چاہتے ہو اور ایک لمحے کے لئے اپنے سیل پر ڈال دیا 1101 00:50:02,290 --> 00:50:05,171 اور پر آئے مرحلے کے وسط؟ 1102 00:50:05,171 --> 00:50:07,420 اور آپ کو پروجیکٹ کے لئے چاہتے ہیں اس کولٹن دیکھتا ہے. 1103 00:50:07,420 --> 00:50:10,560 >> اب، یہاں میں وائی فائی ہے اس آلہ کے لئے اتنا مضبوط نہیں 1104 00:50:10,560 --> 00:50:13,870 اس سپر مجبور ہے، لیکن کولٹن لفظی ہے 1105 00:50:13,870 --> 00:50:15,710 اس جادو مستقبل جگہ میں. 1106 00:50:15,710 --> 00:50:16,796 انہوں نے کہا کہ صرف ایک تصویر دیکھتا ہے. 1107 00:50:16,796 --> 00:50:19,920 تم نے اس کے بائیں اور دائیں آنکھ دیکھ رہے ہیں اس کے دماغ کے ساتھ مل کر سلائی کر رہے ہیں 1108 00:50:19,920 --> 00:50:22,260 ایک تین جہتی میں اس کے چہرے پر ماحول. 1109 00:50:22,260 --> 00:50:24,319 انہوں نے کہا کہ یہاں صرف ایک مینو کے اختیارات منتخب کیا ہے. 1110 00:50:24,319 --> 00:50:27,360 اور تو پھر، وہ اس ہیڈسیٹ پہنے ہوئے ہے اس پر ایک سیمسنگ فون کے ساتھ ہے 1111 00:50:27,360 --> 00:50:29,080 wirelessly سے اپنے ہیڈ کو پیش. 1112 00:50:29,080 --> 00:50:30,349 اب آپ کو مریخ پر، مجھے لگتا ہے کہ رہے ہیں؟ 1113 00:50:30,349 --> 00:50:31,140 کولٹن: مجھے ایسا لگتا ہے. 1114 00:50:31,140 --> 00:50:32,181 میں [اشراوی] بات کا یقین نہیں ہوں. 1115 00:50:32,181 --> 00:50:34,250 [ہنسی] 1116 00:50:34,250 --> 00:50:36,374 >> DAVID MALAN: باہر کر دیتا ہے مریخ ان مینوز ہے. 1117 00:50:36,374 --> 00:50:41,590 >> کولٹن: [اشراوی] کچھ ٹھنڈا مقامات ہم to-- جانا چاہتے ہیں 1118 00:50:41,590 --> 00:50:43,330 >> DAVID MALAN: ہم کہاں جانا چاہتے ہو؟ 1119 00:50:43,330 --> 00:50:45,837 >> کولٹن: [اشراوی] 1120 00:50:45,837 --> 00:50:48,170 DAVID MALAN: اور دیکھتے ہیں جہاں کولٹن اب ہمیں لینے. 1121 00:50:48,170 --> 00:50:48,961 کولٹن: [اشراوی] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> DAVID MALAN: تو، وہاں بہت ہے مختلف مقامات پر آپ کو اپنے آپ کو لے کر سکتے ہیں. 1124 00:50:56,380 --> 00:51:00,590 FAPIs نہیں جس کے ذریعے آپ کر سکتے ہیں ہے کھیل یا بات چیت لکھتے ہیں کہ 1125 00:51:00,590 --> 00:51:01,950 فون پر، بالآخر، چلانے. 1126 00:51:01,950 --> 00:51:03,908 لہذا، آپ کو واقعی صرف ایک موبائل فون اپلی کیشن لکھنے. 1127 00:51:03,908 --> 00:51:06,380 لیکن سافٹ ویئر کی بدولت اور گرافکس صلاحیتوں، 1128 00:51:06,380 --> 00:51:08,765 اب کولٹن اس میں ہے چھوٹی سی کٹیا. 1129 00:51:08,765 --> 00:51:10,515 اور کے خطرے میں خود کو سرشار، 1130 00:51:10,515 --> 00:51:13,330 کولٹن اور میں کے ارد گرد رہنا گے جبکہ یہاں کلاس کے اختتام آج 1131 00:51:13,330 --> 00:51:14,300 آپ کو آئے گا اور کھیلنے کے لئے چاہتے ہیں تو. 1132 00:51:14,300 --> 00:51:16,350 اور ہم نے انہیں لاؤنگا واپس اگلے ہفتے کے طور پر اچھی طرح سے. 1133 00:51:16,350 --> 00:51:18,420 مزید کے بغیر، ado میں کہ آج کے لئے ہے. 1134 00:51:18,420 --> 00:51:21,990 ہم اگلے ہفتے آپ کو نظر آئے گا. 1135 00:51:21,990 --> 00:51:24,140 >> [موسیقی - Ragga کی جڑواں "برا آدمی"] 1136 00:51:24,140 --> 00:55:23,146