>> Guztiak eskubidea.
Beraz, ADO gehiagorik gabe, SQL, Egituratu kontsulta-lengoaia.
Beraz, ziurrenik erabili zenuen honetan CS50, agian CS165 batean behintzat,
agian zure propioa Proiektu pertsonala.
Eta zer utzi SQL egin duzu, SQL Server bat gehiago, oro har?
Bai?
[Inaudible Oharra]
Ados, hori izan zen oso esaten modu seguru.
Bai. Beraz, aukera ematen du datuak gordetzeko duzu
eta are garrantzitsuagoa dena, aukera ematen zuk datuetan galdekatzeko.
Eta hau aurrerapauso bat da
zerbait erabiliz CSV bat bezala errazagoa, eskuinera.
Comma Separated aldagaiak.
Antzeko balioak.
Era berean utzi aurreztuko duzu informazio lerro bat
testu-fitxategi batean.
Baina zer da bat arazotxo CSV zure datuak gordetzeko fitxategia,
nahiz eta zuk eraginkortasunez lortuko lerro eta zutabe bertatik?
Bai.
>> Ez duzu 'izan erakundea bera
eraginkortasun [inaudible].
>> Ez duzu bera izan antolakuntzaren efizientzia.
Zer esan nahi duzu?
>> Beno, atsegin [inaudible] lehen [inaudible] bezalakoa izan.
>> Ados. Bai.
>> Da erlazionalak datu-base bat da datu-base bat baino gehiago izan dezakezu
elkarren artean lotuta modu oso zehatzak.
>> Ados. Ona.
>> Da [inaudible] CSV bat ezartzeko.
>> Eta utzi nau pentsatzen terminologia pixka bat.
Mahaiak beraz anitz datu-base batean, ziur,
eta horrek zer haratago doa CSV bakarrarekin egin dezakezu.
Baina benetan mugatzea CSV argudiatzeko nuke da
hori guztia eraginkortasunik eza.
Da diseinua oso erraza da.
Baina bat egin nahi baduzu kontsulta, zer exekutatzen denbora
edozein aukera-kontsulta baten CSV fitxategi batean?
Esan nahi dut handi zahar [inaudible] da, eskubidea, 'kasu txarrenean kausa,
arrosa oso behean zuten.
You osoa ordenatuko izan bada ere CSV fitxategia, ez dakizu bada
duten upfront, ondo, oraindik ari zaren behar joan
gauza osoa bilatzeko.
Beraz, gauzak artean iristeko goaz
benetako bat erabiliz datu-base hizkuntza bat erabiliz
bezalako SQL da kontsultatu ahal izango dugu da eta ezin dugu aldez aurretik
datu base diseinatzaile gisa zehaztu zer dauden eremuak
ziren litekeena izan joan buruzko galderak, jendeak
MySQL edo Microsoft edo Oracle, at
duenak egin du datu-basea egin erabiltzen ari zaren guztiak egin ahal izango
lan gogorra du kalkulatzen, OK,
emandako milioi bat IDS horiek.
Nola diseinua ezin dugu - itzazu oroimenean?
Zuhaitz-mota batzuk egituratzeko, agian,
beraz, ez duzunean benetan exekutatu Aukeratu,
hori da zerbait logaritmikoa edo logaritmikoa
denboran logaritmikoa baizik of benetan devolving baino
zerbait lineala sartu.
Beraz, asko lortu dugu performance horrela.
Eta guk asko ere gorde daiteke gehiago Datu gehiago erraz 'SQL eragin
Zerbitzaria da normalean gordetako RAM nahiz zati
la da diskoan liteke gordetako eta seguruenik orain ezagutzen
RAM dela, oro har disko baino azkarrago,
beraz, hori gauza ona da.
Eta, gainera, maneiatu ahal izango dugu concurrency askoz hobea.
Dituzun hartu 165 edo 161, bada badakiela bi pertsona saiatu bada
Gauza bera egin zuen Behin sistema bat da,
gauza txarrak, oro har, gerta daiteke.
Beraz, beste ezaugarri batzuen artean dugun lor daiteke, gure mahaiak diseinatzeko badugu
eskuineko bidea da in laguntza eta segurtasun hobea
orduan concurrency da.
Beraz, bi zatitan, bi pertsona
munduko berdina erabiliz Webgune, biek saiatu bada
zerbait erosi nahi berean denbora, ordena hori ez da gertatzen
aldi berean joateko.
Nolabait, terminoak litzateke norbait gurea baino beste eginda -
Norbaitek gure burua baino beste.
Database borondatea Hau egitea guretzat.
Beraz, forma errazena da,
SQL aukera ematen digu kontsultarik datu-base erlazionalak.
Base erlazional bat bat bat du da
bertan mahaiak edo gehiago normalean.
Eta hau bada bat Apur Ohituta,
daiteke benetan besterik uste duzu honen Excel edo zenbakiak bezala
edo Google kalkulu orriak.
Besterik lerro eta zutabe ditu eta normalean bakoitzaren goiko
ilaratan horietako da izen bat dauka.
Beraz, honen izena izan daiteke zutabean, izen zutabean,
helbide-zutabe eta abar.
Eta gero, bat baino gehiago izan dezakezu mahaiak hala nola, nahi baduzu
erruleen hasteko datu mota desberdinak.
Baina gogora ekarri ahal izango duzu gutxienez CS50 duten saiatu ginen bertatik
a GUI oinarritutako emateko tresna [inaudible]
Zure datu-basea kudeatzeko.
Zen phpMyAdmin deitu zion.
Beraz, besterik ez da kasualitatea PHP urtean idatzi zen, benetan,
baina besterik ez a webean oinarritutako zen aurrean datu-base bat amaitzeko.
Eta hainbat fitxetan bidez eta loturak, ezin hasiko duzu
datu-base bat konfiguratzea zeuk.
Baina hasteko tresna ona get apur bat erosoago
da, halaber, komando lerroko bezeroa.
Beraz, CS50 tresna erabiliz gero edo benetan edozein makro PC erabiliz
duten komando lerroko MySQL bat du bezeroa, ere egin dezakezu ordenatu
eskola zaharra, hau bezalakoa.
Alde batera MySQL proiektua bat bezala gutxienez, kode irekiko bertsioa
la da MariaDB izeneko oraingoz irakurri ahal izango duzu hainbat arrazoirengatik
Wikipedian sortu baina software bera da,
sintaxi berdina da eta abar,
nahiko askoz kode base bera.
Eta beraz, nago honetan I galdetuko dut orain elkarreragin
nire datu base batera askoz gehiago eskuz.
Beraz, puntu kasu, utzi aurrera
eta besterik ireki terminal-leiho batean.
CS50 erabiliz gertatu I Tresnaren baina hau egin ahal izango duzu
gehienak edozein sistema on Horrek eskuin lortu duzu
softwarea instalatuta.
Eta ez dut MySQL-u egin da joan John Harvard erabiltzaile izena
sistema jakin honetan,-p dela idatzi dut pasahitza
pixka bat gehiago segurtasunez sakatuz Sartu.
Orain galdetuko dut.
Crimson idatzi noa CS50 Appliance
eta, gaur egun, funtsean ikusten dut pantaila bera duten.
Baina ez da komandoak orain Idazten hasi gaitezke
bezala erakutsi datu-baseak, eta hori me guztiak erakutsiko joan
datu-base hori daukat of Dagoeneko sistema sortu,
nahiko askoz zerrenda bera phpMyAdmin ikusi nahi duzun.
There bezalako beste pare bat informazioa eskema eta test,
horrek ikutu baduzu CS50 Appliance, batzuk ezkutatu dugu
maila txikiagoa Taula hauen
baina egon dira ez dago denbora horretan guztian.
MySQL benetan maila baxua du erabiltzaile-izenak bezalako propietate
eta datu-basean pasahitzak berez, ez da zure eskaera
duzula liteke gainean exekutatzen.
Beraz, aldez aurretik, gaur egun, I pare datu-base bat sortu du,
horietako bat deitzen da courses50.
Odds duzun batzuk erabili dute dira CS50 ikastaroa erosketak tresna,
zein interfaze handi bat da erregistratzailea en ikastaroa katalogoa.
Eta hori da, benetan polita izan dataset kausa buruz 'hitz egin,
bata, gara ordenatzeko guztiak jakina ikastaroak ezagutzen
eta begirale eta bilera kokapenak eta sailkatu guztiak
gauza arruntez unibertsitatearen,
baina ere batzuk lortu aukera interesgarriak
diseinurako.
Beraz litzaidake erabiltzen dugu pentsatu dugu Jakina katalogo baten ideia
eta merkataritza-tresna bat bezala Adibidez osoan gaur ordenatzeko
marko diseinu batzuk erabakiak egin behar dugu.
Hargatik, han.
Demagun benetan nahi nuen super errazena adierazteko
Tresna noski erosketak.
Eta munduko errazena Imajinatu dut eta bat
daude ikastaroak eta ez dira begiraleak.
Eta dezagun demagun eztabaidak eztabaida
ikastaro guztietan gutxienez, izen bat dauka.
Hargatik hasteko zirriborroa hau.
PhpMyAdmin erabili noa besterik ez onerako,
beraz, ez dugu idatzi behar izan eskuz kontsultak guztia.
Baina hemen nago nire courses50 database.
Hau Ohituta bada, egingo Oso erraza behin murgiltze dituzu
Zeure proiektua egiteko Nahi izanez gero, hura erabiltzeko.
Sortu dut bat taula Ikastaroak izeneko
eta nik bakarrik pentsa dezakezu Eremu bateko
oraingoz, ikastaro baten izena.
Naiz eta, aurrera joan hitza eman dit zutabe bat.
Orain, gogoratzen duzun bezala lortzen duzu interfaze bat pixka bat da
Hau atsegin.
Eta bestea goitik Egia phpMyAdmin gabekoa dela ordenatu
auto-INSTRUKZIO du eta hori Goitibeherako bidez, ordena ditzakezu
ikusi zein den zure balizko diseinu erabakiak dira.
Beraz, ez dut eman joan behin ikastaroan izen bat.
Duten zutabe honen izena da.
Eta nola bere datu mota buruz?
Duzun gehienak duen jakin beharko Gutxienez datu-mota horietako batzuk
esperientzia, aldez aurretik.
Zer da egoki ikastaroan izena eman?
Sharon?
>> Varchar.
>> Ados, varchar horrek Char aldakorra da.
Eta zer egiten duten esan nahi teknikoki?
[Inaudible Oharra]
Ados. Beraz, kate bat da.
Eta var alderdi zer esan nahi du?
Aldakorra. Baina zer esan nahi du horrek?
Bai?
[Inaudible Oharra]
Zehazki. Beraz, aldagai bat da karaktere kopurua
katea sortu diren gehienezko batzuk.
Hortaz, hona hemen gure lehen diseinu erabakia.
Benetan erabakitzen dugu zenbat byte maximally
hala nola, kate bakoitzari esleitu.
Oro har, nahi duzun sort ez dadin txikiegia da,
Ez egin handiegia da 'Sor bistako
txikiegia bada Oraindik besterik datuak truncating hasteko
eta informazioa galtzen duzu.
Eta handiegia bada, zu besterik moduko datu-basearen kontatzea
espero eta nahi Datu gehiago jasotzeko optimizatzeko
baino agian benetan inoiz lortu.
Beraz, zer da arrazoizko sentimendua ikastaro batean izena, zenbakia?
60? Ados, beraz, 60.
Badirudi nahiko arrazoizkoa
bezain luzea da, ez dago duten salbuespenak.
Ez da benetan gogor, azkar araua.
Zintzoa, izan nahi Arrazoi historiko asko
herriaren 255 aukeratuko du 'Zela moduko urtez eragin
maximo lehenetsia 8 erabiliz byte - 8 bit zure counter gisa.
I litzaidake gehiago [inaudible] 2 eskumenak erabil dezake
baina moduko garrantzirik da.
Beraz dugu 60 joan zaitezke.
Badirudi arrazoizkoa hain luze
jo dugu, azkenean, ez da damutuko 'Eragiten duten da goi-muga.
Orain, demagun kontrakoa erabakia izan dira egin,
karakteretan ez aldakorra baina besterik char eremua.
Beraz, C eta C + +, char bezala ez char bat esan nahi
eta datu-base horretan oro har, zenbaki finko bat esan nahi
kate batean karaktere.
Zer goitik eta / edo izango litzateke nire aukeratzerakoan 60 arazotxo
char eremu bat, varchar ordez?
Hau zehazki Lehenengo mota da erabaki egin beharko duzu
denean ikuskatzeko [fonetikoa] itzazu of your bazkideekin proiektatzeko.
Bai, Sharon berriro.
[Inaudible Oharra]
Ona. Beraz, izena gutxiago bada
ondoren, 60 baino alferrik galtzen ari zara edozein dela delta dela
60 eta artean benetako luzera.
Beraz, hori bakarrik sentitzen wasteful, byte gehiago behar baino.
Baina zergatik existitzen da?
Ziur aski han goitik batzuk.
Bai?
[Inaudible Oharra]
Ziur. Beraz, batzuetan duzu finkoa kopuru jakin liteke
10 digituak bezalako pertsonaien telefono zenbakia esate baterako.
Baina nork zaintzen, zergatik bezalako ez besterik esateko 11 hala
edo zergatik ez esan 60 hala ere varchar batera?
Zer abantaila ez lortuko dugu jakitea eta diseinua
kopuru finko bat pertsonaien?
[Inaudible Oharra]
Oraindik eskuineko pista duzu.
Beraz, optimizatu da baina benetan da - bai?
[Inaudible Oharra]
Ados. Ona. Dezagun foku azken zati horretan.
Beraz indexatzeko.
Beraz, bihurtzen da duzu bada aldez aurretik ezagutzen duten guztiak
Zure eremuetako dira joan 60 karaktere izan behar du,
benetan dezakezu honen uste Excel datu-basean zutabe
Oso zuzen izatea, gisa utzi justifikatuta
eta justifikatuta eskuineko ertzak
delako zutabe bakoitzean 60 karaktere zabala da.
Horrek esan nahi du honek katea 60 karaktere kanpoan da
kate honetatik, 60 pertsonaiak, hau kanpoan
eta hau eta hau.
Beraz, besterik gustatzen atzera duzunean ikasi C, ausazko sarbidea izan duzu
arrayak munduan, ideia bera hemen.
Zure zutabea irudikatzen badago luzera bakarrik finko karakteretan erabiliz,
eraginkortasunez indizea ahal duzun 60 ausaz edo 120 edo 180
eta banaka lor dezakezu kateak askoz azkarrago.
Ondoren ordez bada, zure zutabe izan zuzen ezker ertzean nolabait esateko
baina oso malkartsua eskubide bat zutabeari Edge
zuk agian delako 10 karaktere izan,
15 karaktere, 5 karaktereak.
Beraz, hau ere denerako.
Eta batzuetan bakarrik trial eta akats bidez
eta esperimentazio ahal izango duzula
benetan zer eskuineko deia itzazu da baina hauek mota dira
galdera horrek joan behar da
zure adimenak eta / edo bidez mahaiak orduan
Zure datu-basea diseinatzea.
Beraz, ez du zertan eskubidea erantzun baina, behar duzu
gutxienez eduki batzuk esaldia kontuan edo bi
babes kopia dena delakoa erabakia egin duzu.
Ondo da.
Hargatik mantentzeko scrolling galderak hemen
duten phpMyAdmin en UI dira.
Beraz, lehenetsi-balioa Izen bat, I zehaztu beharko
hori izan beharko luke null balioa lehenetsi bat?
Zer deritzozu?
Daiteke ikastaro bat izan null izen bat?
Sentitzen bitxi, ezta?
Ezin dut edozein uste Harvard izenik ikastaroak.
Eta, agian, ez da zenbait ilun izkina kasu
non ikastaro bat zenbaki bat ematen da
eta irakasle ez dauka aukeratu izen bat da baina -
, Esan nahi dut horrekin demontre den,
bezalako dezagun ez are traba duten laguntzeko.
Nuke interes horretan esaten polit database garbi bat du,
dezagun zehaztu ahal duzun ez duten null balioa lehenetsi dute.
Bestela, egin genezake untitled ikastaroa antzeko zerbait
eta hori ez da ez bezala Mac OS eta Windows egin
denean bat sortzen duzunean adibidez karpetan,
baina ez dagoela egiten Zentzu pixka bat gehiago
horrela giza ikusteko zerbait.
Bati buruz hitz egiten ari gara back-end database zentzuzkoa
Jakina katalogoa da.
Beraz, ez da benetan, nahiz eta egiten dudan emanez ideia bezala
untitled ikastaroa izenetan
hori ez da benetan geroztik edonork lagunduko.
Hargatik utzi hau ere ez bezala, eta horrek esan nahi du, sartzen duzunean
Datu-base honetan sartu, duzu Noski bakoitzak izen bat eman
horrek apur bat sentitzen niri garbiago.
Ondo da.
Beraz gehiago korritu, kolazioa.
Hau besterik ez du zerikusirik pertsonaia multzo eta whatnot
Ikusi duzun inoiz bada Suediako aipatzen
phpMyAdmin in hori da 'Jendeak sor
nork idatzi phpMyAdmin Suediako ziren.
PHP dela edo da MySQL?
Bietako bat, I ahaztua offhand.
Baina arrazoi historikoengatik da
baina behin adierazteko dezakezu ingelesez pertsonaia
Suediako Could duzun beraz, neurri handi batean, ez da ez-gai bat.
CS50 Appliance nahiz da erabili - UTF-8 erabiltzeko konfiguratu,
beraz, oro har, hori behar Ez pop zuretzat.
Egozten.
Beraz, horiek ez dira Benetan hemen garrantzitsua.
Ikusten dut Binary, zeinurik, Unsigned zerofill,
eta eguneratzea uneko data-zigilua da.
Eremu hori bakarrik aplikatzen zenbakizko eremu batzuentzat
edo denbora eremu batzuk.
Beraz saltatzeko dugu gainetik erabat.
Nulua. Daiteke eremu hori izango nulua?
Beraz, ez. Dagoeneko badugu elkarrizketen moduko hori.
Beraz, ez dugu nahi lehenetsi balio bat.
Ez dugu nahi nulua izan da.
Zer indizea buruz?
Lau aukerak hemen ez dago.
Zer ez dugu zehaztu, bada, esan nahi du
duten Lerro honetan va lehen mailako gako bat izan nahi?
CS50 itzuli edo pentsatzen CS165 grabatutako bada.
[Inaudible Oharra]
Zehazki. Beraz, lehen mailako gako baten definizioz eremua da
bakarrean identifikatzen taula honetan lerro bakoitzean.
Eta gainean konfiantza dezakezu egin identifikazio berezia.
Beraz, zer esan nahi du orduan izan nahiko luke berezia?
Beno, ordenatzeko bi hauek ditu ordenatu
inplikazio pean kanpaia azpian.
Baina, oro har, lehen mailako gakoa da kontratu bat egin duzu moduko
database gauza batera.
Noiz kontsultak egin dut ikastaro baten bila,
Hau erabili nahi dut eremu berezi.
Eta itzuli dugu nahi zergatik nahi dugu bi
aukerak esaterako, hemen, lehen edo berezia.
Berezia besterik ez dio, hau eremua da berezia izango da
baina ez dut benetan edozein egiteko hitzezko konpromisoa hemen mota
Eremu hori erabili nire bilaketak egiteko
Arrazoi dugu egiteko une bat besterik ikusten.
Ordez zehaztu dugu indizea bada, zer ez den zehaztu nahi du
Eremu hori indize bat dauka bere gainean?
Bai?
[Inaudible Oharra]
Zehazki. Izan da kontsulta optimizatuta.
Beraz duzun - Datu-base zerbitzaria, Oracle, MySQL, edozein dela ere,
oro har, lan egingo du bere magia atzealdean sakatu duzu behin
aukera hori eta sakatu Gorde eta eraikitzeko da
gora normalean zuhaitz egitura bat, B-zuhaitzak ikusi duzun bada
edo entzun off hau da, bat Zuhaitz oso labur-begira
ematen dizu oso polita logaritmikoaren propietate
Datuak on bilatuz.
Ez duzu indize bat zehaztu bada Eremu batean, zer ari den gertatzen
korrika izango da bilatzen garai
arbitrarioa batentzat [Fonetikoa] jakina izena?
Zer da hori?
[Inaudible Oharra]
Oh, [inaudible], lineala, ezta?
Hura ez da optimizazioak ez bada datu-basera formetan
eta ez duzu pentsatu datu-basea zer nolako
espero datuen.
Onena egin dezakezu check da denean bilatzen ari zaren guztia
balio batzuk, batez ere bada ez Could
Izan ere, bikoiztea izan.
Testu bestalde, dugu gure eskuetan olatuen oraingoz.
Baina, oro har, hau da, bat aukera ematen dizu Indize mota
keyword optimizatzeko eremu bat bilatzen du.
Beraz, hau izan liteke hautagai ona
ikastaroa deskribapen bat bezalakoa Bertan pare bat izan dezakezu
paragrafoetan eta zuk agian of azpikate partidetan egin nahi.
Testu oro har, utzi egingo hori egin duzu nahiko eraginkorrean.
AI, hau izugarria mota bat da; azalpen baina pasatzean badugu
gainean ikusiko duzu Auto gehikuntza.
Ez dagokio bai hemen baina auto gehikuntza erabilgarria da
egiteko int en eremua bezalakoa delako datu-basea arduratuko da
plus plusing prozesuaren da txertatze egiten duzun bakoitzean.
Beraz, bi nahiz pertsona literalki sakatu Bidali
aldi berean, eta saiatu errenkadan nolabait sortzeko
basean, bat zenbakia dut lortuko haiek,
beste egingo lortu zenbakia I gehi 1.
Ez duzu kezkatu
zenbakiak bi izatearen berdinean zinen esleitutako
Horretarako zeure buruari kodean.
Ondo da.
Beraz, mota gustatzen zait non lortu dugu nahi izan izen bat.
Hargatik hautatu Gorde.
Hau al da diseinu ona datu-base taula bat?
Eta alde batera balitz bezala SQL on herdoildu edo zuk ordenatu
besterik ez beti buelta itsu zer gertatzen zen begia,
Dut idatzi zitekeen zehazki dela -
hartan hiru lerro horiek zuri-beltzean gonbita
komando lerroan bezero edo dut egin izan da
kodean programazioaren duten.
Beraz phpMyAdmin guztia egiten ari me, besterik ez da aurrezten dit ahalegina
batzuetan gogoratzeko of the sintaxia eta idazten eman
lapurtera komandoak bezala.
Ondo da.
Beraz, hau ez du gogorik diseinu onena, eremu mahai bat.
Orain izan dugu irakasleek horrelako gauzak
eta kokapenak eta deskribapenak.
Baina orduan ere, izena erabiliz bakarrik
ikastaroak identifikatzeko ez du sentitzen ideal.
Zer dute, oro har egin dugu iraganean
duzu datu-base erabili baduzu bakarrean errenkadak izateko?
Varchars ez erabiliz normalean.
Bai?
[Inaudible Oharra]
Bai. Beraz, normalean ikastaroaren ID bat.
Beraz, ohikoena hurbiltzen hemen bereziki
esparru bat erabiliz da, benetan besterik
zenbaki oso bat bezala zenbaki bat erabili.
Beraz, aurrera eta hau egin.
Eta hau egin ahal izango dugu gutxi barru modutan, baina oharra I handiagotzeko bada
hondoan hemen ere.
Gehigarri bat esan nahi dut mahai amaieran zutabeak,
oro har nahikoa bisuala egiteko erosotasuna identifikazioak jarri duzu
mahai hasieran honek ez du benetako nahiz
inpaktua funtzionala.
Beraz, ez dut esango zutabe bat gehitzeko
mahaiaren hasieran.
Klik Go, hori noa ematen dit atzera UI hau hemen.
Dezagun dei identifikazio hau.
Behar dugu uste badugu no gehiago egin 4 milioi ikastaroak
int en eremua ederra da.
Nahiz eta ezin dugu txikitu behera
baina espazio merkea da beraz, nor benetan zaintzen.
Baina, saiatzen ari gara idazten orain Facebook,
agian ez da txarra izan ints big aurrea hartzea
gaituen luke 64-bit ints
baina gero Oraindik literalki bit kopurua bikoiztu
, erabiltzen ari zaren denerako hain txikiak
baina zerbait kontuan hartu.
Orain, hau da nahasia ondarea gauza.
Agian gogoratzen duzu MySQL erabiliz
edonoiz duten int bat adierazteko Eremu askotan ikusiko duzu zenbaki bat
ondoan 10 zenbakia bezalakoa.
Ezer egin ditu kopuruaren tamaina
edo bit-kopurua.
Duela zenbaki batera egin Erabiltzen diren pertsonaien
bistaratzea ikusmen int eremua duten
terminal-leiho bat erabiliz.
Beraz, ikusi ahal izango dugu une batean.
Beraz, ez dute izango misled zenbakiak idatziz
hor egon da, nahiz eta in eraginkortasunez gurekin eskatuz
bat hemen.
Hemen baino gehiago, noa Aurretik joan eta esan unsigned.
Inolako hondakin arrazoirik gabe Gure zenbakiak negatiboak guztiak
geroztik datu-basea Oro har, joan
positiboak bereganatzeko balioak edo nulua.
Izena du, zalantzarik ez luke nulua.
Eta zer pentsatzen duzu NAN eremu hori indizea?
Dezagun lehen.
Beraz, zer bada, ordea, atsegin dut ahal bakarra CS164 noski inork uste
Harvard eta bakarra CS50 Harvard ikastaroa
eta hori nahiko askoz egia orokorra
Ba hori da, agian, salbuespenak [Inaudible] bi seihilekotan
edo zerbait arraroa horrelako.
Baina funtsean, zergatik da hobea
izena integral zenbakizko bat erabili nahi bakarrean identifikatzeko ikastaroak baizik
kate bat baino zerbait?
Bai?
[Inaudible Oharra]
Ados, interesgarria.
Sort izan beraz badugu gurutze-biltzen diren ikastaroak.
Beraz, adibide ona da.
Ez nago ziur nuke konpontzen duten arren
batzuk emanez bera eginda Identifikazio zenbaki hori bada
non horrekin zinen joan.
Ez? Ados. Baina behin betiko bat Kontuan hartu izkina kasu.
Han sort izanez gero - motaren bat behar dugu
of potentzialki prebentzioan.
[Inaudible Oharra]
Ziur.
[Inaudible Oharra]
Duten adibide ona da.
Izena baino gehiago alda liteke denbora, erabat arrazoizkoa.
Zer gehiago?
[Inaudible Oharra]
Barkatu, esan berriro.
[Inaudible Oharra]
Bai, hain zuzen.
Beraz, benetan, hori da benetako clincher da
32-bit int bat erabiltzen dela ziurrenik azkarragoa izango da
aldagai batzuk baino luzera char eremua.
Lehenengo kasuan, lata barruan literalki sartzen erregistro bat,
Askoz ez aipatzearren memoriaren aztarna txikiagoa.
Azken kasu horretan, bazoazela estazio egin behar den [fonetikoa]
kate konparaketak zein berez lineal batera
tamaina batean katea potentzialki.
Beraz, besterik ez da polit bat optimizatu,
eta, bereziki, nik joan
zer esaten zaie egin dezagun Eraginkortasunez elkartzen
une bat besterik ez.
Beraz, utzi egin dela.
Zehaztu ahal izango dugun hau da, lehen mailako
ez bereziki egin nuelako zaintzeko edo pentsatu nahi
zer kopuruari buruzko ikastaro bat da.
Dezagun hartu on horiek edozein izanda ere balioak nahi dute.
Auto gehikuntza esan nahi dut beraz, zehaztasun azpikontratatzeko dezaket.
Alde batera zaudela lukeen bezala badakiela Harvard
gutxienez ez berezia izan ikastaroetarako zenbakiak.
Daukat oroitzapena ez ikastaro hori zer den.
Dakit CS50 duten katalogo zenbakia 4949 da,
erabat arbitrarioak.
Baina ez da arraroa txoko horretan kasuen are
the registrarial iraulketa in ikastaro katalogo datuak,
batzuetan ikastaroak, zaharra ikastaroak izan 4 bezalako zenbaki bat.
Baina teknikoki duten Eremu char eremu bat da
, besterik gabe, 0004 hasten da.
Beraz, hemen ere, ahal izango duzu bereizteko buruz kontuz ibili
bat bezala gauzak arteko Jakina katalogo zenbakia
horrek giza batzuk izan liteke luzera finkoa, 0004 nozioa,
eta ez zenuke gordetzeko ints batean adibidez duten.
Eremu-mota hori egin beharko lukete beste nonbait gordeko.
Beraz, Harvard-en, bagenitu benetan ikastaro bat egiteko
erosketak tresna, hura da Ziurrenik ez nahikoa
zenbakia ikastaroekin besterik gabe, 1, 2, 3, 4.
Seguruenik ari gara behar joan
Eremu beste bat izan katalogo-zenbakia deritzo,
dela ere suposatzen da berezia oinarritua izateko
giza konbentzio hemen baina ez da aukerarik onena
identifikatzaile bakarra delako luzera aldakorra izan daiteke.
Agian ez da izan lau karakteretan, bost izango da agian.
Izan ere, uste dut gutxi barru Duela urte mugitu dute
bost pertsonaiak 'kausa ez dago 999 baino gehiago izan ziren ikastaroak
guztira edo antzeko zerbait , hori edo 9.999 ikastaroetan.
Beraz, hori adibide bat izan liteke non eremua ez da lehen
baina berezia izan beharko luke.
Eta helbide elektronikoa beste bat da.
Agian berezia izatea nahi duzu
baina ez du zertan zure gako lehen.
Ondo da.
Hargatik bang daudelarik beste me taula honetan bat baino askoz azkarrago.
Beraz, ez dut hau deitzen da joan Instructores bat eta noa
hau emateko, guztira bi zutabe kopurua.
Ikasi dut nire azken aldian ikasgai.
Deitzera noa Lehen zutabean izena du.
Deitu egingo ditut Bigarren zutabean izena.
Dut ere varchar egin.
Ez du bere gain hartzen noa irakasle izen bat luzeagoa du
60 karaktere baino, nahiz orain hau bultzaka liteke
izen luze batzuk, bereziak dituzten erdiko izenak dituzten pertsonak.
Hori da gaur egun fina.
Hargatik korrituko baino gehiago hemen.
Dezagun unsigned hau gehiago.
Egin dezagun lehen hau.
Eta izen bikoiztuak ahalbidetuko dugu
kasu horretan ez da bi John Smith-en edo horrelako zerbait.
Eta orain, bi mahai behar dugu.
Beraz, gaur egun, hau segurutzat jotzen du galdera nola ez dut asoziatu
ikastaroa rekin monitore batean?
Sentitzen motatako dut atsegin dut Aurreratu egin neure
delako bada monitore bat ikastaro bat irakasten,
nire lehen sena litzateke benetan atzera joan
ikastaroak konturatzen, hau Ez zen ideia ona.
Dezagun benetan zutabe bat gehitu me mahai-amaieran,
sakatu Joan, eta nik egingo Instructor hau deitu.
Eta varchar hau egin dut eta hau 60 egin dut.
Eta, agian, iruzkinak null dut orain
kasu horretan, noski, ez du dira monitore batean unsigned
zenbaitetan aurretik gertatzen epe hasten da eta gordetzeko aukeratzen.
Diseinu horietako zein nahiago duzu?
Bata lehen non dugu bat aparteko monitore en taula
edo bigarrena, non besterik ez dugu eremu bat gehitu ikastaroan?
Hain estuki lotzen da ikastaroaren irakaslea.
[Inaudible Oharra]
Ados. Ona. Baina utzi bultza me back.
Besterik ez da hain sinplea da atsegin dut ahal besterik pertsonaren izena idatzi
taula honetan sartu, ziur asko atsegin duten balio batzuk ditu edo -?
[Inaudible Oharra]
Ondo da.
Beno, utzi zaila izan niretzat hemen.
Hargatik niri esan Ikastaro honetan CS51 da
eta ezagutzen dut eta irakatsi Bi lagunek aurten.
Beraz, Henry Leitner eta Jesse Tov baina -
beraz, besterik gabe jarri dut koma bien artean, eskuin.
Benetan ona naiz Antaño batetik CSV.
[Inaudible Oharra]
Zehazki, eskuinera.
Jotzea bezain laster honen antzeko zerbait,
eta horrek sentitzen dezake arrazoizkoa eta agian sentitzen duzu
bezala hau da, mota smart.
Dut moduko bat maileguan Ideia hau da, ondo lan egiteko,
ideia berri bat maileguan eta Sort konbinatu.
Mota Oraindik erabat garaituz duzun datu-basea erabiliz puntua
Lehenik 'kausa in badu balio bat
erabiliz bilaketak azkarrago da eta hainbat indizeak delako
eta mahaiak, ahal duten eraiki zuretzat izango
basearen motorearen berak.
Orain, bilatu nahi baduzu Ikastaro guztietarako
Jesse irakasten, orain duzu ez azpikate behar guztiak betetzen on
monitore eremu,
eraginkortasunez lineala esan nahi du bilatu berriro 'kausa duzu
set arbitrarioa hau aurkitu Hiru pertsonaiak edozein tokitan dagoen
monitore eremuan precedido in
agian jarraian barruan koma batez.
Beraz, hau, zalantzarik ez bode ondo.
Hargatik mahaira itzuli zidan.
Utzi aurretik, joan den ikastaroak, desegin duela.
Besterik joan noa Animatu eta erortzen utzi.
Eta nahi izanez gero egin hau eskuz,
sintaxia ALTER TABLE da ikastaroak DROP irakaslea.
Beraz dezagun aurrera eta bai esatea dela.
Eta itzuli lehenago ideia horri
non bereizi bat daukat monitoreek taula.
Baina orain hau apur bat sentitzen bezala ikastaro bat jarri ahal izango dut
Jakina en taulan eta irakaslea
monitore en taulan baina I nolabait, bi lotu behar da.
Eta nola egiten duzun proposatzen duten egiten dugu?
[Inaudible Oharra]
Ona. Beraz, utzi egin dela.
Eta honi deitu ahal izango duzu Teorian ezer taula.
Noa nahita zer asko deitu
esparruen litzateke deitu, eta horien artean,
Laravel pixka bat ikusiko dituzu gisa.
Da ikastaroa deitu noa azpimarra irakaslea.
Singular erabiliz honetan Hitz bakoitzaren kasuan
eta xehe guztiak - berriro ere, eta, gainera, batera
ondoren, alfabetikoki ezkerretik eskuinera ordenatuta.
Hau da, erabat arbitrarioak baina hitzarmen bat izan ohi da
esparru hauetako asko in beste hizkuntzetan PHP.
Zenbat zutabe behar dut hemen zer bat batu taula deitzen dugun honetan,
beste bi batzeko mahaiak elkarrekin?
Hiru zutabeak?
Zein - zer izango litzateke?
[Inaudible Oharra]
Ados. Ona. Duten lanak.
Eta teknikoki ezin izan dugu txoko bat hemen baina asko moztu
bereziki esparruetako hala ere, nahiz errenkada horiek emateko
identifikazioak berezia nahiz semantikoki errenkadan
benetan axola buruz dugun edo zutabeak benetan axola dugun
direla bigarrenak bi inguru zer esan duzu, ikastaroan izena
eta irakaslea izena du.
Beraz, egin dezagun hau.
Lerro honetan besterik ID deituko dizut, lehenago egin genuen bezala.
Baina hau noa ikastaroan izena deitzeko.
Ko hau noa deitu irakaslea izena.
Eta noa zehazten duten guztiak
Horiek dira unsigned 'Eragin nahi dut
nire 4 maximizatzeko milioi int sorta.
Horietako bat ere nulua izan behar du.
Zehaztu noa duten Izena oraindik ere lehen izan behar du.
Eta, berriz ere, hau da besterik hitzarmen bat,
esparru asko ez baduzu, are ordenatzeko
du funtsean, behar bat ilara identifikatzaile bakarra,
bihurtzen da, komenigarria da Kodea, SQL hori joan
automatikoki izateko Gurekin sortzen.
Beraz utziko dut lehen bezala.
Baina orain, mota I diseinu erabaki bat izan,
ikastaroaren izena eta irakaslea izena.
Zer indizeak baldin badago jaso behar dute?
Utzi dut bada indizeak ez, zer inplikazio?
Zer inplikazio bat?
Performance lehen bezala, ezta?
Ez badago indizea da onena egin dezakezu mota da
of [inaudible] bidez gauza osoa zenbakien bila.
Beraz, ez da sentitzen smart.
Beharko luke lehen izango da?
Beraz, zergatik ez?
Zergatik ez lehen?
[Inaudible Oharra]
Perfektua. Beraz jaurti dugu daudelarik [fonetikoa] lehen.
Dagoeneko aukeratu dugu horretan.
Beraz, behar berezia izango da?
[Inaudible Oharra]
Ona. Beraz, bere gain hartzen baduzu Ikastaro bakoitzeko monitore bat,
guztiz fina.
Eta hori da, zalantzarik Kasu arruntena
baina dagoeneko jarri dugu off bat agian ezaguna adibidez.
CS51 bi begiraleak lortu beraz, mota gara
du orain, kasu horretan izorratu.
Baimendu egin badugu bakarrik monitore bat,
Benetan egin ahal izan genuen modu bat rekin batu mahai guztira,
atzera jo lehenago hurbilketa
eta ez jarri pertsonaren izena agian, baina irakaslea en izena.
Behin ikastaroa badakizu balitz bezala besterik monitore bat izan dezakezu besterik
zutabe bat.
Baina aldakortasun da zer lortu gurekin arazoak.
Ondo da.
Beraz, behar berezia izango da?
N º testu osoa ez du sentitzen aplikagarriak.
Esan bezala lehenago, hori da
bezalako azpikatearen deskribapenak egiteko betetzen.
Beraz, zer indize buruz?
Beno, indizea da seguruenik Gure hautagai onena
horrek MySQL optimizatu kontatzen honetako bilaketak egiteko
edo let me prestatzerakoan, bilaketak optimizatzeko edo elkartzen
une bat besterik ez ikusi dugu
beraz ari dira Apur eraginkorragoa
ezer guztiz lineala baino.
Ez auto nahi dut zatituko eremu hori?
Beraz, ez da, izan ere, egia da guraso elementu existitzen
ikastaroen 'taula.
Hori da, non da plus lortzeko ari,
plus denean benetan txertatuko.
Hemen, hau da, guztiak joan eskuz txertatu beharreko
zentzuzkoa kodean gurekin.
Hargatik zehaztu besterik gabe en bai noski ID
eta irakaslea identifikazio izan indizeak.
Gaur egun, aurrera egingo dugu eta gorde.
Eta orain, besterik ez erakusteko duzun korrespondentzia
zer polit bat arteko GUI friendly interface
eta komando-interfazean.
Utzi aurretik, joan eta egin zidan MySQL gonbita honetan jarraituz.
Esateko erabilera courses50 noa
horrek arbitrarioak izena da Eman datu-base honetara dut.
Eta, gaur egun, egiten dut, nahiz eta ez gogoratu zer egin genuen.
Hargatik idatzi zidan mahaiak show
eta, oro har, puntu Zure lagun egongo da hemen
kontsulta lekua hartzera.
Eta hor egon da.
Hortaz, hona hemen ilara edo beharrean taulak duten hemen dugu.
Orain, ahaztu dut zer ikastaro baten itxura du,
beraz, utzi deskribatzeko ez dit ikastaroak eta, orain ikusten dut ordenatzeko ASCII bat
edo zer bertsio bat phpMyAdmin egiten ari zen
eta ikusten dut izena duen int bat da.
Ez dago 10.
Zer esan nahi du?
Hori besterik esan nahi du, noiz da bistaratuko da da joan hartu
on 10 karaktere gehienez terminal leihoa.
Da nullable?
N º honek lehen gakoa.
Daiteke balio lehenetsi bat behar da?
Kop Eta estra hau da berezia auto gehikuntza bezala banderak.
Horretarako besterik en pare bat utzi insertions of azkar hemen.
Gora joan noa nahi - utzi, besterik gabe esan.
Aldatu dezagun egoera diapositiba bati
non sort I aurrez prestatu honetan.
Honen ondoren, laburpen bat da guztiak mahai horietako hiru.
Dut dagoeneko besterik eskuz lehen komandoa idatzi.
Eta hemen, Aurrera joan nintzen eta Idatzi besteek zuretzat.
Hau besterik ez du Gauza estilistikoa.
Oro har, jende asko idatzi SQL egoera txapelak guztietan
eta, ondoren, mahai-izenak eta Eremu letra izenak,
bada bakarrik delako standak moduko
Zein da zure terminologia itzazu eta zer datu-base sintaxia da.
Hortaz, hona hemen hiru dugu mahaiak, ikastaroak, begiraleak,
eta ikastaroak begiraleak.
Diapositiba egindako aldez aurretik I, Ez nuen izena eremua
baina hori ez da benetan txarra ere ez.
Besterik ez genuke ikusi bat Hirugarren zutabea han.
Egin duten hemen I?
Beraz, gaur egun utzi zidan proposatzen duten insertions sorta bat egiten dugu.
Hortaz, hona hemen datu batzuk, Handiagotzeko dut sartu
Naiz, beraz, proposatzen dugu ikastaroetan duten,
Hiru ikastaroak bakarra dugu aurre.
Eta hiru hauek aukeratu nuen 'Kausa ordezkari ari dira
polit batzuk - dute polit propietate batzuk.
CS1, CS50, CS51, dute identifikazioak handitzen dute
baina zer da, zer identifikazio guztiz garrantzirik.
Hori besterik ordena da eta bertan, ziren auto me by txertatuko.
Nola begiraleak buruz?
Beraz, gaur egun, delako Henry Leitner irakasten bai CS1 eta CS51,
hau da egokian plazaratu moduko gure diseinurako inplikazioa.
Eta Jesse irakasten CS51 eta Malan irakasten CS50.
Beraz, gaur egun - edo, hobeto esanda, horiek dira besterik gabe, pertsona horiek en identifikazioak berezia.
Eta ikastaroetan eta begirale, - Jakina begiraleak, konturatu hemen.
Ikastaroa ID1, zein zen CS1 da irakasten
monitore ID1 egilea nor Henry da.
Ikastaroa ID2, I uste zen CS50 da irakasten
monitore ID2, egindako horrek Malan da.
Eta gero, azkenik, CS51, eta nabarituko bi errenkadak dugu.
Eta orain, hau da, zergatik batu taula indartsua da irakasten da
bai Henry eta Jesse by.
Beraz, hau da fina eta ona,
baina ozta-ozta ahal dut goiko off gogoratu
nire burua, nor da nor hemen.
Nola ahal ziurrenik duzun kode hori aurre egiteko,
beharrik gabe Gogor kodea gauza?
Beno, hau non SQL bera da hasten da gure laguna bihurtu da.
Eta naiz, proposatzen dugu horretan honako hau idatzi ahal izango dugu.
Egin dut honetan at Benetako gonbita.
Dezagun aurrera eta Gauza horiek txertatzeko.
Beraz, ikastaroak taulan sartu egin dezagun zehazki zer dugu izan dezagun bat
Une duela.
Aurrera noa eta esan, dezagun txertatzeko CS1 eta CS50.
Dezagun txertatzeko batzuk gehiago ilaratan aldi berean, CS51.
Orain, utzi aurrera eta gorde.
Ondo da, beraz, besterik ez naiz iraingarriak azkar birsortzeko
harremanak, ahal dudan bezala pantailan ikusi besterik ez dugu.
Eta beraz, hemen dugu Leitner, hemen Malan dugu.
Diogu geure buruari ilara beste, eta Tov.
Orain dezagun hau salbatu ninduen.
Eta horiek egiten ari naiz nahita orden berean sartu.
Ez, eman ahaztu dut auto gehikuntza hau.
Utzi azkar konpondu dit hau.
Konpondu dut honetan online-kodea.
Hori alde batera utzita huts egin.
Izan ere, ezin izan dut txertatzeko Leitner eta Malan
eta Tov huts egin, ez nuen delako NAN zenbakia adierazi nahiz
Honez bat eta biok espero da auto gehikuntza ikusteko ahaztu,
horrek esan nahi guztiak ziren lehenetsi zero eskuratzerakoan.
Baina hori gero kontraesanean horrek duten zehaztu dugu jabetza.
Lehen mailako gakoa urratu zen beraz, ez, nahiz eta utzi egin zidan.
Hargatik hau konpontzeko me.
Orain, utzi atzera me to Txertatu fitxa hemen eta zehaztu
Leitner, Malan nahi dut eta, ilara bat gehiago, Tov.
Eta orain, azkenik, soilik bat dela, apur bat zaila da
gogoratu ikastaroa da irakaslea.
Dezagun txertatzeko orain Jakina ID1 da irakaslea ID1
beraz CS1 eta Henry da.
Ikastaroa ID2 irakaslea da ID2 hau da CS50 eta Malan.
Eta orduan da daukagun azken ones kezkatu da ikastaroa ID3
horrek CS51 da, irakasten
ikastaroaren irakaslea arabera 1, hau da Henry.
Eta hiru gisa ere irakasten 3 murriztu dira, eta Tov da.
Beraz, espero dugu orain birsortu dugu hau -
madarikatua da, gauza bera egin nuen.
Ikastaroko irakaslea auto gehikuntza behar.
Ondo da.
Egin dut hau azkarragoa oraingo honetan, Jakina 1, ikastaroa 1, 2, 2.
Eta orain, azkenik, egiten dugun CS51 ditu noski ID3 eta Henry.
Eta noski ID3 eta Jesse.
Duten itxura ona.
Ados. Beraz, orain, goazen atzera terminal-leihoa.
I deskribatzeko hala bada ikastaroak dugu hau ikusiko.
I can ikastaroak ikusi nahi badut orain egin aukeratu izar Ikastaroetako,
puntu, eta orain balio horiek ikusten dugu.
Eta orain, zer gehiago egin nahi dut?
Aukeratu izarra monitore batetik, hori da espero dudan bezala,
eta hautatu izar Ikastaroetako - Jakina azpimarra irakaslea.
Beraz, nola ez, orain batu dut taula hauek?
Beraz, ondoren aukeratu edertasuna identifikazio modu horretan baloreak da
hori pentsatzen baduzu Jakina mahai hartu
eta irakasleari taula eta gero txertatu
Zure bi horiek tartean adimenak ikastaroaren irakaslea
motatako line ahal duzun taula ID zutabe horiek guztiak sortu
haiek batu sartu duzu Zutabe masiboa bat dauka guztiak
informazioaren arduratzen gara.
SQL honetan sintaxia ez da nahitaez bistako,
baina ikus dezagun dugu egin ahal badu.
Ikastaroetako beraz hautatu izarra,
eta ez dago modu bat gutxi da Hau egin ahal izango dugun bezala.
Idatzi sakatu besterik ez noa formatu gauza mota nicely,
baina gezi hori besterik ez da bezero alboko tresnaren sintoma,
ezer ez da SQL berez zerikusirik.
Ikastaroetako beraz hautatu izarra.
Orain batu noa ikastaroak mahai
ikastaroaren irakaslea mahai gainean.
Nola? Izeneko zelaian courses.id berdindu ikastaroa
azpimarra irakaslea dot zer izenarekin
dagokion eremuaren Hemen pare bat nahi dut.
Ez da izena.
It's - zer, barkatu?
>> Ikastaroa izena.
Ados, utzi zooma.
Baina hartu nahi dut urrats bat gehiago.
Orain ez dut egin hau mahai eta hau.
Orain tira nahi dut tipo hau baita.
Beraz, let me gehiago batzeko gauza hau osoa
irakaslea da mahai zer on?
Ikastaroa azpimarra instructor.instructor id
instructors.id berdinduz.
Beraz, idatzizko genezake zentzu anitzetan Kontsulta hau.
Ordena horretan, hau egin nuen ez da hori guztia garrantzitsua.
Mota besterik ez nuen bertan nire buruan ezkerretik eskuinera.
Hau egin genezake gutxi modutan
baina orain badut du puntu eta sakatu Sartu,
nabarituko itzuli dut berri bat behin-behineko mahaia, gertakari multzo bat
beraz, datu-base speak hitz egiten.
Eta zer daukat gauza hau?
Dute izena, izen bat, beste bat dut Izena, hau da, mota horretako nahasgarria
niri une honetan, ikastaroaren ID bat,
monitore NAN, izena, eta izen bat.
Beraz, egunaren amaieran Eskuineko datuak ditugu orain.
Ikusten dut CS1 hori irakatsi Leitner arabera, CS51 da irakasten
Leitner eta Tov, eta egindako CS50 da Malan irakasten.
Baina pixka bat urduri nago Nik sortutako anbiguotasun hau.
Zer da anbiguotasuna I aipamenak naiz?
Bai?
[Inaudible Oharra]
Hiru zutabe IDa ez dago.
Beraz, benetan konpondu ahal hau eta benetan joan goaz
gure marko atzeratu azken finean lagunduko digu honekin,
baina bihurtzen da, ez dagoela S izeneko SQL keyword bat,
non bat zehaztu dezakezu ezizena, eremu baten izen berri bat
beraz, hori saihestu ahal izango dugu anbiguotasuna guztiz.
Baina konturatu ez bada egiten dugu aurre nolabait bezala
keyword duten edo esparru bat,
ez da potentzialki honetan anbiguotasuna saiatu bazara
izena zelaira sartzeko argi eta garbi daude, direnak direlako
izenak bikoiztuak han ere.
Beraz, hau da batean sartu eta nik uste Zure kontuan bere begi modurik onena
pentsatu benetan da bi mahai hartu,
lerro batean modurik nahi duzun.
Eta hau da bat, llamado barruko zentzuan batu
konbinatuz ari garela taulak hemen.
Beste mota daude agian aurkituko dugu elkartzen
bezalako denboran zehar kanpoaldeko elkartzen,
baina zati handiena honetarako da seguruenik arruntena
datuak berreraikitzen da.
Orain zer egin dugu oro har, zer deitzen
zure datuak normalizatzeko, beraz, ez da, bikoizketa ez edonon
Zure tauletan.
Eta bikoizketa arabera, nuke dute lehenengo hurbilketa ekarri.
Genuen aipatu Leitner bada eta Tov leku askotara
Zure datu-base batean, hori ez da oro har, erabakia onena
batez ere beren izena agian aparteko orduak edo kasuan aldatu
ezkontza, abizena litekeela aldatu berez nahi besterik ez duzu bat
zenbait leku kanonikoak Izen bat bezala datu-balioa.
Ondo da.
Beraz, laburpena egiteko, izan dugu bat diseinu erabakiak batzuk egiteko
eta garrantzitsuenak Ziurrenik batzuk murriztu
indizeak aukera horiek.
Baina utzi seinalatu zidan beste gauza bat baita.
PhpMyAdmin itzuli badut,
agian ez duzu ezaugarri bat aurretik da aurkitu
jarraian.
Joaten naiz ikastaroaren irakaslea behar bada, Dagoeneko du zehaztu dut duela zenbait
gauza horiek indizeak izan.
Baina utzi joan egitura me ikastaroaren irakaslea fitxan.
Orain klikatu Indizeak on me eta nabarituko honako hauek.
Hemen zehaztutako dut Han lehen mailako gako bat da
ID izeneko zutabea da.
Hau da, zertxobait konplikatuak sorketa zehaztuz modu
eta abar aipatuz gisa eremuaren tamaina bytetan.
Baina orain ere ez daukat beste eremua, ikastaroaren izena, hau da, -
ikastaroaren izena zein da egin aldez aurretik, eta berezia, Ados.
Hau egin nuen hemen Gurekin aurrera.
Beraz, zergatik da hau - utzi zidan askatu honek eztabaida mesedetan.
Oh, zer egin nuen ezagutzen duzu?
Ados. Beraz, lehenago, bat GUI tresna bat erabiliz perils
Hau atsegin, gure garaian sortzeko honetan parte mahai,
ikastaroaren irakaslea mahai, Gogoratzen dudan zehazten duten
indize bat nahi dut Eremu honetan
eta honi buruzko indize bat beste eremu.
Albo-efektua kaxak horiek biek egiaztapena
pantaila berean dela phpMyAdmin dela ondorioztatzen,
Nahi ez dut bi indizeak bereizi,
batu indize bat nahi dut eta horrek da, oro har lagungarria bakarrik
edo lagungarria zaudenean Eremu bat bilatzen on ez
baina eremu horiek biak.
Eta horregatik izan dugu han conjoin horiek
beraz, eroriz dut 'kausa direla Ez zen dudana xedea.
Hobeto esanda, noa hau berregin hemen.
Ikastaroan izena joateko noa
eta gehiago pean nago besterik gehitu indizea esan nahi du.
Eta naiz pean joan monitore izena eta esan gehitu indizea.
Eta orain, bada, hemen klikatu dugu, nabarituko hiru indizeak dugu,
lehen bat eta ni bezalako bakoitzeko bat burutu nahi
atzerriko gako hauetako.
Eta deitu dut atzerriko delako Jakina mahai mapak honetan izena
eremua zein, besterik izan garbitu, mahai batean.
ID izeneko lehen gakoa, ikastaroak izeneko mahai,
eta bestea zati bera.
Baina orain, da bat interesgarria engainatu eta benetan teknika.
Besterik Aurrera joan nintzen eta utzi nazazu egin hori apur bat motelago.
Pantaila berean, oharra Relation ikuspegi dio hemen.
Hau sakatu nuen, eta orain konturatu nintzen lortzeko muga batzuk bat egin.
Beraz, upsides bat ere
ez soilik kontzeptualki erabiliz Atzerriko giltzak eta beste mahai
bezalako besterik on dugu da duen indize bat definituz
horien gainean izan ditzakezu nahiz eta datu-basea laguntza gehiago
osotasuna bermatzeko Eremu horretako.
Hain zuzen ere, gaur egun ezin dut Beherakada honen bidez zehaztu
behera duten ikastaroan izena eremua
taula honetan benetan mapetan nahi courses.id.
Era berean, irakasleak azpimarra Izena kartografiatu nahi instructors.id.
Orain, zergatik da hau baliagarria?
Beno, nabarituko, eskuin aldean zer agertzen now aldean.
Orain, irakatsi ahal izango dut datu-base horretan bada Henry
Adibidez inoiz retires eta bere ilara desagertzen
irakasleari taula guztiz horrela izanik
ezabatu, ezin dut honen bidez Kaskadako hurbilketa bermatzeko
zuen irakasten edozein ikastaroak direla jada ez zion lotutako.
Dut datu-basea irakatsi ahal ilara ezabatu
batzeko mahaia deiturikoak honetan Henry automatikoki bada edo bada bata
bere ikastaroen desagertzen.
Orain, zergatik da hau sinesgarria?
Bai?
[Inaudible Oharra]
Behin egitea besterik ez duzu eta epe luzera, ezta?
Oso erraza da sailkatu jendea etorri eta joan, ikastaroak etortzen
eta joan, zure datu-basea ezin izan Eginzazu ikastaroak littered
eta irakasle batekin ez dira Jada datu multzo garrantzitsua.
Eta zure datuak eskuratu hasten Oso narratsa eta zikina eta zaharkituak,
eta beraz, hemen sailka ditzakegu
of betearazi batzuk Murriztapen hauek.
Bai?
[Inaudible Oharra]
Badaki honetan modu hura.
Hau pantaila da, non batze bat zehazten ari gara
Atzerriko giltza artean eta lehen mailako gako.
Beraz izendatzeko guztia dut aipatu konbentzio
lehenago konbentzio besterik ez dira.
Ez dago berezko esanahia da.
Hau pantaila da hau da, bakarrik erabilgarria
buruzko indizeak zehaztu ondoren eremuak horietako bakoitzean egin dugun bezala.
Eta zabaltzen den honetan daukagun a adibidez gauza batzuk
ikastaro bat ezabatzen bada, ahal duzun benetan ezabatzeko duten saihesteko
gertatzen bada ez ilara bat dago mahai honetan
besterik esanez, mugatu.
Bestela esanda Henry ezin erretiroa
zion elkartea kendu arte CS51 eta CS1 from.
Beraz, hori gauza ona da.
Baina eragin zitekeela Zure kodea akatsak
ez baduzu aurreratzen duten, edo jauzi bat izan dezakegu,
antzeko jauzi bat eman nahi Kaskadako estilo-orriak
eta kaskada du Ur-jauzi bat esan nahi izanez gero -
Henry retires hala bada - ohitu ezabatu arabera
beraz, bere ilara hemen egingo get ezabatu.
No Ekintza deus edo hutsa esan nahi du mota da erabilgarria izanez gero, mota
zenbait erregistro historiko nahi Henry ondoren irakatsi CS51,
baina nahi duzun eremu horretara izan nulua da, beraz ilara han
baina ez da edozein luzeagoa berarekin lotutako.
Beraz, hauek oso indartsua dira duten teknikak, ahal duzun
eta nahiz eta erabili behar interes bereziki
of aurrezteko yourself from.
Hargatik baten aipamena egin zidan azken xehetasunak hemen pare,
osagai dituen lagungarria izan daiteke
datu-basearen diseinua egiteko asmoa dugu.
Izan ere aukera datu-baseko zehar
zure kodea erabiltzen duzula.
Oraindik ezagutzen bada CS161 of dezakezu -
edo are 61, oro har dezakezu izan fitxategi-sistema ezagutzen.
Eta ez da gauza bezala, NTFS eta HFS +
eta X2FS4 [fonetikoa] eta 3 eta abar.
Ez dago modu desberdinetan du mahai gainean datuak gordetzeko.
Han, era berean dira datuak gordetzeko modu ezberdinak
lehenetsita datu base batean Appliance gutxienez
azken bertsioarekin MySQLren.
Daramat erabiltzen dugun NoDB deitu, datu-base motorrarekin,
horrek onartzen bat nice ezaugarri batzuk.
Baina inork komun bat da, halaber, MyISAM deitu eta oraindik beste
izan daiteke erabilera Memoria da, horrek esan nahi du ez ezer jarri
diskoan, besterik gabe, gorde oroimenean gauzak.
Gehienetan ez ziurrenik ez du gaizki joan besterik hasita
NoDB, baina edozein proiektuetarako tasa altua inplikatzeko joera
adibidez txertatzeko, bezalako logging azkar asko,
segundoko gauzak ehunka edo gauzak hasiera.
Edonoiz bat duzu gauza asko gertatzen
basean on ondoren, era honetan
txikiena maila erabakiak hasteko konpromisoa lortzeko.
Osoa testuaren ezaugarri Esate lan egiten MyISAM soilik
beraz, horrek inplikazio bat dauka.
Baina hori gogora ekarri ahal izango duzu, dezagun gutxienez motibatzea zergatik zaintzen dugu
NoDB bereziki buruzko.
Lasterketa baldintza bat oro har, zer egiten dio erreferentzia?
Ondo da, hau da, bat Adibide egindako aipamen batzuk
de entzun liteke urte iragan ala 161 edo 50
non gelakide bat behar duzu, biak duzun benetan gustatzen esnea,
duzu bat lortzen etxeko lehen irekitzen hozkailuan han esnea ez da,
zehar itxi hozkailua ibilaldi CVS kaleak eta lortu
line esne pixka bat erostera.
Bien bitartean, zure gelakide atzera hemen dator.
Esnea ere gustuko zuen.
Ireki hozkailua eta esnea ez konturatuko.
Hemen zuen ondoren doa gordetzeko, agian beste CVS.
Minutu aurreratu azkar bat gutxi geroago itzuli duzu eta orain bai
esnea erosi duzu.
Horietako bat da, gaur egun gertatzen ari ez duzu delako hondatu
esnea bezalako askoz eta hau arazo bat da, ezta?
Biak duzun ikuskatu delako aldagai batzuen egoera
eta oinarritutako erabaki bat hartu Gainean nahiz eta egoera
aldagai horren zen funtsean Ari aldatu prozesuan,
Utz dezagun astiro zehar denbora hartzen zenbatekoa
CVS eta-tik eskuratu.
Beraz, zer ergelak erreal mota bat da; munduko arazo hori konpontzeko?
Utzi ohar bat, ezta?
Honez azken aldian gertatu.
Beti utzi ohar edo giltzarrapo gauza literalki.
Eta esaten dut giltzarrapo, zeren hartu egiten duzu edo CS161 hartu bada,
blokeoa da funtsezko bat mundu mota horretako ideia.
Beraz, lasterketa baldintza sor ditzake halaber, datu-base munduko
eta gogoratzen dezakezu agian etik CS50 finantzatzeko hartu duzu 50 bada,
kode hori benetan eman dugu zehaztapen guys duzu
garai hartan, beraz, zure eragiketa beraz deritzo atomikoa.
Nahi izanez gero, nahi honetan kasuan, erosi stock kuotarekin
eta stock hori du sinbolo jakin batzuk.
Bezalako kode erabili Esan dizugu hau, izan ere, honen bidez
bikoiztuak gako eguneratzea on sintaxia, hau eraikitzen da
MySQL sartu Oraindik eraginkortasunez bai txertatze egiten
edo eguneratzeko ondoren hautatu bat ikusteko egiten
stock bat bada dagoeneko hor.
Bestela esanda, in analogikoa stock bat erosi munduan
esnea eta hozkailuaren , izan daiteke lehen,
kuota bat erosi aurretik Google agian hautatu nahi
basetik guztia Googlek David jabea akzioen
zero edo gehiago jabea bada zuen ikusteko.
Behin ikusten duzu zuen jabea bada zero edo gehiago duzu
ondoren, honako hau.
Bai duzu txertatze egin
jabea zuen zero 'kausa bada ez dago David errenkadan oraindik,
edo eguneratze bat egin behar duzu teorian gutxienez nahi baduzu
erabiltzaile bakoitzeko lerro bat edukitzea.
Arazoa hautatzen da akzioen zenbaki hori
eta ondoren eguneratzeko edo txertapenak eten ahal izango da,
Norbaitek beste edozer eginda ordenagailua erosi nahian terminal
edo saldu Daviden batzuk stock akzioak ala
xede onak moduko edo helburu kaltegarrien.
Dendan joatea bezala da Zure gelakide lortzen noiz itzuli
eta egoera egiaztatzen aldakorra du.
Beraz, garai hartan sintaxia hau sort zen egokia
CS50, saihesten duten Arazo guztiz.
Eta ez besterik ez da hori guztia duzu blokeorik magia,
baina gaur egun, mota hauekin Ikastaro hau egiteko proiektuak
Horrek segur aski izango Datu multzo konplexuagoa inplikatzen,
ezin duzu lortzeko Beti atomicity hau.
Dena gertatzen da aldi berean edo ez guztietan
etenik gabe hain dotore.
Eta beraz, MySQL, beste datu-base motorrarekin,
sarrailak izeneko laguntza gauzak,
Horren bidez, blokeo esan dezakezu hau taulan, beraz begira bakarra
eta, oro har, erabiltzaile bakar bat, ahal ukitu denbora edozein puntutan dauden
irakurtzeko edo idazteko eta gero desblokeatzeko dezakezu.
Hau batetik adibidea da MySQL-ren erreferentzia egin beharrean,
non banku bat bezalakoa izan beharko duzu horretan saiatzen ari zaren kontu
dirua kendu etik eta gero gehitu dirua.
Baliteke nahi Ziur bai hori egiteko
gauza horiek gertatuko elkarrekin
beraz ez dago akatsak matematiko
eta inork ez galerak dirua, nolabait.
Sarrailak arazoa nahiz eta datu-base batean
da, oro har, esan nahi du, taula osoa blokeatuta badago,
horrek esan nahi baldin baduzu ehun bat pertsona saiatzen
negozioa egin zure bankura kopuru bera dute linean
denbora bat bakarrik horiek aldi berean daiteke joan.
Hau da, ergelak, bereziki zerbitzarietan gaur
duten zortzi ikastaroa, 16 Jakina, kopuru handi bat eduki
memoriaren, ez dago Arrazoi guztiak terminoak nahi
zure transakzio bada horiek bezeroei bakarrik joan
beren errenkadetan egin elkarreragin.
Beraz NoDB egin aukera ematen gauza gehiago adimentsua
eta, oro har, hau izango da hurbilketa kodean hartu duzu,
zerbait erabili ahala Eragiketaren deritzo.
Eta hau, oro har, egin duzun PHP kodean,
Ruby kodea, Python, edozein dela ere.
Baina SQL kodearen hori da azken finean erabiltzen da hau,
normalean.
Hasi transakzio gero bi edo gehiago kontsultak zehaztu
nahi duzula exekutatu guztiz
etenik gabe edo batere ez.
Egon daiteke, nahiz eta batzuk hautatu da narriadura
edo ezabatzen edo eguneratze batzuk.
Baina gauza polita da, database smart nahikoa izango da
ziur bakarrik izango da hori egiteko ilara Oraindik dute benetan blokeatu
eguneratzerik honetan parte hartzen duten edo hautatzen edo ezabatzen.
Dituzun errenkadak milaka lortu hala bada eta soilik hiru zaren ukitu
Horietako, bakarrik azpimultzo duten mahaiaren blokeatu egingo
diranak beste 99 esan nahi du bezeroei beren errenkadetan ukitu ahal
ari terminoak gabe eta moteldu egin duzun arabera.
Bien bitartean, hau nicest da transakzio alderdi.
Batean transakzio dira 161 bezala senti fitxategi-sistema batean,
transakzio ari dira
horrek esan nahi roll dezakezu haiek berriz, horiek desegin dezakezu.
Hau komandoa bezalakoa da edo kontrolatzeko baseen F.
Parte jakiten baduzu bidean barrena guztiak
zure datuak hainbat eragiketa, tiro, zerbait oker dago joan.
Literalki exekutatzen bat SQL kontsulta roll ezberdinak itzuli
eta joera horiek guztiak - guztiak exekutatu duzun adierazpenak
Irteeran esaten ondoren transakzio desagertuko
inoiz ez dute gertatu bagina bezala,
hau da, amazingly bat Gauza indartsua.
Eta horien motak dira gauzak zalantzarik gabe 50 urtean dugun moduko
of rug azpian miaketan eta Mota besterik ez du bere gain hartzen duzu
dela, ondo izango da.
Baina hasten zara behin benetako proiektuetan pentsatzen
eta benetako erabiltzaile eta Zure datu-basearen osotasuna,
horiek mota dira diseinu erabakiak
diren garrantzitsuak izango.