>> Pob hawl.
Felly, heb ado pellach, SQL, Strwythuredig Ymholiad Iaith.
Felly, mae'n debyg eich bod defnyddio hwn ar lleiaf yn CS50, efallai mewn CS165,
efallai yn eich pen eich hun prosiectau personol.
A beth mae SQL yn gadael i chi ei wneud, mewn SQL Gweinyddwr yn fwy cyffredinol?
Yeah?
[Anghlywadwy Sylw]
OK, roedd yr union sicrhau ffordd o ddweud ei fod.
Ie. Felly, mae'n caniatáu i chi storio data
ac yn bwysicach fyth yn caniatáu hoffech holi am ddata.
Ac mae hyn yn gam ymlaen
o ddefnyddio rhywbeth symlach fel CSV, ar y dde.
Adain Garpiog gwahanu Newidynnau.
Gwerthoedd tebyg.
Yn yr un modd yn gadael i chi arbed gwybodaeth un rhes
mewn ffeil testun.
Ond beth yw'r anfanteision o Ffeil CSV ar gyfer storio eich data,
er eich bod yn effeithiol cael rhesi a cholofnau ohono?
Yeah.
Nid >> oes 'Rhaid i chi yr un sefydliad
effeithlonrwydd [yn anhyglyw].
>> Nid oes yr un i chi effeithlonrwydd sefydliad.
Beth ydych chi'n ei olygu?
>> Wel, fel [anhyglyw] wedi hoffi gynradd [yn anhyglyw].
>> OK. Yeah.
>> Mae'n cronfa ddata berthynol gallwch gael cronfeydd data lluosog
yn gysylltiedig â'i gilydd mewn ffyrdd penodol iawn.
>> OK. Da.
>> Mae'n [anhyglyw] gosod CSV.
>> A gadewch i mi tweak ychydig o derminoleg.
Tablau Felly lluosog mewn cronfa ddata, yn sicr,
ac sy'n mynd y tu hwnt i'r hyn y gallwch ei wneud gyda dim ond un CSV.
Ond mewn gwirionedd y cyfyngiad gyda CSV Byddwn yn dadlau yn
bod yr aneffeithlonrwydd y cyfan.
Mae'n hawdd iawn i osodiad.
Ond os ydych am wneud ymholiad, beth yw'r amser yn rhedeg
unrhyw ymholiad dethol ar ffeil CSV?
Yr wyf yn golygu ei fod yn fawr hen [anhyglyw], iawn, 'achos yn yr achos gwaethaf,
maent yn codi yn y gwaelod.
Hyd yn oed os ydych wedi datrys y cyfan Ffeil CSV, os nad ydych yn gwybod
hynny ymlaen llaw, yn dda, eich bod yn dal yn mynd i gael
i chwilio yr holl beth.
Felly, ymysg y pethau rydym yn mynd i gael
rhag defnyddio gwirioneddol cronfa ddata gan ddefnyddio iaith
fel SQL yw y gallwn holi ac y gallwn ymlaen llaw
fel dylunwyr cronfa ddata nodi beth yw'r meysydd
a oedd yn debygol mynd i gael cwestiynau am fel bod pobl
yn MySQL neu Microsoft neu Oracle,
pwy bynnag wedi gwneud y gronfa ddata gallwch chi yn ei ddefnyddio yn gwneud popeth
o waith caled y figuring allan, OK,
cael miliwn o IDS hyn.
Sut allwn ni gosodiad - nhw allan yn y cof?
Rhyw fath o goeden strwythuro efallai,
er mwyn i pan fyddwch yn gwneud mewn gwirionedd yn gweithredu Dethol,
mae'n rhywbeth sy'n logarithmig neu logarithmig
o logarithmig mewn amser yn hytrach na ddatganoli mewn gwirionedd
yn rhywbeth llinol.
Felly, rydym yn cael llawer o perfformiad y ffordd honno.
A gallwn hefyd storio llawer mwy data yn fwy parod 'yn achosi i'r SQL
Gweinyddwr yn cael ei storio fel arfer yn RAM er bod rhannau
y gallai gael ei storio ar ddisg ac mae'n debyg eich bod yn gwybod erbyn hyn
y RAM yn gyffredinol gyflymach na disgiau,
felly dyna beth da.
A gallwn hefyd yn ymdrin concurrency llawer gwell.
Os ydych chi wedi cymryd 165 neu 161, eich bod yn gwybod, os bydd dau o bobl yn ceisio
i wneud yr un peth ar unwaith ar system,
gall pethau drwg yn digwydd yn gyffredinol.
Felly, ymysg y nodweddion eraill yr ydym yn Gall gael os ni gynllunio ein tablau
yn y ffordd iawn yn gwell cefnogaeth a diogelwch
pan ddaw i concurrency.
Felly, dau o bobl mewn dwy ran
o'r byd gan ddefnyddio yr un gwefan, os ydynt yn ceisio
i brynu rhywbeth ar yr un amser, nad yw gorchymyn yn mynd
i fynd i mewn ar yr un pryd.
Rhywsut byddent yn cael eu benodau gan rywun heblaw ein hunain -
rhywun arall na ni ein hunain.
Yr ewyllys gronfa ddata wneud hynny ar ein rhan.
Felly, pan fydd ei ffurf symlaf,
SQL gadael i ni ymholiad yn cronfa ddata berthynol.
Mae cronfa ddata berthynol yn un sydd wedi un
neu fwy o dablau ynddo fel arfer.
Ac os yw hyn yn ychydig yn anghyfarwydd,
ydych yn gallu mewn gwirionedd dim ond yn meddwl am hyn fel Excel neu rifau
neu daenlenni Google.
'I jyst wedi rhesi a cholofnau ac fel arfer ben pob
o resi hynny wedi enw ar ei gyfer.
Felly, gallai hyn fod yn ID colofn, enw'r golofn,
y cyfeiriad golofn ac yn y blaen.
Ac yna gallwch gael mwy nag un tablau o'r fath os ydych am
i ddechrau gosod allan gwahanol fathau o ddata.
Ond efallai y byddwch yn cofio o leiaf o CS50 yr ydym yn ceisio
i roi i chi yn seiliedig ar GUI offeryn [anhyglyw]
i reoli eich cronfa ddata.
Cafodd ei enw phpMyAdmin.
Felly, dim ond cyd-ddigwyddiad sy'n iddo gael ei ysgrifennu yn PHP, mewn gwirionedd,
ond yr oedd dim ond ar y we blaen yn dod i ben i gronfa ddata.
A thrwy y gwahanol tabs a chysylltiadau, allech chi ddechrau
i ffurfweddu cronfa ddata i chi eich hun.
Ond yn arf da i ddechrau cael ychydig yn fwy cyfforddus
gyda hefyd yn cleient gorchymyn-lein.
Felly, os defnyddir y Offer CS50 neu, mewn gwirionedd ddefnyddio unrhyw gyfrifiadur macro
sydd â MySQL llinell orchymyn cleient, gallwch hefyd wneud math
o hen ysgol, fel hyn.
Fel prosiect MySQL neilltu, o leiaf y fersiwn ffynhonnell agored
o y'i gelwir bellach MariaDB ar gyfer wahanol resymau gallwch ddarllen
i fyny ar Wikipedia ond 'i' yr un meddalwedd,
'i' yr un gystrawen ac yn y blaen,
'n bert lawer yr un sylfaen cod.
Ac felly pan dwi ar hyn o annog y gall yr wyf yn awr yn rhyngweithio
gyda fy chronfa ddata llawer mwy â llaw.
Felly, enghraifft o hyn, gadewch i mi fynd yn ei flaen
a dim ond agor ffenestr terfynell.
Yr wyf yn digwydd bod yn defnyddio'r CS50 Offer ond gallwch wneud hyn
ar y rhan fwyaf unrhyw system yn yr ydych yn cael yr hawl
meddalwedd gosod.
Ac yr wyf i'n mynd i wneud MySQL-u ar gyfer enw defnyddiwr John Harvard
ar y system benodol,-p am gyfrinair y byddaf yn teipio
mewn ychydig yn fwy ddiogel gan daro Chofnoda.
Nawr rwy'n annog.
Rydw i'n mynd i deipio rhuddgoch yn y Offer CS50
ac yn awr yr wyf yn gweld y bôn bod yr un sgrîn.
Ond mae gorchmynion yn awr y gallwn ddechrau teipio
fel yn dangos cronfeydd data, a mae hynny'n mynd i ddangos i mi i gyd
o'r cronfeydd data sydd gennyf a grëwyd eisoes yn y system,
'n bert lawer yr un rhestr byddech yn gweld yn phpMyAdmin.
Mae un neu ddau o bobl eraill yn hoffi sgema gwybodaeth a phrofi,
ac os ydych yn gwthio o amgylch y Offer CS50, rydym yn cuddio rhai
tablau ar lefel is hyn
ond maen nhw wedi bod yno drwy'r adeg hon.
Mewn gwirionedd wedi MySQL lefel isel priodweddau fel enwau defnyddwyr
a chyfrineiriau ar gyfer y gronfa ddata ei hun, nid ar gyfer eich cais
y gallech fod yn rhedeg ar ei ben.
Felly, ymlaen llaw, heddiw, yr wyf yn creu cwpl cronfeydd data,
cael ei alw'n un ohonynt courses50.
Groes yn rhai ohonoch wedi defnyddio Offeryn siopa cwrs CS50,
sydd yn rhyngwyneb mawr i catalog cwrs y cofrestrydd.
Ac mae hyn mewn gwirionedd yn 'n glws set ddata i siarad am 'achos,
un, rydym yn fath o holl amlwg yn gyfarwydd â chyrsiau
a hyfforddwyr a chyfarfod lleoliadau a phob math
o bethau cyffredin prifysgol,
ond mae hefyd yn cael rhywfaint o cyfleoedd diddorol
ar gyfer dylunio.
Felly rydym yn meddwl y bydden ni'n defnyddio'r syniad o catalog gwrs
ac yn offeryn siopa fel er enghraifft trwy gydol heddiw i ddatrys
o ffrâm rai o'r cynllun penderfyniadau rhaid i ni wneud.
Felly, gadewch i ni ddechrau yno.
Gadewch i ni dybio fy mod i eisiau mewn gwirionedd i gynrychioli'r symlaf super
wrth gwrs siopa offer.
A'r byd symlaf Gallaf ddychmygu ac mae un
lle mae cyrsiau ac mae hyfforddwyr.
A gadewch i ni yn debyg i mwyn trafod
bod pob cwrs Mae gan o leiaf enw.
Felly, gadewch i ni ddechrau braslun hyn.
Rydw i'n mynd i ddefnyddio phpMyAdmin yn unig fel hwylustod,
felly nid oes rhaid inni i deipio allan pob un o'r ymholiadau llaw.
Ond dyma fi yn fy cronfa ddata courses50.
Os anghyfarwydd â hyn, mae'n annhymerus ' fod yn hawdd iawn ar ôl i chi plymio
i mewn i eich prosiect eich hun os hoffech ei ddefnyddio.
Rydw i'n mynd i greu tabl o'r enw Cyrsiau
ac ni allaf ond meddwl o un cae
ar hyn o bryd, enw'r cwrs.
Rydw i'n mynd i fynd yn ei flaen a dweud roi un golofn i mi.
Yn awr, wrth i chi gofio eich bod yn cael rhyngwyneb sydd ychydig yn
fel hyn.
Ac mae'r upside arall a dweud y gwir o phpMyAdmin yw ei fod yn fath
o hunan-gyfarwyddo a bod drwy'r dropdowns, gallwch ddatrys
o weld beth yw eich bosibl penderfyniadau dylunio yn cael eu.
Felly, yr wyf i'n mynd i roi pob cwrs yn enw.
Dyna enw'r golofn hon.
A beth am ei math data?
Dylai'r rhan fwyaf ohonoch yn gwybod yn leiaf rhai o'r mathau data
o brofiad blaenorol.
Beth sy'n briodol ar gyfer enw cwrs?
Sharon?
>> Varchar.
>> OK, varchar sy'n yn Char Amrywiol.
A beth mae hynny'n golygu mwy technegol?
[Anghlywadwy Sylw]
OK. Felly mae'n llinyn.
Ac mae'r agwedd var o fod yn awgrymu beth?
Amrywiol. Ond beth yw ystyr hynny?
Yeah?
[Anghlywadwy Sylw]
Yn union. Felly mae'n newidyn nifer o gymeriadau
yn y llinyn i fyny i ryw uchafswm.
Felly dyma ein cyntaf penderfyniad dylunio.
Rydym mewn gwirionedd yn rhaid i benderfynu faint o bytes maximally
i ddyrannu i bob llinyn o'r fath.
A siarad yn gyffredinol, yr ydych am math o beidio ei wneud yn rhy fach,
ei gwneud yn rhy fawr 'Achosi yn amlwg
os rhy fach eich bod yn unig mynd i ddechrau truncating data
a byddwch yn colli gwybodaeth.
Ac os yw'n rhy fawr, eich bod yn unig fath o dweud wrth y gronfa ddata
i ddisgwyl ac i gwneud y gorau ar gyfer mwy o ddata
nag y gallai fod mewn gwirionedd byth yn ei gael.
Felly beth deimlad rhesymol rhif ar gyfer enw cwrs?
60? Iawn, felly 60.
Mae hynny'n ymddangos yn eithaf rhesymol
ar yr amod yw nad oes eithriadau i hynny.
Does dim caled rheol, yn gyflym.
I fod yn onest, er resymau hanesyddol llawer
o bydd pobl yn dewis 255 'Achosi ar gyfer y blynyddoedd a oedd yn fath
o'r uchafswm diofyn drwy ddefnyddio 8 bytes - 8 did fel eich cownter.
Byddwn i'n fwy [anhyglyw] Gallai defnyddio pwerau o 2
ond mae'n fath o amherthnasol.
Fel y gallwn fynd â 60.
Mae hynny'n ymddangos yn rhesymol ar yr amod
gan nad ydym yn y pen draw yn difaru 'Achosi bod yn uwch yn rhwymo.
Yn awr, mae'n debyg y gwrthwyneb penderfyniad wedi ei wneud,
chars nad amrywiol ond dim ond y cae torgoch.
Felly, yn wahanol i C a C + +, cols nid yw'n golygu un torgoch
a chronfeydd data sy'n gyffredinol yn golygu nifer penodol
o gymeriadau mewn llinyn.
Beth fyddai upside a / neu Anfantais fy dewis 60
ar gyfer cae golosg, yn hytrach na varchar?
Dyma'r union fath cyntaf bydd y penderfyniad rhaid i chi wneud
wrth arolygu [ffonetig] allan o prosiect gyda'ch partneriaid.
Yeah, Sharon eto.
[Anghlywadwy Sylw]
Da. Felly, os yw'r enw yn llai
na 60 yna rydych chi'n gwastraffu beth bynnag yw delta yn
rhwng 60 a hyd gwirioneddol.
Felly, mae hyn yn teimlo wastraffus, mwy o bytes nag sydd ei angen arnoch.
Ond pam y mae'n bodoli?
Yn sicr mae rhywfaint o upside.
Yeah?
[Anghlywadwy Sylw]
Cadarn. Felly weithiau rydych allai wybod y nifer penodedig
o gymeriadau fel 10 digid ar gyfer rhif ffôn er enghraifft.
Ond sy'n gofalu, fel pam nid dim ond dweud 11 beth bynnag
neu pam ddim dweud 60 beth bynnag gyda'r varchar?
Pa fantais ydym yn ei gael trwy wybod a dylunio
am nifer penodedig o gymeriadau?
[Anghlywadwy Sylw]
Rydych chi ar y trywydd iawn.
Felly mae'n optimeiddio ond mae'n wirioneddol o - ie?
[Anghlywadwy Sylw]
OK. Da. Gadewch i ni ganolbwyntio ar y rhan olaf.
Felly mynegeio.
Felly, mae'n troi allan os ydych yn gwybod ymlaen llaw bod yr holl
eich caeau yn mynd i fod yn 60 nod,
y gallwch chi wir yn meddwl o hyn golofn yn y gronfa ddata Excel
fel rhai sydd syth iawn, chwith cyfiawnhau
ac ymylon cyfiawnhau cywir
oherwydd y mae pob colofn yw 60 cymeriadau eang.
Mae hynny'n golygu bod hyn yn llinyn yn 60 nod i ffwrdd
o'r llinyn hwn, 60 cymeriadau i ffwrdd o'r un
ac mae hyn yn un ac yr un yma.
Felly, yn union fel yn ôl pan fyddwch yn dysgu C, yr oedd gennych fynediad ar hap
yn y byd o araeau, un syniad yma.
Os yw eich colofn yn cael ei gynrychioli defnyddio chars hyd yn unig sefydlog,
gallwch effeithiol mynegai ar hap i 60 neu 120 neu 180
a gallwch gael o yn unigol llinynnau llawer cynt.
Yna os yn hytrach, cael eich colofn ymyl chwith syth fel petai
ond mae hawl garw iawn ymyl i'r golofn
oherwydd eich bod efallai gael 10 cymeriadau,
15 cymeriadau, 5 gymeriadau.
Felly, mae hyn hefyd yn tradeoff.
Ac weithiau yn unig trwy brofi a methu
ac arbrofi Allwch chi chyfrif i
beth mewn gwirionedd yr alwad cywir yw ond mae'r rhain yn y mathau
o gwestiynau y Dylid mynd
drwy eich meddyliau a / neu tablau pan ddaw'n fater o amser
i ddylunio eich cronfa ddata.
Felly, nid o reidrwydd yn iawn ateb ond dylech
o leiaf rai brawddeg neu ddwy mewn golwg
at backup beth bynnag penderfyniad a wnewch.
Mae pob hawl.
Felly, gadewch i ni cadw sgrolio yn y awgrymiadau yma
sy'n UI phpMyAdmin yn.
Felly, mae'r gwerth rhagosodedig ar gyfer enw, dylwn nodi
y dylai fod yn cael gwerth diofyn o null?
Beth yn eich barn chi?
Gall cwrs gael enw null?
Dim ond yn teimlo'n rhyfedd, dde?
Ni allaf feddwl am unrhyw cyrsiau dienw yn Harvard.
Ac efallai mae rhywfaint achos cornel aneglur
lle mae cwrs yn cael ei roi nifer
ac nid yw'r athro wedi dewis enw ar ei gyfer, ond -
Yr wyf yn golygu, i Heck â hynny,
fel gadewch i ddim hyd yn oed trafferthu cefnogi hynny.
Byddwn yn dweud er budd cronfa ddata glân 'n glws,
gadewch i ni nodi nad ydych yn gallu â gwerth diofyn o null.
Fel arall, gallem wneud rhywbeth fel gwrs untitled
nad yw yn wahanol i Mac OS a Ffenestri yn ei wneud
pan fyddwch yn creu ffolder er enghraifft,
ond mae hynny'n gwneud ychydig mwy o synnwyr
fel bod y dynol yn gweld rhywbeth.
Rydym yn sôn am cronfa ddata gefn pen yn ôl pob tebyg
ar gyfer catalog cwrs.
Felly, yr wyf yn ddim wir hyd yn oed yn fel y syniad o roi
mewn enwau cwrs untitled
gan nad yw hynny'n wir yn mynd i helpu unrhyw un.
Felly, gadewch i ni adael hyn fel dim, sy'n golygu bod pan fyddwch yn mewnosod
i mewn i gronfa ddata hon, mae gennych i roi enw pob cwrs
sy'n teimlo ychydig yn glanach i mi.
Mae pob hawl.
Felly sgrolio ymhellach, coladu.
Jyst wedi hyn i'w wneud â setiau cymeriad a whatnot
os ydych chi wedi gweld erioed cyfeiriadau at Swedeg
yn phpMyAdmin dyna 'Achosi i'r bobl
a ysgrifennodd phpMyAdmin Roedd Swedeg.
A yw hynny'n PHP neu a yw'n MySQL?
Mae un o'r ddau, yr wyf yn anghofio swta.
Ond mae'n am resymau hanesyddol
ond gallwch fynegi pob cymeriad yn Saesneg
y gallech gyda Swedeg felly mae'n bennaf nad yw'n fater.
Mae'r Offer CS50 fodd bynnag, yw defnyddio - ffurfweddu i ddefnyddio UTF-8,
fel y dylai yn gyffredinol Nid yw pop i fyny i chi.
Nodweddion.
Felly, nid oes yr un o'r rhain yn wirioneddol berthnasol yma.
Rwy'n gweld Dwyran, Unsigned, Zerofill heb ei arwyddo,
ac ar ddiweddaru stamp amser ar hyn o bryd.
Y maes hwnnw ond yn berthnasol ar gyfer rhai maes rhifol
neu rhai meysydd o amser.
Felly, byddwn yn hepgor hynny'n llwyr.
Null. Gall y maes hwn yn null?
Felly dim. Mae gennym eisoes y math hwnnw o sgyrsiau.
Felly, nid ydym am gwerth diofyn.
Nid ydym am iddo fod yn nwl.
Beth am mynegai?
Mae pedwar dewis yma.
Beth mae'n ei olygu os byddwn yn pennu
y rhes hon yn mynd i fod yn allwedd gynradd?
Feddwl yn ôl i'r CS50 neu CS165 os ydych wedi ei gymryd.
[Anghlywadwy Sylw]
Yn union. Felly allwedd gynradd trwy ddiffiniad yn y maes
bod yn nodi unigryw pob rhes yn y tabl hwn.
A gallwch ddibynnu arno i wneud bod nodi unigryw.
Felly, beth mae'n ei olygu wedyn i ddim ond fod yn unigryw?
Wel, rhyw fath o ddau hyn wedi fath
o dan goblygiadau o dan y cwfl.
Ond yn gyffredinol, allwedd sylfaenol yn math o gontract a wnewch
gyda'r peth gronfa ddata.
Pan fyddaf yn gwneud ymholiadau chwilio am gwrs,
Rydw i'n mynd i ddefnyddio hyn maes penodol.
A byddwn yn dod yn ôl i pam y mae gennym ddau
dewisiadau o'r fath yma, sylfaenol neu unigryw.
Unigryw yn unig yn dweud, mae hyn yn maes yn mynd i fod yn unigryw
ond dydw i ddim wir yn gwneud unrhyw math o ymrwymiad llafar yma
i ddefnyddio'r cae i wneud fy chwiliadau
am resymau ni chi helpu gweld mewn dim ond hyn o bryd.
Os byddwn yn nodi yn lle hynny mynegai, beth mae'n ei olygu i bennu
bod cae mynegai arno?
Yeah?
[Anghlywadwy Sylw]
Yn union. Mae wedi bod yn optimeiddio ar gyfer ymholiad.
Felly rydych - gweinyddwr cronfa ddata, Oracle, MySQL, beth bynnag,
yn gyffredinol i weithio ei hud y tu ôl i'r llenni ar ôl i chi glicio
yr opsiwn hwnnw ac yna cliciwch Achub a bydd yn adeiladu
i fyny fel arfer strwythur coeden, B-coed os ydych chi wedi gweld
neu glywed oddi sy'n coed byr-edrych yn iawn
sy'n rhoi i chi yn neis iawn eiddo logarithmig
wrth chwilio ar y data.
Os nad ydych yn pennu mynegai ar gae, beth sy'n mynd
i fod yn rhedeg amser o chwilio
ar gyfer mympwyol [Ffonetig] Enw'r cwrs?
Beth sy'n bod?
[Anghlywadwy Sylw]
O, [anhyglyw], llinol, dde?
Os yw'n does dim optimeiddiad roddir i'r gronfa ddata
ac nid ydych wedi meddwl y gronfa ddata pa fath
o ddata i'w disgwyl.
Y gorau y gallwch ei wneud yw gwirio popeth pan fyddwch yn chwilio
ar gyfer rhywfaint o werth, yn enwedig os oes gallai
mewn gwirionedd yn dyblygu.
Llawn-destun y cyfamser, rydym annhymerus ' chwifio ein dwylo am y tro.
Ond yn gyffredinol, mae hwn yn math o mynegai sy'n caniatáu i chi
i wneud y gorau am Allweddair chwilio ar gae.
Felly, gallai hyn fod yn ymgeisydd da
am fel disgrifiad o'r cwrs lle y gallech gael un neu ddau
o baragraffau a gallech chi eisiau gwneud gemau is-linyn.
Bydd testun llawn fel arfer yn gosod chi wneud hynny yn eithaf effeithlon.
AI, mae hwn yn fath ofnadwy o esboniad, ond os ydym yn hofran
drosto byddwch yn gweld Auto Cynyddran.
Ddim yn berthnasol yma ond auto cynyddiad yn ddefnyddiol
am debyg maes yn int oherwydd bydd y gronfa ddata yn cymryd gofal
o'r broses o plusing plws bob tro y byddwch yn gwneud mewnosodiad.
Felly, hyd yn oed os yw dau o bobl llythrennol chliciwch Cyflwyno
ar yr un pryd ac yn ceisio i greu rhes rhywsut
yn y gronfa ddata, un o yn eu cael y rhif I,
bydd y llall yn cael rhif a roddaf ac 1.
Nid oes rhaid i chi boeni
tua dwy niferoedd yn a bennwyd yn union os oeddech yn
i wneud hyn eich hun yn y cod.
Mae pob hawl.
Felly, yr wyf yn fath o hoffi lle mae gennym enw i fod.
Felly, gadewch i ni cliciwch Save.
A yw hwn yn gynllun da ar gyfer tabl cronfa ddata?
Ac fel o'r neilltu os rhydlyd ar SQL neu os ydych yn didoli
o ychydig bob amser yn troi yn ddall llygad ar yr hyn oedd yn digwydd,
Gallwn i fod wedi ei deipio yn union hynny -
y rhai tair llinell ar y brydlon du a gwyn
yn y llinell orchymyn cleient neu gallwn fod wedi gwneud
bod mewn cod programmatically.
Felly yr holl phpMyAdmin yn ei wneud ar gyfer mi, dim ond arbed i mi yr ymdrech
o gofio weithiau cystrawen a theipio allan am
fel gorchmynion diflas.
Mae pob hawl.
Felly, nid yw hyn yn teimlo fel y dyluniad gorau, tabl un maes.
Nawr gallem gael pethau fel athrawon
a lleoliadau a disgrifiadau.
Ond hyd yn oed wedyn, gan ddefnyddio enw yn unig
i nodi cyrsiau nid yw'n teimlo ddelfrydol.
Beth sy'n rhaid i gyffredinol rydym yn ei wneud yn y gorffennol
os ydych chi wedi defnyddio cronfeydd data i unigryw rhesi?
Ddim yn defnyddio varchars fel arfer.
Yeah?
[Anghlywadwy Sylw]
Yeah. Felly, fel arfer yn ID gwrs.
Felly, y mwyaf cyffredin cysylltu yma yn enwedig
wrth ddefnyddio fframwaith mewn gwirionedd dim ond
defnyddio nifer fel cyfanrif.
Felly, gadewch i mi fynd yn ei flaen ac yn gwneud hyn.
A gallwn wneud hyn mewn ychydig o ffyrdd, ond rhybudd os byddaf yn chwyddo
i mewn ar y gwaelod yma.
Rydw i'n mynd i ddweud ychwanegu un colofnau ar ddiwedd y tabl,
gyffredinol yn unig ar gyfer gweledol cyfleustra i chi roi IDs
ar ddechrau'r y tabl er bod hyn yn cael unrhyw gwir
effaith swyddogaethol.
Felly, yr wyf i'n mynd i ddweud ychwanegu un golofn
ar ddechrau'r y tabl.
Rydw i'n mynd i glicio Dos, bod yn rhoi i mi yn ôl UI hwn yma.
Gadewch i ni yn galw ID hon.
Os ydym yn meddwl ein bod yn mynd i gael dim mwy gwneud 4 miliwn o gyrsiau
maes yn int yn iawn.
Gallem hyd yn oed yn crebachu i lawr
ond mae gofod yn rhad felly sydd yn poeni amdanynt.
Ond, rydym yn ceisio ysgrifennu Facebook yn awr,
Efallai na fydd yn beth drwg i ragweld ints mawr
a fyddai'n rhoi ints 64-bit ni
ond yna rydych chi'n llythrennol dyblu nifer o ddarnau
eich bod yn defnyddio, mor fân tradeoff
ond rhywbeth i'w ystyried.
Yn awr, mae hwn yn ddryslyd beth etifeddiaeth.
Efallai y byddwch yn cofio o ddefnyddio MySQL
bod unrhyw adeg rydych yn datgan int maes byddwch yn aml yn gweld nifer
drws nesaf iddo fel rhif 10.
Mae ganddo ddim i'w wneud â maint y nifer
neu nifer o ddarnau.
Sydd wedi ei wneud gyda'r nifer o gymeriadau a ddefnyddir
weledol arddangos y maes hwnnw int
wrth ddefnyddio terfynell ffenestr.
Felly, gallwn weld hynny yn y man.
Felly, peidiwch â camarwain trwy deipio rhifau
yno, hyd yn oed er 'i' gofyn i ni effeithiol
ar gyfer un yma.
Dros yma, dw i'n mynd i mynd yn ei flaen a dweud heb eu harwyddo.
Does dim rheswm i wastraff pob un o'n rhifau negyddol
gan fod y gronfa ddata yn mynd yn gyffredinol
i gymryd yn ganiataol gadarnhaol werthoedd neu null.
ID bendant ni ddylai fod null.
A beth ydych chi'n ei feddwl am y mynegai ar gyfer y maes hwn adnabod?
Gadewch i ni wneud yn cynradd.
Felly, beth os, fodd bynnag, fel yr wyf yn gallu Dim ond meddwl am un cwrs CS164
yn Harvard a dim ond un Cwrs CS50 yn Harvard
a dyna 'n bert llawer yn wir yn gyffredinol
fod yna efallai eithriadau [Anhyglyw] ddau semester
neu rywbeth rhyfedd fel 'na.
Ond yn fwy sylfaenol, pam ei fod yn well
i ddefnyddio ID rhifol rhan annatod o unigryw nodi cyrsiau yn hytrach
na dim ond llinyn unigryw?
Yeah?
[Anghlywadwy Sylw]
OK, yn ddiddorol.
Felly, os oedd gennym fath o cyrsiau traws-rhestredig.
Felly dyna yn enghraifft dda.
Nid wyf yn sicr fy mod byddai datrys y er
drwy roi yr un Rhif adnabod os yw hynny'n
lle rydych yn mynd gyda hynny.
Nac oes? OK. Ond yn sicr yn achos cornel i'w hystyried.
Os oes fath o - mae angen rhyw fath
o aliasing o bosibl.
[Anghlywadwy Sylw]
Cadarn.
[Anghlywadwy Sylw]
Dyna enghraifft dda.
Efallai y bydd y enw newid dros amser, yn hollol resymol.
Beth arall?
[Anghlywadwy Sylw]
Mae'n ddrwg gennym, yn dweud unwaith eto.
[Anghlywadwy Sylw]
Yeah, yn union.
Felly mewn gwirionedd, dyna y clincher go iawn yn
bod defnyddio 32-bit yn int yn na thebyg yn mynd i fod yn gyflymach
na rhai newidyn maes torgoch hyd.
Yn yr achos cyntaf, y can yn llythrennol yn ffitio i mewn cofrestr,
heb sôn am lawer ôl-troed cof llai.
Yn yr achos olaf, rydych yn mynd i gael i wneud cyrchfan [ffonetig]
i gymariaethau llinyn sy'n ynddynt eu hunain gyda'r llinol
ym maint y llinyn o bosibl.
Felly, dim ond 'n glws optimeiddio,
ac yn benodol ei fod yn mynd
i adael i ni wneud yr hyn a elwir yn Yn ymuno yn fwy effeithlon
mewn dim ond hyn o bryd.
Felly, gadewch i ni wneud hynny.
Byddwn yn nodi bod mae hyn yn sylfaenol
oherwydd fy mod yn gwneud yn arbennig o dymuno gofalu neu'n meddwl
am yr hyn y nifer o gwrs.
Gadewch iddynt gymryd beth bynnag gwerthoedd y maent ei eisiau.
Rydw i'n mynd i ddweud auto gynyddiad fel y gallaf allanoli y manylion hynny.
Fel yn neilltuo i chi y gallai gwybod bod Harvard
o leiaf mae ganddo unigryw niferoedd ar gyfer cyrsiau.
Nid oes gennyf unrhyw gof beth mae hyn cyrsiau.
Gwn fod CS50 yn Rhif catalog yn 4949,
gwbl fympwyol.
Ond mae 'n annaearol achosion cornel yn hyd yn oed
yn y domen registrarial data catalog wrth gwrs,
weithiau cyrsiau, hen cyrsiau rhif, er enghraifft 4.
Ond yn dechnegol bod maes yn faes torgoch
sydd ond yn dechrau gyda 0004.
Felly yma hefyd, rhaid i chi fod ofalus am wahaniaethu
rhwng pethau fel Rhif catalog cwrs
a allai gael rhywfaint o dynol syniad o hyd penodol, 0004,
ac ni ddylech storio hynny er enghraifft mewn ints.
Y math hwnnw o gae dylai yn cael ei storio mewn mannau eraill.
Felly, yn Harvard, pe baem yn mewn gwirionedd yn gwneud cwrs
offeryn siopa, mae'n yn ôl pob tebyg nid yn ddigonol
i gyrsiau rhif gyda dim ond 1, 2, 3, 4.
Mae'n debyg y byddwn yn mynd i gael
i gael cae arall a elwir yn rhif catalog,
sydd hefyd i fod i fod yn seiliedig ar unigryw
ar gonfensiynau dynol yma ond nid yw'n dewis gorau
am dynodwr unigryw oherwydd gallai fod yn hyd newidiol.
Efallai na fydd yn bedair chars, gallai fod yn bump oed.
Yn wir, yr wyf yn meddwl ychydig flynyddoedd yn ôl iddynt symud
i'r achos pum cymeriad 'yno yn gyrsiau mwy na 999
cyfanswm neu rywbeth tebyg hynny, neu 9,999 o gyrsiau.
Felly, a allai fod yn enghraifft lle nad yw'r cae yw prif
ond dylai fod yn unigryw.
A chyfeiriad e-bost yn un arall.
Efallai y byddwch am iddo fod yn unigryw
ond nid o reidrwydd eich prif allweddol.
Mae pob hawl.
Felly, gadewch i mi bang allan arall tabl yn gynt o lawer na hwn.
Felly, yr wyf i'n mynd i alw hyn un Hyfforddwyr ac rwy'n mynd
i roi hyn gyfanswm nifer o golofnau o ddau.
Rydw i'n mynd i ddysgu fy wers o bryd diwethaf.
Rydw i'n mynd i alw ID golofn gyntaf.
Rydw i'n mynd i alw'r Enw ail golofn.
Rwyf hefyd yn mynd i wneud Varchar.
Rydw i'n mynd i gymryd yn ganiataol na athro wedi enw hirach
na 60 nod, er yn awr y gallai hyn fod yn gwthio ei
gyda rhai enwau hir, arbennig pobl gydag enwau canol.
Mae hynny'n iawn ar gyfer heddiw.
Felly, gadewch i sgrolio dros yma.
Gadewch i ni wneud hyn heb eu llofnodi eto.
Gadewch i ni wneud gynradd hon.
A byddwn yn caniatáu i enwau dyblyg
rhag ofn bod dau John Smith neu rywbeth fel 'na.
Ac yn awr mae gennym ddau dabl.
Felly nawr, mae hyn yn codi'r cwestiwn sut ydw i'n cysylltu
yn hyfforddwr â'r cwrs?
Rwy'n teimlo fy mod fath o got o flaen fy hun
oherwydd os hyfforddwr yn addysgu cwrs,
fy ngreddf gyntaf byddai mewn gwirionedd fod yn mynd yn ôl
i gyrsiau sylweddoli, mae hyn yn Nid oedd yn syniad da.
Gadewch i mi mewn gwirionedd yn ychwanegu un golofn ar ddiwedd y tabl,
cliciwch Go, a 'n annhymerus' ffoniwch Hyfforddwr hwn.
A byddaf yn gwneud varchar hwn a byddaf yn gwneud hyn yn 60 oed.
Ac efallai byddaf yn gadael ei null bellach
rhag ofn nad yw'r cwrs wedi cael eu heb eu llofnodi yn hyfforddwr
sy'n digwydd weithiau cyn tymor yn dechrau a chliciwch Save.
Pa un o'r dyluniadau hyn sydd orau gennych?
Yn gyntaf un lle mae gennym tabl hyfforddwr ar wahân yn
neu yr ail lle rydym yn unig ychwanegu cae i'r cwrs?
Felly mae'n cysylltu'n agos hyfforddwr gyda chwrs.
[Anghlywadwy Sylw]
OK. Da. Ond gadewch i mi wthio yn ôl.
'I' jyst mor syml fel y gallaf jyst deipio i mewn enw'r person
yn y tabl hwn, fel yn sicr sydd â rhywfaint o werth neu -?
[Anghlywadwy Sylw]
Mae pob hawl.
Wel, gadewch i mi fod yn anodd yma.
Felly, gadewch i mi ddweud bod mae'r cwrs hwn yn CS51
ac yr wyf yn gwybod ei fod yn addysgir eleni gan ddau o bobl.
Felly, Henry Leitner a Jesse Tov ond -
felly bydd Fi jyst roi coma rhwng y ddau, ar y dde.
Rwy'n dda am CSV o fu.
[Anghlywadwy Sylw]
Yn union, ar y dde.
Cyn gynted ag y byddwch yn troi i rywbeth fel hyn,
a allai deimlo rhesymol ac efallai y byddwch yn teimlo
fel hyn yn fath o smart.
Im 'yn fath o benthyca un syniad sydd yn gweithio'n dda,
benthyg syniad newydd a math o eu cyfuno.
Rydych yn fath o gwbl curo y pwynt o ddefnyddio'r gronfa ddata
yn achos y lle cyntaf ' os yw un o'r gwerthoedd
o ddefnyddio ei fod yn chwiliadau cyflymach oherwydd y gwahanol mynegeion
a thablau a all yn cael eu hadeiladu ar eich cyfer
gan y peiriant gronfa ddata ei hun.
Yn awr, os ydych am i chwilio ar gyfer pob un o'r cyrsiau
bod Jesse dysgu, nawr eich bod wedi i'w wneud is-linyn cyfateb ar yr holl
o'r meysydd hyfforddwr,
sy'n golygu llinol yn effeithiol chwilio eto 'achos gennych
i ganfod hyn set mympwyol o dri cymeriadau yn unrhyw le
yn y maes cyn hyfforddwr
o fewn eu dilyn efallai gan atalnod.
Felly, mae hyn yn bendant nid yw'n argoeli'n dda.
Felly, gadewch i mi fynd yn ôl at y bwrdd.
Gadewch i mi fynd yn ei flaen i cyrsiau, dadwneud hynny.
Rydw i'n mynd i jyst yn mynd ymlaen llaw a gollwng y maes hwnnw.
Ac os ydych chi am gwneud hyn â llaw,
y gystrawen yn ALTER TABLE cyrsiau DROP hyfforddwr.
Felly, gadewch i ni fynd yn ei flaen a dweud 'ydw' i hynny.
A mynd yn ôl at y syniad yn gynharach
lle mae gennyf ar wahân bwrdd ar gyfer hyfforddwyr.
Ond yn awr mae hyn yn teimlo ychydig yn fel yr wyf yn gallu rhoi cwrs
yn nhabl y cwrs a hyfforddwr
yn nhabl yr hyfforddwr, ond yr wyf yn Mae angen rywsut i gysylltu'r ddau.
A sut fyddech chi'n Cynigiwn rydym yn ei wneud hynny?
[Anghlywadwy Sylw]
Da. Felly, gadewch i ni wneud hynny.
A gallech galw hyn yn tabl mewn theori unrhyw beth.
Rydw i'n mynd i fwriadol alw hyn y mae llawer
fframweithiau byddai ei alw, yn eu plith,
Laravel fel y byddwch yn gweld mewn ychydig.
Rydw i'n mynd i alw cwrs tanlinellu hyfforddwr.
Gan ddefnyddio'r unigol yn y achos ar gyfer pob un o'r geiriau
a llythrennau bach unwaith eto, a hefyd gyda'r -
Yna, yn nhrefn yr wyddor datrys o chwith i'r dde.
Mae hyn yn hollol fympwyol ond mae'n tueddu i fod yn gonfensiwn
mewn llawer o fframweithiau hyn yn PHP mewn ieithoedd eraill.
Faint o golofnau sydd eu hangen arnaf yn dyma'r hyn a alwn yn ymuno â bwrdd,
i ymuno â dau arall tablau at ei gilydd?
Tair colofn?
Pa un - beth fydden nhw?
[Anghlywadwy Sylw]
OK. Da. Sy'n gweithio.
Ac gallem dechnegol torri cornel yma ond mae llawer
fframweithiau yn arbennig yn dal rhoi hyd yn oed rhesi hyn
IDs unigryw er bod semantig y rhes
ein bod wir yn poeni am neu y colofnau yr ydym yn wir gofal
am yw'r ddau olaf hyn a ddywedasoch, ID y cwrs
a'r ID hyfforddwr.
Felly, gadewch i ni wneud hyn.
'N annhymerus' yn galw rhes hon dim ond adnabod, yn union fel y gwnaethom o'r blaen.
Ond mae hyn yn un yr wyf i'n mynd i alw ID cwrs.
Mae hyn yn un yr wyf i'n mynd i ffoniwch ID hyfforddwr.
Ac yr wyf i'n mynd i yn nodi bod pob
ohonynt yn heb eu llofnodi 'Achosi Rwyf am
i wneud y gorau fy 4 biliwn ystod int.
Ni ddylai'r un ohonynt fod null.
Rydw i'n mynd i bennu bod Dylai ID yn dal i fod yn sylfaenol.
Ac eto, mae hyn yn dim ond confensiwn,
llawer o fframweithiau hyd yn oed os nad ydych yn datrys
o sylfaenol angen dynodwr unigryw ar gyfer y rhes,
mae'n troi allan ei fod yn gyfleus i y cod, y SQL sy'n mynd
i fod yn awtomatig a gynhyrchir i ni.
Felly, byddaf yn gadael hynny fel gynradd.
Ond yn awr, yr wyf yn fath o cael penderfyniad dylunio,
ID y cwrs ac Adnabod hyfforddwr.
Pa mynegeion os o gwbl y dylent ei gael?
Os byddaf yn gadael unrhyw mynegeion, beth yw'r goblygiadau?
Beth sy'n oblygiad?
Perfformiad fel o'r blaen, dde?
Os nad oes mynegai, y gorau y gallwch chi ei wneud yw fath
o [anhyglyw] drwy'r holl beth yn chwilio am rifau.
Felly nid yw'n teimlo'n smart.
A ddylai fod yn sylfaenol?
Felly pam ddim?
Pam nad sylfaenol?
[Anghlywadwy Sylw]
Perffaith. Felly, rydym yn cyflwyno allan [ffonetig] cynradd.
Rydym eisoes yn dewis hynny.
Felly, dylai fod yn unigryw?
[Anghlywadwy Sylw]
Da. Felly, os ydych yn cymryd yn ganiataol un hyfforddwr fesul cwrs,
hollol iawn.
A dyna bendant yr achos cyffredin
ond rydym eisoes wedi rhoi oddi ar un enghraifft cyfarwydd efallai.
CS51 got dau hyfforddwr felly rydym yn garedig
o yn awr sgriwio yn yr achos hwnnw.
Pe baem yn gwneud ganiatáu yn unig un hyfforddwr,
gallem ei wneud mewn gwirionedd yn ffordd gyda'r bwrdd yn ymuno yn gyfan gwbl,
mynd yn ôl at yr ymagwedd cynharach
ac â rhoi enw'r person efallai ond ID y hyfforddwr.
Os ydych yn gwybod pob cwrs fel dim ond un hyfforddwr y gallwch ei gael yn unig
un golofn.
Ond mae'r amrywioldeb yn beth wedi mynd â ni i mewn i drafferth.
Mae pob hawl.
Felly, dylai fod yn unigryw?
Na Nid yw'r testun llawn yn teimlo'n berthnasol.
Fel y dywedasom o'r blaen dyna
ar gyfer is-linyn fel cyfateb i ddisgrifiadau.
Felly beth am mynegai?
Wel, mynegai yn ôl pob tebyg ein ymgeisydd gorau
sy'n dweud MySQL optimize ar gyfer chwiliadau ar y
neu gadewch i mi ymhelaethu, gwneud y gorau ar gyfer chwiliadau neu'n ymuno
fel y byddwn yn gweld mewn dim ond hyn o bryd
fel eu bod yn bod yn ychydig yn fwy effeithlon
nag unrhyw beth yn unig llinol.
Ydw i am auto cynnyddu y maes hwn?
Felly na, gan fod y gwir elfen rhiant yn bodoli
yn nhabl y cyrsiau '.
Dyna lle mae'n mynd i gael a mwy,
yn ogystal pan mae'n mewn gwirionedd yn mewnosod.
Yma, mae hyn yn i gyd yn mynd i'w fewnosod â llaw
gennym ni yn ôl pob tebyg yn y cod.
Felly, gadewch i ni yn syml yn nodi bod y ddau gwrs ID
ac Adnabod hyfforddwr mynegeion.
Nawr byddwn yn mynd yn ei flaen ac arbed.
Ac yn awr, dim ond i ddangos chi yr ohebiaeth
rhwng yr hyn sy'n braf Rhyngwyneb GUI gyfeillgar
a'r rhyngwyneb llinell orchymyn.
Gadewch i mi fynd yn ei flaen a gwneud y canlynol ar hyn o brydlon MySQL.
Rydw i'n mynd i ddweud defnydd courses50
sef yr enw mympwyol Rhoddais i'r gronfa ddata hon.
Ac yn awr, nid wyf yn hyd yn oed yn cofio beth a wnaethom.
Felly, gadewch i mi deipio tablau yn dangos
ac yn gyffredinol hanner colon fydd eich ffrind yma
i orffen yr ymholiad.
Ac yno y mae.
Felly dyma y rhesi neu yn hytrach y tablau sydd gennym yma.
Yn awr, yr wyf yn anghofio beth cwrs yn edrych fel,
felly gadewch i mi yn disgrifio cyrsiau ac yn awr yr wyf yn gweld y math o ASCII
neu fersiwn o'r hyn Roedd phpMyAdmin yn ei wneud
a gwelaf fod ID yn int.
Mae hynny 10.
Beth yw ystyr hynny?
Mai dim ond yn golygu pan fydd yn arddangos mae'n mynd i gymryd
cynnydd o 10 cymeriadau ar y ffenestr derfynell.
A yw'n nullable?
Na Mae hyn yn allweddol cynradd.
Gall gael gwerth diofyn?
Nifer Ac ychwanegol sy'n arbennig baneri fel auto cynyddiad.
Felly, gadewch i ni dim ond gwneud cwpl mewnosodiadau o hwylus yma.
Rydw i'n mynd i fynd i fyny i - gadewch i ni ddweud.
Gadewch i ni newid wladwriaeth i llithren
lle yr wyf yn fath o cyn-paratoi hwn.
Mae hwn yn grynodeb yna o pob un o'r tri dablau hynny.
Rwyf eisoes yn unig â llaw deipio y gorchymyn cyntaf.
Ac yma, yr wyf yn mynd yn ei flaen a teipiwch y lleill i chi.
Mae hyn yn unig y beth arddull.
Yn gyffredinol, mae llawer o bobl yn deipio datganiadau SQL yn yr holl gapiau
ac yna enwau bwrdd a enwau caeau mewn llythrennau bach,
os mai dim ond oherwydd ei fod yn math o stondinau
gwybod beth yw eich terminoleg a beth yw'r gystrawen gronfa ddata.
Felly dyma gennym dri tablau, cyrsiau, hyfforddwyr,
a hyfforddwyr cyrsiau.
Yn y sleid i mi ymlaen llaw, Nid oedd gennyf y maes ID
ond nid yw hynny'n mewn gwirionedd yn yn beth drwg o gwbl.
Byddai Rydym yn unig yn gweld drydedd golofn.
Pe bawn i wneud hynny yma?
Felly nawr gadewch i mi yn cynnig y rydym yn ei wneud yn griw o ychwanegiadau.
Felly, dyma rhywfaint o ddata, 'N annhymerus' chwyddo i mewn
Felly, yr wyf i'n mynd i gynnig , mewn cyrsiau,
ydym ond yn delio â thri chwrs.
Ac yr wyf yn dewis y tri hyn 'Achos eu bod yn gynrychioliadol
rhai 'n glws - mae ganddynt rhai eiddo 'n glws.
CS1, CS50, CS51, maent yn cael IDs cynyddol
ond beth ID yw beth yn gwbl amherthnasol.
Dyna dim ond y drefn y eu bod yn auto mewnosod gan i mi.
Beth am hyfforddwyr?
Felly yn awr, oherwydd Henry Leitner dysgu yn CS1 a CS51,
mae hyn yn fath o gyfle goblygiadau ar gyfer ein dylunio.
A Jesse yn dysgu CS51 a Malan yn dysgu CS50.
Felly nawr - neu yn hytrach y rhain yn dim ond IDs unigryw bobl hynny.
A chyrsiau a hyfforddwyr, - hyfforddwyr cwrs, yn sylwi yma.
ID1 cwrs, sy'n Roedd CS1 ei ddysgu
gan hyfforddwr ID1 sy'n Henry.
ID2 gwrs, yr wyf yn meddwl fod CS50 cael ei ddysgu
gan hyfforddwr ID2, sydd yn Malan.
Ac yna yn olaf, CS51, a sylwi gennym dwy res.
Ac yn awr dyma pam yr uniad tabl yn bwerus yn cael ei addysgu
gan Henry a Jesse.
Felly, mae hyn i gyd yn iawn ac yn dda,
ond gallaf prin cofiwch oddi ar y top
fy mhen pwy yw pwy yma.
Sut y gallwch chi o bosibl ymdrin â hynny mewn cod,
heb orfod cod pethau caled?
Wel, dyma lle SQL ei hun yn dechrau i fod yn ein ffrind.
Ac yr wyf i'n mynd i gynnig y gallwn teipiwch y canlynol.
Fe wna i hyn arnynt yn brydlon gwirioneddol.
Gadewch i mi fynd yn ei flaen a mewnosoder y pethau hyn.
Felly, yn y tabl cyrsiau gadewch i ni wneud yn union yr hyn yr oedd gennym
hyn o bryd yn ôl.
Rydw i'n mynd i flaen a dweud, gadewch i mewnosoder CS1 a CS50.
Gadewch i fewnosod ychydig mwy rhesi ar unwaith, CS51.
Nawr, gadewch i mi fynd yn ei flaen ac arbed.
Mae pob hawl, felly Im 'jyst ail-greu mor gyflym
ag y gallaf y berthynas rydym yn unig yn gweld ar y sgrin.
Ac felly yma rydym wedi Leitner, dyma yr ydym wedi Malan.
Gadewch i ni roi ein hunain rhes arall, a Tov.
Nawr, gadewch i mi achub y.
Ac yr wyf i'n ei wneud iddynt yn fwriadol yn yr un drefn.
Na, yr wyf yn anghofio i roi hwn cynyddiad auto.
Gadewch i mi yn gyflym atgyweiria hon.
'N annhymerus' atgyweiria hyn mewn y cod ar-lein.
A fethodd fel neilltu.
Mae'r ffaith nad wyf allai mewnosoder Leitner a Malan
ac wedi methu Tov, oherwydd doeddwn i ddim benodi rhif adnabod er bod
mae'n disgwyl un ac yr wyf yn anghofio i wirio auto cynyddiad,
sy'n golygu eu bod i gyd yn ddiofyn yn cael sero.
Ond mae hynny wedyn yn gwrth-ddweud pa eiddo yr ydym wedi benodol.
Y prif allwedd ei sathru felly nid oedd hyd yn oed yn gadael i mi wneud hynny.
Felly, gadewch i mi atgyweiria hon.
Nawr, gadewch i mi fynd yn ôl at y Rhowch tab yma ac yn nodi
yr wyf am Leitner, Malan ac, un rhes mwy, Tov.
Ac yn awr yn olaf, yr unig un sy'n ychydig yn anodd
i'w gofio yw cwrs hyfforddwr.
Gadewch i ni mewnosod yn awr fod ID1 cwrs yn hyfforddwr ID1
felly dyna CS1 a Henry.
ID2 cwrs yn hyfforddwr ID2 sydd yn CS50 ac Malan.
Ac yna y rhai olaf sydd gennym i chi boeni am mae'r cwrs ID3
sydd yn CS51, yn cael ei addysgu
gan hyfforddwr y cwrs 1, sef Henry.
A thri yn hefyd yn dysgu 3, sydd yn Tov.
Felly, gobeithio, yn awr rydym wedi ail-greu hyn -
damn, yr wyf yn gwneud yr un peth.
Hyfforddwr cwrs Mae angen auto cynyddiad.
Mae pob hawl.
Fe wna i hyn yn gynt y tro hwn, Cwrs 1, cwrs 1, 2, 2.
Ac yn awr yn olaf, rydym yn ei wneud CS51 sydd â chwrs ID3 a Henry.
A chwrs ID3 a Jesse.
Sy'n edrych yn dda.
OK. Felly nawr, gadewch i ni fynd yn ôl at y ffenestr derfynell.
Felly os wyf yn disgrifio cyrsiau byddwn yn gweld hyn.
Os wyf am weld cyrsiau gallaf bellach yn gwneud dewis seren o gyrsiau,
hanner colon, ac yn awr rydym yn gweld gwerthoedd hynny.
Ac yn awr, beth arall ydw i eisiau ei wneud?
Dewiswch seren gan hyfforddwyr, sydd mor oeddwn yn ei ddisgwyl,
a dewis seren o gyrsiau - hyfforddwr tanlinellu cwrs.
Felly, sut ydw i'n awr yn ymuno tablau hyn?
Felly, y harddwch o fod wedi dewis gwerthoedd ID yn y modd hwn
os ydych yn meddwl am gymryd y tabl cwrs
ac mae'r hyfforddwr bwrdd ac yna mewnosod
rhwng dau rhai sydd yn eich meddyliau yr hyfforddwr cwrs
tabl gallwch fath o linell i fyny yr holl golofnau ID hyn
er mwyn i chi eu cyfuno i mewn i un golofn enfawr sy'n cynnwys yr holl
o'r wybodaeth yr ydym yn gofalu amdanynt.
Mae cystrawen SQL ar gyfer hyn Nid yw o reidrwydd yn amlwg,
ond gadewch i ni weld os gallwn wneud hynny.
Felly dewiswch seren o gyrsiau,
ac mae ychydig o ffordd ag y gallwn wneud hyn.
Rydw i'n mynd i daro Chofnoda yn unig i math o fformat bethau 'n glws,
ond saeth yn unig yw symptom o'r offeryn ochr y cleient,
mae wedi ddim i'w wneud gyda SQL ei hun.
Felly dewiswch seren o gyrsiau.
Rydw i'n mynd i ymuno nawr y tabl cyrsiau
ar y bwrdd hyfforddwr cwrs.
Sut? Ar y cae o'r enw cwrs yn gyfartal courses.id
tanlinellu hyfforddwr dot beth yw'r enw
y cae cyfatebol yma yr wyf am gwpl.
Dyw hi ddim yn adnabod.
It's - beth, mae'n ddrwg gennyf?
>> ID y Cwrs.
OK, gadewch i mi chwyddo allan.
Ond dw i eisiau i gymryd hwn un cam ymhellach.
Rwyf wedi gwneud hyn yn awr bwrdd ac mae hyn yn un.
Nawr rwyf am i dynnu y boi yn ogystal.
Felly, gadewch i mi bellach ymuno â'r holl beth
ar yr hyfforddwr tabl ar yr hyn?
Tanlinellu Cwrs id instructor.instructor
yn gyfartal instructors.id.
Felly, gallem fod wedi ysgrifennu ymholiad hwn mewn sawl ffordd.
Mae'r drefn y Fe wnes i hyn Nid yw'r cyfan sydd yn bwysig.
Fi jyst fath o yn gwneud hynny yn fy meddwl o'r chwith i'r dde.
Gallem fod wedi gwneud hyn yn yr ychydig ffyrdd gwahanol
ond os byddaf yn awr yn cael y colon lled a daro Chofnoda,
rhybudd i mi ddychwelyd newydd tabl dros dro, o ganlyniad i set
fel petai yn siarad cronfa ddata.
A beth sydd gennyf yn y peth hyn?
Yr wyf yn ei chael ar adnabod, enw, un arall ID, sy'n fath o ddryslyd
i mi ar hyn o bryd, ID gwrs,
ID hyfforddwr, ID, ac enw.
Felly, ar ddiwedd y dydd gennym y data ar hyn o bryd.
Gallaf weld bod CS1 cael ei addysgu gan Leitner, CS51 cael ei ddysgu
gan Leitner a Tov, a CS50 ei addysgu gan Malan.
Ond rwy'n ychydig yn nerfus am amwysedd hwn rwyf wedi creu.
Beth yw'r amwysedd Im 'yn cyfeirio ato?
Yeah?
[Anghlywadwy Sylw]
Mae tair colofn adnabod.
Felly, gallwn mewn gwirionedd atgyweiria hon a rydym yn mynd i fynd mewn gwirionedd yn
i ohirio i'n fframwaith yn y pen draw i'n helpu gyda hyn,
ond mae'n troi allan fod yna allweddair mewn SQL a elwir S,
lle gallwch bennu alias, enw newydd ar gyfer cae
fel y gallwn osgoi hyn amwysedd yn gyfan gwbl.
Ond sylweddolodd os nad ydym yn ei wneud afael ag ef rywsut fel gyda
y gair allweddol neu fframwaith,
mae hyn yn bosibl amwysedd os ydych yn ceisio
i gael mynediad i'r maes ID oherwydd yn amlwg, mae rhai
gydag enwau dyblyg yno.
Felly, mae hyn yn ymuno ac rwy'n credu yn llygad eich meddwl yn y ffordd orau
i feddwl am y peth mewn gwirionedd yw cymryd y ddau dabl,
llinell i fyny yn y ffordd yr ydych ei eisiau.
Ac mae hyn yn hyn a elwir yn mewnol yn ymuno yn yr ystyr
ein bod yn cyfuno y tablau yma.
Mae mathau eraill o ymuno y gallem ddod ar eu traws
dros gyfnod o amser fel allanol yn ymuno,
ond ar gyfer y rhan fwyaf y Mae'n debyg mai dyma'r mwyaf cyffredin
gyfer ail-greu data.
Yr hyn yr ydym wedi ei wneud yn awr yw Yn gyffredinol, yr hyn a elwir
normaleiddio eich data, er mwyn i does dim dyblygu unrhyw le
yn eich tablau.
Ac erbyn dyblygu, buaswn wedi golygu bod yr ymagwedd gyntaf.
Os ydym wedi crybwyll Leitner a Tov mewn mannau lluosog
yn eich cronfa ddata, nid yw hynny'n Yn gyffredinol, y penderfyniad gorau
yn enwedig os yw eu henw gallai newid goramser neu yn achos
priodas, enw cyn priodi gallai newid ei hun 'ch jyst eisiau un
lle canonaidd ar gyfer rhai gwerth data fel enw.
Mae pob hawl.
Felly, i ailadrodd, yr ydym wedi cael ychydig penderfyniadau dylunio i wneud
ac mae'r rhai mwyaf pwysig gostwng i rai yn ôl pob tebyg
y dewisiadau hyn o fynegeion.
Ond gadewch i mi nodi un peth arall hefyd.
Os byddaf yn mynd yn ôl i'r phpMyAdmin,
un nodwedd nad ydych efallai wedi dod ar eu traws o'r blaen yw
y canlynol.
Os byddaf yn mynd i'r hyfforddwr cwrs, Rwyf eisoes oedd yn nodi bod rhai
o'r pethau hyn yn cael mynegeion.
Ond gadewch i mi fynd i'r strwythur tab hyfforddwr cwrs.
Gadewch i mi cliciwch hyn ymlaen Mynegeion ac yn sylwi ar y canlynol.
Yr wyf wedi nodi yma y mae allwedd gynradd
ar y golofn o'r enw adnabod.
Mae hwn yn braidd yn gymhleth ffordd o nodi cardinality
ac yn y blaen yn cyfeirio at maint y cae mewn beitiau.
Ond yn awr yr wyf hefyd gael un arall maes, ID cwrs, sydd -
ID cwrs sy'n cael ei wneud ymlaen llaw ac unigryw, OK.
Fe wnes i hyn yn un o ymlaen llaw i ni.
Felly, pam mae hyn yn - gadewch i mi galw heibio hyn er mwyn drafodaeth.
O, eich bod yn gwybod beth wnes i?
OK. Felly, yn gynharach, un o'r peryglon o ddefnyddio offeryn GUI
fel hyn, pan oeddem greu'r ymuno bwrdd,
y tabl hyfforddwr cwrs, yn cofio imi a bennir
yr wyf am mynegai ar y maes hwn
a mynegai ar y faes arall.
Mae'r sgîl-effaith o gwirio ddau blychau hynny
ar yr un sgrîn yw bod phpMyAdmin casglu o hynny,
yr wyf am nad oedd dau mynegeion ar wahân,
yr wyf am mynegai ymuno pa yn gyffredinol yn unig o gymorth
neu fwyaf defnyddiol pan fyddwch yn chwilio nid yn un cae
ond mae'r ddau o'r meysydd hynny.
A dyna pam ein bod wedi eu conjoin yno
felly yr wyf yn ei ollwng 'achos sy'n Nid oedd yr hyn yr oeddwn yn bwriadu.
Yn hytrach, dw i'n mynd i ail-wneud hyn yma.
Rydw i'n mynd i fynd i'r ID y cwrs
ac o dan fwy Im 'jyst yn yn mynd i ddweud ychwanegu mynegai.
Ac yr wyf i'n mynd i fynd o dan ID hyfforddwr a dweud ychwanegu mynegai.
Ac yn awr os ydym cliciwch yma, rhybudd gennym dri mynegeion,
un ysgol gynradd ac wrth i mi Bwriad un ar gyfer pob
o allweddi tramor hynny.
Ac yr wyf yn ei alw dramor oherwydd ID y cwrs yn y mapiau y tabl
y maes, dim ond i fod glir, yn nhabl arall.
Yr allwedd gynradd o'r enw adnabod, yn y tabl o'r enw cyrsiau,
ac un fargen ar gyfer yr un arall.
Ond yn awr, yn ddiddorol twyllo a thechneg mewn gwirionedd.
Fi jyst mynd yn ei flaen a gadewch i mi gwneud hynny ychydig yn arafach.
Yn yr un sgrîn, rhybudd mae'n dweud barn Perthynas yma.
Fyddaf yn clicio hyn ac yn awr yr wyf yn sylwi yn cael i wneud ychydig o gyfyngiadau.
Felly, un o'r upsides hefyd
o nid yn unig yn defnyddio gysyniadol allweddi tramor a thablau eraill
fel rydym wedi yn unig ar ei bod drwy ddiffinio mynegai
arnynt gallwch gael y help cronfa ddata chi hyd yn oed yn fwy
sicrhau cywirdeb yn y maes hwnnw.
Yn benodol, gallaf yn awr nodi drwy'r gostyngiad hwn
i lawr y cae ID y cwrs
yn y tabl hwn mewn gwirionedd yn mapiau ymlaen i courses.id.
Yn yr un modd, tanlinellu hyfforddwr ID mapio i instructors.id.
Nawr, pam mae hyn yn ddefnyddiol?
Wel, yn sylwi, ar y dde ochr hyn sy'n ymddangos yn awr.
Gallaf yn awr ddysgu'r cronfa ddata, os Henry
er enghraifft byth yn ymddeol ac mae ei rhes yn diflannu
o dabl yr hyfforddwr yn gyfan gwbl a thrwy hynny yn
dileu, gallaf drwy gyfrwng y rhaeadru dull yn sicrhau
bod unrhyw gyrsiau mae'n dysgu yn bellach yn gysylltiedig ag ef.
Yr wyf yn gallu dysgu y gronfa ddata dileu'r rhesi
yn hyn a elwir yn ymuno â bwrdd awtomatig os Henry neu os yw un
o'i gyrsiau yn diflannu.
Nawr, pam mae hyn yn gymhellol?
Yeah?
[Anghlywadwy Sylw]
Dim ond rhaid i chi wneud hynny unwaith ac yn y tymor hwy, dde?
Mae'n hawdd iawn pe fath o pobl yn mynd a dod, cyrsiau dod
ac ewch, gallai eich cronfa ddata dim ond cael laesodr chyrsiau
a gyda gyfadran nad oes bellach yn berthnasol i'r set data.
Ac mae eich data yn dechrau cael flêr iawn ac yn frwnt ac yn hen,
ac felly dyma allwn ddatrys
o orfodi rhai o'r cyfyngiadau hyn.
Yeah?
[Anghlywadwy Sylw]
Mae'n gwybod trwy hyn.
Mae hyn yn y sgrîn lle rydym yn pennu cysylltiad
rhwng allwedd estron ac allweddol cynradd.
Felly, yr holl enwi confensiynau Cyfeiriais
gynharach yn unig confensiynau.
Does dim ystyr cynhenid.
Mae hyn yn y sgrîn sydd ond yn ddefnyddiol
ar ôl i chi mynegeion ar a nodir pob un o'r meysydd hynny fel y gwnaethom.
Ac ar gyfer dropdown hwn, rydym wedi ychydig o bethau, er enghraifft
os yw cwrs yn cael ei ddileu gallwch mewn gwirionedd yn atal y dileu
rhag digwydd os oes mae rhes yn y tabl hwn
gan dim ond dweud, Cyfyngu.
Mewn geiriau eraill, Henry Ni all ymddeol
nes i ni ddatgysylltu ei o CS51 a CS1.
Felly, mae hynny'n beth da.
Ond gallai sbarduno camgymeriadau yn eich cod
os nad ydych yn rhagweld y, neu gallwn gael rhaeadru,
rhaeadr debyg i fel dalennau arddull rhaeadru
a rhaeadru rhaeadr yn golygu os yw -
os Henry ymddeol hynny - drwy gael ei ddileu
felly hefyd y bydd ei rhes yma yn cael ei ddileu.
Dim gweithredu yn golygu dim neu null yn fath o ddefnyddiol os ydych yn garedig
o eisiau rhyw gofnod hanesyddol Henry ôl dysgu CS51,
ond 'ch jyst eisiau y maes hwnnw i yn null fel bod y rhesi yno
ond nid yw'n mwyach gysylltiedig ag ef.
Felly mae'r rhain yn bwerus iawn technegau y gallwch eu
a dylent ddefnyddio er mewn llog yn enwedig
ohonoch arbed gennych chi.
Felly, gadewch i mi wneud sôn am cwpl o manylion terfynol yma,
cynhwysion â hwy a allai fod yn ddefnyddiol
wrth i ni gynllunio ar gyfer dylunio cronfa ddata.
Byddwch hefyd yn cael dewis dros y peiriant gronfa ddata
eich bod yn defnyddio yn eich cod.
Os ydych yn gyfarwydd o CS161 gallech chi -
neu hyd yn oed 61, byddwch efallai yn gyffredinol fod yn gyfarwydd â systemau ffeil.
Ac mae pethau fel, NTFS a HFS +
a X2FS4 [ffonetig] a 3 ac yn y blaen.
Mae gwahanol ffyrdd o storio data ar ddesg.
Yn yr un modd a oes gwahanol ffyrdd o storio data
mewn cronfa ddata yn ddiofyn o leiaf yn y Offer
gyda'r fersiwn diweddaraf o MySQL.
Rydym wedi bod yn defnyddio'r injan gronfa ddata o'r enw, NoDB,
sy'n cynnal ychydig o nodweddion 'n glws.
Ond mae un arall cyffredin hefyd yn a elwir yn MyISAM ac eto un arall
y gellir eu defnydd yn Cof, sy'n golygu peidiwch â rhoi unrhyw beth
ar ddisg, dim ond cadw pethau yn y cof.
Ar gyfer y rhan fwyaf mae'n debyg y byddwch ni fydd yn mynd o'i le newydd ddechrau
gyda NoDB, ond ar gyfer unrhyw brosiectau sy'n tueddu i gynnwys cyfraddau uchel
o gosod er enghraifft, fel llawer o logio cyflym,
cannoedd o bethau yr eiliad neu filoedd o bethau.
Anytime oes gennych llawer o bethau yn mynd
yn y gronfa ddata yna mae hyn yn fath
benderfyniadau lefel is dechrau cymryd rhan.
Y nodwedd testun llawn ar gyfer enghraifft yn gweithio yn unig yn MyISAM
fel bod ganddo oblygiadau.
Ond efallai y byddwch yn cofio hyn, gadewch i ni o leiaf ysgogi pam yr ydym yn gofalu
am NoDB yn arbennig.
Mae amodau hil yn gyffredinol yn cyfeirio at yr hyn?
Mae pob hawl, mae hwn yn Cyfeiriwyd at enghraifft rhai
o efallai eich bod wedi clywed yn mlynedd diwethaf a 161 neu 50
lle mae gennych roommate, y ddau ohonoch wir yn hoffi llaeth,
un ohonoch yn cael cartref cyntaf yn agor yr oergell does dim llaeth,
cau y daith oergell ar draws strydoedd i CVS a chael
yn unol i brynu ychydig o laeth.
Yn y cyfamser, bydd eich roommate yn dod yn ôl yma.
Mae hi hefyd yn hoff llaeth.
Agorwch yr oergell a sylweddoli dim llaeth.
Yma hi wedyn yn mynd i'r storio, efallai y CVS arall.
Fast ymlaen ychydig funudau yn ddiweddarach byddwch yn dod yn ôl ac yn awr yn
ohonoch wedi prynu llaeth.
Mae un ohonynt yn awr yn mynd i ddifetha oherwydd nad ydych yn ei wneud
fel llaeth bod llawer a mae hyn yn broblem, dde?
Gan fod y ddau ohonoch a arolygwyd cyflwr rhai newidyn
ac wedi gwneud penderfyniad yn seiliedig arno er bod y wladwriaeth
o'r newidyn yn ei hanfod yn y broses o gael ei newid,
i gyd fod yn araf dros y faint o amser mae'n ei gymryd
i fynd yn ôl ac ymlaen CVS.
Felly beth yw rhyw fath o go iawn dwp ateb byd i'r broblem honno?
Gadewch nodyn, dde?
Mae'n ddigwyddodd y tro diwethaf.
Gadael nodyn bob amser neu'n glo y peth yn llythrennol.
Ac yr wyf yn dweud clo, oherwydd os ydych yn cymryd neu gymryd CS161,
cloi yn sylfaenol syniad yn y math o byd.
Felly, gall amodau hil godi hefyd yn y byd gronfa ddata
ac efallai y byddwch yn cofio efallai o CS50 cyllid os ydych yn cymryd 50,
cod hwn yr ydym mewn gwirionedd yn rhoi chi guys yn y fanyleb
ar y pryd fel bod eich cael ei alw'n llawdriniaeth fel atomig.
Os ydych eisiau, yn yr achos, prynu cyfran o stoc
a bod y stoc wedi rhai symbol penodol.
Rydym yn dweud i chi ddefnyddio cod fel hyn, oherwydd yn ôl y ffordd y
ar ddiweddaru allweddol dyblyg cystrawen, sy'n cael ei hadeiladu
i mewn i MySQL eich bod yn effeithiol ei wneud naill ai yn y daflen
neu yn y diweddariad ar ôl gwneud dewis i weld
os yw stoc yn barod i mewn 'na.
Mewn geiriau eraill, mae'r analog yn y byd o brynu stoc
o laeth a yr oergell a allai fod, yn gyntaf,
cyn prynu cyfran o Google efallai y byddwch am ddewis
o'r gronfa ddata bob un o'r cyfrannau o Google fod David yn berchen
i weld os yw'n berchen sero neu fwy.
Unwaith y byddwch yn gweld os mae'n berchen arno sero neu fwy sydd gennych
wedyn wneud y canlynol.
Naill ai rhaid i chi wneud mewnosodiad
os bydd yn berchen ar achos sero ' does dim rhes ar gyfer David eto,
neu rhaid i chi wneud y wybodaeth ddiweddaraf os yw o leiaf mewn theori rydych am
cael un rhes fesul defnyddiwr.
Mae'r broblem yn ddewis bod nifer y cyfrannau
ac yna diweddaru neu Gellid mewnosod torri ar draws
gan rywun arall ar un arall terfynell cyfrifiadur yn ceisio prynu
neu werthu rhai o Dewi Sant cyfranddaliadau o stociau a
at ddibenion da neu fath o ddibenion maleisus.
Mae fel mynd i'r siop pan fydd eich roommate mynd yn ôl
ac yn gwirio cyflwr y newidyn.
Felly, cystrawen hyn ar y pryd a oedd yn fath o briodol
ar gyfer CS50, yn osgoi bod broblem yn gyfan gwbl.
Ac 'i jyst yn gwneud hynny i gyd hud cloi i chi,
ond yn awr gyda mathau hyn o brosiectau ar gyfer y cwrs hwn
a bydd y rhan fwyaf tebygol o yn cynnwys setiau data mwy cymhleth,
nad ydych yn gallu cyflawni bob amser yn atomicity hwn.
Popeth yn digwydd ar unwaith neu ddim o gwbl
heb ymyrraeth mor gain.
Ac felly MySQL, un arall injan gronfa ddata,
cefnogi pethau o'r enw cloeon,
lle gallwch ddweud clo hwn tabl fel mai dim ond un drin
ac yn gyffredinol dim ond un y gall y defnyddiwr cyffwrdd mewn unrhyw bwynt mewn amser
i ddarllen neu ysgrifennu a yna gallwch ddatgloi ei.
Mae hyn yn enghraifft o un o gyfeiriadau MySQL ei hun,
lle os oes gennych megis banc cyfrif yr ydych yn ceisio
i ddidynnu arian o ac yna ychwanegu arian at.
Efallai y byddwch am gwneud yn siŵr bod y ddau
o'r pethau hynny yn digwydd gyda'i gilydd
fel nad oes dim camgymeriadau mathemategol
ac unrhyw golledion un arian, rhywsut.
Y broblem gyda chloeon er mewn cronfa ddata yn
ei fod yn gyffredinol yn golygu y bwrdd cyfan yn cael ei gloi,
sy'n golygu os oes gennych cant o bobl yn ceisio
i wneud busnes gyda eich banc ar-lein ar yr un swm
o amser yn unig un o Gall iddyn nhw fynd ar y tro.
Pa yn dwp, yn enwedig ar weinyddion y dyddiau hyn
sydd wedi wyth cwrs, 16 Wrth gwrs, mae llawer iawn
o gof, does dim rheswm i benodau bob
un o'ch trafodion os yw'r rhai cwsmeriaid yn mynd yn unig
i ryngweithio â'u rhesi eu hunain.
Felly NoDB caniatáu i chi wneud pethau'n fwy deallus
ac mae hyn yn gyffredinol yn yr ymagwedd chi eu cymryd mewn cod,
wrth i chi ddefnyddio rhywbeth a elwir yn y trafodiad.
A ydych yn gwneud hyn fel arfer yn mewn cod PHP,
Cod rhuddem, Python, beth bynnag.
Ond mae'r cod SQL sy'n defnyddio yn y pen draw mae hyn,
fel arfer.
Dechrau trafodiad yna rydych yn nodi dau neu fwy o ymholiadau
eich bod am gweithredu yn gyfan gwbl
heb ymyrraeth neu ddim o gwbl.
Gall hyd yn oed fod rhai dewis datganiadau yn
neu ryw dileu neu ddiweddariadau.
Ond y peth braf yw bod y Bydd y gronfa ddata yn ddigon smart
i wneud yn siŵr y bydd yn dim ond cloi'r rhesi eu bod mewn gwirionedd yn
yn rhan o hyn diweddariadau neu yn dewis neu dileu.
Felly, os ydych yn cael miloedd o resi ac rydych yn cyffwrdd tri yn unig
ohonynt, yn unig fod is-set Bydd y bwrdd yn cael ei gloi
sy'n golygu y rhai 99 arall Gall cwsmeriaid cyffwrdd â'u rhesi
heb gael ei benodau ac arafu i lawr i chi.
Yn y cyfamser, dyma'r garedicaf agwedd at drafodion.
Maent yn trafodion mewn synhwyro fel 161 ar system ffeiliau,
maen nhw'n trafodaethol
sy'n golygu y gallwch gyflwyno yn ôl, gallwch eu dadwneud.
Mae hyn yn debyg i'r gorchymyn neu reoli F o gronfeydd data.
Os ydych yn darganfod rhan ffordd drwy'r holl
eich llawdriniaeth data amrywiol, saethu, rhywbeth yn mynd o'i le.
Rydych yn llythrennol cyflawni gwahanol rôl ymholiad SQL yn ôl
a phob un o'r duedd hyn - i gyd o'r datganiadau yr ydych cyflawni
ar ôl dweud cychwyn trafodiad yn diflannu
fel pe baent yn digwydd byth,
sydd yn rhyfeddol beth pwerus.
Ac mae'r rhain yn y mathau o pethau yn sicr yn 50 rydym fath
o ysgubo o dan y carped a 'ch jyst fath o tybio
bod yr holl yn dda.
Ond unwaith i chi ddechrau meddwl am brosiectau go iawn
a defnyddwyr go iawn ac y cyfanrwydd eich cronfa ddata,
mae'r rhain yn y math penderfyniadau dylunio
bod yn mynd i fod yn bwysig.