>> Реду.
Дакле, без даљег одлагања, СКЛ, Струцтуред Куери Лангуаге.
Дакле, вероватно користили овај на барем у ЦС50, можда у ЦС165,
можда у свој личне пројекте.
И шта СКЛ пусти ти, у СКЛ Сервер више уопште?
Да?
[Нечујно Напомена]
У реду, то је било веома обезбедио начин да се то каже.
Да. Тако да омогућава да сачувате податке
и што је још важније омогућава да упит за податке.
И ово је корак напред
користе нешто једноставније као ЦСВ, у праву.
Цомма Сепаратед Вариаблес.
Сличне вредности.
Слично дозволити да сачувате Подаци један ред
у текстуалној датотеци.
Али оно што је мана ЦСВ датотека за складиштење података,
иако можете ефикасно добити редове и колоне од њега?
Да.
>> Не 'имати иста организација
Ефикасност [неразумљиво].
>> Немаш исти организација ефикасност.
Шта ти мислиш?
>> Па, као [неразумљиво] имају као примарни [неразумљиво].
>> Реду. Да.
>> То је релациона база података можете имати више база података
међусобно повезани у врло специфичне начине.
>> Реду. Добро.
>> То је [неразумљиво] да подесите ЦСВ.
>> И да уштинути мало терминологија.
Тако више табела унутар базе података, наравно,
и да иде даље од онога можете да урадите са само једним ЦСВ.
Али стварно ограничење са ЦСВ ја тврдим је
да неефикасност свега тога.
То је врло лако да распоред.
Али, ако желите да урадите упита, шта је покренут време
једног изаберите упита на ЦСВ датотеци?
Мислим да је то велика стара [неразумљиво], право, јер у најгорем случају,
они порасла на самом дну.
Чак и ако су поредани целу ЦСВ датотека, ако не знате
да унапред, добро, Ви још увек ћеш имати
да претражите целу ствар.
Дакле, међу стварима ћемо добити
користе стварни База података коришћењем језика
као СКЛ је можемо упит то и можемо унапред
као дизајнери база података одредите шта су поља
који су вероватно ће имати питања о тако да људи
у МиСКЛ или Мицрософт или Орацле,
ко год је направио базу података користите да урадите све
од напорног рада схватите, у реду,
дато милион ових ИДС.
Како можемо распоред - их у меморији?
Нека врста дрвета структуира можда,
тако да када радите заправо изврши Изабери,
то је нешто што је логаритамска или логаритамска
од логаритамске на време пре него заправо преношење
у нешто линеарно.
Дакле, имамо доста тај начин перформансе.
И ми такође може да ускладишти много више подаци лакше јер је СКЛ
Сервер се обично чува у РАМ иако делови
од она могу бити ускладиштене на диску а ви вероватно знате до сада
да РАМ-а је генерално брже од дискова,
тако да је то добра ствар.
И ми такође може руковати Конкурентност много боље.
Ако сте узели 165 или 161, Ви знате да ако се двоје људи покушавају
да уради исту ствар одједном на систему,
лоше ствари могу десити уопште.
Дакле, међу осталим функцијама смо могу добити ако ми дизајнирамо наше столове
у праву је начин боље подршка и безбедност
када је у питању конкурентности.
Дакле, двоје људи у два дела
света користећи исти аутора, ако су оба пробати
да купи нешто на исти време, да поредак не иде
да иде у истовремено.
Некако би се серијализују неко осим наше -
неко осим нас самих.
База података ће урадио за нас.
Дакле, када је најједноставнији облик,
СКЛ нам омогућава упит релационе базе података.
Релационе базе података је она која има једну
или више табела у њој обично.
А ако је то мало непознато,
заиста можете само мислити ово као Екцел или бројева
или Гоогле табеле.
То само има редове и колоне и типично врх сваког
тих редова има име за њу.
Дакле, ово може да буде ИД колона, име колоне,
адреса колона и тако даље.
А онда можете да имате више такве табеле ако желите
да почне са уређивањем различите врсте података.
Али можда ћете се сетити барем из ЦС50 да смо покушали
да вам дам ГУИ-базиран алат [неразумљиво]
за управљање базе података.
Звао се пхпМиАдмин.
Дакле, то је само случајност да је написан у ПХП, заиста,
али то је био само веб-базиран Фронт Енд у базу података.
А преко разних картица и везе, могао почнете
за конфигурисање базе података за себе.
Али добар алат да почнете да добити мало удобнији
са је такође командне линије клијент.
Дакле, ако користите ЦС50 Апплианце или стварно користећи било макро ПЦ
који има командне линије МиСКЛ клијент, можете то учинити врста
од старе школе, овако.
Као страну пројекта МиСКЛ, најмање верзија опен соурце
од сада се зове МариаДБ за различити разлози можете прочитати
горе на Википедији, али то је исти софтвер,
то је иста синтакса и тако даље,
прилично исти број база.
И тако, када сам на ово навести ја сада могу да комуницирају
са моје базе података много више ручно.
Дакле, случај у тачки, пусти ме само напред
и само отвори прозор терминала.
Ја се десило да се коришћењем ЦС50 Примена али можете да урадите ово
на већини било у систему који имаш право
софтвер инсталиран.
И ја ћу да урадим мискл-у за корисничким именом Џона Харварда
на овом систему,-п за лозинку да ћу куцате
у мало више безбедно притиском Ентер.
Сада сам затражи.
Идем да куцате Цримсон у ЦС50 Апплианце
и сад ја видим у суштини да исти екран.
Али ту је сада команде да можемо почети да куцате
као база података показују, и који ће ми све показати
од базе података које имам већ креирана у систему,
прилично исти списак можете видети у пхпМиАдмин.
Постоји неколико других као што су информације шема и теста,
који ако џаку око ЦС50 апарат, ми сакрити неке
од ових табела нижи ниво
али они су тамо све ово време.
МиСКЛ заправо има низак ниво својства као што су корисничка имена
и лозинке за базу података Сама, не за вашу апликацију
да би ти било ради на њој.
Дакле унапред, данас, ја створио неколико база података,
од којих се зове цоурсес50.
Шансе су неки од вас су користили ЦС50 Наравно куповина алата,
што је велики интерфејс за Наравно каталог секретара.
И то је заправо леп Скуп података да разговарају о 'узрок,
један, ми смо некако све очигледно упознати са курсевима
и инструктори и састанак локација и све врста
од обичних ствари универзитета,
али то је такође добио неке интересантне могућности
за дизајн.
Тако смо мислили да користимо Појам каталога курса
и куповина алата као пример целом данас да сортирате
рама неке од дизајна одлуке морамо направити.
Дакле, хајде да тамо почне.
Претпоставимо да сам заиста желео да представља најједноставнији супер
наравно куповину алата.
А најједноставнији свет Могу да замислим и један је
у којој постоје курсеви а ту су и инструктори.
И хајде да претпоставимо да Ради дискусију
Наравно да је сваки има најмање име.
Дакле, хајде да почнемо да скицирам ово.
Ја ћу користити пхпМиАдмин само као погодност,
тако да не морате да куцате напоље све упите ручно.
Али овде сам у мојој цоурсес50 база података.
Ако нису упознати са овим, то ће бити врло лако када зароните
у на свом пројекту ако желите да га користите.
Идем да створи сто се зове Курсеви
и ја могу да мислим само од једне области
за сада, назив курса.
Ја ћу ићи напред и рецимо дај једну колону.
Сада, као што се сећате добијате интерфејс који је мало
овако.
И други наопако искрено од пхпМиАдмин је да је врста
само-инструкције и то преко падајућим листама, можете да сортирате
од видите шта ваш могућ дизајн одлуке су.
Зато ћу да дам сваки курс име.
То је име ове колоне.
И како о својој врсти података?
Већина вас би требало да знају у бар неке од ових типова података
из претходног искуства.
Шта је прикладно за име курса?
Шерон?
>> Варцхар.
>> Ок, варцхар који Вариабле Цхар.
А шта да значи више технички?
[Нечујно Напомена]
У реду. Дакле, то је ниска.
И вар аспект од подразумијева шта?
Променљива. Али оно што то значи?
Да?
[Нечујно Напомена]
Тачно. Дакле, то је променљива број карактера
у стринг уп до неког максимума.
Дакле, овде је наш први дизајн одлука.
Ми заправо треба да одлучи колико бајтова максимално
да издвоји за сваку такву жицу.
Генерално говорећи, ви желите да некако не буде сувише мали,
не би се превелика Јер очигледно
ако сувише мала ти си само ће почети скраћивања податке
и ви ћете изгубити податке.
А ако је превелика, само си некако говори базе података
да очекују и да се оптимизују за више података
него што заправо може икада добити.
Дакле, шта је разумно осећање број за име курса?
60? У реду, тако 60.
То изгледа прилично разумно
док је нема изузеци који.
Заиста нема тешко, брзо правило.
Да будем искрен, за историјски разлози много
од људи ће изабрати 255 Јер годинама која је била врста
од подразумеваног максимално користећи 8 бајтова - 8 бита као иоур цоунтер.
Ја бих више [неразумљиво] може да користи овлашћења 2
али то је некако небитно.
Дакле, можемо ићи са 60 година.
То изгледа разумно тако дуго
као што смо на крају не жалим Јер то је горња граница.
Сада, претпоставимо супротно Одлука је донета,
не променљиве слова али само знак поље.
Дакле, за разлику од Ц и Ц + +, цхар не значи један цхар
и базе података које обично значи фиксни број
знакова у низу.
Шта би било наопако и / или мана по мом избору 60
за цхар поља, уместо варцхар?
Ово је управо прва врста одлуке ћете морати да
када инспекцију [фонетски] напоље од пројекта са својим партнерима.
Да, Шерон поново.
[Нечујно Напомена]
Добро. Дакле, ако име је мање
од 60 онда губите шта год да је делта
између 60 и стварна дужина.
Тако да само осећа расипнички, више бајтова него што је потребно.
Али зашто то постоји?
Сигурно постоји нека наопако.
Да?
[Нечујно Напомена]
Наравно. Тако да понекад можда зна фиксни број
карактера, као што су 10 цифара за број телефона, на пример.
Али кога брига, као зашто Не само да 11 ионако
или зашто не рећи 60 Ионако са варцхар?
Шта ми добијамо предност знајући и пројектовање
за фиксни број карактера?
[Нечујно Напомена]
Ви сте на правом путу.
Дакле, то је оптимизација али то је заиста од - да?
[Нечујно Напомена]
У реду. Добро. Хајде да фокус на том последњем делу.
Тако индексирање.
Тако испада ако Знам унапред да све
од ваших поља ће да буде 60 карактера,
Ви заиста могу да се сетим ово колона у Екцел базе података
као што веома стрејт, лево оправдано
и десне ивице оправдани
јер свака колона је 60 карактера широко.
То значи да овај ниска је 60 карактера даље
из овог низа, 60 карактера даље од овога
и овај и овај.
Дакле, баш као ономад када сте научили Ц, имали сте случајан приступ
у свету низова, Иста идеја овде.
Ако је представљена ваша колона користећи само фиксне дужине знакова,
можете ефикасно индекс насумично до 60 или 120 или 180
и можете добити на појединачно жице много брже.
Онда, ако уместо тога, ваш колона имала равно левој ивици да се тако изразим
али веома нераван право ивице на колону
јер сте можда имају 10 карактера,
15 знакова, 5 карактера.
Дакле, ово је превише компромис.
А понекад само путем покушаја и грешке
и експериментисање можете да схватите
шта стварно право позив је али то су врсте
питања која треба да иде
кроз своје умове и / или столови када дође време
за дизајн базе података.
Дакле, не нужно у праву одговори али ви треба да
барем имају неке реченица или две у виду
за бацкуп год одлука коју донесете.
У реду.
Дакле, хајде да задржи померање у промптова овде
да су пхпМиАдмин је кориснички интерфејс.
Дакле, подразумевана вредност за име, треба да одредите
да би требало да буде имати подразумевана вредност нулл?
Шта мислите?
Може, наравно да има нулл име?
Само осећа чудно, зар не?
Ја не могу да се сетим било Неименовани курсеви на Харварду.
А можда постоји неки нејасан случај кутак
где Курс је дат један број
и професор има не одабрала име за њега, али -
Мислим, да пакао са тим,
као да се не чак смета да подржава.
Ја бих рекао у интересу од лепог чисте базе података,
хајде да наведете да не можете имају подразумевану вредност нулл.
Алтернативно, можемо да урадимо нешто као унтитлед наравно
који се не разликује од Мац ОС и Виндовс радим
када креирате фолдер на пример,
али тамо то чини мало више смисла
тако да човек види нешто.
Говоримо о бацк-енд база података вероватно
за курс каталог.
Па ја стварно не чак као идеја дајући му
у Унтитлед именима курса
јер то није стварно ће помоћи никоме.
Дакле, оставимо то као нико, што значи да када убаците
у овој бази података, имате да дају сваког курса име
који осећа мало чистач за мене.
У реду.
Дакле скроловање даље, колацију.
То само има везе са Скупови знакова и ситница
ако сте икада видели помиње шведског
у пхпМиАдмин то је Јер народ
који је написао пхпМиАдмин били су шведски.
Да ли је то ПХП или је то МиСКЛ?
Један од двојице, ја Заборавио импровизовано.
Али то је због историјских разлога
али можете изразити сваки карактер на енглеском
да ли би могао са шведског па то је у великој мери не-питање.
ЦС50 Примена иако је користи - конфигурисан да користи УТФ-8,
тако да генерално треба не појављују за вас.
Атрибути.
Дакле, ниједан од њих су заиста релевантно овде.
Видим бинарни, непотписани, Без потписа зерофилл,
и на упдате тренутног тиместамп.
То поље се примењује само за неке области нумеричког
или нека време поља.
Зато ћемо прескочити да у потпуности.
Нула. Може ово поље бити нула?
Тако да нема. Ми већ имамо таква врста разговора.
Дакле, ми не желимо подразумевана вредност.
Ми не желимо да буде нула.
Шта је индекс?
Има четири избора овде.
Шта то значи ако ми наведете
да овај ред иде да буде примарни кључ?
Размишљање назад на ЦС50 или ЦС165 ако сте га узети.
[Нечујно Напомена]
Тачно. Дакле, примарни кључ по дефиницији је поље
који јединствено идентификује сваки ред у овој табели.
А можете се ослонити на њега да уради то јединствена идентификација.
Дакле, шта то значи онда да само буду јединствени?
Па, некако ова два има врста
од под импликација испод хаубе.
Али генерално, примарни кључ је врста уговора можете направити
са стварима базе података.
Када радим упите у потрази за курс,
Ја ћу користити ово Посебно поље.
И ми ћемо се вратити на зашто ми можда имамо два
Такви избори овде, примарни или јединствени.
Јединствена само каже, ово поље ће бити јединствена
али ја нисам стварно прављење било врста вербалног залагања овде
да користе то поље да уради своје претраге
из разлога ћемо видети у само тренутак.
Ако уместо тога одредите индекс, шта то значи за спецификацију
да поље има индекс на њему?
Да?
[Нечујно Напомена]
Тачно. Прошло је оптимизован за упит.
Дакле - сервер базе података, Орацле, МиСКЛ, шта год,
ће углавном радити своју магију иза сцене када кликнете
да опција и затим кликните на дугме Сачувајте и то ће изградити
се обично дрво структура, Б-стабла, ако сте видели
или чули што је искључен врло кратко изгледа дрво
који вам даје јако лепо логаритамске својства
када је у потрази за подацима.
Ако не одредите индекс на терену, шта се дешава
да буде трчање време тражења
за произвољно [Фонетски] име курс?
Шта је то?
[Нечујно Напомена]
О, [неразумљиво], линеарно, зар не?
Ако је тамо нема оптимизације дала са базом података
а нисте мислили база података која врста
података да очекују.
Најбоље што можете да урадите је провера све када сте у потрази
за неке вредности, посебно ако тамо могао
у ствари бити дупликати.
Пуно радно текст у међувремену, ми ћемо машу руке за сада.
Али генерално, ово је врста индекса који вам омогућава
за оптимизацију за кључну реч тражи на пољу.
Дакле, ово може да буде добар кандидат
за као опис курса где можете имати неколико
ставова и можда Желим да урадим субстринг утакмица.
Пуно радно текст ће генерално дозволити ви да урадите прилично ефикасно.
А, ово је ужасна врста од објашњења, али ако ми лебди
преко њега ћете видети Ауто Прираст.
Није применљиво и овде али ауто прираст је користан
за области као што су инт, јер база података ће се побринути
процеса плус плусинг то сваки пут када урадите уметак.
Тако да чак и ако се двоје људи буквално кликните Субмит
у исто време и покушати да створи ред некако
у бази података, један од њих ће добити број који сам,
други ће добити број 1, плус сам.
Не морате да се бринете
око две бројеви које добио идентично ако сте били
то сами да урадите у коду.
У реду.
Тако сам некако волим где имамо име да буде.
Па хајде да кликните на дугме Сачувај.
Да ли је ово добар дизајн за табелу базе података?
И као по страни ако зарђао на СКЛ или на неки
од само увек затварају око за оно што се дешава,
Могао сам откуцао управо то -
те три линије на које црно и бело брз
у командној линији клијент или сам могао да урадим
да у коду програмски.
Дакле, све пхпМиАдмин ради за ми, само ми се штеди напоре
од сећања понекад синтакса и куцање се за
као досадан команди.
У реду.
Дакле, то не осећа као најбољи дизајн, једно поље табеле.
Сада можемо да имамо ствари као што су професори
и локација и описи.
Али чак и тада, користећи само име
да идентификује курсеве не осећа идеално.
Шта генерално имају смо урадили у прошлости
ако сте користили базу података за јединствено редове?
Не користите варцхарс типично.
Да?
[Нечујно Напомена]
Да. Тако типично курс ИД.
Дакле, најчешћи прићи овде посебно
када се користи оквир је заправо само
да користи број као цео број.
Дакле, дозволите ми само напред и урадите то.
И можемо да урадимо то у неколико начина, али ако сам обавештење зоом
у на дну овде.
Ја ћу рећи додати једну Колоне на крају стола,
углавном само за визуелни погодност сте ставили легитимације
на почетку табеле иако то нема прави
функционални утицај.
Зато ћу рећи додати један колона
на почетку табеле.
Идем да кликнете Го, који даје ми врати ово УИ овде.
Назовимо овај ИД.
Ако мислимо да ћемо имати нема више урађено 4 милиона курсеве
поље инт је у реду.
Чак смо могли да га сузите
али простор је јефтин па ко стварно брине.
Али, ми покушавамо да пишу Фацебоок сада,
не може бити лоша ствар да предвиди велике Интс
који би нам дао 64-битне Интс
али онда ти си буквално удвостручује број битова
да користите, тако мањи компромис
али нешто треба размотрити.
Сада, ово је збуњујуће наслеђе ствар.
Можда се сећате из користећи МиСКЛ
да је било када сте прогласи инт поље често ћете видети број
поред ње као број 10.
То нема никакве везе са величина броја
или број битова.
То има везе са бројем карактера који се користе
да визуелно приказивање то поље ИНТ
када користите прозор терминала.
Тако можемо да видимо да је у једном тренутку.
Дакле, немојте бити заведени куцањем бројева
тамо иако је ефективно нас питате
за једну овде.
Овамо, ја ћу да само напред и рећи непотписан.
Нема разлога да се отпад све наше негативне бројеве
пошто база података је генерално иде
да преузме позитивна вредности или НУЛЛ.
ИД дефинитивно не би требало да буде нула.
А шта мислиш о индекс за ову област ИД?
Нека буде примарни.
Дакле, шта ако, ипак, као што ја могу само мислим на једну ЦС164 наравно
на Харварду и само један ЦС50 курс на Харварду
и то је прилично много истина укупна
да можда има изузетака [Неразумљиво] оба семестра
или нешто чудно тако.
Али важније, зашто је боље
да користите нумеричку саставни ИД за јединствено идентификовати курсеве радије
него само јединствена ниска?
Да?
[Нечујно Напомена]
Ок, занимљиво.
Дакле, ако смо имали некако крос-листи курсеви.
Дакле, то је добар пример.
Нисам сигуран да бих реши да, иако
дајући им исти ИД број, ако је то
где идете са тим.
Не? У реду. Али дефинитивно угао случај да се размотри.
Ако постоји нека врста - нам је потребна нека врста
од алиасинг потенцијално.
[Нечујно Напомена]
Наравно.
[Нечујно Напомена]
То је добар пример.
Име може променити преко време, потпуно разумно.
Шта још?
[Нечујно Напомена]
Извини, опет кажем.
[Нечујно Напомена]
Да, тачно.
Дакле стварно, то је прави коначан доказ је
да користи 32-битну инт је вероватно ће бити бржи
него неке променљиве Дужина Чар поље.
У првом случају, може буквално стане у регистар,
да не помињемо много мањи меморије отисак.
У другом случају, идете да треба да урадите одмаралиште [фонетски]
до поређења стринг који у себи са линеарним
у величини стринг потенцијално.
Дакле, то је само леп оптимизација,
а посебно да ће
да нам ураде оно што се зове Ефикасније придрузује
у само једном тренутку.
Дакле, хајде да урадимо то.
Ми ћемо навести да ово је примарни
јер ја не нарочито желе да брину или мисле
о томе шта је број је курса.
Нека преузме шта год хоће вредности.
Ја ћу да кажем ауто прираштај тако да могу нудити тај детаљ.
Као у страну да би могао Знам да Харварду
барем има јединствен бројеви за курсеве.
Ја се не сећам Шта ово је курсеви.
Знам да је ЦС50 каталошки број је 4949,
потпуно произвољно.
Али ту је чудно цорнер случајева у које још
у регистрариал депонији наравно каталог података,
понекад курсеви, старе курсеви имају бројне као 4..
Али технички да поље је знак поље
да просто почиње са 0004.
Дакле овде, морате бити пажљиви разликовање
између ствари као што су Наравно каталошки број
која би могла имати неку људске појам фиксне дужине, 0004,
а ви не би требало да складиштите да, на пример у једном интс.
Та врста поља треба чувати другде.
Дакле, у Харварду, ако смо били заправо прави курс
куповина алата, то је вероватно није довољна
на број курсева са само 1, 2, 3, 4.
Вероватно ћемо имати
да имају још једно поље зове каталошки број,
који је такође требало да буду јединствени Басед
о људским конвенцијама овде али то није најбољи избор
за јединствени идентификатор, јер то може бити променљива дужина.
То можда неће бити четири слова, то би могло бити пет.
У ствари, мислим да неколико пре неколико година они крећу
да узрок тамо пет знакова " били су више од 999 курсева
у укупно или нешто слично да, или 9999 курсеви.
Дакле, то може да буде пример где поље није примарна
али то би требало да буде јединствен.
И е-маил адреса је још један.
Можда желите да буде јединствена
али не нужно Ваш примарни кључ.
У реду.
Па дај да туцам из другог сто много брже него што је овај.
Зато ћу да позовем ово један Инструктори и ја идем
да да то је укупно Број колона два.
Идем да научим мој Лекција из прошлог времена.
Идем да зовем Прва колона ИД.
Идем да зовем Друга колона Име.
Такође ћу да урадим варцхар.
Идем да преузме ниједан професор има име дуже
од 60 знакова, мада Сада то може бити да је гурање
са неким дугим имена, специјална људи са средњим именима.
То је у реду за данас.
Па хајде да дођите овамо.
Хајде да поново чине овај непотписани.
Хајде да ово основно.
И ми ћемо дозволити истоветно име
у случају да постоји два Џон Смит је, или тако нешто.
А сада имамо две табеле.
Дакле, сада, ово моли питање како да повезују
у инструктора са курса?
Осећам се као да сам некако Имам испред себе
јер ако инструктор предаје курс,
мој први инстинкт би заправо бити да се вратим
да схвате курсеви, ово није била добра идеја.
Дозволите ми заправо додати једну колону на крају табеле,
кликните на дугме Иди, и ја ћу називамо инструктор.
И ја ћу учинити ово варцхар и ја ћу учинити ово 60.
А можда ћу га оставити нулл сада
у случају курс има не је унсигнед у инструктора
који се понекад дешава пре термин почиње и кликните на дугме Сачувај.
Који од ових пројеката волите?
Прво један, где имамо табела посебном инструктора
или други где смо управо додате поље на курс?
Дакле, то је блиско повезане инструктор са курса.
[Нечујно Напомена]
У реду. Добро. Али дозволите ми да потисне.
То је само тако једноставно као што ја могу само укуцајте име особе
у овој табели, као сигурно да има неку вредност или -?
[Нечујно Напомена]
У реду.
Па, дозволите ми бити тешко овде.
Дакле, дозволите ми да кажем да Овај курс је ЦС51
и знам да је то научио ове године по две особе.
Дакле, Хенри Леитнер и Џеси Тов али -
па ћу само ставити зарез између два, у праву.
Стварно сам добар у ЦСВ из прошла.
[Нечујно Напомена]
Тачно, у праву.
Чим прибегавају на овако нешто,
који могу да се осећају разуман и можда осећате
овако је некако паметан.
Ја сам некако задуживања један Идеја која је добро функционисао,
позајми нову идеју и некако их комбинујете.
Ти си некако потпуно поразио тачка коришћења базе података
На првом месту узрока ' ако је један од вредности
коришћења је брже претраге због разних индекса
и столови који могу бити изграђена за вас
од самог мотор базе података.
Сада, ако желите да претражујете за све курсеве
Џеси да учи, сада имате да ли се подударају излистаће на све
од инструктора поља,
који ефективно значи линеарни тражи поново јер имате
да пронађе ову произвољну сет од три карактера било где
у инструктора терену претходио
у можда следи зарезом.
Дакле, ово дефинитивно не слути на добро.
Дакле, дозволите ми да се вратим на табели.
Пустите ме да идем напред у курсеви, ундо то.
Ја ћу да идем само напред и спустите то поље.
А ако желите да урадите ручно,
синтакса је АЛТЕР ТАБЛЕ курсеви ДРОП инструктор.
Зато идемо напред и кажу да би то.
И да се вратим на овај ранији идеје
где ја имам посебан сто за инструктора.
Али сада то осећа мало као да могу ставити на курс
у табели току је и инструктор
у табели инструктора, али ја некако мора да повеже два.
И како ти би Предлажем да урадимо?
[Нечујно Напомена]
Добро. Дакле, хајде да урадимо то.
А ти би могао назвати ово сто у теорији било шта.
Идем да намерно зову га шта много
од оквира би зову га, међу њима,
Ларавел као што ћете видети у мало.
Ја ћу да га зовем курс наглашавају инструктор.
Употреба једнине у овом случај за сваки од речи
и све мала слова Поново, и са -
затим по абецедном реду сортирани с лева на десно.
Ово је потпуно произвољна, али она тежи да буде конвенција
у пуно ових оквира у ПХП на другим језицима.
Колико колона ми је потребно у то оно што ми зовемо придружити табелу,
да се придруже два друга табеле заједно?
Три колоне?
Коју - шта би они били?
[Нечујно Напомена]
У реду. Добро. То функционише.
И ми смо технички могли смањи угао овде, али много
од оквира посебно би и даље дају чак и ове редове
уникуе ИД-ови иако семантички ред
да смо заиста стало или колоне које смо заиста стало
о су последње две оно што сте рекли, наравно ИД
и инструктор ИД.
Дакле, хајде да урадимо ово.
Зваћу овај ред само ИД, баш као што смо раније радили.
Али овај идем позвати курса ИД.
Ово ћу да позовите инструктора ИД.
И ја ћу да одредите да све
од њих су непотписани Јер ја желим
да повећам 4 милијарди инт опсег.
Нико од њих треба да буде нула.
Идем да прецизира да ИД и даље треба да буде примарни.
И опет, то је само конвенција,
Много оквира чак и ако се не сортирају
од фундаментално треба јединствени идентификатор за редом,
испоставило се да је то згодно за код, СКЛ да иде
аутоматски бити генерисана за нас.
Зато ћу оставити то као примарни.
Али сада, ја некако имају одлуку дизајн,
Наравно ИД и инструктор ИД.
Шта ако било индекси треба да добију?
Ако ћу оставити без индекса, шта је импликација?
Шта је импликација?
Перформансе као пре, зар не?
Ако нема индекс, Најбоље што можете да урадите је љубазан
од [неразумљиво] кроз Цела ствар у потрази за бројеве.
Тако да се не осећа паметан.
Да ли треба да буде примарни?
Па зашто не?
Зашто не примарни?
[Нечујно Напомена]
Савршено. Тако смо се котрља од [фонетски] примарна.
Ми смо већ изабрали да.
Дакле, требало би да буде јединствена?
[Нечујно Напомена]
Добро. Дакле, ако претпоставимо један инструктор по курсу,
потпуно у реду.
И то је дефинитивно чест случај
али ми смо већ одложити један можда познато пример.
ЦС51 добио два инструктора па смо ми
од сада зезнуо у том случају.
Ако јесмо дозволити само један инструктор,
ми заправо могли да урадимо начин са сто придружи потпуно,
да се вратимо на ранији приступ
и ставио не име особе можда али инструктор је ИД.
Ако знате сваки курс као само један инструктор можете имати само
једна колона.
Али је варијабилност шта нас је у невољи.
У реду.
Дакле, требало би да буде јединствена?
Но Комплетан текст не осећају примењиво.
Као што смо рекли раније да је
за као подниску подударају за описе.
Дакле, шта је са индексом?
Па, индекс је вероватно наш најбољи кандидат
који говори МиСКЛ Оптимизирајте за претраге на ово
или пусти ме разрадити, оптимизовати за претраге или придружује
као што ћемо видети у само једном тренутку
тако да су они мало ефикаснији
од свега чисто линеарно.
Да ли желим да ауто- повећава ову област?
Тако да нема, јер истина надређени елемент постоји
у табели курсевима.
То је место где је то ће добити плус,
плус када је заправо убаци.
Ево, ово све иде да се ручно убаци
код нас вероватно у коду.
Дакле, хајде да једноставно одредите да и курс ИД
и инструктор ИД имају индексе.
Сада ћемо ићи напред и спаси.
А сада, само да покаже Ви преписка
између онога што је лепо ГУИ интерфејс
и линија интерфејс команда.
Пусти ме само напред и урадите Следећи на овом МиСКЛ упита.
Ја ћу рећи употребну цоурсес50
који је произвољно име Дао сам у ову базу података.
И сад, ја не радим ни сетим шта смо урадили.
Дакле, дозволите ми да куцате показују табеле
и генерално тачка-зарез ће бити ваш пријатељ овде
да заврши упит.
И то је то.
Дакле, овде су редови или пре табеле које имамо овде.
Сада, ја заборавим шта Наравно изгледа,
па дај да ти опишем курсеве а сада видим нека врста АСЦИИ
или верзија онога што пхпМиАдмин је радио
и ја видим да је ИД инт.
Има да је 10.
Шта то значи?
То само значи да када је то приказује ће то узети
до 10 карактера на прозор терминала.
Да ли је то нуллабле?
Не, ово је примарни кључ.
Може ли има подразумевану вредност?
Но И екстра што је посебан заставе као што су ауто прираста.
Дакле, хајде да урадимо пар Брзи од уметања овде.
Ја идем горе да - рецимо.
Хајде да променимо стање на слајд
где сам некако пре-припрема ово.
Ово је резиме затим све три од тих столова.
Већ сам ручно откуцао прву команду.
И овде, отишао сам напред и укуцајте остале за тебе.
То је само стилска ствар.
Генерално, много људи укуцајте СКЛ изјаве у свим капе
а затим имена табела и Имена поља у доњем случају,
ако само зато што врста трибина
шта ти је терминологија и шта је база података синтаксе.
Дакле, овде имамо три столови, курсеви, инструктори,
и курсеви инструктори.
У слајду сам направио унапред, Нисам имао поље ИД
али то није заправо лоша ствар уопште.
Ми само би видели Трећа колона тамо.
Да сам то урадио овде?
Па сада нека ми предложи да радимо гомилу уметања.
Дакле, ево неких података, Ја ћу зоом ин
Зато ћу предложити да на курсевима,
смо само баве три курса.
И ја изабрао ове три Јер су репрезентативни
од неке лепе - оне имају неке лепе особине.
ЦС1, ЦС50, ЦС51, они имају веће личне карте
али оно што је ИД је потпуно ирелевантно.
То је само редослед у коме они су ауто убачена од мене.
Како о инструктора?
Тако сада, јер Хенри Леитнер учи како ЦС1 и ЦС51,
ово је некако згодан Импликација за наш дизајн.
И Џеси учи ЦС51 и Малан учи ЦС50.
Тако да сада - односно то су само јединствени ИД-ови тих људи.
И курсеви и инструктори, - Курс инструктори, приметите овде.
Курс ИД1, који је ЦС1 се предаје
од инструктора ид1 ко је Хенри.
Курс ИД2, који сам Мислим је ЦС50 се учи
од инструктора, ид2 који је Малан.
И онда на крају, ЦС51, а приметити да имамо два реда.
А сада ово је разлог зашто се придружи сто је моћан учи
од стране Хенрија и Јессе.
Дакле, ово је све у реду и добро,
али ја једва могу запамти са врха
од моје главе ко је ко овде.
Како можеш евентуално позабавимо у коду,
без хард цоде ствари?
Па, ово је место где сама СКЛ почиње да постанете наш пријатељ.
И ја ћу да предложим да можемо куцати следеће.
Урадићу то на у стварна брз.
Пусти ме само напред и убаците ове ствари.
Дакле, у табели курсева хајде да урадимо оно што смо имали
тренутак пре.
Ја ћу напред и рећи, хајде да убаците ЦС1 и ЦС50.
Хајде да убаците још неколико редова одједном, ЦС51.
Сада, дозволите ми да само напред и спаси.
У реду, тако да сам само поновног као брзо
колико могу односи смо управо видели на екрану.
И тако овде имамо Лајтнер, овде имамо Малан.
Хајде да се дају други ред, и Тов.
Сад ме пусти да спаси ово.
И ја их радим намерно у истом редоследу.
Не, заборавио сам да дам ово ауто прираштај.
Дозволите ми да брзо поправити.
Средићу то у мрежи код.
То није успело као у страну.
Чињеница да нисам могао убаците Леитнер и Малан
Тов и није успео, јер нисам одредите ИД број, иако
она очекује један и ја Заборавио сам да провери ауто прираштај,
што значи да су сви били по дефаулт добијање нула.
Али то онда у супротности које имовина коју смо навели.
Примарни кључ је повријеђено па то нису дозволили ни да ја то урадим.
Дакле, дозволите ми да поправим ово.
Сада, дозволите ми да се вратим на Убаците картицу овде и одредите
Желим да Леитнер, Малан и, још један ред, Тов.
И сада на крају, једини онај који је мало тежак
да запамтите је курс инструктор.
Хајде сада да убаците Наравно ИД1 је инструктор ИД1
тако да је ЦС1 и Хенри.
Курс ИД2 је инструктор ИД2 који је ЦС50 и Малан.
А онда последњи који имамо да брине је наравно ИД3
који је ЦС51, учи
по курсу инструктора 1, који је Хенри.
И три као и учи по 3, који је Тов.
Дакле, надамо се сада смо поново ово -
проклетство, ја сам исту ствар.
Инструктор курса треба ауто прираштај.
У реду.
Урадићу то брже овај пут, курс 1, курс 1, 2, 2.
И сада на крају, радимо ЦС51 која има курс ИД3 и Хенри.
И наравно, ИД3 и Џеси.
То изгледа добро.
У реду. Па сад, хајде да се вратимо у прозор терминала.
Дакле, ако сам описати курсеви ћемо видети ово.
Ако желим да видим курсеве могу да сада изаберите звезду од курсева,
полу дебелог црева, а сада видимо те вредности.
А сад, шта још Не желим да урадим?
Изаберите звезду од инструктора, то је као што сам очекивао,
и изаберите звезду од курсева - Наравно доња инструктор.
Па како да ја сада придружити ове табеле?
Дакле, лепота којих је изабрана личне вредности на овај начин је
да ако мислите о томе узимајући сто курса
и инструктор сто и онда уметање
између те две у вашем умови инструктор курс
табела можете врста линија до свих ових личних колона
тако да их споје у једна масивна колона која има све
информације ми бринемо о.
СКЛ синтакса за ово није нужно очигледно,
али хајде да видимо да ли можемо то да урадимо.
Дакле, изаберите звезда из курсева,
и постоји неколико начина као што можемо да урадимо ово.
Идем да удари Ентер само да врста формата ствари лепо,
али то је само стрелица симптом клијент страни алата,
то нема никакве везе са самом СКЛ.
Дакле, изаберите звезда из курсева.
Идем сад да се придруже табела курсеви
на курс за инструктора табели.
Како? На терену под називом цоурсес.ид изнесува наравно
наглашавају инструктор дот шта је име
одговарајућег поља овде да желим пар.
То није ИД.
То је - шта, извините?
>> Курс ИД.
У реду, дозволите ми да умањите.
Али ја желим да се овај један корак даље.
Сада сам урадио ово сто и овај један.
Сада желим да се повуче овај момак у као добро.
Па, нека ме даље придружи целу ову ствар
о инструктор је сто на шта?
Курс ундерсцоре инструцтор.инструцтор ид
изједначавање инструцторс.ид.
Тако смо могли да напише ово упит на неколико начина.
Редослед којим сам урадио ово није толико важно.
Ја некако је то урадио у мој ум са лева на десно.
Могли смо урадили на неколико различитих начина
али ако ја сада имам полу дебелог црева и притисните Ентер,
Приметила сам да се вратим нови привремена табела, скуп резултата
такорећи у базе података говоре.
А шта ја имам у овој ствари?
Ја имам на ИД, име, други ИД, који је некако збуњујуће
мени у овом тренутку, Наравно ИД,
инструктор ИД, ИД, и име.
Дакле, на крају дана сада имамо праве податке.
Видим да се предаје ЦС1 по Леитнер, ЦС51 се учи
по Леитнер и тов, и ЦС50 учи Малан.
Но ја сам мало нервозан ово двосмисленост сам створио.
Шта је двосмисленост Ја алудирајући на?
Да?
[Нечујно Напомена]
Има три ИД колоне.
Тако да заправо могу поправити ово и ћемо заправо дешава
да одложи на наш оквир на крају да нам помогне са овим,
али се испоставља да постоји кључна реч у СКЛ зове С,
где можете да наведете алијас, ново име за поље
тако да можемо да се то избегло двосмисленост у потпуности.
Али, схватио да ако ми не урадимо обрати га некако као са
да кључна реч или оквир,
потенцијално постоји тај двосмисленост ако покушате
за приступ поље ИД јер јасно је да постоје оне
са дуплираним именима тамо.
Дакле, ово је придружи и ја мислим у својој глави најбољи начин
да размишљају о томе стварно је да се две табеле,
построје их у Начин на који ви желите.
И то је такозвани унутрашњи придруже у смислу
да смо комбиновање табеле овде.
Постоје и други типови придружује да би се сусрећемо
током времена као спољни придружује,
али за највећи део овог је вероватно најчешћи
за реконструкцију података.
Оно што смо урадили је сада генерално оно што се зове
нормализује своје податке, тако да нема нигде дуплирање
у табелама.
И од дуплирања, ја бих значило да први приступ.
Ако смо поменули Леитнер Тов и на више места
у бази података, то није генерално најбоља одлука
нарочито ако је њихово име моћ променити прековремено или у случају
од брака, рођ снагом промените себе желите само једну
канонски мјесто за неке Вредност подаци попут имена.
У реду.
Дакле, да се подсетимо, ми смо имали Неколико одлука да се направи дизајн
и најважнији вероватно смањити на неки
од ових избора индекса.
Али дозволите ми да истакнем једна друга ствар, као добро.
Ако се вратим у пхпМиАдмин ићи,
једна функција не би могао су наишли пред јест
следећи.
Ако ја одем на курс инструктора, Већ сам се прецизира да су неке
од ове ствари имају индексе.
Али дозволите ми да одем на структуру Картица наравно инструктора.
Дозволите ми да сада кликнете на Индекси и приметио следеће.
Ја сам овде прецизирао да постоји примарни кључ
на колони зове ИД.
Ово је донекле компликована начин наводећи Кардиналност
и тако даље као да се односи на величина поља у бајтовима.
Али сада имам и још један поље, наравно ИД, који је -
Наравно ИД који се врши унапред и јединствено, у реду.
Ја сам овај у унапред за нас.
Дакле, зашто је то - пусти ме дроп ово ради дискусије.
Ох, знаш шта сам урадио?
У реду. Дакле, раније, један од Опасности користећи ГУИ алат
овако, кад смо били Стварање ове придружити табелу,
Наравно инструктор сто, сећам се да сам наведен
Желим да индекс на овом пољу
и индекс на ово друго поље.
Бочни ефекат проверу оба та кутија
на истом екрану је то пхпМиАдмин закључити из тога,
да не желим два засебне индексе,
Желим да се придружи индекс који је генерално само помоћи
или најкориснији када сте претраживање на једно поље не
али оба та поља.
И то је разлог зашто смо имали их тамо повезују
па сам га испустио, јер то није био оно што сам намеравао.
Уместо тога, ја ћу за понављање ово овде.
Ја ћу да идем у ИД курса
и под још само сам ће рећи додали индекс.
И ја ћу да одем под инструктор ИД и рећи додати индекс.
А сад ако кликнете овде, приметити имамо три индекса,
један примарни и као ја намењен по један за сваки
од тих страних кључева.
И ја то зовем јер страно Наравно ИД у овој табели мапама
на којој поље, само да буде јасно, у другој табели.
Примарни кључ зове ИД, у табели под називом курсеви,
и исти посао за другу.
Али сада, је интересантан трик и заиста техника.
Само сам отишао напред и нека ме урадите то мало спорије.
У истом екрану, обавештење пише отношениј поглед овде.
Кликнем ово, а сада сам приметио добили да урадите неколико ограничења.
Дакле, један од Упсидес такође
не само користећи концептуално страни кључеви и друге табеле
као да смо управо на је да кроз дефинисање индекса
на њих можете имати база података помаже вам још више
обезбеди интегритет тог поља.
Конкретно, ја сада могу наведете преко овог кап
доле да поље курс ИД
у овој табели заправо мапе на цоурсес.ид.
Слично томе, инструктор доња ИД мапиране на инструцторс.ид.
Сада, зашто је то корисно?
Па, приметити, на десној ханд сиде оно што се чини сада.
Ја сада могу научити база података која, ако Хенри
на пример увек повлачи и његов ред нестаје
од стола инструктора укупно тиме што
избрисан, ја могу преко ове каскадно приступ обезбедити
да било курсеви Предаје се више није у вези са њим.
Ја могу научити базу података да избришете редове
у овој такозваној придруже табели аутоматски ако Хенри или ако се
од његових курсева нестаје.
Сада, зашто је ово убедљив?
Да?
[Нечујно Напомена]
Ви само треба да то уради једном и дужи рок, зар не?
То је врло лако, ако некако људи долазе и одлазе, долазе курсеви
и иди, база података могла само се препун курсева
и са факултета који нису више није релевантна сету података.
И ваши подаци почиње да се веома неуредни и прљави и устајали,
па овде можемо да сортирате
од спроведе неке од Ова ограничења.
Да?
[Нечујно Напомена]
Зна путем овог.
Ово је екран где смо навођења везу
између страног кључа и примарни кључ.
Дакле, све именовању конвенција сам алудирао
да раније су само конвенције.
Нема инхерентна значење.
То је екран који је само корисно
након што је наведено на индексе свака од тих области као што смо урадили.
И за овај падајућем менију имамо неколико ствари за пример
ако курс је избрисан можете заправо спречавају да брисање
из дешава ако постоји је ред у овој табели
од само кажем, Забранити.
Другим речима Хенри не могу у пензију
док га не раздвоји из ЦС51 и ЦС1.
Дакле, то је добра ствар.
Али то би могло да изазове грешке у вашем коду
ако не очекујемо да, или можемо имати каскаду,
каскада сличан воле Цасцадинг Стиле Схеетс
и каскадно водопад значи да уколико -
ако Хенри повлачи тако - од добијања избрисана
па ће његов ред овде се бришу.
Не Акција значи ништа или нулл је некако корисно ако сте љубазни
од ли мало историјски запис од Хенри пошто учио ЦС51,
али ви само желите да то поље бити нула, тако да су редови тамо
али то није било више повезана са њим.
Дакле, ово су веома моћне технике које можете
и треба да користе иако у интересу посебно
од вас штеди од себе.
Дакле, дозволите ми да помиње Неколико завршних детаља овде,
састојци са којима који могу бити од помоћи
као што смо планирали за дизајн базе података.
Такође имате избор преко базе података
да користите у свом коду.
Ако сте упознати од ЦС161 ти могао -
или чак 61, ви уопште могао бити упознати са системима датотека.
И ту је ствари као, НТФС и ХФС +
и Кс2ФС4 [фонетски] и 3 и тако даље.
Постоји различити начини чувања података на столу.
Слично су тамо различити начини чувања података
у бази података подразумевано барем у апарат
са најновијом верзијом МиСКЛ.
Ми смо користили базе података под називом, нодб,
који подржава Неколико лепих карактеристике.
Али још један заједнички је такође позвао МиИСАМ и још један
који може бити употреба меморије, што значи не стави ништа
на диску, само настави ствари у меморији.
За највећи део вероватно нећете погрешити тек почињу
са нодб, али за било пројекте који имају тенденцију да се укључе високе стопе
уметања на пример, као много брзе сече,
стотине ствари у секунди или хиљаде ствари.
Кад год имате пуно ствари дешава
на у бази података онда ова врста
одлуке нижег нивоа почети да се укључе.
Текст функција пуно за инстанца ради само у МиИСАМ
тако да има импликације.
Али можда сећате, хајде да најмање мотивисати зашто ми је стало
о нодб посебно.
Раса услови генерално односи на шта?
У реду, ово је алузија на пример неки
од које сте можда чули у године прошло било 161 или 50
где имате цимера, обоје стварно воле млеко,
Први од вас дође кући отвара фрижидер нема млека,
затворите фрижидер шетњу преко улице до ЦВС и добити
у реду да купи млеко.
У међувремену, твој цимер долази овамо.
Она такође воли млеко.
Отворите фрижидер и остварује никакву млеко.
Ево је затим иде складишти, можда други ЦВС.
Брзо напред неколико минута Касније можете вратити и сада оба
од које сте купили млеко.
Један од њих је сада дешава да покваре јер ви не урадите
као млеко толико и ово је проблем, зар не?
Због обоје прегледао стање неке променљиве
и донео одлуку засновану на њему иако држава
те променљиве је у суштини у процесу се мења,
све то буде полако преко количина времена које је потребно
да дођете до и од ЦВС.
Дакле, шта је врста глупог реал свет решење за тај проблем?
Оставите поруку, зар не?
То се десило прошли пут.
Увек оставите напомену или закаци буквално ствар.
И ја кажем катанац, јер ако ти узме или узео ЦС161,
закључавање је основни идеја у том свету.
Тако трци услови могу настати такође у свету базе
и можда се сећате можда из ЦС50 финансирати ако сте узели 50,
овај код да смо заиста дали ви у спецификацији
у време тако да ваш Операција је такозвана атомска.
Ако сте желели да, у овом случај, купити деонице
и да има залиха неки посебан симбол.
Рекли смо вам да користите код попут , јер путем овог
на дуплирани кључ ажурирање синтакса, која је изграђена
у МиСКЛ ти си ефективно раде или у инсерт
или у ажурирању после раде изаберите да видите
ако акција је већ тамо.
Другим речима, у аналогни свет куповине акција
млека и фрижидера може бити, прво,
пре куповине удела Гоогле можда ћете желети да изаберете
из базе података свих Акције Гоогле Давид поседује
да видим да ли је он власник нула или више.
Када видите да је он власник нула или више имате
да онда урадите следеће.
Или треба да урадите инсерт
ако он поседује нула 'узрок нема ред за Давида још,
или морате да урадите ажурирање ако барем у теорији желите
да имају један ред по кориснику.
Проблем је избор да број акција
а затим ажурирање или уметање могао прекинути
неко други на други рачунарски терминал покушава да купи
или продати неки од Давида акција акција да ли
за добре сврхе или врста од злонамерне сврхе.
То је као да идете у продавницу када је ваш цимер врати
и проверава стање променљиве.
Дакле, ово синтакса у то време која је била нека врста одговарајућа
за ЦС50, избегава да Проблем заједно.
И то само чини све да Магија закључавања за вас,
али сада са овим врстама пројеката за овог курса
који највероватније ће подразумева више сложених скупова података,
Ви не можете постићи увек ово Валентност.
Све се дешава одједном или уопште не
без прекида тако елегантно.
И тако МиСКЛ, други базе података мотор,
Подршка ствари зову браве,
при чему можете да кажете закључали овај табела, тако да само једна посластица
и обично само један корисник може да додирујте га у било ком тренутку
да читају или пишу и онда можете да га откључате.
Ово је пример из једне МиСКЛ сопствених референци,
где ако имате као банке налог да покушавате
да одузмете новац од а затим додати новац.
Можда ћете желети да уверите се да оба
ове ствари дешавају заједно
тако да нема математичке грешке
и нико губици новац, некако.
Проблем са бравама иако у бази података је
да то обично значи Цела табела је закључана,
што значи ако имате стотину људи који покушавају
да послују са банком онлине на исти износ
времена само један од њих могу да иду у исто време.
Која је глупо, посебно на серверима данас
да имају осам курса, 16 Наравно, имају огромну количину
меморије, нема Разлог за све серијализују
од ваших трансакција ако они купци су само иде
да комуницирају са својим редовима.
Дакле нодб вам омогућава да урадите ствари интелигентнији
и то генерално ће бити приступ узмете у коду,
као што користите нешто зове трансакцију.
А ви то урадите генерално у ПХП коду,
Руби код, Питхон, како год.
Али СКЛ код који је крају користи је ово,
типично.
Старт трансакцију онда наведите два или више упита
да ли желите да извршити потпуно
без прекида или не уопште.
Постоји чак може бити нека изаберите изјаве у
или неки брисање или ажурирање.
Али лепа ствар је да База података ће бити довољно паметан
да бисте били сигурни да ће само закључали редове они заправо
укључени у овај новостима или бира или брише.
Дакле, ако имаш хиљаде редова а ви само додирује три
њих, само да подскуп табеле ће бити закључан
што значи оних других 99 купци могу додирнути своје редове
без серијализују и успоравају вас.
У међувремену, ово је најлепше аспект на трансакције.
Они су трансакције у осети као 161 на фајл систему,
они су трансакциони
што значи да можете ролл их назад, можете да их поништите.
То је као команде или контролишу Ф база података.
Ако откријете део пут кроз све
вашег рада разних података, пуца, нешто је кренуло наопако.
Ви буквално извршава другачија СКЛ упит ролна назад
и сви ови тренд - све изјава ти извршеним
након рекавши почетак трансакција нестати
као да они никада није догодило,
који је невероватно моћна ствар.
А ово су врсте ствари свакако у 50 некако смо
од помете под тепих и само некако претпостављам
да ће све бити добро.
Али када једном почнете размишљање о реалним пројектима
и реалних корисника и интегритета базе података,
то су врсте пројектних одлука
који ће бити важно.