1 00:00:00,000 --> 00:00:02,405 >> [Musiikkia] 2 00:00:02,405 --> 00:00:10,439 3 00:00:10,439 --> 00:00:11,980 DAVID MALAN: Okei, tämä on CS50. 4 00:00:11,980 --> 00:00:13,740 Tämä on viikon lopussa kahdeksan. 5 00:00:13,740 --> 00:00:15,887 Ja tänään, aloitamme täyttää joitakin paloja 6 00:00:15,887 --> 00:00:17,720 kun se tulee rakentaa asiat verkossa. 7 00:00:17,720 --> 00:00:20,020 Niin, muistuttaa, että maanantaina vietämme paljon enemmän aikaa 8 00:00:20,020 --> 00:00:22,530 PHP, joka on tämä dynaaminen ohjelmointikieli, joka 9 00:00:22,530 --> 00:00:26,872 antaa meidän tuotos, muun asioita, HTML ja muita sisältöä 10 00:00:26,872 --> 00:00:27,830 että me haluamme nähdä. 11 00:00:27,830 --> 00:00:30,871 Mutta emme ole todella pohtinut, miten aiomme säilyttää mitään tietoja. 12 00:00:30,871 --> 00:00:34,477 Itse asiassa lähes kaikki kyseisen Super Mielenkiintoisia sivustoja käyt tänään 13 00:00:34,477 --> 00:00:36,560 jonkinlainen tietokannan loppupäätä, eikö? 14 00:00:36,560 --> 00:00:39,540 Facebook varmasti tallentaa paljon tietoja noin meitä kaikkia ja Gmail tallentaa kaikki 15 00:00:39,540 --> 00:00:40,210 sähköposteja. 16 00:00:40,210 --> 00:00:44,150 >> Ja niin monet muut sivustot eivät ole vain staattista sisältöä, joka on kattava. 17 00:00:44,150 --> 00:00:45,640 Se on todella dynaaminen jollakin tavalla. 18 00:00:45,640 --> 00:00:48,480 Voit antaa panoksensa, se päivittää sivut muita ihmisiä. 19 00:00:48,480 --> 00:00:50,620 Saat viestit, voit lähettää viestejä, ja niin edelleen. 20 00:00:50,620 --> 00:00:54,250 Joten tänään, katsomme lähemmin perustuksista hankkeen 21 00:00:54,250 --> 00:00:57,330 että voit sukeltaa seuraava viikko, CS50 Finance, joka 22 00:00:57,330 --> 00:01:00,509 on todella menossa on rakentaa jotain ei C, mutta PHP. 23 00:01:00,509 --> 00:01:02,550 Sivusto, joka näyttää vähän jotain tällaista 24 00:01:02,550 --> 00:01:05,810 jonka avulla voidaan ostaa ja myydä varastot, jotka ovat todella 25 00:01:05,810 --> 00:01:09,044 aikoo hyödyntää reaaliaikaisesti Varastossa tietoja Yahoo Finance. 26 00:01:09,044 --> 00:01:11,960 Ja niin lopulta, sinulla on illuusio itse ja käyttäjille 27 00:01:11,960 --> 00:01:14,550 että olet todella ostamalla ja myymällä varastot ja saada lähes reaaliajassa 28 00:01:14,550 --> 00:01:16,800 päivityksiä, toimitusjohtaja portfolio, jotka kaikki 29 00:01:16,800 --> 00:01:20,310 aikoo vaatia ottaa, lopulta, tietokanta käyttäjiä. 30 00:01:20,310 --> 00:01:23,330 >> Joten, omin sanoin, varsinkin jos et ole 31 00:01:23,330 --> 00:01:25,670 Super perehtynyt tietokoneen tiede tai tietokantojen, mitä 32 00:01:25,670 --> 00:01:30,790 tiedät tietokanta olla juuri nyt, kuin teknisen kannalta? 33 00:01:30,790 --> 00:01:32,300 Mikä se on? 34 00:01:32,300 --> 00:01:36,882 Miten kuvailisit sitä ja kämppäkaveri tai ystävä? 35 00:01:36,882 --> 00:01:40,100 >> Yleisö: [äänetön] tiedot [äänetön] 36 00:01:40,100 --> 00:01:44,430 >> DAVID MALAN: Niin, luettelo tiedoista, tai store-- luettelo tiedoista 37 00:01:44,430 --> 00:01:47,160 että saatat haluta tallentaa jotain, kuten käyttäjä. 38 00:01:47,160 --> 00:01:50,190 Ja mitä käyttäjät ovat niihin liittyviä? 39 00:01:50,190 --> 00:01:53,160 Jos olet käyttäjä Facebookissa tai Gmail, mitä ominaisuuksia 40 00:01:53,160 --> 00:01:54,940 että me kaikki käyttäjät ovat? 41 00:01:54,940 --> 00:01:58,530 Kuten, mitä voisi olla joitakin sarakkeet taulukkolaskenta jota 42 00:01:58,530 --> 00:01:59,390 viittasi viimeksi? 43 00:01:59,390 --> 00:02:01,140 Koska uudelleen, voit ajatella tietokannan 44 00:02:01,140 --> 00:02:05,810 todella niin hieno Excel-tiedosto tai Google Taulukkolaskenta tai Apple Numerot tiedosto. 45 00:02:05,810 --> 00:02:08,280 >> Joten, mitä mieltä olet kun ajattelee käyttäjän? 46 00:02:08,280 --> 00:02:11,290 Mitä ne ovat? 47 00:02:11,290 --> 00:02:11,790 Mikä tuo on? 48 00:02:11,790 --> 00:02:12,470 >> Yleisö: nimi. 49 00:02:12,470 --> 00:02:13,303 >> DAVID MALAN: nimi. 50 00:02:13,303 --> 00:02:16,840 Joten jos nimi, kuten David Malan olisi nimi joidenkin käyttäjä. 51 00:02:16,840 --> 00:02:17,980 Mitä muuta käyttäjä on? 52 00:02:17,980 --> 00:02:18,770 >> Yleisö: tunnus. 53 00:02:18,770 --> 00:02:19,561 >> DAVID MALAN: tunnus. 54 00:02:19,561 --> 00:02:23,320 Joten, kuten henkilötunnus, kuten teidän Harvard Tunnus tai Yale Net tunnus tai vastaava. 55 00:02:23,320 --> 00:02:24,923 Mitä muuta voi käyttäjä olla? 56 00:02:24,923 --> 00:02:25,890 >> Yleisö: Salasana. 57 00:02:25,890 --> 00:02:29,240 >> DAVID MALAN: salasana, ehkä osoite, ehkä puhelinnumero, ehkä 58 00:02:29,240 --> 00:02:30,050 sähköpostiosoite. 59 00:02:30,050 --> 00:02:32,640 Niin, siellä on rypäleterttuja aloilla ja tämän voisi tavallaan karkaa käsistä 60 00:02:32,640 --> 00:02:34,760 nopeasti heti, kun aloitat ymmärtämättä, oi, nyt tallentaa tämän 61 00:02:34,760 --> 00:02:36,190 ja nyt tallentaa sitä ja tätä. 62 00:02:36,190 --> 00:02:37,657 >> Mutta miten me todella tehdä? 63 00:02:37,657 --> 00:02:39,740 Joten jälleen, henkinen malli on tänään kuin me 64 00:02:39,740 --> 00:02:42,320 sukeltaa todellinen SQL, Structured Query Language, 65 00:02:42,320 --> 00:02:44,186 on tietokanta, joka näyttää tältä. 66 00:02:44,186 --> 00:02:45,310 Se on vain rivejä ja sarakkeita. 67 00:02:45,310 --> 00:02:48,309 Ja voit kuvitella Google Spreadsheets tai useita muita ohjelmia. 68 00:02:48,309 --> 00:02:52,130 Mutta mikä on avain noin MySQL, joka on tietokantaohjelmisto aiomme käyttää, 69 00:02:52,130 --> 00:02:54,920 vapaasti avoimesti available-- Facebook käyttötarkoitukset 70 00:02:54,920 --> 00:02:59,200 se ja useita muita websites-- tietokanta tallentaa asioita relationally. 71 00:02:59,200 --> 00:03:01,770 Ja relaatiotietokannan vain tarkoittaa joka kirjaimellisesti 72 00:03:01,770 --> 00:03:03,672 tallentaa tietonsa riveihin ja sarakkeisiin. 73 00:03:03,672 --> 00:03:04,630 Se on niin yksinkertaista. 74 00:03:04,630 --> 00:03:07,230 >> Joten, vaikka jotain Oracle, joka saatat olla yleisesti kuullut 75 00:03:07,230 --> 00:03:08,271 on relaatiotietokanta. 76 00:03:08,271 --> 00:03:10,929 Ja alla huppu, se tallentaa tiedot rivejä ja sarakkeita. 77 00:03:10,929 --> 00:03:12,970 Ja Oracle laskuttaa sinua paljon rahaa tehdä niin, 78 00:03:12,970 --> 00:03:15,550 katsoo MySQL maksut te mitään saman. 79 00:03:15,550 --> 00:03:18,790 Joten, SQL aikoo antaa meille vähintään neljä toimintaa. 80 00:03:18,790 --> 00:03:23,190 Kyky valita tiedot, kuten lukea tiedot, lisätä, poistaa ja päivittää tietoja. 81 00:03:23,190 --> 00:03:25,525 Toisin sanoen, ne ovat todella neljä keskeistä toiminta 82 00:03:25,525 --> 00:03:28,950 jotka ovat menossa, jotta voimme muuttaa kamaa ne riveihin ja sarakkeisiin. 83 00:03:28,950 --> 00:03:33,250 >> Työkalu että käytämme tänään erityisesti oppia SQL ja leikkiä sillä 84 00:03:33,250 --> 00:03:34,627 on jälleen kutsutaan PHP MyAdmin. 85 00:03:34,627 --> 00:03:35,460 Se on web-pohjainen työkalu. 86 00:03:35,460 --> 00:03:38,200 Yhteensä sattumaa, että se on kirjoitettu PHP. 87 00:03:38,200 --> 00:03:42,400 Mutta se tulee antaa meille graafinen käyttöliittymä jotta voimme todella 88 00:03:42,400 --> 00:03:46,054 luoda nämä rivit ja sarakkeet ja sitten puhua heille kautta koodia. 89 00:03:46,054 --> 00:03:47,970 Joten, nyt nyt alkaa mielestäni on suoraan sanottuna 90 00:03:47,970 --> 00:03:51,000 tavallaan hauskaa prosessi rakennus loppupäätä sivustot, 91 00:03:51,000 --> 00:03:54,580 osat, että käyttäjät eivät katso, mutta varmasti tehdä välitä, 92 00:03:54,580 --> 00:03:56,170 koska se on melko tietoja on menossa. 93 00:03:56,170 --> 00:03:59,570 Niin, samanlainen kuin C ja hieman vähemmän kuin PHP, 94 00:03:59,570 --> 00:04:04,954 SQL, tai tietokanta, joka tukee SQL, on ainakin nämä tietotyypit 95 00:04:04,954 --> 00:04:05,870 ja rypäleterttuja muut. 96 00:04:05,870 --> 00:04:08,107 CHAR, VARCHAR, INT, bigint, DECIMAL, ja DATETIME. 97 00:04:08,107 --> 00:04:09,940 Ja siellä koko joukko muita ominaisuuksia, 98 00:04:09,940 --> 00:04:11,940 mutta katsotaan tehdä tämän tapa todellinen esimerkki. 99 00:04:11,940 --> 00:04:16,450 >> Aion mennä CS50 IDE missä, etukäteen, olen kirjautunut 100 00:04:16,450 --> 00:04:19,372 ja olen myös käynyt URL tämä työkalu nimeltään PHP MyAdmin. 101 00:04:19,372 --> 00:04:22,580 Ja ongelma asettaa seitsemän, kerromme sinulle kuinka päästä tähän käyttöliittymä 102 00:04:22,580 --> 00:04:23,200 yhtä hyvin. 103 00:04:23,200 --> 00:04:25,640 On vasemmassa yläkulmassa, huomata se sanoo luento. 104 00:04:25,640 --> 00:04:27,610 Ja se tarkoittaa vain sitä, että etukäteen, olen luonut 105 00:04:27,610 --> 00:04:31,360 tyhjä tietokanta nimeltä luento että ei ole laskentataulukoita sitä vielä. 106 00:04:31,360 --> 00:04:32,600 Ei ole rivejä ja sarakkeita. 107 00:04:32,600 --> 00:04:34,308 Koska ensimmäinen asia aiomme tehdä 108 00:04:34,308 --> 00:04:37,100 on alkaa luoda taulukon että menee tallentaa myös käyttäjille. 109 00:04:37,100 --> 00:04:39,100 >> Joten, kirjaimellisesti yli täällä oikealle, olen 110 00:04:39,100 --> 00:04:42,070 kerron tietokantaan Haluan pöytä soitetuille käyttäjille. 111 00:04:42,070 --> 00:04:44,845 Niin, tämä on kuin tiedosto, että olen haluat tallentaa kaikki minun tiedot. 112 00:04:44,845 --> 00:04:45,720 Ja kuinka monta saraketta? 113 00:04:45,720 --> 00:04:47,740 No, pitää se yksinkertainen nyt. 114 00:04:47,740 --> 00:04:51,855 Haluan vain tallentaa kuin käyttäjätunnus ja nimi käyttäjälle. 115 00:04:51,855 --> 00:04:53,020 Aloitamme pieni. 116 00:04:53,020 --> 00:04:55,370 Joten, haluan kaksi saraketta yhteensä. 117 00:04:55,370 --> 00:04:57,360 Ja aion mennä eteenpäin ja valitse Siirry. 118 00:04:57,360 --> 00:04:59,210 Ja sitten, näiden pylväät, mitä aion 119 00:04:59,210 --> 00:05:04,576 jotta do-- jos tämä internet cooperates-- kunnossa, 120 00:05:04,576 --> 00:05:05,950 joten aiomme kokeilla uudelleen. 121 00:05:05,950 --> 00:05:09,180 Aion luoda taulukon nimeltä Käyttäjät, joilla on kaksi saraketta, valitse Siirry, OK. 122 00:05:09,180 --> 00:05:10,520 Nyt meillä se todella nopeasti. 123 00:05:10,520 --> 00:05:12,065 Kiitos, hyvin tehty. 124 00:05:12,065 --> 00:05:14,440 Selvä, joten mitä haluamme nämä sarakkeet kutsua? 125 00:05:14,440 --> 00:05:16,080 >> Niin, yksi tulee olemaan nimeltään Käyttäjätunnus. 126 00:05:16,080 --> 00:05:19,480 Joten, kaikki näen here-- ja käyttöliittymä rehellisesti saa hieman ruma lopulta, 127 00:05:19,480 --> 00:05:21,270 kun alkaa kirjoittaa kaiken tämän tiedon. 128 00:05:21,270 --> 00:05:27,450 Mutta mikä on mukavaa on, että sellainen Paradoksaalisesti Luon sarakkeet, 129 00:05:27,450 --> 00:05:29,977 mutta työkalu on tyhmästi panivat riveihin 130 00:05:29,977 --> 00:05:31,560 jotta voin määrittää nämä sarakkeita. 131 00:05:31,560 --> 00:05:33,550 Niin, siellä on kaksi aihioita on alle nimi. 132 00:05:33,550 --> 00:05:36,180 Ja yksi näistä aloista I haluavat kutsutaan Käyttäjänimi, 133 00:05:36,180 --> 00:05:38,000 ja muut alan haluan soittaa nimi. 134 00:05:38,000 --> 00:05:40,340 >> Ja nyt minun on valittava tietotyyppejä näitä asioita. 135 00:05:40,340 --> 00:05:42,330 Joten, kun taas Excel ja Google Spreadsheets, 136 00:05:42,330 --> 00:05:45,531 jos haluat sarake, voit kirjaimellisesti kirjoita Nimi tai käyttäjätunnus, Enter. 137 00:05:45,531 --> 00:05:48,030 Ehkä teet sen rohkea kasvot vain selvyyden vuoksi, mutta siinäpä se. 138 00:05:48,030 --> 00:05:50,140 Et määritä tyyppisiä sarakkeita. 139 00:05:50,140 --> 00:05:53,790 Nyt Google Spreadsheets tai Excel, olet voi määrittää, miten tiedot on suoritettu. 140 00:05:53,790 --> 00:05:58,120 Voisit mennä Muotoile-valikosta ja sinä voi määrittää näytä tätä kuten dollarin merkki, 141 00:05:58,120 --> 00:05:59,900 näytä tätä kuin liukulukuarvoksi. 142 00:05:59,900 --> 00:06:01,990 >> Niin, se on samanlainen hengeltään että mitä aiomme tehdä, 143 00:06:01,990 --> 00:06:04,740 mutta tämä on todella menossa pakottaa tiedot ovat tietynlainen. 144 00:06:04,740 --> 00:06:07,750 Nyt, vaikka hetki sitten sanoi, että on vain vähän tietoja tyyppejä, 145 00:06:07,750 --> 00:06:11,120 siellä oikeastaan paljon, ja ne ovat 146 00:06:11,120 --> 00:06:12,910 vaihtelevalla erityisyyttä. 147 00:06:12,910 --> 00:06:14,970 Ja sivuun, te voi jopa tehdä hienoja asioita 148 00:06:14,970 --> 00:06:17,520 kuten varastointi geometriat sisällä tietokantaan. 149 00:06:17,520 --> 00:06:19,250 Voit tallentaa asioita kuten GPS-koordinaatit 150 00:06:19,250 --> 00:06:22,420 ja itse löytää, matemaattisesti, kohtia, jotka ovat lähellä toisiaan. 151 00:06:22,420 --> 00:06:24,128 Mutta aiomme pitää tämä Super yksinkertainen 152 00:06:24,128 --> 00:06:26,800 ja mennä jopa täällä, kaikki ns merkkijono tyyppejä. 153 00:06:26,800 --> 00:06:29,240 >> Niin, tässä on luettelo koko joukko vaihtoehtoja. 154 00:06:29,240 --> 00:06:32,740 CHAR, VARCHAR, TINYTEXT, MEDIUMTEXT, LONGTEXT. 155 00:06:32,740 --> 00:06:34,110 Ja se on tavallaan ylivoimainen. 156 00:06:34,110 --> 00:06:37,610 Ja valitettavasti hieman paradoksaalisesti C, 157 00:06:37,610 --> 00:06:40,120 CHAR ei oikeastaan ​​CHAR. 158 00:06:40,120 --> 00:06:44,170 Jos määrität tietokantaan että tietotyyppi on CHAR, 159 00:06:44,170 --> 00:06:47,390 se tarkoittaa, että kyllä, se on CHAR, mutta se on yksi tai useampia MERKEILLÄ. 160 00:06:47,390 --> 00:06:49,630 Ja sinun on määritettävä kuinka monta MERKEILLÄ haluat. 161 00:06:49,630 --> 00:06:51,636 Joten, mikä on tyypillinen pituus käyttäjätunnusta? 162 00:06:51,636 --> 00:06:52,760 Onko raja tyypillisesti? 163 00:06:52,760 --> 00:06:53,920 >> Yleisö: [äänetön] 164 00:06:53,920 --> 00:06:55,050 >> DAVID MALAN: 16 ehkä? 165 00:06:55,050 --> 00:06:55,990 Jotain sellaista. 166 00:06:55,990 --> 00:06:57,948 Tiedäthän, takaisin päivä, se käytti olla kahdeksan. 167 00:06:57,948 --> 00:07:00,289 Joskus se on 16, joskus se on vielä enemmän. 168 00:07:00,289 --> 00:07:02,080 Ja niin, tämä ei tarkoittaa anna minulle yksi CHAR. 169 00:07:02,080 --> 00:07:04,730 Tämä tarkoittaa minun pitää ilmoittaa kentän pituutta, 170 00:07:04,730 --> 00:07:07,402 ja nyt voisin sanoa jotain 16. 171 00:07:07,402 --> 00:07:08,610 Ja siellä kaupan tehoilla. 172 00:07:08,610 --> 00:07:11,360 Joten näemme hetken että tämä tarkoittaa yhtä, 173 00:07:11,360 --> 00:07:14,620 jokainen käyttäjänimen on oltava 16 merkkiä. 174 00:07:14,620 --> 00:07:18,720 Mutta odota minuutti, M--L--N. Jos se käyttäjätunnukseni ja olen vain käyttämällä viittä, 175 00:07:18,720 --> 00:07:23,070 mitä ehdottaisitte, että tietokanta tehdä muiden 11 merkkejä 176 00:07:23,070 --> 00:07:24,471 Olen varattu tilaa? 177 00:07:24,471 --> 00:07:25,220 Mitä sinä tekisit? 178 00:07:25,220 --> 00:07:26,480 >> Yleisö: [äänetön] 179 00:07:26,480 --> 00:07:27,160 >> DAVID MALAN: Joo, juuri ne kaikki null. 180 00:07:27,160 --> 00:07:28,290 Tee niitä tiloja. 181 00:07:28,290 --> 00:07:30,816 Mutta luultavasti null, joten paljon kenoviiva nollia. 182 00:07:30,816 --> 00:07:33,190 Niin, toisaalta, olemme nyt varmistanut, että käyttäjätunnukseni 183 00:07:33,190 --> 00:07:34,780 voi olla enintään 16 merkkiä. 184 00:07:34,780 --> 00:07:37,590 Ja kääntöpuoli, jotka on että jos minulla oli todella pitkä nimi 185 00:07:37,590 --> 00:07:39,940 tai halusi todella pitkä käyttäjätunnus kuten jotkut teistä 186 00:07:39,940 --> 00:07:44,840 kaverit saattaisi olla, että korkeakoulussa tai klo Yale.edu, et voi olla yksi. 187 00:07:44,840 --> 00:07:47,177 Ja niin itse asiassa, jos olet koskaan rekisteröity sivusto 188 00:07:47,177 --> 00:07:49,385 ja saat huusi sanoen salasana on liian pitkä 189 00:07:49,385 --> 00:07:52,710 tai käyttäjätunnuksesi on liian pitkä, se on yksinkertaisesti siksi ohjelmoija, kun 190 00:07:52,710 --> 00:07:55,500 määrittämällä hänen tietokanta, päätti, että tällä alalla tulee 191 00:07:55,500 --> 00:07:57,150 olla enää kuin tämä pituus. 192 00:07:57,150 --> 00:08:00,580 >> Hyvä on, niin mitä jos etenemme nimi? 193 00:08:00,580 --> 00:08:05,240 Kuinka kauan Tyypillinen ihmisen nimi on? 194 00:08:05,240 --> 00:08:07,492 Kuinka monta merkkiä, 16? 195 00:08:07,492 --> 00:08:09,450 Olen arvaamaan voisimme löytää joku tässä huoneessa 196 00:08:09,450 --> 00:08:13,210 jossa hänen tai hänen ensimmäinen plus viimeinen nimi on pidempi kuin 16 merkkiä. 197 00:08:13,210 --> 00:08:14,850 Joten, mikä on parempi kuin että, 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 Isompi? 201 00:08:20,350 --> 00:08:20,980 30? 202 00:08:20,980 --> 00:08:21,855 >> Yleisö: [äänetön] 203 00:08:21,855 --> 00:08:23,700 DAVID MALAN: 5000, Voi luoja. 204 00:08:23,700 --> 00:08:26,309 Niin, se on luultavasti kunnollinen yläraja, sanokaamme. 205 00:08:26,309 --> 00:08:28,350 Ja tässä meillä sellainen on tehdä arvostele. 206 00:08:28,350 --> 00:08:30,400 Kuten, ei ole oikea vastaus täällä. 207 00:08:30,400 --> 00:08:32,740 Infinite ei ole täysin mahdollista, koska olemme lopulta 208 00:08:32,740 --> 00:08:34,781 menossa have-- olemme menossa loppuu muisti. 209 00:08:34,781 --> 00:08:36,909 Joten, meidän on tehtävä arvostele jossain vaiheessa. 210 00:08:36,909 --> 00:08:41,010 >> Hyvin yleinen olisi esimerkiksi jotta use-- ja haluan täsmentää CHAR täällä 211 00:08:41,010 --> 00:08:46,050 kuten before-- 255 oli kirjaimellisesti yläraja tällä tietokantaohjelmisto 212 00:08:46,050 --> 00:08:46,700 vuosia sitten. 213 00:08:46,700 --> 00:08:48,575 Ja niin, paljon ihmisten olisi vain sanoa, hieno. 214 00:08:48,575 --> 00:08:49,420 255 on rajana. 215 00:08:49,420 --> 00:08:50,620 Haluan vain käyttää maksimi. 216 00:08:50,620 --> 00:08:51,870 Ja tämä on melko naurettavaa. 217 00:08:51,870 --> 00:08:55,060 Kuten, jos kirjoitat jonkun nimetä 200 plus merkkiä, 218 00:08:55,060 --> 00:08:56,140 että vähän naurettavaa. 219 00:08:56,140 --> 00:08:59,624 >> Mutta muista, että ASCII ei ole ainoa järjestelmä merkkiä. 220 00:08:59,624 --> 00:09:01,540 Ja niin, erityisesti paljon aasialaisia ​​kieliä 221 00:09:01,540 --> 00:09:04,248 missä on merkkejä emme voi ilmaista koskettimet mun US 222 00:09:04,248 --> 00:09:08,209 näppäimistö, jotkut hahmot ovat vievät 16 bittiä sijasta kahdeksan bittiä. 223 00:09:08,209 --> 00:09:10,250 Ja niin, oikeastaan ei ole kovin kohtuuton 224 00:09:10,250 --> 00:09:12,250 että tarvitsemme enemmän tilaa, jos haluamme sovittaa 225 00:09:12,250 --> 00:09:16,252 suurempi merkkejä kuin hyvin Yhdysvalloissa centric niistä olemme yleensä keskustella. 226 00:09:16,252 --> 00:09:17,460 Joten, tarvitsemme ylärajan. 227 00:09:17,460 --> 00:09:21,470 En tiedä, mitä paras on, mutta 255 on yleensä yhteinen. 228 00:09:21,470 --> 00:09:22,700 25 tuntuu alhainen. 229 00:09:22,700 --> 00:09:23,857 16, 32 tuntea alhainen. 230 00:09:23,857 --> 00:09:25,690 Haluaisin varmuuden vuoksi jotain korkeampaa. 231 00:09:25,690 --> 00:09:27,330 Mutta on vaihtokauppa, kuten aina. 232 00:09:27,330 --> 00:09:31,902 Mikä on, ehkä, ilmeinen kauppa pois varata 255 MERKEILLÄ 233 00:09:31,902 --> 00:09:33,360 kaikkien nimi minun tietokantaan? 234 00:09:33,360 --> 00:09:34,230 >> Yleisö: [äänetön] 235 00:09:34,230 --> 00:09:34,510 >> DAVID MALAN: Mikä tämä on? 236 00:09:34,510 --> 00:09:35,430 >> Yleisö: [äänetön] 237 00:09:35,430 --> 00:09:37,138 >> DAVID MALAN: Se on paljon muistia, eikö? 238 00:09:37,138 --> 00:09:42,280 M--L-A-N-. Olen vain hukkaan 250 merkkiä vain tallentaa nimeni 239 00:09:42,280 --> 00:09:46,000 puolustautui, vain jos joku luokassa on todella pitkä nimi. 240 00:09:46,000 --> 00:09:47,940 Se tuntuu kohtuuttoman kompromissi. 241 00:09:47,940 --> 00:09:52,040 >> Joten, käy ilmi, että SQL, tämä tietokanta kieli, 242 00:09:52,040 --> 00:09:55,480 todella tukee jotain kutsutaan VARCHAR, tai muuttuva CHAR. 243 00:09:55,480 --> 00:09:59,390 Ja tämä on tavallaan mukavaa, että tämä Voit määrittää ole kiinteä 244 00:09:59,390 --> 00:10:01,900 leveys, vaan vaihteleva leveys. 245 00:10:01,900 --> 00:10:05,060 Ja erityisemmin suurin leveys kentän. 246 00:10:05,060 --> 00:10:08,901 Joten, tämä tarkoittaa, että nimi voi olla enintään 250 merkkiä, 247 00:10:08,901 --> 00:10:10,150 mutta se voi varmasti olla vähemmän. 248 00:10:10,150 --> 00:10:11,733 Ja tietokanta tulee olemaan fiksu. 249 00:10:11,733 --> 00:10:14,860 Jos et laita M--L--N, se on vain aio käyttää viisi, 250 00:10:14,860 --> 00:10:18,120 ehkä kuusi tavua, kuten jäljessä null hahmo, 251 00:10:18,120 --> 00:10:23,330 ja ei viettää ylimääräinen 249 tai 250 tavua tarpeettomasti. 252 00:10:23,330 --> 00:10:27,380 >> Joten, tämä tuntuu minun pitäisi on aloitettu tämän tarinan. 253 00:10:27,380 --> 00:10:29,140 Mutta on aina kompromissi. 254 00:10:29,140 --> 00:10:33,024 Niin, toisaalta, käyttäjätunnus olen määritelty olemaan koodattu 16, 255 00:10:33,024 --> 00:10:34,940 ja ehkä se ei ollut oikea puhelu, ehkä se 256 00:10:34,940 --> 00:10:40,040 on, mutta miksi ei käytä VARCHARs kaikesta? 257 00:10:40,040 --> 00:10:42,020 >> Se on olemassa syystä. 258 00:10:42,020 --> 00:10:46,200 Miksi ei käytä VARCHARs kaikkien alojen joiden pituus et tiedä etukäteen 259 00:10:46,200 --> 00:10:48,180 jos se näyttää olevan suuri juttu, eikö? 260 00:10:48,180 --> 00:10:50,482 Käytä vain yhtä paljon tilaa kuin sinun täytyy tähän rajaan? 261 00:10:50,482 --> 00:10:51,271 >> Yleisö: Hitaampi. 262 00:10:51,271 --> 00:10:52,146 DAVID MALAN: Speller? 263 00:10:52,146 --> 00:10:53,120 Yleisö: Tekee se hitaammin? 264 00:10:53,120 --> 00:10:53,970 DAVID MALAN: Voi, se on hitaampi. 265 00:10:53,970 --> 00:10:55,720 Hyvä, se on lähes aina vastaus, rehellisesti. 266 00:10:55,720 --> 00:10:56,520 Kuten, mikä on kompromissi? 267 00:10:56,520 --> 00:10:58,570 Se joko maksaa enemmän tilaa tai se maksaa enemmän aikaa. 268 00:10:58,570 --> 00:11:00,111 Eli tässä tapauksessa se saattaa olla hitaampaa. 269 00:11:00,111 --> 00:11:00,920 Miksi? 270 00:11:00,920 --> 00:11:05,830 >> Yleisö: [äänetön] määritettäessä [äänetön]. 271 00:11:05,830 --> 00:11:06,640 >> DAVID MALAN: Hyvä. 272 00:11:06,640 --> 00:11:09,670 Joten, saatat muistan jopa PSED5, leikkii lähestymistapa 273 00:11:09,670 --> 00:11:12,750 sanakirjaan, jos sinulla on varata muistia dynaamisesti tai pitää 274 00:11:12,750 --> 00:11:14,630 kasvaa puskuri, joka voi todella olla hidasta. 275 00:11:14,630 --> 00:11:16,963 Jos sinun täytyy soittaa malloc alla huppu ja ehkä 276 00:11:16,963 --> 00:11:19,610 se mitä MySQL tekee, niin varmasti, että voisi olla kyse. 277 00:11:19,610 --> 00:11:22,430 Ja jos luulet tapa takaisin PSet-- tai jopa 278 00:11:22,430 --> 00:11:26,340 viikkoa kaksi, kun teimme asioita, kuten binäärihakupuu tai jopa lineaarinen haku, 279 00:11:26,340 --> 00:11:30,690 yksi mukavia asioita jokainen sana tietokantaan tai jokaisen sanan sarakkeessa 280 00:11:30,690 --> 00:11:33,690 on täsmälleen sama pituus, vaikka jos koko joukko näistä merkeistä 281 00:11:33,690 --> 00:11:37,390 ovat tyhjiä, on, että voit käyttää random access tietosi, eikö? 282 00:11:37,390 --> 00:11:40,310 >> Jos tiedät, että jokainen sana on 16 merkkiä pois, 283 00:11:40,310 --> 00:11:46,460 voit käyttää osoitin aritmeettinen, niin puhua, ja mene meille 16, 32, 48, 64, 284 00:11:46,460 --> 00:11:49,589 ja voit vain hypätä heti käyttäen aritmeettinen 285 00:11:49,589 --> 00:11:51,130 Jonkin sanat tietokantaan. 286 00:11:51,130 --> 00:11:54,280 Ottaa huomioon, jos se on VARCHAR, mitä sen sijaan on tehtävä? 287 00:11:54,280 --> 00:11:55,960 >> [Puhelimen soivan] 288 00:11:55,960 --> 00:11:58,680 >> Jos se on VARCHAR, sinua voi käyttää random access. 289 00:11:58,680 --> 00:12:01,341 Mitä sinun täytyy etsiä tai tehdä? 290 00:12:01,341 --> 00:12:01,840 Joo? 291 00:12:01,840 --> 00:12:03,240 >> Yleisö: [äänetön] 292 00:12:03,240 --> 00:12:04,310 >> DAVID MALAN: Katso kautta whole-- jälki 293 00:12:04,310 --> 00:12:06,518 läpi koko lista etsivät mitä todennäköisesti? 294 00:12:06,518 --> 00:12:08,356 Minkälainen erityinen arvo? 295 00:12:08,356 --> 00:12:09,230 Yleisö: [äänetön] 296 00:12:09,230 --> 00:12:11,105 DAVID MALAN: Katse varten null terminaattorit 297 00:12:11,105 --> 00:12:13,637 että rajattava erottaminen sanoja. 298 00:12:13,637 --> 00:12:15,720 Joten jälleen, kompromissi, ja ei ole oikea vastaus. 299 00:12:15,720 --> 00:12:18,380 Mutta tämä on silloin, erityisesti kun käyttäjät saavat olla monia 300 00:12:18,380 --> 00:12:21,700 ja kuorma palvelimiin, ihmisten määrä käyttää sitä saa korkea, 301 00:12:21,700 --> 00:12:23,650 nämä ovat todella triviaali päätöksiä. 302 00:12:23,650 --> 00:12:26,640 Joten, voimme jättää nämä kuin tämä, mutta Katsotaanpa selaa yli oikealle 303 00:12:26,640 --> 00:12:27,332 täällä. 304 00:12:27,332 --> 00:12:30,290 Nyt siellä on pari saraketta jossa meidän on tehtävä arvostele. 305 00:12:30,290 --> 00:12:35,170 Onko järkevää sallia käyttäjän nimi, käyttäjän käyttäjätunnuksen tai käyttäjän 306 00:12:35,170 --> 00:12:36,370 nimi, olla null? 307 00:12:36,370 --> 00:12:37,610 Eli vain tyhjä. 308 00:12:37,610 --> 00:12:40,360 Tuntuu hieman järjetön, joten olen aio tarkistaa niitä laatikot. 309 00:12:40,360 --> 00:12:42,670 Mutta se osoittautuu vuonna tietokanta, voit sanoa, 310 00:12:42,670 --> 00:12:44,620 joku voi mahdollisesti olla tämän arvon. 311 00:12:44,620 --> 00:12:47,180 Tämä sarake ei ole todella olla siellä. 312 00:12:47,180 --> 00:12:48,570 >> Nyt, on tämä pudotusvalikosta. 313 00:12:48,570 --> 00:12:50,810 Ja huomaa olen yhä ensimmäisellä rivillä siellä, 314 00:12:50,810 --> 00:12:52,520 joten puhun käyttäjätunnuksen nyt. 315 00:12:52,520 --> 00:12:56,290 Ja käy ilmi, että tietokanta, toisin kuin yksinkertainen pelkkä taulukkolaskenta, 316 00:12:56,290 --> 00:12:58,520 on tehokkaita ominaisuuksia kutsutaan indeksit. 317 00:12:58,520 --> 00:13:02,600 Ja indeksi on tapa kertoa tietokanta etukäteen, että olen ihmisen 318 00:13:02,600 --> 00:13:03,900 olen fiksumpi kuin sinä. 319 00:13:03,900 --> 00:13:10,430 >> Tiedän millaisia ​​kyselyjä, valitse tai lisätä tai poistaa tai päivittää, 320 00:13:10,430 --> 00:13:13,182 että minun koodi tulee päättymään jopa tekee tästä tietokannasta. 321 00:13:13,182 --> 00:13:14,390 Haluan lukea paljon tietoa. 322 00:13:14,390 --> 00:13:15,681 Haluan lisätä paljon tietoa. 323 00:13:15,681 --> 00:13:17,530 Haluan jatkuvasti poistaa paljon tietoa. 324 00:13:17,530 --> 00:13:21,520 Jos tiedän, että aion olla päästä kenttä kuin Käyttäjänimi paljon, 325 00:13:21,520 --> 00:13:24,770 Voin ennaltaehkäisevästi kertoa tietokanta, tiedän enemmän kuin sinä, 326 00:13:24,770 --> 00:13:29,220 ja haluan käskyn, että sinun pitäisi indeksi tällä alalla. 327 00:13:29,220 --> 00:13:33,200 Jos indeksointi kenttä tai sarake tarkoittaa sitä, että tietokannan etukäteen 328 00:13:33,200 --> 00:13:37,040 pitäisi lainata ideoita, kuten, viikko neljä ja viisi ja kuusi CS50 329 00:13:37,040 --> 00:13:39,240 ja todella rakentaa jotain binäärihaku 330 00:13:39,240 --> 00:13:41,560 puu tai jotain yleensä kutsutaan B puu 331 00:13:41,560 --> 00:13:43,410 että oppisit luokkaansa kuten CS124 332 00:13:43,410 --> 00:13:46,710 Harvardin, algoritmit luokka, tai useita muita paikkoja. 333 00:13:46,710 --> 00:13:49,570 >> Tietokanta ja fiksu ihmisiä, jotka toteutetaan sen 334 00:13:49,570 --> 00:13:53,880 tulee selvittää, miten säilyttää että tietotaulukkoa 335 00:13:53,880 --> 00:13:57,061 muistiin jotta haut ja muut toiminnot ovat erittäin nopea. 336 00:13:57,061 --> 00:13:58,060 Sinun ei tarvitse tehdä sitä. 337 00:13:58,060 --> 00:14:00,640 Sinun ei tarvitse toteuttaa lineaarinen haku tai binäärihaku 338 00:14:00,640 --> 00:14:03,300 tai yhdistää lajitella tai valinta lajitella, mitään sellaista. 339 00:14:03,300 --> 00:14:06,590 Tietokanta tekee sen puolestasi jos kerrot se ennaltaehkäisevästi indeksoida tällä alalla. 340 00:14:06,590 --> 00:14:09,100 >> Ja voit nähdä myös, siellä jotkut muut ominaisuudet 341 00:14:09,100 --> 00:14:11,010 voimme kertoa tietokannan valvoa. 342 00:14:11,010 --> 00:14:16,431 Mitä se voisi tarkoittaa, jos päätän Unique tästä valikosta, vain intuitiivisesti? 343 00:14:16,431 --> 00:14:16,930 Joo? 344 00:14:16,930 --> 00:14:17,889 >> Yleisö: [äänetön] 345 00:14:17,889 --> 00:14:19,930 DAVID MALAN: Joo, Käyttäjätunnus on oltava ainutlaatuinen. 346 00:14:19,930 --> 00:14:23,330 Onko tämä hyvä vai huono asia tietokanta, verkkosivuilla käyttäjiin? 347 00:14:23,330 --> 00:14:24,965 Jos käyttäjänimiä on ainutlaatuinen? 348 00:14:24,965 --> 00:14:25,880 Joo, luultavasti. 349 00:14:25,880 --> 00:14:27,800 Jos niin kenttä käytämme kirjautua sisään, 350 00:14:27,800 --> 00:14:31,867 et todellakaan halua ihmisiä, joilla sama tunne tai samaa käyttäjätunnusta. 351 00:14:31,867 --> 00:14:33,700 Joten, voimme olla tietokanta valvoa, että niin 352 00:14:33,700 --> 00:14:37,880 että nyt minun PHP tai millä tahansa kielellä, Minulla ei tarvitse esimerkiksi tarkistaa 353 00:14:37,880 --> 00:14:41,490 välttämättä tekee tämän käyttäjätunnus olemassa ennen kuin antaa jonkun rekisteröityä? 354 00:14:41,490 --> 00:14:46,690 Tietokanta ei anna kaksi ihmistä nimeltä David tai Malans rekisteröidä tässä tapauksessa. 355 00:14:46,690 --> 00:14:50,030 >> Ja syrjään, vaikka tämä valikon vain voit valita yksi, 356 00:14:50,030 --> 00:14:54,550 yksilöllinen indeksi on yksi, joka on indeksoitu super nopea suorituskyky, 357 00:14:54,550 --> 00:14:56,100 mutta se myös valvoo ainutlaatuisuutta. 358 00:14:56,100 --> 00:14:58,850 Ja me palata mitä Kaksi muuta tarkoita vain hetken. 359 00:14:58,850 --> 00:15:00,930 Samaan aikaan, jos menen toinen rivi, joka 360 00:15:00,930 --> 00:15:06,230 on käyttäjän nimi, minun pitäisi määritellä että nimi olisi ainutlaatuinen? 361 00:15:06,230 --> 00:15:09,550 Ei, koska voisit varmasti have-- ei ole kaksi David 362 00:15:09,550 --> 00:15:11,050 Malans tässä huoneessa, todennäköisesti. 363 00:15:11,050 --> 00:15:14,290 Mutta jos me valita eri nimi, voisimme varmasti törmäykset. 364 00:15:14,290 --> 00:15:16,130 >> Muistelen hash taulukoita ja vastaavia. 365 00:15:16,130 --> 00:15:18,604 Joten, emme missään nimessä halua tehdä nimikenttä ainutlaatuinen. 366 00:15:18,604 --> 00:15:21,270 Joten, me vain lähdössä että viiva, viiva, viiva, ei mitään. 367 00:15:21,270 --> 00:15:22,660 Ja aion lähteä kaikki muu yksin. 368 00:15:22,660 --> 00:15:25,035 Itse asiassa suurin osa näillä aloilla meidän ei tarvitse välittää. 369 00:15:25,035 --> 00:15:27,830 Ja kun olen valmis pelastamaan tätä, Jos Internet yhteistyötä, 370 00:15:27,830 --> 00:15:35,032 I valitse Tallenna, ja hyvin, hyvin, hyvin hitaasti ei tietokantaan tallentuvat. 371 00:15:35,032 --> 00:15:37,240 Ja nyt olen takaisin tähän käyttöliittymä, joka tosin, 372 00:15:37,240 --> 00:15:38,680 on ylivoimainen ensi silmäyksellä. 373 00:15:38,680 --> 00:15:42,450 Mutta kaikki aion tehdä, on klikkaa sanaa Käyttäjiä vasemmassa yläkulmassa. 374 00:15:42,450 --> 00:15:47,630 Aion mennä tänne, napsauta Käyttäjiä, ja oletuksena, se 375 00:15:47,630 --> 00:15:50,180 on toteuttanut joitakin SQL, mutta siitä lisää hetken kuluttua. 376 00:15:50,180 --> 00:15:52,654 Tässä on vain yhteenveto siitä, mitä tein. 377 00:15:52,654 --> 00:15:55,320 Ja ei hätää, että näet mainita Latinalaisen ja Ruotsin täällä. 378 00:15:55,320 --> 00:16:00,490 Nämä ovat vain oletus asetukset, koska MySQL alunperin, 379 00:16:00,490 --> 00:16:04,000 tai PHP MyAdmin, toinen tapahtui on kirjoittanut noin Ruotsin kansa. 380 00:16:04,000 --> 00:16:06,100 Mutta se on merkityksetöntä tässä tapauksessa täällä. 381 00:16:06,100 --> 00:16:08,280 >> Hyvä on, joten miksi tämä kaikki mielenkiintoinen? 382 00:16:08,280 --> 00:16:13,050 On käynyt ilmi, voin lisätä tietoja tietokantaan kirjoittamalla koodin. 383 00:16:13,050 --> 00:16:15,940 Ja minä mennä eteenpäin ja minun tiedosto täällä, olen 384 00:16:15,940 --> 00:16:19,000 menossa eteenpäin ja teeskennellä kuin tämä on kytketty tietokantaan, joka 385 00:16:19,000 --> 00:16:23,040 se ei ole tällä hetkellä, mutta se olla, kun saamme ongelman asettaa seitsemän. 386 00:16:23,040 --> 00:16:25,640 Ja aion mennä eteenpäin ja suorittaa toiminto nimeltään kyselyn, 387 00:16:25,640 --> 00:16:28,730 joka annamme sinulle ongelma asettaa seitsemän jakelu- koodin, että 388 00:16:28,730 --> 00:16:31,490 kestää ainakin yhden argumentin, joka on vain merkkijono. 389 00:16:31,490 --> 00:16:33,460 Jono SQL-koodin. 390 00:16:33,460 --> 00:16:36,700 Joten, olet aikeissa oppia kirjoittaa Structured Query Language. 391 00:16:36,700 --> 00:16:41,270 >> Jos haluan lisätä uuden rivin minun tietokanta koska joku on toimittanut 392 00:16:41,270 --> 00:16:47,600 muodossa minun koodi, olisin kirjaimellisesti kirjoittaa INSERT INTO käyttäjät seuraavat 393 00:16:47,600 --> 00:16:52,800 kentät: käyttäjätunnus, pilkku, nimi, ARVOT, 394 00:16:52,800 --> 00:16:57,480 ja nyt minun täytyy lisätä jotain Malan, ja lainaus, 395 00:16:57,480 --> 00:17:01,490 lainaus "David Malan." Ja nyt myös niille, jotka eivät tunne SQL, 396 00:17:01,490 --> 00:17:07,830 miksi minulla on käytössä puolilainausmerkkejä sisäosat vihreä merkkijono? 397 00:17:07,830 --> 00:17:10,790 398 00:17:10,790 --> 00:17:13,040 Mikä voisi olla syy täällä? 399 00:17:13,040 --> 00:17:14,609 >> Huomata Olen sekoittuminen kahdella kielellä. 400 00:17:14,609 --> 00:17:18,099 Kysely on PHP funktio, mutta se vie argumentti. 401 00:17:18,099 --> 00:17:21,740 Ja että väite on itsessään kirjoitettu toisella kielellä nimeltään 402 00:17:21,740 --> 00:17:23,500 SQL, Structured Query Language. 403 00:17:23,500 --> 00:17:27,940 Niin, kaiken, mitä juuri korostettu täällä 404 00:17:27,940 --> 00:17:30,380 on tällä kielellä nimeltään SQL. 405 00:17:30,380 --> 00:17:36,290 Joten, mitä kanssa puolilainausmerkkejä, yhtä nopeasti järki tarkistaa? 406 00:17:36,290 --> 00:17:37,324 Mene eteenpäin. 407 00:17:37,324 --> 00:17:37,990 He jouset. 408 00:17:37,990 --> 00:17:41,590 Niin, lainaus, lainaus Malan ja lainaus, lainaus David Malan ovat merkkijonoja. 409 00:17:41,590 --> 00:17:45,210 Ja vain ajatella intuitiivisesti nyt, tietäen mitä tiedät C ja PHP, 410 00:17:45,210 --> 00:17:50,220 Miksi en tee tätä, jota yleensä käytetyt lainausmerkit jousille? 411 00:17:50,220 --> 00:17:52,310 Miksi en halua tehdä sitä? 412 00:17:52,310 --> 00:17:52,810 Joo? 413 00:17:52,810 --> 00:17:53,685 >> Yleisö: [äänetön] 414 00:17:53,685 --> 00:17:56,695 415 00:17:56,695 --> 00:17:57,570 DAVID MALAN: Aivan. 416 00:17:57,570 --> 00:17:59,653 Koska olen jo käytössä lainausmerkit matkalla 417 00:17:59,653 --> 00:18:01,929 ulkopuolella argumentti PHP funktio, 418 00:18:01,929 --> 00:18:03,470 Haluan vain sekoittaa tulkki. 419 00:18:03,470 --> 00:18:04,860 Se ei tiedä, nämä liittyvät toisiinsa? 420 00:18:04,860 --> 00:18:05,735 Ovatko nämä menevät yhteen? 421 00:18:05,735 --> 00:18:06,810 Ovatko nämä menevät yhteen? 422 00:18:06,810 --> 00:18:08,070 Joten, minä vuorottelevat sijaan. 423 00:18:08,070 --> 00:18:11,784 >> Tai voisin tehdä jotain tällaista, kenoviiva lainaus tai kenoviivaa tarjous. 424 00:18:11,784 --> 00:18:14,200 Suoraan sanottuna, että vain alkaa saat hyvin lukukelvoton ja ruma. 425 00:18:14,200 --> 00:18:16,790 Mutta se saisi saman tuloksen kuin hyvin. 426 00:18:16,790 --> 00:18:19,760 >> Joten, jos olisin suorittaa tämän kysely nyt, katsotaan mitä tapahtuu. 427 00:18:19,760 --> 00:18:22,740 Aion mennä eteenpäin nyt ja melko kuin suorittaa PHP, joka 428 00:18:22,740 --> 00:18:24,610 on jossa voit pelata ongelmatilanteissa asettaa seitsemän, 429 00:18:24,610 --> 00:18:27,200 Aion sen sijaan mennä PHP MyAdmin. 430 00:18:27,200 --> 00:18:29,770 Ja olen itse menossa mennä SQL välilehti, 431 00:18:29,770 --> 00:18:31,580 ja haluaisin suurentaa käyttöliittymän. 432 00:18:31,580 --> 00:18:34,007 Ja aion liitä mitä olen juuri kirjoittanut. 433 00:18:34,007 --> 00:18:36,090 Ja värikoodit on hieman muuttunut nyt, 434 00:18:36,090 --> 00:18:38,750 vain koska ohjelma formaatteja asiat hieman eri tavalla. 435 00:18:38,750 --> 00:18:41,960 Mutta huomaan, että kaikki olen tehnyt on olen sanonut, työnnä käyttäjät. 436 00:18:41,960 --> 00:18:45,790 Olen määritelty, sitten, vuonna pilkku erotettu suluissa lista kaksi 437 00:18:45,790 --> 00:18:48,850 kenttiä, jotka haluan lisätä, ja sitten Olen kirjaimellisesti sanoi arvot 438 00:18:48,850 --> 00:18:51,510 seurasi toinen paren, ja sitten kaksi arvoa 439 00:18:51,510 --> 00:18:53,520 Haluan plug-in, ja nyt hyvä toimenpide, 440 00:18:53,520 --> 00:18:55,010 Laitan puolipiste lopussa. 441 00:18:55,010 --> 00:18:56,570 Niin, tämä ei ole C. Tämä ei ole PHP. 442 00:18:56,570 --> 00:18:59,970 Tämä on nyt SQL, ja olen liittämällä se tähän web-pohjainen käyttöliittymä, joka on 443 00:18:59,970 --> 00:19:02,710 vain aio antaa minulle, heti kun olen klikkaa Go, 444 00:19:02,710 --> 00:19:08,060 suorittaa tämän kyselyn tietokantaan käynnissä sisällä CS50 IDE. 445 00:19:08,060 --> 00:19:09,470 >> Joten tämä on hyvä. 446 00:19:09,470 --> 00:19:12,520 Huomaa, että mainittu yksi rivi Lisätään, meni huippunopea, 447 00:19:12,520 --> 00:19:15,190 0,0054 sekuntia lisätä tietojen. 448 00:19:15,190 --> 00:19:16,610 Niin, että kuulostaa melko terve. 449 00:19:16,610 --> 00:19:19,350 Se alustanut kysymykseni minulle täällä vain nähdä se 450 00:19:19,350 --> 00:19:21,730 on eräänlainen värikoodatut versio. 451 00:19:21,730 --> 00:19:24,540 Mutta nyt jos napsautan Selaa, huomaa, että vaikka 452 00:19:24,540 --> 00:19:29,070 vaikka siellä on paljon sotkua näyttö, minun pöytäni on nyt kaksi riviä. 453 00:19:29,070 --> 00:19:30,700 >> Joten, anna minun mennä eteenpäin ja tehdä toinen. 454 00:19:30,700 --> 00:19:33,760 Tämän sijasta haluaisin Siirry SQL välilehti uudelleen. 455 00:19:33,760 --> 00:19:40,723 Ja tällä kertaa minä lisätä jotain Rob ja hänen nimensä on Rob Bowden. 456 00:19:40,723 --> 00:19:42,330 Bowden. 457 00:19:42,330 --> 00:19:44,040 Katsotaanpa sitten Tallenna. 458 00:19:44,040 --> 00:19:46,140 Hups, mieluummin mennä. 459 00:19:46,140 --> 00:19:48,890 >> Valitse Selaa uudelleen, ja Nyt huomaan on kaksi riviä. 460 00:19:48,890 --> 00:19:52,390 Joten, tämä on vain tapa monimutkaisempi tapa avata Google Spreadsheets 461 00:19:52,390 --> 00:19:54,010 ja kirjoittamalla rivi pylvääseen. 462 00:19:54,010 --> 00:19:57,070 Mutta mikä on avain on, että meillä on nyt syntaksi 463 00:19:57,070 --> 00:20:00,220 jolla kirjoittaa koodia niin, että lopulta, voisimme todella 464 00:20:00,220 --> 00:20:01,790 tehdä joitakin ja tämän. 465 00:20:01,790 --> 00:20:05,380 Muista, että PHP tukee Super globaaleja muuttujia. 466 00:20:05,380 --> 00:20:08,415 >> Mikä on sisällä dollari kirjaudu alaviiva GET PHP? 467 00:20:08,415 --> 00:20:10,290 Otimme katsele yhtä tai kaksi yksinkertaisia ​​esimerkkejä. 468 00:20:10,290 --> 00:20:15,640 Ja PSet6 Recall olet hei piste PHP joka käyttää tätä muuttujaa. 469 00:20:15,640 --> 00:20:17,870 Mikä menee siellä? 470 00:20:17,870 --> 00:20:21,015 Vai mikä se on? 471 00:20:21,015 --> 00:20:22,522 Vähän kovempaa. 472 00:20:22,522 --> 00:20:23,790 >> Yleisö: [äänetön] 473 00:20:23,790 --> 00:20:25,030 >> DAVID MALAN: Se on lunta siemen array, joka 474 00:20:25,030 --> 00:20:27,714 on vain hieno tapa sanoa array, joka on keskeinen arvo-pareja. 475 00:20:27,714 --> 00:20:28,880 Ja näppäimet eivät ole numeerisia. 476 00:20:28,880 --> 00:20:30,420 He sanoja tai merkkijonoja. 477 00:20:30,420 --> 00:20:32,750 Ja erityisesti, mitä ovat ne keskeiset arvo-pareja? 478 00:20:32,750 --> 00:20:35,110 Mistä ne tulevat? 479 00:20:35,110 --> 00:20:35,620 Anteeksi? 480 00:20:35,620 --> 00:20:36,994 >> Yleisö: [äänetön] 481 00:20:36,994 --> 00:20:37,660 DAVID MALAN: Ei? 482 00:20:37,660 --> 00:20:40,700 Jos tekemään niitä keskeisiä arvo pareja tulevat? 483 00:20:40,700 --> 00:20:42,490 Sano uudelleen? 484 00:20:42,490 --> 00:20:44,610 Uudelleen? 485 00:20:44,610 --> 00:20:46,472 Olenko ainoa kuulo jotain? 486 00:20:46,472 --> 00:20:47,810 >> [Naurua] 487 00:20:47,810 --> 00:20:49,042 >> Aivan oikein, kyllä? 488 00:20:49,042 --> 00:20:50,435 >> Yleisö: [äänetön] 489 00:20:50,435 --> 00:20:52,560 DAVID MALAN: Joo, he tulevat kyselyn merkkijono. 490 00:20:52,560 --> 00:20:55,380 Joten, jos taaksepäin ajoissa kun olemme pelataan Google 491 00:20:55,380 --> 00:20:59,600 ja olemme menneet Google.com kauttaviiva haku kysymysmerkki Q on yhtä kissat, 492 00:20:59,600 --> 00:21:03,550 jos olisin paina Enter ja jos Google toteutettiin PHP, 493 00:21:03,550 --> 00:21:07,017 PHP-koodin että Google kirjoitti olisi pääsy dollarin merkki 494 00:21:07,017 --> 00:21:11,600 korostaa GET jonka sisällä on keskeinen kutsutaan Q ja arvo 495 00:21:11,600 --> 00:21:17,680 kutsui kissat että se voi sitten käyttää tapana tehdä todellinen haku. 496 00:21:17,680 --> 00:21:20,860 >> Joten itse asiassa, mitä aion nyt on palata minun PHP 497 00:21:20,860 --> 00:21:23,140 että voit taas nähdä lisää vuonna PSet7. 498 00:21:23,140 --> 00:21:25,440 Ja sen sijaan kytkemällä kovaa koodattuja arvoja 499 00:21:25,440 --> 00:21:27,630 ei tunnu erittäin dynaamisen sivuston, 500 00:21:27,630 --> 00:21:30,680 Aion antaa sinulle teaser mitä todellinen koodi tekisi. 501 00:21:30,680 --> 00:21:32,854 Voisitte laittaa kaksi kysymys merkitsee näin. 502 00:21:32,854 --> 00:21:34,270 En tiedä, mikä käyttäjätunnus on. 503 00:21:34,270 --> 00:21:37,390 En tiedä mitä nimi tulee olemaan, 504 00:21:37,390 --> 00:21:39,470 mutta tiedän voin saada heidät dynaamisesti. 505 00:21:39,470 --> 00:21:43,420 >> Joten, jos koodi haluamme ilmoittaa nyt koodi käynnissä Googlen palvelimille, 506 00:21:43,420 --> 00:21:46,940 tai jos tämä on hei piste PHP, joka tulee PSet6, 507 00:21:46,940 --> 00:21:48,650 Aion kulkeutua hakutoiminto 508 00:21:48,650 --> 00:21:51,450 aivan kuten printf, kaksi muuta väitettä. 509 00:21:51,450 --> 00:21:57,120 GET, lainaus, lainaus päättyy käyttäjätunnuksen, ja GET, lainaus, lainaus nimi. 510 00:21:57,120 --> 00:22:00,720 Ja nyt, huomaa, mitä yleinen rakenne on täällä. 511 00:22:00,720 --> 00:22:03,320 Minulla vasemmalla puolella puhelun, 512 00:22:03,320 --> 00:22:05,480 tämä toiminto nimeltään kyselyn PHP. 513 00:22:05,480 --> 00:22:08,160 Minulla on vielä ensimmäisenä argumentti, vain merkkijono. 514 00:22:08,160 --> 00:22:11,000 >> Mutta että merkkijono on kirjoitettu kielellä nimeltään SQL. 515 00:22:11,000 --> 00:22:12,616 Ja rehellisesti, se ei ole iso kieli. 516 00:22:12,616 --> 00:22:14,990 Olemme vain aio puhua se virallisesti tänään, todella. 517 00:22:14,990 --> 00:22:17,031 Ja sitten Harjoitus seitsemän, siellä on suhteellisen 518 00:22:17,031 --> 00:22:18,800 muutamia ominaisuuksia, että olemme menossa hyödyntää. 519 00:22:18,800 --> 00:22:22,530 Kysymysmerkkejä kuitenkin tarkoita kytke arvo täällä ja pistoke toisessa arvo 520 00:22:22,530 --> 00:22:23,130 täällä. 521 00:22:23,130 --> 00:22:26,010 Ja ilmoitus, olen pois mitä ympäri quote-- pirun 522 00:22:26,010 --> 00:22:30,470 it-- ympäri lainaus merkitsee tällä kertaa. 523 00:22:30,470 --> 00:22:34,930 Olen pois lainaus tavaramerkit ympärillä kysymysmerkki, 524 00:22:34,930 --> 00:22:36,410 pahoillani, tällä kertaa. 525 00:22:36,410 --> 00:22:38,870 >> Joten, mitä mukavaa tästä kysymysmerkki ominaisuus, joka 526 00:22:38,870 --> 00:22:42,830 PHP pyrkii tukemaan, Ruby ja Python ja muilla kielillä, 527 00:22:42,830 --> 00:22:45,730 tämä tarkoittaa vain plug joissakin Arvostamme täällä ja tiedättekö mitä? 528 00:22:45,730 --> 00:22:48,300 Voit selvittää, käytetäänkö puolilainausmerkkejä tai lainausmerkkeihin. 529 00:22:48,300 --> 00:22:50,966 Älä häiritse minua kanssa älyllisesti mielenkiinnoton tiedot. 530 00:22:50,966 --> 00:22:53,780 Mutta varmista, että se on oikein niin että minun koodi on lopulta 531 00:22:53,780 --> 00:22:57,010 toiminnalliset ja turvallinen, joka on merkitystä ennen pitkää. 532 00:22:57,010 --> 00:23:00,460 >> Nyt, kuinka monia perusteita yhteensä, vain oltava selkeä, on hakutoiminto ottaen? 533 00:23:00,460 --> 00:23:05,240 534 00:23:05,240 --> 00:23:07,581 Kukaan halua äänestää yli kaksi? 535 00:23:07,581 --> 00:23:08,080 Kolme? 536 00:23:08,080 --> 00:23:10,001 Toki, miksi? 537 00:23:10,001 --> 00:23:10,920 Miksi kolme? 538 00:23:10,920 --> 00:23:12,305 >> Yleisö: [äänetön] 539 00:23:12,305 --> 00:23:13,180 DAVID MALAN: Aivan. 540 00:23:13,180 --> 00:23:14,610 Ensimmäinen osa on merkkijono. 541 00:23:14,610 --> 00:23:18,640 Toinen argumentti on dollarin merkki korostaa GET kiinnike käyttäjätunnus. 542 00:23:18,640 --> 00:23:21,950 Ja kolmas väite on sama asia, mutta vain nimi. 543 00:23:21,950 --> 00:23:24,590 Eli toisin sanoen, nyt jos olisin verkkolomakkeella 544 00:23:24,590 --> 00:23:27,149 jotka oli tekstikenttiä, yksi käyttäjän käyttäjätunnus, 545 00:23:27,149 --> 00:23:29,690 yksi hänen nimensä, vain kuten voit nähdä verkkosivuilla 546 00:23:29,690 --> 00:23:32,120 kun rekisteröidyt jotkut verkkosivuilla, tämä saattaa 547 00:23:32,120 --> 00:23:35,450 olla koodi loppupäätä että itse asiassa tekee lisäys nyt 548 00:23:35,450 --> 00:23:37,220 tietokantaan. 549 00:23:37,220 --> 00:23:40,870 >> Nyt sen sijaan, katsotaanpa eteenpäin. 550 00:23:40,870 --> 00:23:43,840 Oletetaan käyttäjä on nyt kirjautumalla sisään ja haluat 551 00:23:43,840 --> 00:23:48,860 kirjoittaa PHP koodia, joka tarkistaa, onko henkilö, joka on juuri kirjautunut sisään 552 00:23:48,860 --> 00:23:52,250 on todella käyttäjä, voit käyttää melko yksinkertainen syntaksi. 553 00:23:52,250 --> 00:23:55,832 Voit sanoa VALINTA, sanokaamme Star, jossa tähti merkitsee kaikkea. 554 00:23:55,832 --> 00:23:57,540 En tiedä mitä minä haluavat, joten anna minulle 555 00:23:57,540 --> 00:24:01,585 kaikki taulukon sarakkeita soitetuille käyttäjille missä, ja tämä on mukavaa. 556 00:24:01,585 --> 00:24:03,710 Valitse tukee mitä kutsutaan predikaatti, joka on 557 00:24:03,710 --> 00:24:06,630 kuten tapa täyttäviä mitä haluat. 558 00:24:06,630 --> 00:24:10,590 Jos käyttäjätunnus on sama lainaus, lainaus Malan. 559 00:24:10,590 --> 00:24:13,680 Niin tässäkin, olen sulautettujen sisällä argumentti 560 00:24:13,680 --> 00:24:16,110 on PHP funktio, rivi SQL-koodin. 561 00:24:16,110 --> 00:24:18,680 Ja että SQL-koodin tämä aika on kirjaimellisesti menossa 562 00:24:18,680 --> 00:24:21,790 etsiä tarjous, Lainaus päättyy Malan. 563 00:24:21,790 --> 00:24:24,420 >> Nyt ei ole kaikki, että hyödyllinen, joten aion skip että 564 00:24:24,420 --> 00:24:28,650 ja aion laittaa pois tämä kärki Brady, ja mennä 565 00:24:28,650 --> 00:24:30,990 ja plug-in sen sijaan kysymysmerkki täällä. 566 00:24:30,990 --> 00:24:33,290 Joten, vain olla selkeä, mitä pitäisi Toinen väite 567 00:24:33,290 --> 00:24:37,480 on jos joku on juuri kirjautunut sisään ja minä haluat tarkistaa, jos hän on itse 568 00:24:37,480 --> 00:24:39,265 käyttäjä? 569 00:24:39,265 --> 00:24:40,140 Yleisö: [äänetön] 570 00:24:40,140 --> 00:24:40,890 DAVID MALAN: Joo. 571 00:24:40,890 --> 00:24:44,120 Kuulen dollarin merkki alaviiva Lähetä pyyntö, lainaus käyttäjätunnus. 572 00:24:44,120 --> 00:24:50,040 Ja että pitäisi palata minulle tahansa rivien tietokannasta 573 00:24:50,040 --> 00:24:51,986 että on käyttäjätunnus Malan. 574 00:24:51,986 --> 00:24:54,860 Nyt toivottavasti, aion saada takaisin nolla, jos Malan ole koskaan ollut täällä, 575 00:24:54,860 --> 00:24:56,290 tai yksi jos hänellä on. 576 00:24:56,290 --> 00:24:59,026 Minun ei pitäisi saada takaisin kaksi tai kolme tai neljä. 577 00:24:59,026 --> 00:24:59,526 Miksi? 578 00:24:59,526 --> 00:25:00,220 >> Yleisö: [äänetön] 579 00:25:00,220 --> 00:25:01,120 >> DAVID MALAN: Sanoin ainutlaatuinen, eikö? 580 00:25:01,120 --> 00:25:01,750 Yksinkertainen syy. 581 00:25:01,750 --> 00:25:04,030 Koska sanoin sen täytyy olla ainutlaatuinen, vain loogisesti, 582 00:25:04,030 --> 00:25:07,940 voit vain olla nolla tai yksi Malans tässä nimenomaisessa tietokannan taulukkoon. 583 00:25:07,940 --> 00:25:10,965 Nyt kun sivuun, juuri niin olet nähnyt se, vaikka pidän käyttäen GET 584 00:25:10,965 --> 00:25:14,350 ja vaikka PSet6 käytetään vain GET, voit varmasti POST. 585 00:25:14,350 --> 00:25:17,212 Ja muistuttaa, että Post on toinen tekniikka tietojen ilmoittamista 586 00:25:17,212 --> 00:25:19,170 lomakkeesta, mutta se ei näy URL. 587 00:25:19,170 --> 00:25:22,690 Se on hieman turvallisempi varmasti asioita, kuten käyttäjätunnuksia ja salasanoja, 588 00:25:22,690 --> 00:25:25,210 joka PSet7, itse asiassa, liittyy. 589 00:25:25,210 --> 00:25:28,130 >> Niin, tehdään tämä PHP MyAdmin ja katso mitä tapahtuu. 590 00:25:28,130 --> 00:25:30,020 Aion mennä MySQL välilehti. 591 00:25:30,020 --> 00:25:34,450 Ja huomaa, että oletusarvo PHP MyAdmin, vain yrittää olla avuksi, 592 00:25:34,450 --> 00:25:37,050 on valita tähden käyttäjiltä jossa yksi. 593 00:25:37,050 --> 00:25:39,430 No, yksi on aina totta, niin tämä on typerä tehokas 594 00:25:39,430 --> 00:25:40,400 vain Valitse kaikki. 595 00:25:40,400 --> 00:25:42,691 Mutta aion olla hieman enemmän pikkutarkka ja manuaalisesti 596 00:25:42,691 --> 00:25:45,920 kirjoittamiseen SELECT tähden käyttäjiltä. 597 00:25:45,920 --> 00:25:48,294 >> Nyt teknisesti, voit Lainaan nimi taulukoita. 598 00:25:48,294 --> 00:25:50,460 On harvinaista, että sinulla on, mutta huomaa nämä eivät ole 599 00:25:50,460 --> 00:25:52,240 normaali lainausmerkkejä Yhdysvaltain näppäimistöllä. 600 00:25:52,240 --> 00:25:54,760 Tämä on niin sanottu backtick, joka on yleensä ylhäällä vasemmalla 601 00:25:54,760 --> 00:25:56,000 kulmassa näppäimistön. 602 00:25:56,000 --> 00:25:58,500 Mutta se on harvinaista, että sinun itse tarvitse vaivautua että, 603 00:25:58,500 --> 00:25:59,950 joten minä vain jättää niitä joka tapauksessa. 604 00:25:59,950 --> 00:26:02,280 Joten nyt, anna minun mennä eteenpäin ja osui mennä. 605 00:26:02,280 --> 00:26:06,616 Ja kuinka monta riviä minun pitäisi saada takaisin kun valitsen tähden käyttäjiltä? 606 00:26:06,616 --> 00:26:08,407 >> Yleisö: [äänetön] 607 00:26:08,407 --> 00:26:09,990 DAVID MALAN: rivien, varma. 608 00:26:09,990 --> 00:26:12,390 Mutta kuinka moni tässä konkreettisia tarina juuri nyt? 609 00:26:12,390 --> 00:26:14,640 Kaksi, koska siellä oli minua ja oli Rob. 610 00:26:14,640 --> 00:26:19,370 Joten, jos olen valitse Siirry, näen visuaalisesti että Olen saanut takaisin, todellakin, kaksi riviä. 611 00:26:19,370 --> 00:26:22,060 Siellä on paljon sotkua näyttö, mutta näen vain kaksi riviä. 612 00:26:22,060 --> 00:26:28,580 Sitä vastoin, jos en tee tätä uudelleen ja tehdä SELECT tähti käyttäjiltä, ​​missä käyttäjätunnus 613 00:26:28,580 --> 00:26:31,840 vastaa lainaus, lainaus Malan, nyt jos olen valitse Siirry, 614 00:26:31,840 --> 00:26:33,970 Olen vain menossa saada takaisin yhden rivin. 615 00:26:33,970 --> 00:26:36,499 Ja lopuksi, jos en jotain tällaista, kai 616 00:26:36,499 --> 00:26:38,290 että en välitä saada kaiken, 617 00:26:38,290 --> 00:26:41,020 joka on tavallaan merkityksetön nyt, koska siellä on vain kaksi saraketta. 618 00:26:41,020 --> 00:26:43,103 Se ei ole kuin olen valitsemalla valtava määrä tietoa. 619 00:26:43,103 --> 00:26:46,720 Kai mennä eteenpäin ja Tehtävät Valitse nimi 620 00:26:46,720 --> 00:26:51,990 käyttäjille, jossa käyttäjänimi on yhtä Malan, mikä on mukavaa noin SQL rehellisesti, 621 00:26:51,990 --> 00:26:54,290 on, että se todella vain tekee mitä kerrot sen tehdä. 622 00:26:54,290 --> 00:26:57,550 Ihan ytimekäs, mutta voit kirjaimellisesti vain kertoa se, mitä haluat tehdä. 623 00:26:57,550 --> 00:27:01,130 Valitse nimi käyttäjiltä missä käyttäjätunnus vastaa Malan. 624 00:27:01,130 --> 00:27:03,440 Ja se todella on, että nimenomainen. 625 00:27:03,440 --> 00:27:08,410 Joten, nyt jos osuin Go, kuinka monta rivit olen menossa saada takaisin? 626 00:27:08,410 --> 00:27:10,770 Yksi, koska se on vain Malan, toivottavasti. 627 00:27:10,770 --> 00:27:13,100 Tai nolla, jos hän ei ole siellä, mutta yksi maksimaalisesti. 628 00:27:13,100 --> 00:27:17,610 >> Ja kuinka monta saraketta pääsen takaisin? 629 00:27:17,610 --> 00:27:18,450 Kuinka monta saraketta? 630 00:27:18,450 --> 00:27:20,658 Tällä kertaa, olen juuri menossa saada yksi koska en 631 00:27:20,658 --> 00:27:22,380 Valitse tähti, joka on kaiken. 632 00:27:22,380 --> 00:27:27,900 Nyt olen valinnut vain nimi, niin minä vain saada takaisin yhteen sarakkeeseen ja yhden rivin. 633 00:27:27,900 --> 00:27:31,730 Ja se näyttää tavallaan asianmukaisesti naurettava, just looking Super 634 00:27:31,730 --> 00:27:33,060 pieni näin. 635 00:27:33,060 --> 00:27:34,290 Joten, mitä todella tapahtuu? 636 00:27:34,290 --> 00:27:36,890 Kun suoritat SQL kysely käyttäen Valitse, 637 00:27:36,890 --> 00:27:38,700 mitä saat takaisin tietokannasta 638 00:27:38,700 --> 00:27:42,970 on kuin tilapäinen taulukko rivit ja sarakkeet, ehkä, 639 00:27:42,970 --> 00:27:46,260 mutta jättää mitään, ei oikeastaan ​​te valitsette. 640 00:27:46,260 --> 00:27:49,010 Niin, se on kuin jos joku oli suuri taulukkolaskenta kaikkien opiskelijoiden 641 00:27:49,010 --> 00:27:51,610 rekisteröity joitakin opiskelijaryhmän, ja sanot, 642 00:27:51,610 --> 00:27:55,097 anna minulle kaikki fuksi jotka olemme rekisteröity meidän opiskelija ryhmä, mitä 643 00:27:55,097 --> 00:27:56,930 sinun kollegansa opiskelija ryhmä voisi tehdä 644 00:27:56,930 --> 00:27:58,430 on ne voisi vain käsi sinua koko laskentataulukon. 645 00:27:58,430 --> 00:27:59,742 Se on kuin sanoisi valitse tähti. 646 00:27:59,742 --> 00:28:02,200 Ja se on vähän ärsyttävää, jos vain halusi fuksi. 647 00:28:02,200 --> 00:28:05,640 Ja niin, jos sen sijaan sanoi, Valitse tähti tietokannan taulukon 648 00:28:05,640 --> 00:28:08,470 jossa vuosi on lainaus, lainaus päättyy fuksi, 649 00:28:08,470 --> 00:28:10,810 se on ikään kuin ystäväsi oppilaan ryhmässä 650 00:28:10,810 --> 00:28:13,770 kirjaimellisesti esiin ja kopioida vain fuksi rivit, 651 00:28:13,770 --> 00:28:16,780 liittää ne uuteen Google Taulukkolaskenta tai Excel-tiedoston, 652 00:28:16,780 --> 00:28:18,860 ja antoi takaisin Tuloksena tiedosto vain. 653 00:28:18,860 --> 00:28:21,710 Siinä kaikki että menee on käsitteellisesti täällä. 654 00:28:21,710 --> 00:28:23,920 >> Joten lopulta, voimme tehdä joitakin melko hienouksia 655 00:28:23,920 --> 00:28:26,560 tallentamalla asioita, kuten käyttäjätunnuksia ja salasanat ja vastaavat. 656 00:28:26,560 --> 00:28:30,310 Mutta, se kääntyy pois, meidän pitäisi tehdä hieman eri tavalla kuin tämä. 657 00:28:30,310 --> 00:28:34,750 Se ei ole järkevää vain tallentaa käyttäjätunnuksen ja salasanan. 658 00:28:34,750 --> 00:28:37,790 Joku aikaisemmin, mielestäni täällä, ehdotti tunnus. 659 00:28:37,790 --> 00:28:40,787 Nyt tunnus voisi olla Harvard tunnus tai Yalen Net tunnus, 660 00:28:40,787 --> 00:28:42,870 mutta se voisi olla jopa helpompaa tietokantaamme tapauksessa. 661 00:28:42,870 --> 00:28:45,120 Ja todellakin, yhteinen asia on saada toisen sarakkeen. 662 00:28:45,120 --> 00:28:46,953 Ja aion mennä eteenpäin ja muokata pöytä. 663 00:28:46,953 --> 00:28:49,521 Ja jos pelaat noin kanssa tämä käyttöliittymä PSet7, 664 00:28:49,521 --> 00:28:51,770 näet, että voit tarkistaa tätä painiketta täällä ja lisää 665 00:28:51,770 --> 00:28:53,750 kentän alussa taulukon. 666 00:28:53,750 --> 00:28:56,720 Ja nyt jos olen valitse Siirry, se tulee antaa minulle yksi niistä muodoista 667 00:28:56,720 --> 00:28:57,600 aiemmista. 668 00:28:57,600 --> 00:29:00,170 Aion lisätä kentän nimeltä tunnus. 669 00:29:00,170 --> 00:29:03,070 Ja aion tehdä numeerinen tyyppi. 670 00:29:03,070 --> 00:29:05,362 >> Minulla on koko joukko arvojen numeriikan. 671 00:29:05,362 --> 00:29:08,677 Olen juuri menossa valita INT ja välitä erilaisia ​​kokoja. 672 00:29:08,677 --> 00:29:10,510 Minulla ei tarvitse määrittää pituus tai arvo, 673 00:29:10,510 --> 00:29:13,710 koska se tulee olemaan 32 bittiä mitä tahansa. 674 00:29:13,710 --> 00:29:16,070 Attribuutteja, emme nähneet ennen. 675 00:29:16,070 --> 00:29:18,410 Mikä tahansa kiinnostunut kaikista näistä valikon vaihtoehdot tällä kertaa? 676 00:29:18,410 --> 00:29:21,890 677 00:29:21,890 --> 00:29:23,745 Saat INT? 678 00:29:23,745 --> 00:29:24,620 Mitä ehdotatte? 679 00:29:24,620 --> 00:29:27,350 680 00:29:27,350 --> 00:29:28,445 Ei? 681 00:29:28,445 --> 00:29:29,570 Tee jokin näistä järkeä? 682 00:29:29,570 --> 00:29:30,536 Joo. 683 00:29:30,536 --> 00:29:31,900 Joo, allekirjoittamaton, eikö? 684 00:29:31,900 --> 00:29:35,930 >> Yleensä jos me aiomme antaa jokainen yksilöllinen numero, joka 685 00:29:35,930 --> 00:29:38,200 on, jos tämä tarina on menossa, en oikeastaan ​​vain halua 686 00:29:38,200 --> 00:29:41,919 henkilö on numero kuin nolla ja yksi ja kaksi ja kolme ja neljä. 687 00:29:41,919 --> 00:29:43,710 En tarvitse käsitellä kanssa negatiivisia lukuja. 688 00:29:43,710 --> 00:29:45,210 Se vain tuntuu turha monimutkaisuus. 689 00:29:45,210 --> 00:29:48,470 Haluan neljä miljardia mahdolliset arvot, ei neljä miljardia mahdolliset arvot, 690 00:29:48,470 --> 00:29:50,699 joten en juuri kaksinkertaistunut kapasiteetti minun INT. 691 00:29:50,699 --> 00:29:53,490 Sivuhuomautuksena, jos haluat liittyä tämä jotain, kuten Facebook, 692 00:29:53,490 --> 00:29:56,190 takaisin tavallaan minun päivä, kun Facebook ensimmäinen tuli ulos, 693 00:29:56,190 --> 00:29:59,510 Uskon, mitä ne olivat käyttämällä niiden MySQL-tietokannan 694 00:29:59,510 --> 00:30:02,856 tallentaa käyttäjän tunniste, oli vain INT. 695 00:30:02,856 --> 00:30:05,230 Mutta tietenkin, siellä on paljon oikeita ihmisiä maailmassa. 696 00:30:05,230 --> 00:30:07,438 Siellä on paljon väärennettyjä Facebook tilit maailmassa. 697 00:30:07,438 --> 00:30:11,701 Ja niin lopulta, Facebook overflowed koko INT, neljä miljardia 698 00:30:11,701 --> 00:30:12,200 arvo. 699 00:30:12,200 --> 00:30:15,032 Minkä vuoksi, jos tarkastellaan ympärillä ja siellä on sivustoja 700 00:30:15,032 --> 00:30:16,740 joka voi kertoa teille, mitä yksilöllinen tunnus on. 701 00:30:16,740 --> 00:30:19,781 Ja jos et koskaan valinnut käyttäjätunnus Facebook, näet oman yksilöllinen tunnus. 702 00:30:19,781 --> 00:30:23,080 Minusta se on profiili piste PHP kysymysmerkki tunnus vastaa jotain. 703 00:30:23,080 --> 00:30:27,210 Tämä on nyt jotain iso INT, tai pitkään pitkään, jos haluatte, 704 00:30:27,210 --> 00:30:29,700 joka on 64-bittinen arvo tai jotain vertailukelpoisia. 705 00:30:29,700 --> 00:30:33,620 >> Joten, vaikka todellisessa maailmassa nämä kysymykset lopulta joskus merkitystä. 706 00:30:33,620 --> 00:30:37,600 Ja se kääntyy pois täältä, jos olen antamalla kaikille minun käyttäjien yksilöllinen tunnus, 707 00:30:37,600 --> 00:30:41,750 Haluan olla erittäin selvä ja minimaalisesti tekevät tällä alalla ainutlaatuinen. 708 00:30:41,750 --> 00:30:44,750 Mutta se osoittautuu siellä on yksi pala nimikkeistön tänään liian 709 00:30:44,750 --> 00:30:46,470 se perusavain. 710 00:30:46,470 --> 00:30:49,800 Jos olet suunnittelussa tietokantaan pöytä ja tiedät etukäteen 711 00:30:49,800 --> 00:30:55,580 että yhden sarakkeen kyseisessä taulukossa olisi ja yksilöimään riviä 712 00:30:55,580 --> 00:30:58,500 taulukossa, jonka haluat määrittää sen ja kertoa tietokanta, 713 00:30:58,500 --> 00:31:00,250 tämä on minun ensisijainen avain. 714 00:31:00,250 --> 00:31:02,110 Saattaa olla kaksoiskappaleita muilla aloilla, 715 00:31:02,110 --> 00:31:06,330 mutta Kerron tietokanta että tämä on minun ensisijainen, minun tärkein kenttä, 716 00:31:06,330 --> 00:31:08,420 joka on taatusti ainutlaatuinen. 717 00:31:08,420 --> 00:31:09,660 >> Nyt tämä näyttää tarpeeton. 718 00:31:09,660 --> 00:31:13,830 Olen ehdottaa nyt, että me lisätä, painamalla Tallenna täällä, 719 00:31:13,830 --> 00:31:17,210 kenttä called-- ja aion mennä eteenpäin ja valitse AI, 720 00:31:17,210 --> 00:31:19,720 me palaamme että hetki, Tallenna. 721 00:31:19,720 --> 00:31:22,540 Ehdotan nyt, että minun pöytä näyttää tältä. 722 00:31:22,540 --> 00:31:26,305 Minulla INT kenttä nimeltä tunnus, CHAR kenttä nimeltään Käyttäjätunnus, 723 00:31:26,305 --> 00:31:31,100 VARCHAR kenttä nimeltä nimi, mutta tunnus, jos se on ensisijainen ja siksi ainutlaatuinen, 724 00:31:31,100 --> 00:31:33,760 miksi olen vain tuhlaa aika ottaa käyttöön mitä 725 00:31:33,760 --> 00:31:39,140 tehokkaasti on toinen ainutlaatuinen kenttä kutsutaan tunnus, joka on INT? 726 00:31:39,140 --> 00:31:41,980 >> Käyttäjätunnus, Recall, oli jo ainutlaatuinen, sanoimme. 727 00:31:41,980 --> 00:31:45,350 Joten loogisesti, sinun ei tarvitse tahansa tietokannan kokemusta syy 728 00:31:45,350 --> 00:31:47,570 kautta, miksi ehkä olen ottanut käyttöön 729 00:31:47,570 --> 00:31:50,065 INT minun yksilöllinen tunniste samoin? 730 00:31:50,065 --> 00:31:52,740 731 00:31:52,740 --> 00:31:53,930 Mitä this-- sano uudelleen? 732 00:31:53,930 --> 00:31:55,580 >> Yleisö: [äänetön] 733 00:31:55,580 --> 00:31:59,534 >> DAVID MALAN: Satunnainen pääsy on helpompaa, miksi? 734 00:31:59,534 --> 00:32:00,410 >> Yleisö: [äänetön] 735 00:32:00,410 --> 00:32:02,367 DAVID MALAN: Joo, se on vain päästä numeroita. 736 00:32:02,367 --> 00:32:04,750 Joten, jos luulet tämän todella on taulukko, kuten array, 737 00:32:04,750 --> 00:32:07,690 nyt minulla on yksilölliset tunnisteet että voin hypätä ympäri. 738 00:32:07,690 --> 00:32:11,520 Ja parempi kuin vielä on, että kuinka suuri on INT olemaan taas? 739 00:32:11,520 --> 00:32:14,450 740 00:32:14,450 --> 00:32:15,800 32 bittiä tai neljä tavua. 741 00:32:15,800 --> 00:32:17,750 >> Kuinka suuri on minun käyttäjätunnuksen olemaan? 742 00:32:17,750 --> 00:32:20,310 743 00:32:20,310 --> 00:32:21,990 Maksimaalisesti? 744 00:32:21,990 --> 00:32:22,880 16 tavua. 745 00:32:22,880 --> 00:32:26,080 >> Joten, jos olet todella välitämme suorituskykyä koodin, 746 00:32:26,080 --> 00:32:31,390 muistelen PSet5, haluatko etsiä neljä tavulla tai 16 747 00:32:31,390 --> 00:32:32,240 tavulla, eikö? 748 00:32:32,240 --> 00:32:33,810 Se on todellakin niin yksinkertaista. 749 00:32:33,810 --> 00:32:38,060 Sinun täytyy tehdä neljä kertaa niin paljon työtä etsiä käyttäjätunnuksia, koska niille 750 00:32:38,060 --> 00:32:38,830 16 tavua. 751 00:32:38,830 --> 00:32:41,320 Joten, sinun täytyy kirjaimellisesti vertailla 16 tavua olla 752 00:32:41,320 --> 00:32:43,140 varma Kyllä, tämä on käyttäjätunnus haluan. 753 00:32:43,140 --> 00:32:46,610 Kun taas INT, voit tehdä sen vain neljä tavua. 754 00:32:46,610 --> 00:32:49,212 >> Ja syrjään kyseisiä kiinnostuneita atk-laitteet, 755 00:32:49,212 --> 00:32:52,420 se kääntyy pois mahtuu jotain INT tai 32-bittinen arvo jotain 756 00:32:52,420 --> 00:32:55,330 kutsutaan rekisteri tietokone CPU, mikä tarkoittaa että se on super, 757 00:32:55,330 --> 00:32:58,400 huippunopea, jopa alhaisin taso tietokoneen laitteisto. 758 00:32:58,400 --> 00:33:00,530 Niin, siellä on vain etuja ympäri. 759 00:33:00,530 --> 00:33:01,530 Joten, mitä tämä tarkoittaa? 760 00:33:01,530 --> 00:33:04,850 Itse asiassa, kun olet suunnittelussa tietokannan taulukko, lähes koko ajan 761 00:33:04,850 --> 00:33:07,170 aiot ole vain tietoja välität, 762 00:33:07,170 --> 00:33:09,280 mutta myös jotain yksilöllinen tunniste 763 00:33:09,280 --> 00:33:11,280 koska tämä on menossa tehkäämme muita asioita. 764 00:33:11,280 --> 00:33:13,160 Ja nyt kompastua yksi ongelma. 765 00:33:13,160 --> 00:33:15,990 >> Oletetaan, että käyttäjät eivät ole vain käyttäjätunnukset ja nimet, 766 00:33:15,990 --> 00:33:19,540 mutta niillä on myös asioita, kuten kaupungeissa ja valtioiden ja postinumerot, ainakin 767 00:33:19,540 --> 00:33:20,432 täällä Yhdysvalloissa. 768 00:33:20,432 --> 00:33:22,390 Joten, aion mennä eteenpäin ja vain nopeasti sanoa, 769 00:33:22,390 --> 00:33:26,180 anna minulle kolme saraketta lopussa taulukossa. 770 00:33:26,180 --> 00:33:28,900 Ja tämä tulee olemaan Kaupunki, tämä tulee olemaan valtion, 771 00:33:28,900 --> 00:33:30,400 ja tämä tulee olemaan Zip. 772 00:33:30,400 --> 00:33:32,710 >> Nyt City, mitä tietotyyppejä pitäisi tämä olla, ehkä? 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 En tiedä mitä pisin nimi kaupunki on. 776 00:33:37,780 --> 00:33:40,571 Jossain Amerikassa, siellä todennäköisesti joitakin naurettavan pitkä sana, 777 00:33:40,571 --> 00:33:43,605 joten haluan vain mennä 255, hieman historiallisesti tai mielivaltaisesti. 778 00:33:43,605 --> 00:33:44,730 Valtion, mitä haluat tehdä? 779 00:33:44,730 --> 00:33:48,380 780 00:33:48,380 --> 00:33:50,367 Arvostele, eikö? 781 00:33:50,367 --> 00:33:51,700 Mikä ehkä tehokkain? 782 00:33:51,700 --> 00:33:53,500 Kuinka monta merkkiä? 783 00:33:53,500 --> 00:33:55,950 Ehkä vain kaksi, jos voimme saada pois tekemässä vain, 784 00:33:55,950 --> 00:33:58,250 kuten, MA Massachusetts ja niin edelleen. 785 00:33:58,250 --> 00:34:00,520 Joten, aion mennä CHAR arvo kaksi. 786 00:34:00,520 --> 00:34:03,080 >> Postinumero on mielenkiintoinen. 787 00:34:03,080 --> 00:34:06,679 Olemme täällä 02138, niin että ehdottaa meidän pitäisi käyttää mitä? 788 00:34:06,679 --> 00:34:07,470 Se INT, eikö? 789 00:34:07,470 --> 00:34:10,030 790 00:34:10,030 --> 00:34:12,800 INT, INT, lyhyt? 791 00:34:12,800 --> 00:34:14,521 Lyhyt toimisi. 792 00:34:14,521 --> 00:34:15,020 Ei? 793 00:34:15,020 --> 00:34:18,920 794 00:34:18,920 --> 00:34:20,870 CHAR tai viisi, mutta haluan INT. 795 00:34:20,870 --> 00:34:23,710 Miksi työntää takaisin INT? 796 00:34:23,710 --> 00:34:26,820 Vakuuta minua tästä. 797 00:34:26,820 --> 00:34:29,210 Mikä tyhmä noin INT, minun idea? 798 00:34:29,210 --> 00:34:29,871 Joo. 799 00:34:29,871 --> 00:34:31,199 >> Yleisö: vievät enemmän muistitilaa. 800 00:34:31,199 --> 00:34:32,909 >> DAVID MALAN: vievät enemmän muistitilaa. 801 00:34:32,909 --> 00:34:35,310 Neljä tavua, mutta olet ehdottaa postinumeron 802 00:34:35,310 --> 00:34:39,000 viisi tavua tai joku oli CHAR, joka tuntuu EH, se ei oikeastaan 803 00:34:39,000 --> 00:34:39,620 tapaus. 804 00:34:39,620 --> 00:34:40,489 >> No, hauska tarina. 805 00:34:40,489 --> 00:34:43,179 Vuosia sitten, kun minulla oli tapana käyttää Microsoft Outlook for sähköpostiini, 806 00:34:43,179 --> 00:34:45,150 Olen lopulta halusin vaihtaa Gmailiin. 807 00:34:45,150 --> 00:34:48,949 Ja niin, minä vienyt kaikki minun yhteystietoja Outlook CSV-tiedostona. 808 00:34:48,949 --> 00:34:50,699 Pilkulla erotettuna arvot, joka vain tarkoitti I 809 00:34:50,699 --> 00:34:54,060 oli kaikki ystäväni nimet ja viime nimiä ja puhelinnumeroita ja postinumerot 810 00:34:54,060 --> 00:34:54,747 ja kaikki tämä. 811 00:34:54,747 --> 00:34:56,580 Ja sitten tein virhe avaamista 812 00:34:56,580 --> 00:34:58,640 Excel, joka on taulukkolaskentaohjelma, joka 813 00:34:58,640 --> 00:35:00,289 ymmärtää CSV-tiedostoja kuten olemme nähneet. 814 00:35:00,289 --> 00:35:03,080 Mutta sitten, minun täytyy lyödä, kuten, Komento tai Control S jossain vaiheessa. 815 00:35:03,080 --> 00:35:06,250 Ja Excel ilmeisesti aikaan oli ominaisuus, jolla tahansa se 816 00:35:06,250 --> 00:35:08,100 näki numero, se yritti olla avuksi. 817 00:35:08,100 --> 00:35:11,610 Ja jos määrä alkoi nollat, se olisi vain päästä eroon niistä. 818 00:35:11,610 --> 00:35:13,420 Miksi tarvitset johtava nollille kokonaislukuja? 819 00:35:13,420 --> 00:35:15,140 He merkityksetön, matemaattisesti. 820 00:35:15,140 --> 00:35:17,530 He eivät ole merkityksetön Yhdysvaltain Postal järjestelmän. 821 00:35:17,530 --> 00:35:19,954 Joten, minulla on ollut vuosia, tähän päivään, olen edelleen 822 00:35:19,954 --> 00:35:22,370 on ystäviä, kun harvinainen tapaus, että tarvitsen jonkun 823 00:35:22,370 --> 00:35:24,078 puuttua näinä päivinä, Olen silti nähdä, että minä 824 00:35:24,078 --> 00:35:26,767 on ystävä Cambridge, Massachusetts, 2138. 825 00:35:26,767 --> 00:35:29,350 Ja se on ärsyttävää, jos olet yrittää tavallaan ohjelmallisesti 826 00:35:29,350 --> 00:35:30,975 tuottaa kirjekuoret tai vain hiukkaakaan alas. 827 00:35:30,975 --> 00:35:33,599 Ja se johtuu tästä syystä, Valitsin väärän tiedon tyyppi. 828 00:35:33,599 --> 00:35:34,490 Joten, minä rakastan ideasi. 829 00:35:34,490 --> 00:35:35,650 Katsotaanpa käyttää CHAR kenttä. 830 00:35:35,650 --> 00:35:38,340 Viisi merkkiä, paitsi on nurkassa tapaus. 831 00:35:38,340 --> 00:35:42,220 Jos vielä lähettää postia, joskus postinumerot näinä päivinä, 832 00:35:42,220 --> 00:35:45,360 he ovat, kuten, sekä neljä. 833 00:35:45,360 --> 00:35:48,200 Joten, tarvitsemme tavuviiva ja sitten Tarvitsemme neljä enemmän numeroita. 834 00:35:48,200 --> 00:35:50,330 Joten olla rehellinen, se voisi mennä monin eri tavoin. 835 00:35:50,330 --> 00:35:52,371 >> Nyt aion pitää se yksinkertainen ja olen vain 836 00:35:52,371 --> 00:35:54,780 aio sanoa, että se on viisi CHAR arvo ja olemme 837 00:35:54,780 --> 00:35:56,739 menossa ohittaa koko viiva plus neljä. 838 00:35:56,739 --> 00:35:58,280 Mutta nämä ovat erilaisia ​​kompromisseja. 839 00:35:58,280 --> 00:36:00,196 Ja voit ajatella Sama ongelmia 840 00:36:00,196 --> 00:36:01,860 kanssa puhelinnumeroita tai muilla aloilla. 841 00:36:01,860 --> 00:36:04,350 >> Ja nyt, tämä on todella typerä tie mennä alas. 842 00:36:04,350 --> 00:36:08,000 Oletetaan sekä Rob ja minä ja Hannah ja Maria ja [? Davon?] Ja Andy 843 00:36:08,000 --> 00:36:12,820 ja muut henkilöstön kaikki elämme Cambridge, Massachusetts, 02138. 844 00:36:12,820 --> 00:36:17,970 Tämä todella tuntea tyhmä, että olen lisäämällä minun käyttäjille pöytä, kaupunki, valtio, 845 00:36:17,970 --> 00:36:18,630 ja zip. 846 00:36:18,630 --> 00:36:20,980 Miksi? 847 00:36:20,980 --> 00:36:21,960 >> Yleisö: [äänetön] 848 00:36:21,960 --> 00:36:22,918 >> DAVID MALAN: Sano uudestaan? 849 00:36:22,918 --> 00:36:24,310 Yleisö: [äänetön] 850 00:36:24,310 --> 00:36:25,850 >> DAVID MALAN: ne ovat aina mene yhdessä, eikö? 851 00:36:25,850 --> 00:36:28,660 Kun se kääntyy pois, meillä oli tapana ajatella näin oli, kunnes me tyhjentävästi 852 00:36:28,660 --> 00:36:30,570 etsinyt koko USA, ja käynyt ilmi, että siellä 853 00:36:30,570 --> 00:36:32,653 joitakin epäjohdonmukaisuuksia jossa useat kaupungit ovat 854 00:36:32,653 --> 00:36:35,060 sama vetoketju, joka on outo. 855 00:36:35,060 --> 00:36:40,580 Mutta, jos me määrätään nyt, että 02138 on aina Cambridge, Massachusetts, 856 00:36:40,580 --> 00:36:44,910 miksi ihmeessä te tallentaa tietokannan Cambridge ja MA ja 02138 857 00:36:44,910 --> 00:36:49,357 minun ja Hannah ja Rob ja varten [? Davon?] Ja muille, jotka asuvat 858 00:36:49,357 --> 00:36:51,190 täällä Cambridge, se on täydellisesti tarpeeton. 859 00:36:51,190 --> 00:36:54,480 >> Meidän pitäisi päästä pois vain tallentamiseen mitä? 860 00:36:54,480 --> 00:36:55,610 Vain postinumeron. 861 00:36:55,610 --> 00:36:58,660 Mutta sitten, jos Tallennamme vain postinumero, en halua, luultavasti, 862 00:36:58,660 --> 00:37:02,160 minun verkkosivuilla tietää, missä 02138 on. 863 00:37:02,160 --> 00:37:03,910 Joten, tarvitsen toisen taulukon. 864 00:37:03,910 --> 00:37:04,697 Ja se on OK. 865 00:37:04,697 --> 00:37:07,530 Ja itse asiassa tämä on yksi suunnittelu prosessit suunnittelusta taulukoiden 866 00:37:07,530 --> 00:37:11,472 että voit tehdä PSet7 samoin jolloin haluat tekijä yhteiset tiedot. 867 00:37:11,472 --> 00:37:14,430 Aivan kuten olemme factoring ulos yhteinen koodi ja factoring yhteiset 868 00:37:14,430 --> 00:37:17,380 tyylejä CSS, tässä liian tietokantaan, 869 00:37:17,380 --> 00:37:21,180 jos minulla on vain 02138 yksikäsitteisesti tunnistaa jonkun kotipaikan, 870 00:37:21,180 --> 00:37:25,020 älä säilytä Cambridge, Mass varten jokainen hiton käyttäjä taulukon. 871 00:37:25,020 --> 00:37:29,770 >> Sen sijaan, on erillinen taulukko nimeltään Vetoketjut että pitäisi olla mitä sarakkeita? 872 00:37:29,770 --> 00:37:33,490 Luultavasti ID kenttä, vain siksi, varten periaatteet puhumme nyt. 873 00:37:33,490 --> 00:37:35,720 Luultavasti zip kenttä 02138. 874 00:37:35,720 --> 00:37:38,400 Ja sitten luultavasti mitä muut sarakkeet? 875 00:37:38,400 --> 00:37:42,950 Kaupunki ja valtio, mutta vain yksi rivi 02138, yhden rivin 02139, 876 00:37:42,950 --> 00:37:44,772 yksi rivi 90210. 877 00:37:44,772 --> 00:37:46,730 Ja se on kirjaimellisesti kaikki postinumerot tiedän. 878 00:37:46,730 --> 00:37:49,012 >> Joten nyt, mitä voit tehdä? 879 00:37:49,012 --> 00:37:51,220 Tämä on ongelmallista, koska Nyt minulla on kaksi taulukkoa. 880 00:37:51,220 --> 00:37:54,660 Joten minun käyttäjät ovat enimmäkseen täällä, mutta heidän kaupunkinsa valtio Informationin 881 00:37:54,660 --> 00:37:55,390 täällä. 882 00:37:55,390 --> 00:37:58,635 Niin, se kääntyy pois SQL, siellä todella tapa liittyä tietoja, 883 00:37:58,635 --> 00:38:00,470 ja näet tämän PSET. 884 00:38:00,470 --> 00:38:03,000 >> Mutta se osoittautuu voit tehdä jotain tällaista. 885 00:38:03,000 --> 00:38:10,501 SELECT tähti käyttäjiltä, ​​JOIN vetoketjut users piste zip vastaa vetoketjut piste zip. 886 00:38:10,501 --> 00:38:13,360 Joka on hieman monisanainen, tosin mutta tämä vain 887 00:38:13,360 --> 00:38:17,590 tarkoittaa valitse kaikkea ottamassa minun käyttäjien pöytä 888 00:38:17,590 --> 00:38:19,580 ja minun vetoketjut pöytä. 889 00:38:19,580 --> 00:38:22,120 Liity ne yhteen kenttä heillä sarakkeessa. 890 00:38:22,120 --> 00:38:24,780 Joten, kirjaimellisesti tehdä jotain näin, ja anna minulle takaisin 891 00:38:24,780 --> 00:38:27,360 uusi tilapäinen taulukko se on laajempi, se on isompi, 892 00:38:27,360 --> 00:38:29,450 että on kaikki sarakkeita molemmat. 893 00:38:29,450 --> 00:38:33,510 Ja että yksinkertaisesti olisi syntaksi tehdä jotain tällaista. 894 00:38:33,510 --> 00:38:35,540 >> Joten, on tämä eteenpäin, mutta siellä tulee 895 00:38:35,540 --> 00:38:38,950 olla muita suunnittelun päätöksistä ll on tehtävä, paitsi indeksit 896 00:38:38,950 --> 00:38:40,550 mutta myös törmätä haasteita. 897 00:38:40,550 --> 00:38:43,360 Itse asiassa siellä on haaste missä tahansa tietokannan suunnittelu 898 00:38:43,360 --> 00:38:47,930 jolloin joskus kaksi ihmiset saattavat haluta käyttää samaa riviä tietokannan 899 00:38:47,930 --> 00:38:48,530 pöytä. 900 00:38:48,530 --> 00:38:51,450 Joten, tämä on jotain, että me will kohtaavat PSet7 samoin. 901 00:38:51,450 --> 00:38:54,686 >> Mutta ajattelin katsoa yksi hyökkäys se on mahdollista SQL. 902 00:38:54,686 --> 00:38:56,560 Mitkä ovat ongelmia, jotka voivat syntyä? 903 00:38:56,560 --> 00:38:58,170 Joten, tapaat tämän PSet7. 904 00:38:58,170 --> 00:39:01,874 Ja me kerromme teille suoraan mitä koodaus ratkaisu tähän ongelmaan on. 905 00:39:01,874 --> 00:39:04,790 Mutta jos otat korkeampi luokka, erityisesti käyttöjärjestelmät, 906 00:39:04,790 --> 00:39:06,950 aiot kohdata kysymys atomisuuden, 907 00:39:06,950 --> 00:39:10,080 ongelma yrittää tehdä useita asioita kerralla 908 00:39:10,080 --> 00:39:11,000 keskeytyksettä. 909 00:39:11,000 --> 00:39:14,560 >> Ja minä ajattelin esitellä tämän idea PSet7 kanssa metafora 910 00:39:14,560 --> 00:39:18,160 että opin itseni Margo Seltzer n CS164 käyttöjärjestelmät 911 00:39:18,160 --> 00:39:18,990 luokka vuotta sitten. 912 00:39:18,990 --> 00:39:22,230 Oletetaan, että sinulla on jokin näistä asuntolan jääkaapit omassa asuntolan huoneessa tai talo, 913 00:39:22,230 --> 00:39:24,474 ja sinulla on todellinen rakastaa maitoa. 914 00:39:24,474 --> 00:39:27,140 Ja niin, tulet kotiin luokat yksi päivä, avaat jääkaappi. 915 00:39:27,140 --> 00:39:27,620 Voi hitto. 916 00:39:27,620 --> 00:39:28,870 Jääkaapissa ei ole yhtään maitoa. 917 00:39:28,870 --> 00:39:32,470 Joten, suljet jääkaappi, lukita oven, lukita asuntolan, 918 00:39:32,470 --> 00:39:34,770 kävellä nurkan takana CVS, saada linjassa, 919 00:39:34,770 --> 00:39:36,312 ja aloittaa tarkkailun joitakin maitoa. 920 00:39:36,312 --> 00:39:38,978 Ja se tulee viemään aikaa, koska ne pirun itse kassalle 921 00:39:38,978 --> 00:39:40,570 laskurit kestää ikuisesti käyttää muutenkin. 922 00:39:40,570 --> 00:39:41,950 Joten välin, kämppäkaveri tulee kotiin. 923 00:39:41,950 --> 00:39:43,470 Hän todella pitää maitoa samoin. 924 00:39:43,470 --> 00:39:45,520 He tulevat asuntolan huoneessa, Avaa jääkaappi, OH, hiton se. 925 00:39:45,520 --> 00:39:46,490 Ei ole maitoa. 926 00:39:46,490 --> 00:39:49,040 >> Niin, hän myös menee nurkan takana. 927 00:39:49,040 --> 00:39:51,670 Mutta nyt, koska siellä on kuin kaksi tai kolme tai neljä CVSes lähellä, 928 00:39:51,670 --> 00:39:53,800 he sattuvat mennä johonkin eri pienimmille neliö. 929 00:39:53,800 --> 00:39:55,830 Ja nyt, muutama minuutti myöhemmin, molemmat teistä 930 00:39:55,830 --> 00:39:58,060 tulla kotiin ja yäk, pahin ongelma koskaan. 931 00:39:58,060 --> 00:40:00,967 Nyt sinulla on liikaa maitoa koska se tulee mennä hapan. 932 00:40:00,967 --> 00:40:03,050 Ja pidät maitoa, mutta sinä eivät todellakaan pidä maitoa. 933 00:40:03,050 --> 00:40:06,730 >> Joten nyt, tämä oli kallis virhe, koska molemmat teistä 934 00:40:06,730 --> 00:40:09,870 teki päätöksen perusteella tilaa noin muuttujan 935 00:40:09,870 --> 00:40:12,660 oli parhaillaan muutetaan sinä, 936 00:40:12,660 --> 00:40:14,560 alullepanija menossa maitoa. 937 00:40:14,560 --> 00:40:17,785 Joten, mikä on ehkä ihmisen ratkaisu tähän ongelmaan? 938 00:40:17,785 --> 00:40:18,660 Yleisö: [äänetön] 939 00:40:18,660 --> 00:40:19,430 DAVID MALAN: Jätä huomata, eikö? 940 00:40:19,430 --> 00:40:21,850 Jätä huomata, jos olet perehtynyt jotka osoittavat. 941 00:40:21,850 --> 00:40:23,100 Kyllä, on olemassa kaksi meistä. 942 00:40:23,100 --> 00:40:25,940 Niin, aina jättää huomata, tai kirjaimellisesti lukko jääkaappi 943 00:40:25,940 --> 00:40:28,602 jonkinlainen riippulukko tai jotain päälle niin. 944 00:40:28,602 --> 00:40:31,310 Mutta se on todella olemaan keskeisenä ongelmana tietokannan suunnittelu, 945 00:40:31,310 --> 00:40:34,710 varsinkin kun saatat olla useita selaimia, useita kannettavia tietokoneita, 946 00:40:34,710 --> 00:40:37,450 useita käyttäjiä kaikki yrittävät päivittää tiedot kerralla. 947 00:40:37,450 --> 00:40:40,590 Erityisen arkaluonteisten tietojen kuten taloudellisia tietoja, 948 00:40:40,590 --> 00:40:43,350 jolloin kanssa varastossa kaupankäynnin verkkosivuilla kuten sinun on rakentaa, 949 00:40:43,350 --> 00:40:47,270 mitä jos haluat tarkistaa, kuinka paljon rahaa sinulla on ja sitten jos sinulla on tarpeeksi, 950 00:40:47,270 --> 00:40:48,490 ostaa varastossa? 951 00:40:48,490 --> 00:40:50,899 >> Mutta entä jos joku muu, joka on yhteinen tili sinua 952 00:40:50,899 --> 00:40:52,690 on samanaikaisesti yrittää ostaa varastossa? 953 00:40:52,690 --> 00:40:55,190 Niin, hän on tarkistaa saldo, molemmat teistä 954 00:40:55,190 --> 00:40:57,540 saada takaisin saman vastaus, ei ole maitoa. 955 00:40:57,540 --> 00:41:00,580 Tai molemmat saat takaisin vastauksen, sinulla on $ 100 tilin. 956 00:41:00,580 --> 00:41:04,680 Molemmat yrität tehdä päätöksen ostaa osuus jonkin yrityksen varastossa. 957 00:41:04,680 --> 00:41:06,130 >> Ja nyt, mitä tapahtuu? 958 00:41:06,130 --> 00:41:07,140 Sinulla on kaksi osaketta? 959 00:41:07,140 --> 00:41:08,420 Sinulla ei ole osakkeita? 960 00:41:08,420 --> 00:41:10,320 Ongelmia, kuten että voi syntyä. 961 00:41:10,320 --> 00:41:11,755 Joten, me kohtaavat että. 962 00:41:11,755 --> 00:41:14,630 SQL-injektio-iskut, onneksi, ovat jotain autamme sinua, 963 00:41:14,630 --> 00:41:17,430 mutta nämä ovat atrociously yhteinen näinä päivinä vielä. 964 00:41:17,430 --> 00:41:18,680 Joten, tämä on vain esimerkki. 965 00:41:18,680 --> 00:41:21,290 En tee mitään väitteitä, Harvard PIN järjestelmä on 966 00:41:21,290 --> 00:41:23,130 alttiita tässä hyökkäys. 967 00:41:23,130 --> 00:41:24,160 Olemme yrittäneet. 968 00:41:24,160 --> 00:41:26,120 Mutta, te tiedätte, että me on kentän näin. 969 00:41:26,120 --> 00:41:29,620 Ja Yalen Net tunnus on samanlainen näköinen näyttö näinä päivinä. 970 00:41:29,620 --> 00:41:33,190 Ja se osoittautuu, että ehkä PIN-järjestelmä on toteutettu PHP. 971 00:41:33,190 --> 00:41:37,050 >> Ja jos se were-- se on not-- ne saattaa olla koodi, joka näyttää tältä. 972 00:41:37,050 --> 00:41:38,210 Heillä on kaksi muuttujaa. 973 00:41:38,210 --> 00:41:42,495 Anna minulle käyttäjätunnus ja salasana post Super globaali muuttuja 974 00:41:42,495 --> 00:41:43,970 että puhuimme aiemmin. 975 00:41:43,970 --> 00:41:47,310 Ehkä Harvard on kyselyn kuten SELECT tähti käyttäjiltä 976 00:41:47,310 --> 00:41:50,005 jossa käyttäjätunnus on sama kuin ja salasana on sama kuin. 977 00:41:50,005 --> 00:41:51,880 Ja huomaa, että olen vain kytket sen avulla 978 00:41:51,880 --> 00:41:55,050 kihara ahdin merkintä muista päivä, mikä tarkoittaa vain kytke arvo 979 00:41:55,050 --> 00:41:55,550 täällä. 980 00:41:55,550 --> 00:41:57,449 En käytä kysymysmerkki tekniikkaa. 981 00:41:57,449 --> 00:41:59,240 Minulla ei ole mitään toista tai kolmannen perusteluja. 982 00:41:59,240 --> 00:42:02,350 Olen vain kirjaimellisesti rakentaa merkkijono itse. 983 00:42:02,350 --> 00:42:04,930 >> Ongelmana on kuitenkin se, että jos joku kuten scroob, 984 00:42:04,930 --> 00:42:09,020 joka on viittaus elokuva, kirjautuu sisään jotain tällaista, 985 00:42:09,020 --> 00:42:11,250 ja olen poistanut pisteitä että yleensä peitellä 986 00:42:11,250 --> 00:42:14,370 salasanat, mitä jos hän on erityisen ilkeä 987 00:42:14,370 --> 00:42:18,860 ja hänen salasana ehkä on 12345, per elokuvan nimeltä "Spaceballs" 988 00:42:18,860 --> 00:42:21,970 mutta hän kriittisesti tyypit tarjouksen jälkeen viisi, 989 00:42:21,970 --> 00:42:24,790 sitten kirjaimellisesti sana tai tilaan, ja sitten lainaus, 990 00:42:24,790 --> 00:42:29,160 lainaus yksi on lainaus yksi, huomaamatta hän on pois mitä? 991 00:42:29,160 --> 00:42:32,700 Hän jättää lainaus oikealla ja hän on jättänyt tarjouksen vasemmalla. 992 00:42:32,700 --> 00:42:35,170 >> Koska jos tämä hyökkääjä scroob olettama 993 00:42:35,170 --> 00:42:38,160 on, että ihmiset, jotka kirjoittivat tämä PHP ei niin kirkas, 994 00:42:38,160 --> 00:42:42,990 Ehkä he vain joitakin yksittäisiä lainausmerkkeihin interpolointi 995 00:42:42,990 --> 00:42:45,210 muuttujan aaltosulkeita? 996 00:42:45,210 --> 00:42:48,620 Ja niin ehkä hän voisi laji ja saattamaan ajattelun 997 00:42:48,620 --> 00:42:53,290 heille, mutta tavalla, joka menee antaa hänen murtautunut PIN järjestelmään. 998 00:42:53,290 --> 00:42:55,310 Toisin sanoen, oletetaan että tämä on koodi 999 00:42:55,310 --> 00:42:57,140 ja nyt kytke mitä scroob kirjoitetaan. 1000 00:42:57,140 --> 00:42:58,770 Ja se on punainen, koska se on huono. 1001 00:42:58,770 --> 00:43:01,310 >> Ja taustalla teksti on mitä hän kirjoittanut, 1002 00:43:01,310 --> 00:43:05,510 scroob voisi huijata Harvardin palvelimella osaksi rakentaa SQL-kysely 1003 00:43:05,510 --> 00:43:07,440 merkkijono, joka näyttää tältä. 1004 00:43:07,440 --> 00:43:11,760 Salasana vastaa 12345 tai yksi on yksi. 1005 00:43:11,760 --> 00:43:14,820 Seurauksena, loogisesti, on että tämä kirjaa scroob 1006 00:43:14,820 --> 00:43:18,360 sisään jos hänen salasana on 12345 tai jos yksi on 1007 00:43:18,360 --> 00:43:22,660 yksi, joka on tietysti aina totta, mikä tarkoittaa scroob aina joutuu. 1008 00:43:22,660 --> 00:43:26,060 >> Ja niin, tapa korjata Tässä, kuten paljon tapauksia, 1009 00:43:26,060 --> 00:43:28,140 olisi kirjoittaa enemmän puolustuksellisesti. 1010 00:43:28,140 --> 00:43:30,390 Jos haluat käyttää jotain meidän todellinen kyselyn toiminto, joka 1011 00:43:30,390 --> 00:43:33,980 voit nähdä PSet7, jossa kytke jotain kysymys merkitsee täällä. 1012 00:43:33,980 --> 00:43:35,980 Ja kauneus hakutoiminto että me 1013 00:43:35,980 --> 00:43:40,010 antaa teille on se puolustaa näitä ns SQL-injektio-iskut, joissa 1014 00:43:40,010 --> 00:43:44,260 joku on huijaaminen sinun koodi pistämällä oman SQL-koodin. 1015 00:43:44,260 --> 00:43:47,380 Sillä mitä hakutoiminto annamme sinulle todella tehdä, 1016 00:43:47,380 --> 00:43:51,270 jos käytät kysymysmerkki syntaksin ja toinen ja kolmas argumentti täällä, 1017 00:43:51,270 --> 00:43:54,590 on mitä se lisää tulo että käyttäjä tarjotaan? 1018 00:43:54,590 --> 00:43:56,060 Ne kenoviiva lainaa. 1019 00:43:56,060 --> 00:43:58,590 >> Niin, se pakenee tahansa mahdollisesti vaarallinen merkkiä. 1020 00:43:58,590 --> 00:44:01,000 Tämä näyttää oudolta nyt, mutta se ei ole haavoittuva 1021 00:44:01,000 --> 00:44:03,260 koska se ei ole vaihtaa logiikka enää 1022 00:44:03,260 --> 00:44:06,470 koska koko salasana on nyt yksi tarjous, joka ei ole, 1023 00:44:06,470 --> 00:44:07,596 itse asiassa, scroob salasana. 1024 00:44:07,596 --> 00:44:09,845 Niin, että on ollut joitakin vitsejä tästä vuosien mittaan. 1025 00:44:09,845 --> 00:44:12,570 Niin, tämä oli otettu kuva Joidenkin pelle parkkipaikalla 1026 00:44:12,570 --> 00:44:16,620 jolloin saatat tietää, että jotkut kaupungit ja valtiot yritä skannata lisenssi 1027 00:44:16,620 --> 00:44:19,460 levy laskuttaa sinulle tai lippu sinulle jos menet läpi ilman, kuten, 1028 00:44:19,460 --> 00:44:20,660 E-Z Pass juttu. 1029 00:44:20,660 --> 00:44:24,490 Joten, tämä henkilö olettaa, että ehkä ihmiset kirjoittaminen E-Z Pass järjestelmä 1030 00:44:24,490 --> 00:44:28,240 ei niin kirkas, ja ehkä ne vain ketjutetaan yhdessä merkkijono, 1031 00:44:28,240 --> 00:44:32,190 niin että hän ei voinut haitalliseksi ei vain täydentää ajatus, 1032 00:44:32,190 --> 00:44:35,150 mutta todellisuudessa suorittaa huono komento, joka olemme ei ole mainittu vielä, 1033 00:44:35,150 --> 00:44:36,380 mutta arvata. 1034 00:44:36,380 --> 00:44:39,820 Että lisäksi poistaa ja lisätä ja päivittää ja valitse, 1035 00:44:39,820 --> 00:44:43,370 siellä on myös avainsanan kutsutaan pudota, joka kirjaimellisesti poistaa kaiken 1036 00:44:43,370 --> 00:44:45,300 tietokantaan, joka on erityisen huono. 1037 00:44:45,300 --> 00:44:48,760 >> Voimme zoomata tämä, jos se on hieman vaikea nähdä. 1038 00:44:48,760 --> 00:44:52,300 Tämä nyt on kuuluisa sarjakuva se on ihanan ovela nyt 1039 00:44:52,300 --> 00:44:53,145 ja ymmärrettävää. 1040 00:44:53,145 --> 00:45:00,880 1041 00:45:00,880 --> 00:45:04,750 >> [Naurua] 1042 00:45:04,750 --> 00:45:05,910 >> Joo, viileä. 1043 00:45:05,910 --> 00:45:06,800 Tavallaan geeking ulos. 1044 00:45:06,800 --> 00:45:08,800 Joten nämä sitten ovat SQL-injektio-iskut. 1045 00:45:08,800 --> 00:45:13,050 Ja ne ovat niin helppo välttää käyttämällä oikea koodi tai oikealle kirjastoissa. 1046 00:45:13,050 --> 00:45:15,947 Ja voit nähdä PSet7, se on miksi annamme sinulle hakutoiminto. 1047 00:45:15,947 --> 00:45:17,780 Niin, pari kiusoittelu että ajattelimme 1048 00:45:17,780 --> 00:45:19,930 antaa sinulle täällä meidän Jäljellä minuuttia yhdessä. 1049 00:45:19,930 --> 00:45:24,030 Joten, kun muistat viikosta nolla, me esitteli nämä kaksi lamput, jotka 1050 00:45:24,030 --> 00:45:26,610 ovat mukavia, ei vain siksi, ne ovat melko ja ovat värikkäitä, 1051 00:45:26,610 --> 00:45:29,450 mutta koska ne tukevat jotain kutsutaan API, Application 1052 00:45:29,450 --> 00:45:31,980 Programming Interface Ja vuonna CS50 toistaiseksi, olemme 1053 00:45:31,980 --> 00:45:34,440 keskittynyt lähinnä GET ja POST, mutta se osoittautuu 1054 00:45:34,440 --> 00:45:37,390 siellä on muita HTTP verbejä kuten PUT. 1055 00:45:37,390 --> 00:45:39,430 >> Ja itse asiassa tämä oli dia viikko nolla 1056 00:45:39,430 --> 00:45:44,930 jolloin jos kirjoitat koodin, joka lähettää la PSet6 HTTP-pyyntöä 1057 00:45:44,930 --> 00:45:49,647 näyttää tämä tämän kimpale tekstin alareunassa, jota kutsutaan JSON, 1058 00:45:49,647 --> 00:45:52,230 tai JavaScript Object Notation että me puhumme ensi viikolla, 1059 00:45:52,230 --> 00:45:57,030 voit kytkeä tai sammuttaa tai muutos valojen väri kaltaisia. 1060 00:45:57,030 --> 00:46:00,480 Joten jos CS50 on myös lisäksi joitakin Näiden hehkulamppujen täällä New Haven 1061 00:46:00,480 --> 00:46:02,480 jos haluat lainata ne opinnäytetöiden, 1062 00:46:02,480 --> 00:46:04,370 myös joitakin Microsoft Bändejä, jotka ovat kuin 1063 00:46:04,370 --> 00:46:07,619 kellot että puet noin ranteen että samalla on API jotta voit 1064 00:46:07,619 --> 00:46:10,040 voi kirjoittaa oman ohjelmiston heille. 1065 00:46:10,040 --> 00:46:12,490 >> Meillä on tili Applen iOS koodi niin 1066 00:46:12,490 --> 00:46:15,510 että jos sinulla on Apple Watch tai iPhonen tai iPadin tai iPod, 1067 00:46:15,510 --> 00:46:17,707 voit kirjoittaa koodin, joka todella toimii näiden. 1068 00:46:17,707 --> 00:46:19,540 Meillä on koko joukko ja Arduinos, jotka ovat 1069 00:46:19,540 --> 00:46:22,010 pikku tietokoneet ilman tapauksissa olennaisesti, 1070 00:46:22,010 --> 00:46:25,240 että voit liittää USB, tyypillisesti oman Mac tai PC, 1071 00:46:25,240 --> 00:46:28,810 kirjoittaa koodia, joka toimii nämä fyysiset laitteet, jotka on usein anturit niitä 1072 00:46:28,810 --> 00:46:30,790 joten voit olla vuorovaikutuksessa reaalimaailman. 1073 00:46:30,790 --> 00:46:32,860 Meillä on koko joukko Leap Motion laitteita, 1074 00:46:32,860 --> 00:46:36,500 jotka ovat USB-laitteita Macit ja PC, täällä ja jälleen, New Haven. 1075 00:46:36,500 --> 00:46:40,080 Ja jos liität sen Maciin, voit itse ohjata tietokoneen 1076 00:46:40,080 --> 00:46:42,550 kirjoittamalla ohjelmisto että Infrapunavast.otto palkit, 1077 00:46:42,550 --> 00:46:46,360 luvut, missä ihmisen kädet ovat, jopa koskematta näppäimistön. 1078 00:46:46,360 --> 00:46:49,135 Ajattelimme jakaa nopeasti Hangon tässä, esimerkiksi. 1079 00:46:49,135 --> 00:46:51,428 >> [Musiikkia] 1080 00:46:51,428 --> 00:47:55,840 1081 00:47:55,840 --> 00:47:57,590 Joten, meillä on kokonainen nippu näistä asioista, 1082 00:47:57,590 --> 00:48:01,040 Myös nimeltään Myo käsivarsi bändejä joka laitat yli kyynärvarsi 1083 00:48:01,040 --> 00:48:04,595 ja sitten voit hallita todellinen maailma tai virtuaalimaailmassa näin. 1084 00:48:04,595 --> 00:48:06,471 >> [Musiikkia] 1085 00:48:06,471 --> 00:49:17,580 1086 00:49:17,580 --> 00:49:20,920 Tai, meillä on myös joitakin Google Pahvi, joka on kirjaimellisesti, kuten, 1087 00:49:20,920 --> 00:49:24,841 pahvilaatikko voit laittaa kasvot, mutta dian puhelimesi se 1088 00:49:24,841 --> 00:49:27,590 niin että laitat lasillinen puhelin todella lähellä silmäsi. 1089 00:49:27,590 --> 00:49:30,190 Ja Google Pahvi on melko halpaa osoitteessa $ 10 tai 20 $. 1090 00:49:30,190 --> 00:49:32,230 Ja se on vähän linssit että hieman pois siirtyminen 1091 00:49:32,230 --> 00:49:35,900 kuva ruudulla oman ihmisen silmät antaa sinulle tunteen syvyys 1092 00:49:35,900 --> 00:49:39,550 niin että sinulla todella on 3D ympäristö edessäsi. 1093 00:49:39,550 --> 00:49:42,927 Meillä on myös joitakin Samsung Gear, joka on kalliimpi versio, 1094 00:49:42,927 --> 00:49:46,010 mutta että voidaan samalla liukua Android-puhelinta ja antaa sinulle illuusion 1095 00:49:46,010 --> 00:49:48,309 of-- tai antaa kokemusta virtuaalitodellisuus. 1096 00:49:48,309 --> 00:49:50,850 Ja meidän kaksi viimeistä minuuttia, ajattelimme yrittää tehdä tämän. 1097 00:49:50,850 --> 00:49:55,250 Jos en voi heijastaa mitä Colton on täällä vain alkupaloiksi, 1098 00:49:55,250 --> 00:49:58,442 anna minun mennä eteenpäin ja heittää ylös valkokankaalla täällä. 1099 00:49:58,442 --> 00:49:59,400 Saanen tappaa valot. 1100 00:49:59,400 --> 00:50:02,290 Colton, haluat mennä eteenpäin ja laittaa Matkapuhelimella hetkeksi 1101 00:50:02,290 --> 00:50:05,171 ja tulevat yli, keskellä vaiheessa? 1102 00:50:05,171 --> 00:50:07,420 Ja haluat project-- tämä on mitä Colton näkee. 1103 00:50:07,420 --> 00:50:10,560 >> Nyt, Wi-Fi tässä ei niin vahva tätä laitetta 1104 00:50:10,560 --> 00:50:13,870 että tämä on erittäin vakuuttava, mutta Colton on kirjaimellisesti 1105 00:50:13,870 --> 00:50:15,710 Tässä maaginen futuristinen paikka. 1106 00:50:15,710 --> 00:50:16,796 Hän näkee vain yhden kuvan. 1107 00:50:16,796 --> 00:50:19,920 Näette hänen vasemman ja oikean silmän että hänen aivonsa ovat ompelemalla yhteen 1108 00:50:19,920 --> 00:50:22,260 kolmiulotteinen ympäristö hänen kasvonsa. 1109 00:50:22,260 --> 00:50:24,319 Hän vain valitun valikon täällä. 1110 00:50:24,319 --> 00:50:27,360 Ja niin taas, hän on päällään tämä kuulokkeet kanssa Samsung puhelin se, joka on 1111 00:50:27,360 --> 00:50:29,080 langattomasti ulkonevat meidän yläpuolella. 1112 00:50:29,080 --> 00:50:30,349 Nyt olet Marsissa, luulen? 1113 00:50:30,349 --> 00:50:31,140 COLTON: Luulen niin. 1114 00:50:31,140 --> 00:50:32,181 En ole varma [kuultavissa]. 1115 00:50:32,181 --> 00:50:34,250 [Naurua] 1116 00:50:34,250 --> 00:50:36,374 >> DAVID MALAN: Osoittautuu Mars on valikoita. 1117 00:50:36,374 --> 00:50:41,590 >> COLTON: [äänetön] hienoja tarkkuudella jos haluamme mennä to-- 1118 00:50:41,590 --> 00:50:43,330 >> DAVID MALAN: Missä haluamme mennä? 1119 00:50:43,330 --> 00:50:45,837 >> COLTON: [äänetön] 1120 00:50:45,837 --> 00:50:48,170 DAVID MALAN: Ja katsotaanpa jossa Colton vie meidät nyt. 1121 00:50:48,170 --> 00:50:48,961 COLTON: [äänetön] 1122 00:50:48,961 --> 00:50:52,830 1123 00:50:52,830 --> 00:50:56,380 >> DAVID MALAN: Niin, siellä on niin paljon eri paikoissa voit tehdä itse. 1124 00:50:56,380 --> 00:51:00,590 On FAPIs jonka kautta voit kirjoittaa pelejä tai vuorovaikutus 1125 00:51:00,590 --> 00:51:01,950 juosta, lopulta, puhelimessa. 1126 00:51:01,950 --> 00:51:03,908 Joten, te oikeastaan ​​vain kirjallisesti matkapuhelin app. 1127 00:51:03,908 --> 00:51:06,380 Mutta kiitos ohjelmisto ja grafiikkaominaisuudet, 1128 00:51:06,380 --> 00:51:08,765 nyt Colton on tässä pikku mökki. 1129 00:51:08,765 --> 00:51:10,515 Ja riski ylivoimainen itsemme, 1130 00:51:10,515 --> 00:51:13,330 Colton ja minä kiinni ympäriinsä vaikka lopussa luokan täällä tänään 1131 00:51:13,330 --> 00:51:14,300 jos haluat tulla ja pelata. 1132 00:51:14,300 --> 00:51:16,350 Ja me tuoda ne takaisin ensi viikolla samoin. 1133 00:51:16,350 --> 00:51:18,420 Ilman edelleen Ado se on siinä tänään. 1134 00:51:18,420 --> 00:51:21,990 Nähdään ensi viikolla. 1135 00:51:21,990 --> 00:51:24,140 >> [MUSIC - Ragga Twins, "paha mies"] 1136 00:51:24,140 --> 00:55:23,146