Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
16.04.2013
Размер:
23.16 Кб
Скачать

Understanding SQL. Chapter 21. йънеоеойе ъобюеойк у рпнпэша ртедуфбчмеойк ьфб змбчб тбуулбъщчбеф п лпнбодби нпдйжйлбгйй същлб DML - чуфбчйфш(INSERT), йънеойфш(UPDATE), Й хдбмйфш(DELETE) - ЛПЗДБ ПОЙ РТЙНЕОСАФУС ДМС РТЕДУФБЧМЕОЙК. лБЛ ХРПНСОХФП Ч РТЕДЩДХЭЕК ЗМБЧЕ, ЙУРПМШЪПЧБОЙЕ ЛПНБОД НПДЙЖЙЛБГЙЙ Ч РТЕДУФБЧМЕОЙСИ - ЬФП ЛПУЧЕООЩК УРПУПВ ЙУРПМШЪПЧБОЙС ЙИ Ч УУЩМПЮОЩИ ФБВ- МЙГБИ У РПНПЭША ЪБРТПУПЧ РТЕДУФБЧМЕОЙК. пДОБЛП, ОЕ ЧУЕ РТЕДУФБЧМЕОЙС НПЗХФ НПДЙЖЙГЙТПЧБФШУС. ч ЬФПК ЗМБЧЕ, НЩ ВХДЕН ПВУХЦДБФШ РТБЧЙМБ ПРТЕДЕМСАЭЙЕ, СЧМСЕФУС МЙ РТЕДУФБЧМЕОЙЕ НПДЙЖЙГЙТХЕНЩН. лТПНЕ ФПЗП, ЧЩ ПВХЮЙФЕУШ ЙУРПМШЪПЧБОЙА РТЕДМПЦЕОЙС WITH CHECK OPTION, ЛПФПТПЕ ХРТБЧМСЕФ ХЛБЪБООЩНЙ ЪОБЮЕОЙСНЙ, ЛПФПТЩЕ НПЦОП ЧЧПДЙФШ Ч ФБВМЙГХ У РПНПЭША РТЕДУФБЧМЕОЙС. лБЛ ХРПНСОХФП Ч зМБЧЕ 18, ЬФП, Ч ОЕЛПФПТЩИ УМХЮБСИ, НПЦЕФ ВЩФШ ЦЕМБФЕМШОЩН ЧБТЙБОФПН ОЕРПУТЕДУФЧЕООПЗП ПЗТБОЙЮЕОЙС ФБВМЙГЩ. нпдйжйгйтпчбойе ртедуфбчмеойс пДЙО ЙЪ ОБЙВПМЕЕ ФТХДОЩИ Й ОЕПДОПЪОБЮОЩИ БУРЕЛФПЧ РТЕДУФБЧМЕОЙК - ОЕРПУТЕДУФЧЕООПЕ ЙИ ЙУРПМШЪПЧБОЙЕ У ЛПНБОДБНЙ НПДЙЖЙЛБГЙЙ DML. лБЛ ХРПНСОХФП Ч РТЕДЩДХЭЕК ЗМБЧЕ, ЬФЙ ЛПНБОДЩ ЖБЛФЙЮЕУЛЙ ЧПЪДЕКУФЧХАФ ОБ ЪОБЮЕОЙС Ч ВБЪПЧПК ФБВМЙГЕ РТЕДУФБЧМЕОЙС. ьФП СЧМСЕФУС ОЕЛПФПТЩН РТПФЙЧПТЕЮЙЕН. рТЕДУФБЧМЕОЙЕ УПУФПЙФ ЙЪ ТЕЪХМШФБФПЧ ЪБРТПУБ, Й ЛПЗДБ ЧЩ НПДЙЖЙГЙТХЕФЕ РТЕДУФБЧМЕОЙЕ, ЧЩ НПДЙЖЙГЙТХЕФЕ ОБВПТ ТЕЪХМШФБФПЧ ЪБРТПУБ. оП НПДЙЖЙЛБГЙС ОЕ ДПМЦОБ ЧПЪ- ДЕКУФЧПЧБФШ ОБ ЪБРТПУ ; ПОБ ДПМЦОБ ЧПЪДЕКУФЧПЧБФШ ОБ ЪОБЮЕОЙС Ч ФБВМЙГЕ Л ЛПФПТПК ВЩМ УДЕМБО ЪБРТПУ, Й ФБЛЙН ПВТБЪПН ЙЪНЕОСФШ ЧЩЧПД ЪБРТПУБ. ьФП ОЕ РТПУФПК ЧПРТПУ. уМЕДХАЭЙК ПРЕТБФПТ ВХДЕФ УПЪДБЧБФШ РТЕДУФБЧМЕОЙЕ РПЛБЪБООПЕ ОБ тЙУХОЛЕ 21.1: CREATE VIEW Citymatch (custcity, salescity) AS SELECT DISTINCT a.city, b.city FROM Customers a, Salespeople b WHERE a.snum = b.snum; ьФП РТЕДУФБЧМЕОЙЕ РПЛБЪЩЧБЕФ ЧУЕ УПЧРБДЕОЙС ЪБЛБЪЮЙЛПЧ У ЙИ РТПДБЧГБ- НЙ ФБЛ, ЮФП ЙНЕЕФУС РП ЛТБКОЕК НЕТЕ ПДЙО ЪБЛБЪЮЙЛ Ч ЗПТПДЕ_ЪБЛБЪЮЙЛБ ПВУМХЦЙЧБЕНЩК РТПДБЧГПН Ч ЗПТПДЕ_РТПДБЧГБ. оБРТЙНЕТ, ПДОБ УФТПЛБ ЬФПК ФБВМЙГЩ - London London - РПЛБЪЩЧБЕФ, ЮФП ЙНЕЕФУС РП ЛТБКОЕК НЕТЕ ПДЙО ЪБЛБЪЮЙЛ Ч мПОДПОЕ, ПВУМХЦЙЧБЕНЩК РТПДБЧ- ГПН Ч мПОДПОЕ. ьФБ УФТПЛБ НПЦЕФ ВЩФШ РТПЙЪЧЕДЕОБ РТЙ УПЧРБДЕОЙЙ HoffmanБ У ЕЗП РТПДБЧГПН Peel, РТЙЮЕН ЕУМЙ ПВБ ПОЙ ЙЪ мПОДПОБ. =============== SQL Execution Log ============== | | | SELECT * | | FROM Citymatch; | | =============================================== | | custcity salescity | | --------- --------- | | Berlin San Jose | | London London | | Rome London | | Rome New York | | San Jose Barselona | | San Jose San Jose | | | ================================================ тЙУХОПЛ 21.1: рТЕДУФБЧМЕОЙЕ УПЧРБДЕОЙС РП ЗПТПДБН пДОБЛП, ФП ЦЕ УБНПЕ ЪОБЮЕОЙЕ ВХДЕФ РТПЙЪЧЕДЕОП РТЙ УПЧРБДЕОЙЙ Clemens ЙЪ мПОДПОБ, У ЕЗП РТПДБЧГПН, ЛПФПТЩК ФБЛЦЕ ПЛБЪБМУС У ЙНЕОЕН - Peel. рПЛБ ПФМЙЮБАЭЙЕУС ЛПНВЙОБГЙЙ ЗПТПДПЧ ЧЩВЙТБМЙУШ ЛПОЛТЕФОП, ФПМШЛП ПДОБ УФТПЛБ ЙЪ ЬФЙИ ЪОБЮЕОЙК ВЩМБ РТПЙЪЧЕДЕОБ. дБЦЕ ЕУМЙ ЧЩ ОЕ РПМХЮЙФЕ ЧЩВПТБ ЙУРПМШЪХС ПФМЙЮЙ, ЧЩ ЧУЕ ЕЭЕ ВХДЕФЕ Ч ФПН ЦЕ УБНПН РПМПЦЕОЙЙ, РПФПНХ ЮФП ЧЩ ВХДЕФЕ ФПЗДБ ЙНЕФШ ДЧЕ УФТПЛЙ Ч РТЕДУФБЧМЕОЙЙ У ЙДЕОФЙЮОЩНЙ ЪОБЮЕОЙСНЙ, ФП ЕУФШ У ПВПЙНЙ УФПМВГБНЙ ТБЧ- ОЩНЙ " LПndon London ". ьФЙ ДЧЕ УФТПЛЙ РТЕДУФБЧМЕОЙС ВХДХФ ПФМЙЮБФШУС ДТХЗ ПФ ДТХЗБ, ФБЛ ЮФП ЧЩ РПЛБ ОЕ УНПЦЕФЕ УППВЭЙФШ, ЛБЛБС УФТПЛБ РТЕДУФБЧ- МЕОЙ ЙУИПДЙМБ ЙЪ ЛБЛЙИ ЪОБЮЕОЙК ВБЪПЧЩИ ФБВМЙГ( ЙНЕКФЕ Ч ЧЙДХ, ЮФП ЪБРТПУЩ ОЕ ЙУРПМШЪХАЭЙЕ РТЕДМПЦЕОЙЕ ORDER BY, РТПЙЪЧПДСФ ЧЩЧПД Ч РТПЙЪЧПМШОПН РПТСДЛЕ. ьФП ПФОПУЙФУС ФБЛЦЕ Й Л ЪБРТПУБН ЙУРПМШЪХЕНЩН ЧОХФТЙ РТЕДУФБЧМЕОЙК, ЛПФПТЩЕ ОЕ НПЗХФ ЙУРПМШЪПЧБФШ ORDER BY. фБЛЙН ПВТБЪПН, РПТСДПЛ ЙЪ ДЧХИ УФТПЛ ОЕ НПЦЕФ ВЩФШ ЙУРПМШЪПЧБО ДМС ЙИ ПФМЙЮЙК. ьФП ПЪОБЮБЕФ, ЮФП НЩ ВХДЕН УОПЧБ ПВТБЭБФШУС Л ЧЩЧПДХ УФТПЛ ЛПФПТЩЕ ОЕ НП- ЗХФ ВЩФШ ФПЮОП УЧСЪБОЩ У ХЛБЪБООЩНЙ УФТПЛБНЙ ЪБРТБЫЙЧБЕНПК ФБВМЙГЩ. юФП ЕУМЙ ЧЩ РТПВХЕФЕ ХДБМЙФШ УФТПЛХ " London London " ЙЪ РТЕДУФБЧМЕОЙС? пЪОБЮБМП ВЩ ЬФП ХДБМЕОЙЕ HoffmanБ ЙЪ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ, ХДБМЕОЙЕ Clemens ЙЪ ФПК ЦЕ ФБВМЙГЩ, ЙМЙ ХДБМЕОЙЕ ЙИ ПВПЙИ? дПМЦЕО МЙ SQL ФБЛЦЕ ХДБМЙФШ Peel ЙЪ ФБВМЙГЩ рТПДБЧГПЧ? оБ ЬФЙ ЧПРТПУЩ ОЕЧПЪНПЦОП ПФЧЕФЙФШ ФПЮОП, РП- ЬФПНХ ХДБМЕОЙС ОЕ ТБЪТЕЫЕОЩ Ч РТЕДУФБЧМЕОЙСИ ФБЛПЗП ФЙРБ. рТЕДУФБЧМЕОЙЕ Citymatch - ЬФП РТЙНЕТ РТЕДУФБЧМЕОЙС ФПМШЛП_ЮФЕОЙЕ, ПОП НП- ЦЕФ ВЩФШ ФПМШЛП ЪБРТПЫЕОП, ОП ОЕ ЙЪНЕОЕОП. пртедемеойе нпдйжйгйтхенпуфй ртедуфбчмеойс еУМЙ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ НПЗХФ ЧЩРПМОСФШУС Ч РТЕДУФБЧМЕОЙЙ, РТЕДУФБЧМЕ- ОЙЕ ЛБЛ УППВЭБМПУШ ВХДЕФ НПДЙЖЙГЙТХЕНЩН; Ч РТПФЙЧОПН УМХЮБЕ ПОП РТЕДОБЪОБЮЕОП ФПМШЛП ДМС ЮФЕОЙС РТЙ ЪБРТПУЕ. оЕРТПФЙЧПТЕЮБ ЬФПК ФЕТНЙОПМПЗЙЙ, НЩ ВХДЕН ЙУРПМШЪПЧБФШ ЧЩТБЦЕОЙЕ "НПДЙЖЙГЙТХЕНПЕ РТЕДУФБЧМЕОЙЕ"(updating a view), ЮФП ПЪОБЮБЕФ ЧПЪНПЦОПУФШ ЧЩРПМОЕОЙС Ч РТЕДУФБЧМЕОЙЕ МАВПК ЙЪ ФТЕИ ЛПНБОД НПДЙЖЙЛБГЙЙ DML ( чУФБЧЙФШ, йЪНЕОЙФШ Й хДБМЙФШ ), ЛПФПТЩЕ НПЗХФ ЙЪНЕОСФШ ЪОБЮЕОЙС. лБЛ ЧЩ ПРТЕДЕМЙФЕ, СЧМСЕФУС МЙ РТЕДУФБЧМЕОЙЕ НПДЙЖЙГЙТХЕНЩН? ч ФЕПТЙЙ ВБЪЩ ДБООЩИ, ЬФП - РПЛБ ПВУХЦДБЕНБС ФЕНБ. пУОПЧОПК ЕЕ РТЙОГЙР ФБЛПК: НПДЙЖЙГЙТХЕНПЕ РТЕДУФБЧМЕОЙЕ - ЬФП РТЕДУФБЧМЕОЙЕ Ч ЛПФПТПН ЛПНБОДБ НПДЙЖЙЛБГЙЙ НПЦЕФ ЧЩРПМОЙФШУС, ЮФПВЩ ЙЪНЕОЙФШ ПДОХ Й ФПМШЛП ПДОХ УФТПЛХ ПУОПЧОПК ФБВМЙГЩ Ч ЛБЦДЩК НПНЕОФ ЧТЕНЕОЙ, ОЕ ЧПЪДЕКУФЧХС ОБ МАВЩЕ ДТХЗЙЕ УФТПЛЙ МАВПК ФБВМЙГЩ. йУРПМШЪПЧБОЙЕ ЬФПЗП РТЙОГЙРБ ОБ РТБЛФЙЛЕ, ПДОБЛП, ЪБФТХДОЕОП. лТПНЕ ФПЗП, ОЕЛПФПТЩЕ РТЕДУФБЧМЕОЙС, ЛПФПТЩЕ СЧМСАФУС НПДЙЖЙГЙТХЕНЩНЙ Ч ФЕПТЙЙ, ОБ УБНПН ДЕМЕ ОЕ СЧМСАФУС НПДЙЖЙГЙТХЕНЩНЙ Ч SQL. лТЙФЕТЙЙ РП ЛПФПТЩЕ ПРТЕДЕМСАФ, СЧМСЕФУС МЙ РТЕДУФБЧМЕОЙЕ НПДЙЖЙГЙТХЕНЩН ЙМЙ ОЕФ, Ч SQL, УМЕДХАЭЙЕ: * пОП ДПМЦОП ЧЩЧПДЙФШУС Ч ПДОХ Й ФПМШЛП Ч ПДОХ ВБЪПЧХА ФБВМЙГХ. * пОП ДПМЦОП УПДЕТЦБФШ РЕТЧЙЮОЩК ЛМАЮ ЬФПК ФБВМЙГЩ ( ЬФП ФЕИОЙЮЕУЛЙ ОЕ РТЕДРЙУЩЧБЕФУС УФБОДБТФПН ANSI, ОП ВЩМП ВЩ ОЕРМПИП РТЙДЕТЦЙЧБФШУС ЬФПЗП). * пОП ОЕ ДПМЦОП ЙНЕФШ ОЙЛБЛЙИ РПМЕК, ЛПФПТЩЕ ВЩ СЧМСМЙУШ БЗТЕЗБФОЩНЙ ЖХОЛГЙСНЙ. * пОП ОЕ ДПМЦОП УПДЕТЦБФШ DISTINCT Ч УЧПЕН ПРТЕДЕМЕОЙЙ. * пОП ОЕ ДПМЦОП ЙУРПМШЪПЧБФШ GROUP BY ЙМЙ HAVING Ч УЧПЕН ПРТЕДЕМЕОЙЙ. * пОП ОЕ ДПМЦОП ЙУРПМШЪПЧБФШ РПДЪБРТПУЩ ( ЬФП - ANSI_ПЗТБОЙЮЕОЙЕ ЛПФПТПЕ ОЕ РТЕДРЙУБОП ДМС ОЕЛПФПТЩИ ТЕБМЙЪБГЙК ) * пОП НПЦЕФ ВЩФШ ЙУРПМШЪПЧБОП Ч ДТХЗПН РТЕДУФБЧМЕОЙЙ, ОП ЬФП РТЕДУФБЧМЕ- ОЙЕ ДПМЦОП ФБЛЦЕ ВЩФШ НПДЙЖЙГЙТХЕНЩНЙ. * пОП ОЕ ДПМЦОП ЙУРПМШЪПЧБФШ ЛПОУФБОФЩ, УФТПЛЙ, ЙМЙ ЧЩТБЦЕОЙС ЪОБЮЕОЙК ( ОБРТЙНЕТ: comm * 100 ) УТЕДЙ ЧЩВТБООЩИ РПМЕК ЧЩЧПДБ. * дМС INSERT, ПОП ДПМЦОП УПДЕТЦБФШ МАВЩЕ РПМ ПУОПЧОПК ФБВМЙГЩ ЛПФПТЩЕ ЙНЕАФ ПЗТБОЙЮЕОЙЕ NOT NULL, ЕУМЙ ДТХЗПЕ ПЗТБОЙЮЕОЙЕ РП ХНПМЮБОЙА, ОЕ ПРТЕДЕМЕОП. нпдйжйгйтхенще ртедуфбчмеойс й ртедуфбчмеойс фпмшлп_юфеойе. пДОП ЙЪ ЬФЙИ ПЗТБОЙЮЕОЙК ФП, ЮФП НПДЙЖЙГЙТХЕНЩЕ РТЕДУФБЧМЕОЙС, ЖБЛФЙЮЕУЛЙ, РПДПВОЩ ПЛОБН Ч ВБЪПЧЩИ ФБВМЙГБИ. пОЙ РПЛБЪЩЧБАФ ЛПЕ-ЮФП, ОП ОЕ ПВСЪБФЕМШОП ЧУЕ, ЙЪ УПДЕТЦЙНПЗП ФБВМЙГЩ. пОЙ НПЗХФ ПЗТБОЙЮЙЧБФШ ПРТЕДЕМЕООЩЕ УФТПЛЙ ( ЙУРПМШЪПЧБОЙЕН РТЕДЙЛБФПЧ), ЙМЙ УРЕГЙБМШОП ЙНЕОПЧБООЩЕ УФПМВГЩ ( У ЙУЛМАЮЕОЙСНЙ ), ОП ПОЙ РТЕДУФБЧМСАФ ЪОБЮЕОЙС ОЕРПУТЕДУФЧЕООП Й ОЕ ЧЩЧПДЙФ ЙИ ЙОЖПТНБГЙА, У ЙУРПМШЪПЧБОЙЕН УПУФБЧОЩИ ЖХОЛГЙК Й ЧЩТБЦЕОЙК. пОЙ ФБЛЦЕ ОЕ УТБЧОЙЧБАФ УФТПЛЙ ФБВМЙГ ДТХЗ У ДТХЗПН ( ЛБЛ Ч ПВЯЕДЙОЕОЙСИ Й РПДЪБРТПУБИ, ЙМЙ ЛБЛ У DISTINCT ). тБЪМЙЮЙ НЕЦДХ НПДЙЖЙГЙТХЕНЩНЙ РТЕДУФБЧМЕОЙСНЙ Й РТЕДУФБЧМЕОЙСНЙ ФПМШЛП_ЮФЕОЙЕ ОЕУМХЮБКОЩ. гЕМЙ ДМС ЛПФПТЩИ ЧЩ ЙИ ЙУРПМШЪХЕФЕ, ЮБУФП ТБЪМЙЮОЩ. нПДЙЖЙГЙТХЕНЩЕ РТЕДУФБЧМЕОЙС, Ч ПУОПЧОПН, ЙУРПМШЪХАФУС ФПЮОП ФБЛ ЦЕ ЛБЛ Й ВБЪПЧЩЕ ФБВ- МЙГЩ. жБЛФЙЮЕУЛЙ, РПМШЪПЧБФЕМЙ ОЕ НПЗХФ ДБЦЕ ПУПЪОБФШ, СЧМСЕФУС МЙ ПВЯЕЛФ ЛПФПТЩК ПОЙ ЪБРТБЫЙЧБАФ, ВБЪПЧПК ФБВМЙГЕК ЙМЙ РТЕДУФБЧМЕОЙЕН. ьФП РТЕЧПУИПДОЩК НЕИБОЙЪН ЪБЭЙФЩ ДМС УПЛТЩФЙС ЮБУФЕК ФБВМЙГЩ, ЛПФПТЩЕ СЧМСАФУС ЛПОЖЙДЕОГЙБМШОЩНЙ ЙМЙ ОЕ ПФОПУСФУС Л РПФТЕВОПУФСН ДБООПЗП РПМШЪПЧБФЕМС. ( ч зМБЧЕ 22, НЩ РПЛБЦЕН ЧБН, ЛБЛ РПЪЧПМЙФШ РПМШЪПЧБФЕМСН ПВТБЭБФШУС Л РТЕДУФБЧМЕОЙА, Б ОЕ Л ВБЪПЧПК ФБВМЙГЕ ). рТЕДУФБЧМЕОЙС ФПМШЛП_ЮФЕОЙЕ, У ДТХЗПК УФПТПОЩ, РПЪЧПМСАФ ЧБН РПМХЮБФШ Й РЕТЕЖПТНБФЙТПЧБФШ ДБООЩЕ ВПМЕЕ ТБГЙПОБМШОП. пОЙ ДБАФ ЧБН ВЙВМЙПФЕЛХ УМПЦОЩИ ЪБРТПУПЧ, ЛПФПТЩЕ ЧЩ НПЦЕФЕ ЧЩРПМОЙФШ Й РПЧФПТЙФШ УОПЧБ, УПИТБОСС РПМХЮЕООХА ЧБНЙ ЙОЖПТНБГЙА ДП РПУМЕДОЕК НЙОХФЩ. лТПНЕ ФПЗП, ТЕЪХМШФБФЩ ЬФЙИ ЪБРТПУПЧ Ч ФБВМЙГБИ, ЛПФПТЩЕ НПЗХФ ЪБФЕН ЙУРПМШЪПЧБФШУС Ч ЪБРТПУБИ УБНПУФПСФЕМШОП ( ОБРТЙНЕТ, Ч ПВЯЕДЙОЕОЙСИ ) ЙНЕАФ РТЕЙНХЭЕУФЧП ОБД РТПУФП ЧЩРПМОЕОЙЕН ЪБРТПУПЧ. рТЕДУФБЧМЕОЙС ФПМШЛП_ЮФЕОЙЕ НПЗХФ ФБЛЦЕ ЙНЕФШ РТЙЛМБДОЩЕ РТПЗТБННЩ ЪБЭЙФЩ. оБРТЙНЕТ, ЧЩ НПЦЕФЕ ЪБИПФЕФШ, ЮФПВЩ ОЕЛПФПТЩЕ РПМШЪПЧБФЕМЙ ЧЙДЕ- МЙ БЗТЕЗБФОЩЕ ДБООЩЕ, ФБЛЙЕ ЛБЛ ХУТЕДОЕООПЕ ЪОБЮЕОЙЕ ЛПНЙУУЙПООЩИ РТП- ДБЧГБ, ОЕ ЧЙД ЙОДЙЧЙДХБМШОЩИ ЪОБЮЕОЙК ЛПНЙУУЙПООЩИ. юфп счмсефус - нпдйжйгйтхенщнй ртедуфбчмеойен йНЕАФУС ОЕЛПФПТЩЕ РТЙНЕТЩ НПДЙЖЙГЙТХЕНЩИ РТЕДУФБЧМЕОЙК Й РТЕДУФБЧМЕОЙК ФПМШЛП_ЮФЕОЙЕ: CREATE VIEW Dateorders (odate, ocount) AS SELECT odate, COUNT (*) FROM Orders GROUP BY odate; ьФП - РТЕДУФБЧМЕОЙЕ ФПМШЛП_ЮФЕОЙЕ ЙЪ-ЪБ РТЙУХФУФЧЙС Ч ОЕН БЗТЕЗБФОПК ЖХОЛГЙЙ Й GROUP BY. CREATE VIEW Londoncust AS SELECT * FROM Customers WHERE city = 'London'; б ЬФП - РТЕДУФБЧМЕОЙЕ НПДЙЖЙГЙТХЕНПЕ. CREATE VIEW SJsales (name, number, percentage) AS SELECT sname, snum, comm 100 FROM Salespeople WHERE city = 'SanJose'; ьФП - РТЕДУФБЧМЕОЙЕ ФПМШЛП_ЮФЕОЙЕ ЙЪ-ЪБ ЧЩТБЦЕОЙС " comm * 100 " . рТЙ ЬФПН, ПДОБЛП, ЧПЪНПЦОЩ РЕТЕХРПТСДПЮЕОЙЕ Й РЕТЕЙНЕОПЧБОЙЕ РПМЕК. оЕЛПФПТЩЕ РТПЗТБННЩ ВХДХФ РПЪЧПМСФШ ХДБМЕОЙЕ Ч ЬФПН РТЕДУФБЧМЕОЙЙ ЙМЙ Ч РПТСДЛБИ УФПМВГПЧ snum Й sname. CREATE VIEW Salesonthird AS SELECT * FROM Salespeople WHERE snum IN (SELECT snum FROM Orders WHERE odate = 10/03/1990); ьФП - РТЕДУФБЧМЕОЙЕ ФПМШЛП_ЮФЕОЙЕ Ч ANSI ЙЪ-ЪБ РТЙУХФУФЧЙС Ч ОЕН РПДЪБРТПУБ. ч ОЕЛПФПТЩИ РТПЗТБННБИ, ЬФП НПЦЕФ ВЩФШ РТЙЕНМЕНП. CREATE VIEW Someorders AS SELECT snum, onum, cnum FROM Orders WHERE odate IN (10/03/1990,10/05/1990); ьФП - НПДЙЖЙГЙТХЕНПЕ РТЕДУФБЧМЕОЙЕ. ртпчетлб ъобюеойк рпнеэбенщи ч ртедуфбчмеойе дТХЗПК ЧЩЧПД П НПДЙЖЙГЙТХЕНПУФЙ РТЕДУФБЧМЕОЙС ФПФ, ЮФП ЧЩ НПЦЕФЕ ЧЧПДЙФШ ЪОБЮЕОЙС ЛПФПТЩЕ " РТПЗМБФЩЧБАФУС " (swallowed) Ч ВБЪПЧПК ФБВМЙГЕ. тБУУНПФТЙН ФБЛПЕ РТЕДУФБЧМЕОЙЕ: CREATE VIEW Highratings AS SELECT cnum, rating FROM Customers WHERE rating = 300; ьФП - РТЕДУФБЧМЕОЙЕ НПДЙЖЙГЙТХЕНПЕ. пОП РТПУФП ПЗТБОЙЮЙЧБЕФ ЧБЫ ДПУ- ФХР Л ПРТЕДЕМЕООЩН УФТПЛБН Й УФПМВГБН Ч ФБВМЙГЕ. рТЕДРПМПЦЙН, ЮФП ЧЩ ЧУФБЧМСЕФЕ (INSERT) УМЕДХАЭХА УФТПЛХ: INSERT INTO Highratings VALUES (2018, 200); ьФП - ДПРХУФЙНБ ЛПНБОДБ INSERT Ч ЬФПН РТЕДУФБЧМЕОЙЙ. уФТПЛБ ВХДЕФ ЧУФБЧМЕОБ, У РПНПЭША РТЕДУФБЧМЕОЙС Highratings, Ч ФБВМЙГХ ъБЛБЪЮЙЛПЧ. пДОБЛП ЛПЗДБ ПОБ РПСЧЙФУС ФБН, ПОБ ЙУЮЕЪОЕФ ЙЪ РТЕДУФБЧМЕОЙС, РПУЛПМШЛХ ЪОБЮЕОЙЕ ПГЕОЛЙ ОЕ ТБЧОП 300. ьФП - ПВЩЮОБ РТПВМЕНБ. ъОБЮЕОЙЕ 200 НПЦЕФ ВЩФШ РТПУФП ОБРЕЮБФБОП, ОП ФЕРЕТШ УФТПЛБ ОБИПДЙФУС ХЦЕ Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ ЗДЕ ЧЩ ОЕ НПЦЕФЕ ДБЦЕ ХЧЙДЕФШ ЕЕ. рПМШЪПЧБФЕМШ ОЕ УНПЦЕФ РПОСФШ, РПЮЕНХ ЧЧЕДС УФТПЛХ ПО ОЕ НПЦЕФ ЕЕ ХЧЙДЕФШ, Й ВХДЕФ ОЕ- УРПУПВЕО РТЙ ЬФПН ХДБМЙФШ ЕЕ. чЩ НПЦЕФЕ ВЩФШ ЗБТБОФЙТПЧБОЩ ПФ НПДЙЖЙЛБГЙК ФБЛПЗП ФЙРБ У РПНПЭША ЧЛМАЮЕОЙС WITH CHECK OPTION (у пргйек ртпчетлй) Ч ПРТЕДЕМЕОЙЕ РТЕДУФБЧМЕОЙС. нЩ НПЦЕН ЙУРПМШЪПЧБФШ WITH CHECK OPTION Ч ПРТЕДЕМЕОЙЙ РТЕДУФБЧМЕОЙС Highratmgs. CREATE VIEW Highratings AS SELECT cnum, rating FROM Customers WHERE rating = 300 WITH CHECK OPTION; чЩЫЕХРПНСОХФБС ЧУФБЧЛБ ВХДЕФ ПФЛМПОЕОБ. WITH CHECK OPTION - РТПЙЪЧПДЙФ ДЕКУФЧЙЕ ЧУЕ_ЙМЙ_ОЙЮЕЗП (all-or-nothing). чЩ РПНЕЭБЕФЕ ЕЗП Ч ПРТЕДЕМЕОЙЕ РТЕДУФБЧМЕОЙС, Б ОЕ Ч ЛПНБОДХ DML, ФБЛ ЮФП ЙМЙ ЧУЕ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ Ч РТЕДУФБЧМЕОЙЙ ВХДХФ РТПЧЕТСФШУС, ЙМЙ ОЙ ПДОБ ОЕ ВХДЕФ РТПЧЕТЕОБ. пВЩЮОП ЧЩ ИПФЙФЕ ЙУРПМШЪПЧБФШ ПРГЙА РТПЧЕТЛЙ, ЙУРПМШЪХС ЕЕ Ч ПРТЕДЕМЕОЙЙ РТЕДУФБЧМЕОЙС, ЮФП НПЦЕФ ВЩФШ ХДПВОП. ч ПВЭЕН, ЧЩ ДПМЦОЩ ЙУРПМШЪПЧБФШ ЬФХ ПРГЙА, ЕУМЙ Х ЧБУ ОЕФ РТЙЮЙОЩ, ТБЪТЕЫБФШ РТЕДУФБЧМЕОЙА РПНЕЭБФШ Ч ФБВМЙГХ ЪОБЮЕОЙС, ЛПФПТЩЕ ПО УБН ОЕ НПЦЕФ УПДЕТЦБФШ. ртедйлбфщ й йулмаюеооще рпмс рПИПЦБ РТПВМЕНБ, ЛПФПТХА ЧЩ ДПМЦОЩ ЪОБФШ, ЧЛМАЮБЕФ Ч УЕВС ЧУФБЧЛХ УФТПЛ Ч РТЕДУФБЧМЕОЙЕ У РТЕДЙЛБФПН, ВБЪЙТХАЭЕНУС ОБ ПДОПН ЙМЙ ВПМЕЕ ЙУЛМАЮЕООЩИ РПМЕК. оБРТЙНЕТ, НПЦЕФ РПЛБЪБФШУС ТБЪХНОЩН, ЮФПВЩ УПЪДБФШ Londonstaff РПДПВОП ЬФПНХ: CREATE VIEW Londonsta1t AS SELECT snum, sname, comm FROM Salespeople WHERE city = 'London'; ч ЛПОГЕ ЛПОГПЧ, ЪБЮЕН ЧЛМАЮБФШ ЪОБЮЕОЙЕ city, ЕУМЙ ЧУЕ ЪОБЮЕОЙС city ВХДХФ ПДЙОБЛПЧЩНЙ. б ЛБЛ ВХДЕФ ЧЩЗМСДЙФ ЛБТФЙОЛБ РПМХЮБЕНБС ЧУСЛЙК ТБЪ, ЛПЗДБ НЩ РТП- ВХЕН ЧУФБЧЙФШ УФТПЛХ. фБЛ ЛБЛ НЩ ОЕ НПЦЕН ХЛБЪБФШ ЪОБЮЕОЙЕ city ЛБЛ ЪОБЮЕОЙЕ РП ХНПМЮБОЙА, ЬФЙН ЪОБЮЕОЙЕН ЧЕТПСФОП ВХДЕФ NULL, Й ПОП ВХДЕФ ЧЧЕДЕОП Ч РПМЕ city ( NULL ЙУРПМШЪХЕФУС ЕУМЙ ДТХЗПЕ ЪОБЮЕОЙЕ РП ХНПМЮБОЙА ЪОБЮЕОЙЕ ОЕ ВЩМП ПРТЕДЕМЕОП. уН. зМБЧХ 18 ДМС РПДТПВОПУФЕК ). фБЛ ЛБЛ Ч ЬФПН УМХЮБЕ РПМЕ city ОЕ ВХДЕФ ТБЧОСФШУС ЪОБЮЕОЙА London, ЧУФБЧМСЕНБС УФТПЛБ ВХДЕФ ЙУЛМАЮЕОБ ЙЪ РТЕДУФБЧМЕОЙС. ьФП ВХДЕФ ЧЕТОЩН ДМС МАВПК УФТПЛЙ ЛПФПТХА ЧЩ РПРТПВХЕФЕ ЧУФБЧЙФШ Ч РТПУНПФТ Londonstaff. чУЕ ПОЙ ДПМЦОЩ ВЩФШ ЧЧЕДЕОЩ У РПНПЭША РТЕДУФБЧМЕОЙС Londonstaff Ч ФБВМЙГХ рТПДБЧГПЧ, Й ЪБФЕН ЙУЛМАЮЕОЩ ЙЪ УБНПЗП РТЕДУФБЧМЕОЙС( ЕУМЙ ПРТЕДЕМЕОЙЕН РП ХНПМЮБОЙА ВЩМ ОЕ London, ФП ЬФП ПУПВЩК УМХЮБК). рПМШЪПЧБФЕМШ ОЕ УНПЦЕФ ЧЧПДЙФШ УФТПЛЙ Ч ЬФП РТЕДУФБЧМЕОЙЕ, ИПФС ЧУЕ ЕЭЕ ОЕЙЪЧЕУФОП, НПЦЕФ МЙ ПО ЧЧПДЙФШ УФТПЛЙ Ч ВБЪПЧХА ФБВМЙГХ. дБЦЕ ЕУМЙ НЩ ДПВБЧЙН WITH CHECK OPTION Ч ПРТЕДЕМЕОЙЕ РТЕДУФБЧМЕОЙС CREATE VIEW Londonstate AS SELECT snum, sname, comm FROM Salespeople WHERE city = 'London' WITH CHECK OPTION; РТПВМЕНБ ОЕ ПВСЪБФЕМШОП ВХДЕФ ТЕЫЕОБ. ч ТЕЪХМШФБФЕ ЬФПЗП НЩ РПМХЮЙН РТЕДУФБЧМЕОЙЕ ЛПФПТПЕ НЩ НПЗМЙ ВЩ НПДЙЖЙГЙТПЧБФШ ЙМЙ ЙЪ ЛПФПТПЗП НЩ НПЗМЙ ВЩ ХДБМСФШ, ОП ОЕ ЧУФБЧМСФШ Ч ОЕЗП. ч ОЕЛПФПТЩИ УМХЮБСИ, ЬФП НПЦЕФ ВЩФШ ИПТПЫП; ИПФС ЧПЪНПЦОП ОЕФ УНЩУМБ РПМШЪПЧБФЕМСН ЙНЕАЭЙН ДПУФХР Л ЬФПНХ РТЕДУФБЧМЕОЙА ЙНЕФШ ЧПЪНПЦОПУФШ ДПВБЧМСФШ УФТПЛЙ. оП ЧЩ ДПМЦ- ОЩ ФПЮОП ПРТЕДЕМЙФШ ЮФП НПЦЕФ РТПЙЪПКФЙ РТЕЦДЕ, ЮЕН ЧЩ УПЪДБДЙФЕ ФБЛПЕ РТЕДУФБЧМЕОЙЕ. дБЦЕ ЕУМЙ ЬФП ОЕ ЧУЕЗДБ НПЦЕФ ПВЕУРЕЮЙФШ чБУ РПМЕЪОПК ЙОЖПТНБГЙЕК, РПМЕЪОП ЧЛМАЮБФШ Ч ЧБЫЕ РТЕДУФБЧМЕОЙЕ ЧУЕ РПМ, ОБ ЛПФПТЩЕ ЙНЕЕФУС УУЩМЛБ Ч РТЕДЙЛБФЕ. еУМЙ ЧЩ ОЕ ИПФЙФЕ ЧЙДЕФШ ЬФЙ РПМ Ч ЧБЫЕН ЧЩЧПДЕ, ЧЩ ЧУЕЗДБ УНПЦЕФЕ ЙУЛМАЮЙФШ ЙИ ЙЪ ЪБРТПУБ Ч РТЕДУФБЧМЕОЙЙ, Ч РТПФЙЧПРПМПЦОПУФШ ЪБРТПУХ ЧОХФТЙ РТЕДУФБЧМЕОЙС. дТХЗЙНЙ УМПЧБНЙ, ЧЩ НПЗМЙ ВЩ ПРТЕДЕМЙФШ РТЕДУФБЧМЕОЙЕ Londonstaff РПДПВОП ЬФПНХ: CREATE VIEW Londonstaff AS SELECT * FROM Salespeople WHERE city = 'London' WITH CHECK OPTION; ьФБ ЛПНБОДБ ЪБРПМОЙФ РТЕДУФБЧМЕОЙЕ ПДЙОБЛПЧЩНЙ ЪОБЮЕОЙСНЙ Ч РПМЕ city, ЛПФПТЩЕ ЧЩ НПЦЕФЕ РТПУФП ЙУЛМАЮЙФШ ЙЪ ЧЩЧПДБ У РПНПЭША ЪБРТПУБ Ч ЛПФПТПН ХЛБЪБОЩ ФПМШЛП ФЕ РПМ ЛПФПТЩЕ ЧЩ ИПФЙФЕ ЧЙДЕФШ SELECT snum, sname, comm FROM Londonstaff; ртпчетлб ртедуфбчмеойк лпфптще вбъйтхафус об дтхзйи ртедуфбчмеойси еЭЕ ПДОП ОБДП ХРПНСОХФШ ПФОПУЙФЕМШОП РТЕДМПЦЕОЙС WITH CHECK OPTION Ч ANSI: ПОП ОЕ ДЕМБЕФ ЛБУЛБДЙТПЧБООПЗП ЙЪНЕОЕОЙС : пОП РТЙНЕОСЕФУС ФПМШЛП Ч РТЕДУФБЧМЕОЙСИ Ч ЛПФПТЩИ ПОП ПРТЕДЕМЕОП, ОП ОЕ Ч РТЕДУФБЧМЕОЙСИ ПУОПЧБООЩИ ОБ ЬФПН РТЕДУФБЧМЕОЙЙ. оБРТЙНЕТ, Ч РТЕДЩДХЭЕН РТЙНЕТЕ CREATE VIEW Highratings AS SELECT cnum, rating FROM Customers WHERE rating = 300 WITH CHECK OPTION; РПРЩФЛБ ЧУФБЧЙФШ ЙМЙ НПДЙЖЙГЙТПЧБФШ ЪОБЮЕОЙЕ ПГЕОЛЙ ОЕ ТБЧОПЕ 300 РП- ФЕТРЙФ ОЕХДБЮХ. пДОБЛП, НЩ НПЦЕН УПЪДБФШ ЧФПТПЕ РТЕДУФБЧМЕОЙЕ ( У ЙДЕОФЙЮОЩН УПДЕТЦБОЙЕН ) ПУОПЧБООПЕ ОБ РЕТЧПН: CREATE VIEW Myratings AS SELECT * FROM Highratings; фЕРЕТШ НЩ НПЦЕН НПДЙЖЙГЙТПЧБФШ ПГЕОЛЙ ОЕ ТБЧОЩЕ 300: UPDATE Myratings SET rating = 200 WHERE cnum = 2004; ьФБ ЛПНБОДБ ЧЩРПМОСЕНБС ФБЛ ЛБЛ ЕУМЙ ВЩ ПОБ ЧЩРПМОСМБУШ ЛБЛ РЕТЧПЕ РТЕДУФБЧМЕОЙЕ, ВХДЕФ ДПРХУФЙНБ. рТЕДМПЦЕОЙЕ WITH CHECK OPTION РТПУФП ЗБТБОФЙТХЕФ, ЮФП МАВБ НПДЙЖЙЛБГЙС Ч РТЕДУФБЧМЕОЙЙ, РТПЙЪЧЕДЕФ ЪОБЮЕОЙС, ЛПФПТЩЕ ХДПЧМЕФЧПТСАФ РТЕДЙЛБФХ ЬФПЗП РТЕДУФБЧМЕОЙС. нПДЙЖЙЛБГЙС ДТХЗЙИ РТЕДУФБЧМЕОЙК ВБЪЙТХАЭЙИУС ОБ РЕТЧПН ФЕЛХЭЕН, СЧМСЕФУС ЧУЕ ЕЭЕ ДПРХУФЙНПК, ЕУМЙ ЬФЙ РТЕДУФБЧМЕОЙС ОЕ ЪБЭЙЭЕОЩ РТЕДМПЦЕОЙСНЙ WITH CHECK OPTION ЧОХФТЙ ЬФЙИ РТЕДУФБЧМЕОЙК. дБЦЕ ЕУМЙ ФБЛЙЕ РТЕДМПЦЕОЙС ХУФБОПЧМЕОЩ, ПОЙ РТПЧЕТСАФ ФПМШЛП ФЕ РТЕДЙЛБФЩ РТЕДУФБЧМЕОЙК Ч ЛПФПТЩИ ПОЙ УПДЕТЦБФУС. фБЛ ОБРТЙНЕТ, ДБЦЕ ЕУМЙ РТЕДУФБЧМЕОЙЕ Myratings УПЪДБЧБМПУШ УМЕДХАЭЙН ПВТБЪПН CREATE VIEW Myratings AS SELECT * FROM Highratings WITH CHECK OPTION; РТПВМЕНБ ОЕ ВХДЕФ ТЕЫЕОБ. рТЕДМПЦЕОЙЕ WITH CHECK OPTION ВХДЕФ ЙУУМЕДПЧБФШ ФПМШЛП РТЕДЙЛБФ РТЕДУФБЧМЕОЙС Myratings. рПЛБ Х Myratings, ЖБЛФЙЮЕУЛЙ, ОЕ ЙНЕЕФУС ОЙЛБЛПЗП РТЕДЙЛБФБ, WITH CHECK OPTION ОЙ- ЮЕЗП ОЕ ВХДЕФ ДЕМБФШ. еУМЙ ЙУРПМШЪХЕФУС РТЕДЙЛБФ, ФП ПО ВХДЕФ РТПЧЕТСФШ- У ЧУСЛЙК ТБЪ, ЛПЗДБ РТЕДУФБЧМЕОЙЕ Myratings ВХДЕФ НПДЙЖЙГЙТПЧБФШУС, ОП РТЕДЙЛБФ Highratings ЧУЕ ТБЧОП ВХДЕФ РТПЙЗОПТЙТПЧБО. ьФП - ДЕЖЕЛФ Ч УФБОДБТФЕ ANSI, ЛПФПТЩК Х ВПМШЫЙОУФЧП РТПЗТБНН ЙУРТБЧМЕО. чЩ НПЦЕФЕ РПРТПВПЧБФШ ЙУРПМШЪПЧБФШ РТЕДУФБЧМЕОЙЕ ОБРПДПВЙЕ РПУМЕДОЕЗП РТЙНЕТБ Й РПУНПФТЕФШ ЙЪВБЧМЕОБ МЙ ЧБЫБ УЙУФЕНБ ПФ ЬФПЗП ДЕЖЕЛФБ. ( рПРЩФЛБ ЧЩСУОЙФШ ЬФП УБНПУФПСФЕМШОП НПЦЕФ ВЩФШ ЙОПЗДБ ВЩФШ РТПЭЕ Й СУОЕЕ, ЮЕН РПЙУЛ ПФЧЕФБ Ч ДПЛХНЕОФБГЙЙ УЙУФЕНЩ. ) теъане чЩ ФЕРЕТШ ПЧМБДЕМЙ ЪОБОЙСНЙ П РТЕДУФБЧМЕОЙСИ РПМОПУФША. лТПНЕ РТБЧЙМ ПРТЕДЕМСАЭЙИ, СЧМСЕФУС МЙ ДБООПЕ РТЕДУФБЧМЕОЙЕ НПДЙЖЙГЙТХЕНЩНЙ Ч SQL, ЧЩ РПЪОБЛПНЙМЙУШ У ПУОПЧОЩНЙ РПОСФЙСНЙ ОБ ЛПФПТЩИ ЬФЙ РТБЧЙМБ ВБЪЙТХАФУС - Ф.Е. ЮФП НПДЙЖЙЛБГЙЙ Ч РТЕДУФБЧМЕОЙСИ ДПРХУФЙНЩ ФПМШЛП ЛПЗДБ SQL НПЦЕФ ОЕДЧХУНЩУМЕООП ПРТЕДЕМЙФШ, ЛБЛЙЕ ЪОБЮЕОЙС ВБЪПЧПК ФБВМЙГЩ НПЦОП ЙЪНЕОСФШ. ьФП ПЪОБЮБЕФ ЮФП ЛПНБОДБ НПДЙЖЙЛБГЙЙ, РТЙ ЧЩРПМОЕОЙЙ, ОЕ ДПМЦОБ ФТЕВПЧБФШ ОЙ ЙЪНЕОЕОЙК ДМС НОПЗЙИ УФТПЛ УТБЪХ, ОЙ УТБЧОЕОЙК НЕЦДХ НОПЗПЮЙУМЕООЩНЙ УФТПЛБНЙ МЙВП ВБЪПЧПК ФБВМЙГЩ МЙВП ЧЩЧПДБ ЪБРТПУБ. фБЛ ЛБЛ ПВЯЕДЙОЕОЙС ЧЛМАЮБАФ Ч УЕВС УТБЧОЕОЙЕ УФТПЛ, ПОЙ ФБЛЦЕ ЪБРТЕЭЕОЩ. чЩ ФБЛЦЕ РПОСМЙ ТБЪМЙЮЙЕ НЕЦДХ ОЕЛПФПТЩНЙ УРПУПВБНЙ ЛПФПТЩЕ ЙУРПМШЪХАФ НПДЙЖЙГЙТХЕНЩЕ РТЕДУФБЧМЕОЙС Й РТЕДУФБЧМЕОЙС ФПМШЛП_ЮФЕОЙЕ. чЩ ОБХЮЙМЙУШ ЧПУРТЙОЙНБФШ НПДЙЖЙГЙТХЕНЩЕ РТЕДУФБЧМЕОЙС ЛБЛ ПЛОБ, ПФПВТБЦБАЭЙЕ ДБООЩЕ ПДЙОПЮОПК ФБВМЙГЩ, ОП ОЕПВСЪБФЕМШОП ЙУЛМАЮБАЭЙЕ ЙМЙ ТЕПТЗБОЙЪХАЭЙЕ УФПМВГЩ, РПУТЕДУФЧПН ЧЩВПТБ ФПМШЛП ПРТЕДЕМЕООЩИ УФТПЛ ПФЧЕЮБАЭЙИ ХУМПЧЙА РТЕДЙЛБФБ. рТЕДУФБЧМЕОЙС ФПМШЛП_ЮФЕОЙЕ, У ДТХЗПК УФПТПОЩ, НПЗХФ УПДЕТЦБФШ ВПМЕЕ ДПРХУФЙНЩЕ ЪБРТПУЩ SQL; ПОЙ НПЗХФ УМЕДПЧБФЕМШОП УФБФШ УРПУПВПН ИТБОЕОЙС ЪБРТПУПЧ, ЛПФПТЩЕ ЧБН ОХЦОП ЮБУФП ЧЩРПМОСФШ Ч ОЕЙЪНЕООПК ЖПТНЕ. лТПНЕ ФПЗП, ОБМЙЮЙЕ ЪБРТПУБ ЮЕК ЧЩЧПД ПВТБВБФЩЧБЕФУС ЛБЛ ПВЯЕЛФ ДБООЩИ, ДБЕФ ЧБН ЧПЪНПЦОПУФШ ЙНЕФШ СУОПУФШ Й ХДПВУФЧП РТЙ УПЪДБОЙЙ ЪБРТПУПЧ Ч ЧЩЧПДЕ ЪБРТПУПЧ. чЩ ФЕРЕТШ НПЦЕФЕ РТЕДПИТБОСФШ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ Ч РТЕДУФБЧМЕОЙЙ ПФ УПЪДБОЙС УФТПЛ Ч ВБЪПЧПК ФБВМЙГЕ, ЛПФПТЩЕ ОЕ РТЕДУФБЧМЕОЩ Ч УБНПН РТЕДУФБЧМЕОЙЙ У РПНПЭША РТЕДМПЦЕОЙС WITH CHECK OPTION Ч ПРТЕДЕМЕОЙЙ РТЕДУФБЧМЕОЙС. чЩ НПЦЕФЕ ФБЛЦЕ ЙУРПМШЪПЧБФШ WITH CHECK OPTION ЛБЛ ПДЙО ЙЪ УРПУПВПЧ ПЗТБОЙЮЕОЙС Ч ВБЪПЧПК ФБВМЙГЕ. ч БЧФПОПНОЩИ ЪБРТПУБИ, ЧЩ ПВЩЮОП ЙУРПМШЪХЕФЕ ПДЙО ЙМЙ ВПМЕЕ УФПМВГПЧ Ч РТЕДЙЛБФЕ ОЕ РТЕДУФБЧМЕООЩИ УТЕДЙ ЧЩВТБООЩИ ДМС ЧЩЧПДБ, ЮФП ОЕ ЧЩЪЩЧБЕФ ОЙЛБЛЙИ РТПВМЕН. оП ЕУМЙ ЬФЙ ЪБРТПУЩ ЙУРПМШЪХАФУС Ч НПДЙЖЙГЙТХЕНЩИ РТЕДУФБЧМЕОЙСИ, РПСЧМСАФУС РТПВМЕНЩ, ФБЛ ЛБЛ ЬФЙ ЪБРТПУЩ РТПЙЪЧПДСФ РТЕДУФБЧМЕОЙС, ЛПФПТЩЕ ОЕ НПЗХФ ЙНЕФШ ЧУФБЧМСЕНЩИ Ч ОЙИ УФТПЛ. чЩ ЧЙДЕМЙ ОЕЛПФПТЩЕ РПДИПДЩ Л ЬФЙН РТПВМЕНБН. ч зМБЧБИ 20 й 21, НЩ ЗПЧПТЙМЙ, ЮФП РТЕДУФБЧМЕОЙС ЙНЕАФ РТЙЛМБДОЩЕ РТПЗТБННЩ ЪБЭЙФЩ. чЩ НПЦЕФЕ РПЪЧПМЙФШ РПМШЪПЧБФЕМСН ПВТБЭБФШУС Л РТЕДУФБЧМЕОЙСН ОЕ ТБЪТЕЫБС Ч ФПЦЕ ЧТЕН ПВТБЭБФШУС Л ФБВМЙГБН Ч ЛПФПТЩИ ЬФЙ РТЕДУФБЧМЕОЙС ОЕРПУТЕДУФЧЕООП ОБИПДСФУС. зМБЧБ 22 ВХДЕФ ЙУУМЕДПЧБФШ ЧПРТПУЩ ДПУФХРБ Л ПВЯЕЛФБН ДБООЩИ Ч SQL. тбвпфб у SQL 1. лБЛПЕ ЙЪ ЬФЙИ РТЕДУФБЧМЕОЙК - НПДЙЖЙГЙТХЕНПЕ ? #1 CREATE VIEW Dailyorders AS SELECT DISTINCT cnum, snum, onum, odate FROM Orders; #2 CREATE VIEW Custotals AS SELECT cname, SUM (amt) FROM Orders, Customers WHERE Orders.cnum = customer.cnum GROUP BY cname; #3 CREATE VIEW Thirdorders AS SELECT * FROM Dailyorders WHERE odate = 10/03/1990; #4 CREATE VIEW Nullcities AS SELECT snum, sname, city FROM Salespeople WHERE city IS NULL OR sname BETWEEN 'A' AND 'MZ'; 2. уПЪДБКФЕ РТЕДУФБЧМЕОЙЕ ФБВМЙГЩ рТПДБЧГПЧ У ЙНЕОЕН Commissions (лПНЙУУЙПООЩЕ). ьФП РТЕДУФБЧМЕОЙЕ ДПМЦОП ЧЛМАЮБФШ ФПМШЛП РПМ comm Й snum. у РПНПЭША ЬФПЗП РТЕДУФБЧМЕОЙС, НПЦОП ВХДЕФ ЧЧПДЙФШ ЙМЙ ЙЪНЕОСФШ ЛПНЙУУЙПООЩЕ, ОП ФПМШЛП ДМС ЪОБЮЕОЙК НЕЦДХ .10 Й .20. 3. оЕЛПФПТЩЕ SQL ТЕБМЙЪБГЙЙ ЙНЕАФ ЧУФТПЕООХА ЛПОУФБОФХ РТЕДУФБЧМСАЭХА ФЕЛХЭХА ДБФХ, ЙОПЗДБ ОБЪЩЧБЕНХА " CURDATE ". уМПЧП CURDATE НПЦЕФ УМЕДПЧБФЕМШОП ЙУРПМШЪПЧБФШУС Ч ПРЕТБФПТЕ SQL, Й ЪБНЕОСФШУС ФЕЛХЭЕК ДБФПК, ЛПЗДБ ЕЗП ЪОБЮЕОЙЕ УФБОЕФ ДПУФХРОЩН У РП- НПЭША ФБЛЙИ ЛПНБОД ЛБЛ SELECT ЙМЙ INSERT. нЩ ВХДЕН ЙУРПМШЪПЧБФШ РТЕДУФБЧМЕОЙЕ ФБВМЙГЩ рПТСДЛПЧ У ЙНЕОЕН Entryorders ДМС ЧУФБЧЛЙ УФТПЛ Ч ФБВМЙГХ рПТСДЛПЧ. уПЪДБКФЕ ФБВМЙГХ РПТСДЛПЧ, ФБЛ ЮФПВЩ CURDATE БЧФПНБФЙЮЕУЛЙ ЧУФБЧМСМБУШ Ч РПМЕ odate ЕУМЙ ОЕ ХЛБЪБОП ДТХЗПЗП ЪОБЮЕОЙС. ъБФЕН УПЪДБКФЕ РТЕДУФБЧМЕОЙЕ Entryorders, ФБЛ ЮФПВЩ ЪОБЮЕОЙС ОЕ НПЗМЙ ВЩФШ ХЛБЪБОЩ. ( уН.рТЙМПЦЕОЙЕ A ДМС ПФЧЕФПЧ. )

Соседние файлы в папке Understanding SQL (rus - html)