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

Understanding SQL. Chapter 24. лбл дбооще SQL упдетцбфус ч хрптсдпюеоопн чйде ч ьфпк змбче, чщ хъобефе лбл фйрпчбс SQL вбъб ДБООЩИ УПИТБОСЕФ УБНППТЗБОЙЪПЧБООПУФШ. оЕ ХДЙЧЙФЕМШОП, ЮФП УБНППТЗБОЙЪПЧБООПУФШ ПВЕУРЕЮЙЧБЕФУС ТЕМСГЙПООПК ВБЪПК ДБООЩИ, УПЪДБЧБЕНПК Й РПДДЕТЦЙЧБЕНПК У РПНПЭША РТПЗТБННЩ. чЩ НПЦЕФЕ ПВТБЭБФШУС Л ЬФЙН ФБВМЙГБН УБНПУФПСФЕМШОП ДМС РПМХЮЕОЙС ЙОЖПТНБГЙЙ П РТЙЧЙМЕЗЙСИ, ФБВМЙГБИ, ЙОДЕЛУБИ, Й ФБЛ ДБМЕЕ. ьФБ ЗМБЧБ РПЛБЦЕФ ЧБН ОЕЛПФПТЩЕ ФЙРЩ УПДЕТЦБЭЙЕУС Ч ФБЛПК ВБЪЕ ДБООЩИ. лбфбмпз уйуфенщ юФПВЩ ЖХОЛГЙПОЙТПЧБФШ ЛБЛ SQL ВБЪБ ДБООЩИ, ЧБЫБ ЛПНРШАФЕТОБС УЙУФЕНБ ДПМЦОБ УМЕДЙФШ ЪБ НОПЗЙНЙ ТБЪМЙЮОЩНЙ ЧЕЭБНЙ: ФБВМЙГБНЙ, РТЕДУФБЧМЕОЙС- НЙ, ЙОДЕЛУБНЙ, УЙОПОЙНБНЙ, РТЙЧЙМЕЗЙСНЙ, РПМШЪПЧБФЕМСНЙ, Й ФБЛ ДБМЕЕ. йНЕАФУС ТБЪМЙЮОЩЕ УРПУПВЩ ДЕМБФШ ЬФП, ОП СУОП, ЮФП ОБЙВПМЕЕ МПЗЙЮОЩК, ЬЖЖЕЛФЙЧОЩК, Й УПЗМБУПЧБООЩК УРПУПВ ДЕМБФШ ЬФП Ч ТЕМСГЙПООПК УТЕДЕ УПУФПЙФ Ч ФПН, ЮФПВЩ УПИТБОСФШ ЬФХ ЙОЖПТНБГЙА Ч ФБВМЙГБИ. ьФП ДБЕФ ЧПЪНПЦОПУФШ ЛПНРШАФЕТХ ТБЪНЕЭБФШ Й ХРТБЧМСФШ ЙОЖПТНБГЙЕК Ч ЛПФПТПК ПО ОХЦДБЕФУС, ЙУРПМШЪХС ФЕ ЦЕ УБНЩЕ РТПГЕДХТЩ ЛПФПТЩЕ ПО ЙУРПМШЪХЕФ ЮФПВЩ ТБЪНЕЭБФШ Й ХРТБЧМСФШ ДБООЩНЙ ЛПФПТЩЕ ПО ИТБОЙФ ДМС ЧБУ. иПФС ЬФП - ЧПРТПУ ЛПОЛТЕФОПК РТПЗТБННЩ, Б ОЕ ЮБУФШ УФБОДБТФБ ANSI, ВПМШЫЙОУФЧП SQL ВБЪ ДБООЩИ, ЙУРПМШЪХАФ ОБВПТ SQL ФБВМЙГ ИТБОСЭЙИ УМХЦЕВОХА ЙОЖПТНБГЙА ДМС УЧПЙИ ЧОХФТЕООЙИ РПФТЕВОПУФЕК. ьФПФ ОБВПТ ОБЪЩЧБЕФУС Ч ТБЪМЙЮОЩИ РХВМЙЛБГЙСИ ЛБЛ - УЙУФЕНОЩК ЛБФБМПЗ, УМПЧБТШ ДБООЩИ, ЙМЙ РТПУФП УЙУФЕНОЩЕ ФБВМЙГЩ ( фЕТНЙО "УМПЧБТШ ДБООЩИ" НПЦЕФ ФБЛЦЕ ПФОПУЙФУС Л ПВЭЕНХ БТИЙЧХ ДБООЩИ, ЧЛМАЮБС ЙОЖПТНБГЙА П ЖЙЪЙЮЕУЛЙИ РБТБНЕФТБИ ВБЪЩ ДБООЩИ ЛПФПТЩЕ ИТБОСФУС ЧОЕ SQL. уМЕДПЧБФЕМШОП, ЙНЕАФУС РТПЗТБННЩ ВБЪ ДБООЩИ, ЛПФПТЩЕ ЙНЕАФ Й УЙУФЕНОЩК ЛБФБМПЗ Й УМПЧБТШ ДБООЩИ. ) фБВМЙГЩ УЙУФЕНОПЗП ЛБФБМПЗБ - ОБРПНЙОБАФ ПВЩЮОЩЕ SQL ФБВМЙГЩ: ФЕ ЦЕ УФТПЛЙ Й УФПМВГЩ ДБООЩИ. оБРТЙНЕТ, ПДОБ ФБВМЙГБ ЛБФБМПЗБ ПВЩЮОП УПДЕТЦЙФ ЙОЖПТНБГЙА П ФБВМЙГБИ УХЭЕУФЧХАЭЙИ Ч ВБЪЕ ДБООЩИ, РП ПДОПК УФТПЛЕ ОБ ЛБЦДХА ФБВМЙГХ ВБЪЩ ДБООЩИ; ДТХЗБ УПДЕТЦЙФ ЙОЖПТНБГЙА П ТБЪ- МЙЮОЩИ УФПМВГБИ ФБВМЙГ, РП ПДОПК УФТПЛЕ ОБ УФПМВЕГ, Й ФБЛ ДБМЕЕ. фБВМЙГЩ ЛБФБМПЗБ УПЪДБАФУС Й РТЙУЧБЙЧБАФУС У РПНПЭША УБНПК ВБЪЩ ДБООЩИ, Й ЙДЕОФЙЖЙГЙТХАФУС У РПНПЭША УРЕГЙБМШОЩИ ЙНЕО, ФБЛЙИ ОБРТЙНЕТ ЛБЛ SYSTEM. вБЪБ ДБООЩИ УПЪДБЕФ ЬФЙ ФБВМЙГЩ Й НПДЙЖЙГЙТХЕФ ЙИ БЧФПНБФЙЮЕУЛЙ; ФБВМЙГЩ ЛБФБМПЗБ ОЕ НПЗХФ ВЩФШ ОЕРПУТЕДУФЧЕООП РПДЧЕТЗОХФЩ ДЕКУФЧЙА ЛПНБОДЩ НПДЙЖЙЛБГЙЙ. еУМЙ ЬФП УМХЮЙФУС, ЬФП ЪОБЮЙФЕМШОП ЪБРХФБЕФ ЧУА УЙУФЕНХ Й УДЕМБЕФ ЕЕ ОЕ- ТБВПФПУРПУПВОПК. пДОБЛП, Ч ВПМШЫЙОУФЧЕ УЙУФЕН, ЛБФБМПЗ НПЦЕФ ВЩФШ ЪБ- РТПЫЕО РПМШЪПЧБФЕМЕН. ьФП ПЮЕОШ РПМЕЪОП, РПФПНХ ЮФП ЬФП ДБЕФ ЧБН ЧПЪНПЦОПУФШ ХЪОБФШ ЛПЕ-ЮФП П ВБЪЕ ДБООЩИ, ЛПФПТХА ЧЩ ЙУРПМШЪХЕФЕ. лПОЕЮОП, ЧУС ЙОЖПТНБГЙС ОЕ ЧУЕЗДБ ДПУФХРОБ ЧУЕН РПМШЪПЧБФЕМСН. рПДПВОП ДТХЗЙН ФБВМЙГБН, ДПУФХР Л ЛБФБМПЗХ ПЗТБОЙЮЕО ДМС РПМШЪПЧБФЕМЕК ВЕЪ УППФЧЕФУФЧХАЭЙИ РТЙЧЙМЕЗЙК. фБЛ ЛБЛ ЛБФБМПЗ РТЙОБДМЕЦЙФ УБНПК УЙУФЕНЕ, ЙНЕЕФУС ОЕЛПФПТБС ОЕСУОПУФШ ПФОПУЙФЕМШОП ФПЗП, ЛФП ЙНЕЕФ РТЙЧЙМЕЗЙЙ Й ЛФП НПЦЕФ РТЕДПУФБЧЙФШ РТЙЧЙМЕЗЙЙ Ч ЬФПН ЛБФБМПЗЕ. пВЩЮОП, РТЙЧЙМЕЗЙЙ ЛБФБМПЗБ РТЕДПУФБЧМСЕФ УХРЕТРПМШЪПЧБФЕМШ, ОБРТЙНЕТ, БДНЙОЙУФТБФПТ УЙУФЕНЩ, ЪБТЕЗЙУФТЙТПЧБООЩК ЛБЛ SYSTEM ЙМЙ DBA. лТПНЕ ФПЗП, ОЕЛПФПТЩЕ РТЙЧЙМЕЗЙЙ НПЗХФ РТЕДПУФБЧМСФШУС РПМШЪПЧБФЕМСН БЧФПНБФЙЮЕУЛЙ. фйрйюощк уйуфенощк лбфбмпз дБЧБКФЕ ТБУУНПФТЙН ОЕЛПФПТЩЕ ФБВМЙГЩ ЛПФПТЩЕ НЩ НПЗМЙ ВЩ ОБКФЙ Ч ФЙРПЧПН ЛБФБМПЗЕ УЙУФЕНЩ: фБВМЙГЩ уПДЕТЦБОЙЕ ------------- ------------------------------------------- SYSTEMCATALOG фБВМЙГЩ (ВБЪПЧЩЕ Й РТЕДУФБЧМЕОЙС) SYSTEMCOLUMNS уФПМВГЩ ФБВМЙГЩ SYSTEMTABLES лБФБМПЗ рТЕДУФБЧМЕОЙС Ч SYSTEMCATALOG SYSTEMINDEXES йОДЕЛУЩ Ч ФБВМЙГЕ SYSTEMUSERAUTH рПМШЪПЧБФЕМЙ ВБЪЩ ДБООЩИ SYSTEMTABAUTH пВЯЕЛФОЩЕ РТЙЧЙМЕЗЙЙ РПМШЪПЧБФЕМЕК SYSTEMCOLAUTH уФПМВГПЧЩЕ РТЙЧЙМЕЗЙЙ РПМШЪПЧБФЕМЕК SYSTEMSYNONS уЙОПОЙНЩ ДМС ФБВМЙГ фЕРЕТШ, ЕУМЙ ОБЫ DBA РТЕДПУФБЧЙФ РПМШЪПЧБФЕМА Stephen РТБЧП РТПУНБФТЙЧБФШ SYSTEMCATALOG ФБЛПК ЛПНБОДПК, GRANT SELECT ON SYSTEMCATALOG TO Stephen; ФП Stephen УНПЦЕФ ХЧЙДЕФШ ОЕЛПФПТХА ЙОЖПТНБГЙА ПВП ЧУЕИ ФБВМЙГБИ Ч ВБЪЕ ДБООЩИ ( НЩ ЙНЕЕН ЪДЕУШ РПМШЪПЧБФЕМС DBA, РПМШЪПЧБФЕМС Chris, ЧМБДЕМШГБ ФТЕИ ОБЫЙИ ФЙРПЧЩИ ФБВМЙГ, Б ФБЛЦЕ Adrian ЧМБДЕМШГБ РТЕДУФБЧМЕОЙС Londoncust ). SELECT tname, owner, numcolumns, type, CO FROM SYSTEMCATALOG; =============== SQL Execution Log =============== | | | SELECT tname, owner, numcolumns, type, CO | | FROM SYSTEMCATALOG; | | | | ================================================ | | tname owner numcolumns type CO | | ------------- ------- ---------- ---- --- | | SYSTEMCATALOG SYSTEM 4 B | | Salespeople Chris 4 B | | Customers Chris 5 B | | Londoncust Adrian 5 V Y | | Orders Chris 5 B | | | ================================================== тЙУХОПЛ 24.1: уПДЕТЦБОЙЕ ФБВМЙГЩ SYSTEMCATALOG лБЛ ЧЩ НПЦЕФЕ ЧЙДЕФШ, ЛБЦДБС УФТПЛБ ПРЙУЩЧБЕФ УЧПА ФБВМЙГХ. рЕТЧЩК УФПМВЕГ - ЙН; ЧФПТПК - ЙН РПМШЪПЧБФЕМС ЛПФПТЩК ЧМБДЕЕФ ЕА; ФТЕФЙК - ЮЙУМП УФПМВГПЧ ЛПФПТЩЕ УПДЕТЦЙФ ФБВМЙГБ; Й ЮЕФЧЕТФЩК - ЛПД ЙЪ ПДОПЗП УЙНЧПМБ, ЬФП ЙМЙ B ( ДМС ВБЪПЧПК ФБВМЙГЩ ) ЙМЙ V ( ДМС РТЕДУФБЧМЕОЙС ). рПУМЕДОЙК УФПМВЕГ ЙНЕЕФ РХУФЩЕ(NULL) ЪОБЮЕОЙС, ЕУМЙ ЕЗП ФЙР ОЕ ТБЧЕО V; Й ЬФПФ УФПМВЕГ ХЛБЪЩЧБЕФ, ПРТЕДЕМЕОБ ЙМЙ ОЕФ ЧПЪНПЦОПУФШ РТПЧЕТЛЙ. пВТБФЙФЕ ЧОЙНБОЙЕ ЮФП SYSTEMCATALOG(уйуфенощк лбфбмпз) РТЕДУФБЧМЕО ЛБЛ ПДОБ ЙЪ ФБВМЙГ Ч ЧЩЫЕУЛБЪБООПН УРЙУЛЕ. дМС РТПУФПФЩ, НЩ ЙУЛМАЮЙМЙ ПУФБМШОЩЕ ЛБФБМПЗЙ УЙУФЕНЩ ЙЪ ЧЩЧПДБ. фБВМЙГЩ УЙУФЕНОПЗП ЛБФБМПЗБ ПВЩЮОП РПЛБЪЩЧБАФУС Ч SYSTEMCATALOG. йурпмшъпчбойе ртедуфбчмеойк ч фбвмйгби лбфбмпзб рПУЛПМШЛХ SYSTEMCATALOG - ЬФП ФБВМЙГБ, ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ЕЕ Ч РТЕДУФБЧМЕОЙЙ. жБЛФЙЮЕУЛЙ НПЦОП УЮЙФБФШ, ЮФП ЙНЕЕФУС ФБЛПЕ РТЕДУФБЧМЕОЙЕ У ЙНЕОЕН SYSTEMTABLES. ьФП РТЕДУФБЧМЕОЙЕ SYSTEMCATALOG УПДЕТЦЙФ ФПМШЛП ФЕ ФБВМЙГЩ, ЛПФПТЩЕ ЧИПДСФ Ч УЙУФЕНОЩК ЛБФБМПЗ; ЬФП ПВЩЮОП ФБВМЙГЩ ВБЪЩ ДБООЩИ, ФЙРБ ФБВМЙГЩ рТПДБЧГПЧ, ЛПФПТЩЕ РПЛБЪБОЩ Ч SYSTEMCATALOG, ОП ОЕ Ч SYS- TEMTABLES. дБЧБКФЕ РТЕДРПМПЦЙН, ЮФП ФПМШЛП ФБВМЙГЩ ЛБФБМПЗБ СЧМСАФУС УПВУФЧЕООПУФША РПМШЪПЧБФЕМС SYSTEM. еУМЙ ЧЩ ЪБИПФЙФЕ, ЧЩ НПЦЕФЕ ПРТЕДЕМЙФШ ДТХЗПЕ РТЕДУФБЧМЕОЙЕ, ЛПФПТПЕ ВЩ УРЕГЙБМШОП ЙУЛМАЮБМП ФБВМЙГЩ ЛБФБМПЗБ ЙЪ ЧЩ- ЧПДБ: CREATE VIEW Datatables AS SELECT * FROM SYSTEMCATALOG WHERE owner < > 'SYSTEM'; тбътеыйфш рпмшъпчбфемсн чйдефш(фпмшлп) йи упвуфчеооще пвяелфщ лТПНЕ ФПЗП, ЙНЕАФУС ДТХЗПЕ ЙУРПМШЪПЧБОЙЕ РТЕДУФБЧМЕОЙК ЛБФБМПЗБ. рТЕДРПМПЦЙН ЧБН ОХЦОП ЮФПВЩ ЛБЦДЩК РПМШЪПЧБФЕМШ ВЩМ УРПУПВЕО УДЕМБФШ ЪБРТПУ ЛБФБМПЗБ, ДМС РПМХЮЕОЙС ЙОЖПТНБГЙЙ ФПМШЛП ЙЪ ФБВМЙГ ЛПФПТЩНЙ ПО ЧМБДЕЕФ. рПЛБ ЪОБЮЕОЙЕ USER, Ч ЛПНБОДЕ SQL РПУФПСООП ДМС ID ДПУФХРБ РПМШЪПЧБФЕМС ЧЩДБАЭЕЗП ЛПНБОДХ, ПОП НПЦЕФ ЧУЕЗДБ ВЩФШ ЙУРПМШЪПЧБФШУС, ЮФПВЩ ДБЧБФШ ДПУФХР РПМШЪПЧБФЕМСН ФПМШЛП Л ЙИ УПВУФЧЕООЩН ФБВМЙГБН. чЩ НПЦЕФЕ, ДМС ОБЮБМБ УПЪДБФШ УМЕДХАЭЕЕ РТЕДУФБЧМЕОЙЕ: CREATE VIEW Owntables AS SELECT * FROM SYSTEMCATALOG WHERE Owner = USER; фЕРЕТШ ЧЩ НПЦЕФЕ РТЕДПУФБЧЙФШ ЧУЕН РПМШЪПЧБФЕМСН ДПУФХР Л ЬФПНХ РТЕДУФБЧМЕОЙА: GRANT SELECT ON Owntables TO PUBLIC; лБЦДЩК РПМШЪПЧБФЕМШ ФЕРЕТШ, УРПУПВЕО ЧЩВЙТБФШ (SELECT) ФПМШЛП ФЕ УФТПЛЙ ЙЪ SYSTEMCATALOG, ЧМБДЕМШГЕН ЛПФПТЩИ ПО УБН СЧМСЕФУС. ртедуфбчмеойе SYSTEMCOLUMNS пДОП ОЕВПМШЫПЕ ДПВБЧМЕОЙЕ Л ЬФПНХ, РПЪЧПМЙФ ЛБЦДПНХ РПМШЪПЧБФЕМА РТПУНБФТЙЧБФШ ФБВМЙГХ SYS- TEMCOLUMNS ДМС УФПМВГПЧ ЙЪ ЕЗП УПВУФЧЕООЩИ ФБВМЙГ. уОБЮБМБ, ДБЧБКФЕ ТБУУНПФТЙН ФХ ЮБУФШ ФБВМЙГЩ SYSTEMCOLUMNS, ЛПФПТБС ПРЙУЩЧБЕФ ОБЫЙ ФЙРПЧЩЕ ФБВМЙГЩ( ДТХЗЙНЙ УМПЧБНЙ, ЙУЛМАЮЙН УБН ЛБФБМПЗ): tname cname datatype cnumber tabowner ----------- ----- -------- ------- -------- Salespeople snum integer 1 Diane Salespeople sname char 2 Diane Salespeople city char 3 Diane Salespeople comm decimal 4 Diane Customers cnum integer 1 Claire Customers cname char 2 Claire Customers city char 3 Claire Customers rating integer 4 Claire Customers snum integer 5 Claire Orders onum integer 1 Diane Orders odate date 2 Diane Orders amt decimal 3 Diane Orders cnum integer 4 Diane Orders snum integer 5 Diane лБЛ ЧЩ НПЦЕФЕ ЧЙДЕФШ, ЛБЦДБС УФТПЛБ ЬФПК ФБВМЙГЩ РПЛБЪЩЧБЕФ УФПМВЕГ ФБВМЙГЩ Ч ВБЪЕ ДБООЩИ. чУЕ УФПМВГЩ ДБООПК ФБВМЙГЩ ДПМЦОЩ ЙНЕФШ ТБЪОЩЕ ЙНЕОБ, ФБЛЦЕ ЛБЛ ЛБЦДБС ФБВМЙГБ ДПМЦОБ ЙНЕФШ ДБООПЗП РПМШЪПЧБФЕМС, Й ОБЛПОЕГ ЧУЕ ЛПНВЙОБГЙЙ РПМШЪПЧБФЕМЕК, ФБВМЙГ, Й ЙНЕО УФПМВГПЧ ДПМЦОЩ ТБЪМЙЮБФШУС НЕЦДХ УПВПК. уМЕДПЧБФЕМШОП ФБВМЙЮОЩЕ УФПМВГЩ: tname ( ЙН ФБВМЙГЩ ), tabowner ( ЧМБДЕМЕГ ФБВМЙГЩ ), Й cname ( ЙН УФПМВГБ ), ЧНЕУФЕ УПУФБЧМСАФ РЕТЧЙЮОЩК ЛМАЮ ЬФПК ФБВМЙГЩ. уФПМВЕГ datatype( ФЙР ДБООЩИ ) ЗПЧПТЙФ УБН ЪБ УЕВС. уФПМВЕГ cnumber ( ОПНЕТ УФПМВГБ ) ХЛБЪЩЧБЕФ ОБ НЕУФП- РПМПЦЕОЙЙ ЬФПЗП УФПМВГБ ЧОХФТЙ ФБВМЙГЩ. дМС ХРТПЭЕОЙС, НЩ ПРХУФЙ- МЙ РБТБНЕФТЩ ДМЙОЩ УФПМВГБ, ФПЮОПУФЙ, Й НБУЫФБВБ. дМС УРТБЧЛЙ, РПЛБЪБОБ УФТПЛБ ЙЪ SYSTFMCATALOG ЛПФПТБС УУЩМБЕФУС Л ЬФПК ФБВМЙГЕ: tname owner numcolumns type CO ------------- ------ ----------- ----- --- SYSTEMCOLUMNS System 8 B оЕЛПФПТЩЕ SQL ТЕБМЙЪБГЙЙ, ВХДХФ ПВЕУРЕЮЙЧБФШ ЧБУ ВПМШЫЙН ЛПМЙЮЕУФЧПН ДБООЩИ ЮЕН РПЛБЪБОП Ч ЬФЙИ УФПМВГБИ, ОП РПЛБЪБООПЕ СЧМСАФУС ПУОПЧПК ДМС МАВЩИ ТЕБМЙЪБГЙК. дМС ЙММАУФТБГЙЙ РТПГЕДХТЩ РТЕДМПЦЕООПК Ч ОБЮБМЕ ЬФПЗП ТБЪДЕМБ, ЙНЕЕФ- У УРПУПВ, РПЪЧПМСАЭЙК ЛБЦДПНХ РПМШЪПЧБФЕМА ЧЙДЕФШ ЙОЖПТНБГЙА SYS- TEMCOLUMNS ФПМШЛП ДМС РТЙОБДМЕЦБЭЙИ ЕНХ ФБВМЙГ: CREATE VIEW Owncolumns AS SELECT * FROM SYSTEMCOLUMNS WHERE tabowner = USER; GRANT SELECT ON Owncolumns TO PUBLIC; лпннеофбтйк ч упдетцбойй лбфбмпзб вПМШЫЙОУФЧП ЧЕТУЙК SQL, РПЪЧПМСАФ ЧБН РПНЕЭБФШ ЛПННЕОФБТЙЙ(ТЕНБТЛЙ) Ч УРЕГЙБМШОЩЕ УФПМВГЩ РПСУОЕОЙК ФБВМЙГ ЛБФБМПЗПЧ SYSTEMCATALOG Й SYSTEMCOLUMNS, ЮФП ХДПВОП, ФБЛ ЛБЛ ЬФЙ ФБВМЙГЩ ОЕ ЧУЕЗДБ НПЗХФ ПВЯСУОЙФШ УЧПЕ УПДЕТЦБОЙЕ. дМС РТПУФПФЩ, НЩ РПЛБ ЙУЛМАЮБМЙ ЬФПФ УФПМВЕГ ЙЪ ОБЫЙИ ЙММАУФТБГЙК. нПЦОП ЙУРПМШЪПЧБФШ ЛПНБОДХ COMMENT ON УП УФТПЛПК ФЕЛУФБ, ЮФПВЩ РПСУОЙФШ МАВХА УФТПЛХ Ч ПДОПК ЙЪ ЬФЙИ ФБВМЙГ. уПУФПСОЙЕ - TABLE, ДМС ЛПННЕОФЙТПЧБОЙС Ч SYSTEMCATALOG, Й ФЕЛУФ - COLUMN, ДМС SYSTEM- COLUMNS. оБРТЙНЕТ: COMMENT ON TABLE Chris.Orders IS 'Current Customer Orders'; фЕЛУФ ВХДЕФ РПНЕЭЕО Ч УФПМВЕГ РПСУОЕОЙК SYSTEMCATALOG. пВЩЮОП, НБЛУЙНБМШОБ ДМЙОБ ФБЛЙИ РПСУОЕОЙК - 254 УЙНЧПМПЧ. уБН ЛПННЕОФБТЙК, ХЛБЪЩЧБЕФУС ДМС ЛПОЛТЕФОПК УФТПЛЙ, ПДОБ У tname=Orders, Б ДТХЗБ owner=Chris. нЩ ХЧЙДЙН ЬФПФ ЛПННЕОФБТЙК Ч УФТПЛЕ ДМС ФБВМЙГЩ рПТСДЛПЧ Ч SYSTEMCATALOG: SELECT tname, remarks FROM SYSTEMCATALOG WHERE tname = 'Orders' AND owner = 'Chris'; чЩЧПД ДМС ЬФПЗП ЪБРТПУБ РПЛБЪЩЧБЕФУС Ч тЙУХОЛЕ 24.2. SYSTEMCOLUMNS ТБВПФБЕФ ФПЮОП ФБЛ ЦЕ. уОБЮБМБ, НЩ УПЪДБЕН ЛПННЕОФБТЙК COMMENT ON COLUMN Orders.onum IS 'Order #'; ЪБФЕН ЧЩВЙТБЕН ЬФХ УФТПЛХ ЙЪ SYSTEMCOLUMNS: SELECT cnumber, datatype, cname, remarks FROM SYSTEMCOLUMNS WHERE tname = 'Orders' AND tabowner = 'Chris' AND cname = onum; чЩЧПД ДМС ЬФПЗП ЪБРТПУБ РПЛБЪЩЧБЕФУС Ч тЙУХОЛЕ 24.3. юФПВЩ ЙЪНЕОЙФШ ЛПННЕОФБТЙК, ЧЩ НПЦЕФЕ РТПУФП ЧЧЕУФЙ ОПЧХА ЛПНБОДХ COMMENT ON ДМС ФПК ЦЕ УФТПЛЙ. оПЧЩК ЛПННЕОФБТЙК ВХДЕФ ЪБРЙУБО РПЧЕТИ УФБТПЗП. еУМЙ ЧЩ ИПФЙФЕ ХДБМЙФШ ЛПННЕОФБТЙК, ОБРЙЫЙФЕ РПЧЕТИ ОЕЗП РХУФПК ЛПННЕОФБТЙК, РПДПВОП УМЕДХАЭЕНХ: COMMENT ON COLUMN Orders.onum IS "; Й ЬФПФ РХУФПК ЛПННЕОФБТЙК ЪБФТЕФ РТЕДЩДХЭЙК. =============== SQL Execution Log =============== | | | SELECT tname, remarks | | FROM SYSTEMCATALOG | | WHERE tname = 'Orders' | | AND owner = 'Chris' | | ; | | ================================================ | | tname remarks | | ------------- ----------------------- | | Orders Current Customers Orders | | | ================================================== тЙУХОПЛ 24.2: лПННЕОФБТЙК Ч SYSTEMCATALOG =============== SQL Execution Log =============== | | | SELECT cnumber, datatype, cname, remarks | | FROM SYSTEMCOLUMNS | | WHERE tname = 'Orders' | | AND tabowner = 'Chris' | | AND cname = 'onum' | | ; | | ================================================ | | cnumber datatype cname remarks | | ---------- --------- ------ ------------ | | 1 integer onum Orders # | | | ================================================== тЙУХОПЛ 24.3: лПННЕОФБТЙК Ч SYSTEMCOLUMNS пуфбмшопе йъ лбфбмпзб ъДЕУШ РПЛБЪБОЩ ПУФБЧЫЙЕУС ЙЪ ЧБЫЙИ УЙУФЕНОЩИ ФБВМЙГ ПРТЕДЕМЕОЙС, У ФЙРПЧЩН ЪБРТПУПН ДМС ЛБЦДПЗП: SYSTEMINDEXES - йоделубгйс ч вбъе дбоощи йНЕОБ УФПМВГПЧ Ч ФБВМЙГЕ SYSTEMINDEXES Й ЙИ ПРЙУБОЙС - УМЕДХАЭЙЕ: уфпмвгщ прйубойе ------------- ----------------------------------------------- iname йН ЙОДЕЛУБ ( ЙУРПМШЪХЕНПЗП ДМС ЕЗП ЙУЛМАЮЕОЙС ) iowner йН РПМШЪПЧБФЕМС ЛПФПТЩК УПЪДБМ ЙОДЕЛУ tname йН ФБВМЙГЩ ЛПФПТБС УПДЕТЦЙФ ЙОДЕЛУ cnumber оПНЕТ УФПМВГБ Ч ФБВМЙГЕ tabowner рПМШЪПЧБФЕМШ ЛПФПТЩК ЧМБДЕЕФ ФБВМЙГЕК УПДЕТЦБЭЕК ЙОДЕЛУ numcolumns юЙУМП УФПМВГПЧ Ч ЙОДЕЛУЕ cposition рПЪЙГЙС ФЕЛХЭЕЗП УФПМВГБ УТЕДЙ ОБВПТБ ЙОДЕЛУПЧ isunique хОЙЛБМЕО МЙ ЙОДЕЛУ ( Y ЙМЙ N ) фйрпчпк ъбртпу йОДЕЛУ УЮЙФБЕФУС ОЕХОЙЛБМШОЩН, ЕУМЙ ПО ЧЩЪЩЧБЕФ РТПДБЧГБ, Ч snum УФПМВГЕ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ: SELECT iname, iowner, tname, cnumber, isunique FROM SYSTEMINDEXES WHERE iname = 'salesperson'; чЩЧПД ДМС ЬФПЗП ЪБРТПУБ РПЛБЪЩЧБЕФУС Ч тЙУХОЛЕ 24.4. =============== SQL Execution Log ================ | | | SELECT iname, iowner, tname, cnumber, isunique | | FROM SYSTEMINDEXES | | WHERE iname = 'salespeople' | | ; | | ================================================= | | iname iowner tname cnumber isunique | | ----------- ------ ---------- ------- -------- | | salesperson Stephan Customers 5 N | | | =================================================== тЙУХОПЛ 24.4: уФТПЛБ ЙЪ ФБВМЙГЩ SYSTEMINDEXES SYSTEMUSERAUTH - рпмшъпчбфемшулйе й уйуфеноще ртйчймезйй ч вбъе дбоощи йНЕОБ УФПМВГПЧ ДМС SYSTEMUSERAUTH Й ЙИ ПРЙУБОЙЕ, УМЕДХАЭЕЕ: уфпмвгщ прйубойе -------------- ----------------------------------------------- username йДЕОФЙЖЙЛБФПТ ( ID ) ДПУФХРБ РПМШЪПЧБФЕМС password рБТПМШ РПМШЪПЧБФЕМС ЧЧПДЙНЩК РТЙ ТЕЗЙУФТБГЙЙ resource зДЕ РПМШЪПЧБФЕМШ ЙНЕЕФ РТБЧБ RESOURCE dba зДЕ РПМШЪПЧБФЕМШ ЙНЕЕФ РТБЧБ DBA нЩ ВХДЕН ЙУРПМШЪПЧБФШ РТПУФХА УИЕНХ УЙУФЕНОЩИ РТЙЧЙМЕЗЙК, ЛПФПТБС РТЕДУФБЧМЕОБ Ч зМБЧЕ 22, ЗДЕ ВЩМЙ РТЕДУФБЧМЕОЩ ФТЙ УЙУФЕНОЩИ РТЙЧЙМЕЗЙЙ - CONNECT( рпдлмаюйфш ), RESOURCE( теухтущ ) Й DBA. чУЕ РПМШЪПЧБФЕМЙ РПМХЮБАФ CONNECT РП ХНПМЮБОЙА РТЙ ТЕЗЙУФТБГЙЙ, РПЬФПНХ ПО ОЕ ПРЙУБО Ч ФБВМЙГЕ ЧЩЫЕ. чПЪНПЦОЩЕ УПУФПСОЙС УФПМВГПЧ resource Й dba НПЗХФ ВЩФШ - Y ( дБ, РПМШЪПЧБФЕМШ ЙНЕЕФ РТЙЧЙМЕЗЙЙ) ЙМЙ - No (оЕФ, РПМШЪПЧБФЕМШ ОЕ ЙНЕЕФ РТЙЧЙМЕЗЙК). рБТПМЙ (password) ДПУФХРОЩ ФПМШЛП ЧЩУПЛП РТЙЧЙМЕЗЙТПЧБООЩН РПМШЪПЧБФЕМСН, ЕУМЙ ПОЙ УХЭЕУФЧХАФ. уМЕДПЧБФЕМШОП ЪБРТПУ ЬФПК ФБВМЙГЩ НПЦОП ЧППВЭЕ ДЕМБФШ ФПМШЛП ДМС ЙОЖПТНБГЙЙ ПФОПУЙФЕМШОП РТЙЧЙМЕЗЙК УЙУФЕНЩ Й РПМШЪПЧБФЕМЕК. фйрпчпк ъбртпу юФПВЩ ОБКФЙ ЧУЕИ РПМШЪПЧБФЕМЕК ЛПФПТЩЕ ЙНЕАФ РТЙЧЙМЕЗЙА RESOURCE, Й ХЧЙДЕФШ ЛБЛЙЕ ЙЪ ОЙИ - DBA, ЧЩ НПЦЕФЕ ЧЧЕУФЙ УМЕДХАЭЕЕ ХУМПЧЙЕ: SELECT username, dba FROM SYSTEMUSERAUTH WHERE resource = 'Y'; чЩЧПД ДМС ЬФПЗП ЪБРТПУБ РПЛБЪЩЧБЕФУС Ч тЙУХОЛЕ 24.5. SYSTEMTABAUTH - ртйчймезйй пвяелфб лпфптще ое пртедемсаф уфпмвгщ ъДЕУШ РПЛБЪБОЩ ЙНЕОБ УФПМВГПЧ Ч ФБВМЙГЕ SYSTEMTABAUTH Й ЙИ ПРЙУБОЙЕ: COLUMN прйубойе ------------ --------------------------------------------- username рПМШЪПЧБФЕМШ ЛПФПТЩК ЙНЕЕФ РТЙЧЙМЕЗЙЙ grantor рПМШЪПЧБФЕМШ ЛПФПТЩК РЕТЕДБЕФ РТЙЧЙМЕЗЙЙ РП ЙНЕОЙ РПМШЪПЧБФЕМС tname йН ФБВМЙГЩ Ч ЛПФПТПК УХЭЕУФЧХАФ РТЙЧЙМЕЗЙЙ owner чМБДЕМЕГ tname selauth йНЕЕФ МЙ РПМШЪПЧБФЕМШ РТЙЧЙМЕЗЙА SELECT insauth йНЕЕФ МЙ РПМШЪПЧБФЕМШ РТЙЧЙМЕЗЙА INSERT delauth йНЕЕФ МЙ РПМШЪПЧБФЕМШ РТЙЧЙМЕЗЙА DELETE чПЪНПЦОЩЕ ЪОБЮЕОЙС ДМС ЛБЦДПК ЙЪ РЕТЕЮЙУМЕООЩИ РТЙЧЙМЕЗЙК ПВЯЕЛФБ ( ЙНЕОБ УФПМВГПЧ ЛПФПТЩИ ПЛБОЮЙЧБАФУС ОБ auth ) - Y, N, Й G. G ХЛБЪЩЧБЕФ ЮФП РПМШЪПЧБФЕМШ ЙНЕЕФ РТЙЧЙМЕЗЙА У ЧПЪНПЦОПУФША РЕТЕДБЮЙ РТЙЧЙМЕЗЙК. ч ЛБЦДПК УФТПЛЕ, РП ЛТБКОЕК НЕТЕ ПДЙО ЙЪ ЬФЙИ УФПМВГПЧ ДПМЦЕО ЙНЕФШ УПУФПСОЙЕ ПФМЙЮОПЕ ПФ N (ДТХЗЙНЙ УМПЧБНЙ, ЙНЕФШ ИПФШ ЛБЛХА-ФП РТЙЧЙМЕЗЙА ). =============== SQL Execution Log ================ | | | SELECT username, dba | | FROM SYSTEMUSERAUTH | | WHERE resource = 'Y' | | ; | | ================================================= | | username dba | | ----------- ------ | | Diane N | | Adrian Y | | | =================================================== тЙУХОПЛ 24 .5: рПМШЪПЧБФЕМЙ ЛПФПТЩЕ ЙНЕАФ РТЙЧЙМЕЗЙА RESOURCE рЕТЧЩЕ ЮЕФЩТЕ УФПМВГБ ЬФПК ФБВМЙГЩ УПУФБЧМСАФ РЕТЧЙЮОЩК ЛМАЮ. ьФП ПЪОБЮБЕФ ЮФП ЛБЦДБС ЛПНВЙОБГЙС ЙЪ tname, ЧМБДЕМЕГ-РПМШЪПЧБФЕМШ ( ОЕ ЪБВХДШФЕ, ЮФП ДЧЕ ТБЪМЙЮОЩЕ ФБВМЙГЩ У ТБЪМЙЮОЩНЙ ЧМБДЕМШГБНЙ НПЗХФ ЙНЕФШ ПДОП Й ФПЦЕ ЙН ), РПМШЪПЧБФЕМШ Й РПМШЪПЧБФЕМШ РЕТЕДБАЭЙК РТБЧБ( ЗБТБОФПТ ), ДПМЦОБ ВЩФШ ХОЙЛБМШОПК. лБЦДБС УФТПЛБ ЬФПК ФБВМЙГЩ УПДЕТЦЙФ ЧУЕ РТЙЧЙМЕЗЙЙ ( ЛПФПТЩЕ ОЕ СЧМСАФУС ПРТЕДЕМЕООЩН УФПМВГПН ), РТЕДПУФБЧМСАФУС ПДОЙН ПРТЕДЕМЕООЩН РПМШЪПЧБФЕМЕН ДТХЗПНХ ПРТЕДЕМЕООПНХ РПМШЪПЧБФЕМА Ч ЛПОЛТЕФОПН ПВЯЕЛФЕ. UPDATE Й REFERENCES, СЧМСАФУС РТЙЧЙМЕЗЙСНЙ, ЛПФПТЩЕ НПЗХФ ВЩФШ ПРТЕДЕМЕООЩНЙ УФПМВГБНЙ, Й ОБИПДЙФШУС Ч ТБЪМЙЮОЩИ ФБВМЙГБИ ЛБФБМПЗБ. еУМЙ РПМШЪПЧБФЕМШ РПМХЮБЕФ РТЙЧЙМЕЗЙЙ Ч ФБВМЙГЕ ПФ ВПМЕЕ ЮЕН ПДОПЗП РПМШЪПЧБФЕМС, ФБЛЙЕ РТЙЧЙМЕЗЙЙ НПЗХФ ВЩФШ ПФДЕМШОЩНЙ УФТПЛБНЙ УПЪДБООЩНЙ Ч ЬФПК ФБВМЙГЕ. ьФП ОЕПВИПДЙНП ДМС ЛБУЛБДОПЗП ПФУМЕЦЙЧБОЙС РТЙ ЧЩЪПЧЕ РТЙЧЙМЕЗЙК. фйрпчпк ъбртпу юФПВЩ ОБКФЙ ЧУЕ РТЙЧЙМЕЗЙЙ SELECT, INSERT, Й DELETE, ЛПФПТЩЕ Adrian РТЕДПУФБЧМСЕФ РПМШЪПЧБФЕМСН Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ, ЧЩ НПЦЕФЕ ЧЧЕУФЙ УМЕДХАЭЕЕ ( ЧЩЧПД РПЛБЪБО Ч тЙУХОЛЕ 24.6 ): SELECT username, selauth, insauth, delauth FROM SYSTEMTABAUTH WHERE grantor = 'Adrian' ANDtname = 'Customers'; =============== SQL Execution Log ================ | | | SELECT username, selauth, insauth, delauth | | FROM SYSTEMTABAUTH | | WHERE grantor = 'Adrian' | | AND tname = 'Customers' | | ; | | ================================================= | | username selauth insauth delauth | | ----------- ------- -------- -------- | | Claire G Y N | | Norman Y Y Y | | | =================================================== тЙУХОПЛ 24. 6: рПМШЪПЧБФЕМЙ РПМХЮЙЧЫЙЕ РТЙЧЙМЕЗЙЙ ПФ Adrian чЩЫЕ РПЛБЪБОП, ЮФП Adrian РТЕДПУФБЧЙМ Claire РТЙЧЙМЕЗЙЙ INSERT Й SELECT Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ, РПЪДОЕЕ РТЕДПУФБЧЙЧ ЕК РТБЧБ ОБ РЕТЕДБЮХ РТЙЧЙМЕЗЙК. рПМШЪПЧБФЕМА Norman, ПО РТЕДПУФБЧЙМ РТЙЧЙМЕЗЙЙ SELECT, INSERT, Й DELETE, ОП ОЕ ДБМ ЧПЪНПЦОПУФШ РЕТЕДБЮЙ РТЙЧЙМЕЗЙК ОЙ Ч ПДОПК ЙЪ ОЙИ. еУМЙ Claire ЙНЕМБ РТЙЧЙМЕЗЙА DELETE Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ ПФ ЛБЛПЗП-ФП ДТХЗПЗП ЙУФПЮОЙЛБ, Ч ЬФПН ЪБРТПУЕ ЬФП РПЛБЪБОП ОЕ ВХДЕФ. SYSTEMCOLAUTH уфпмвгщ прйубойе ------------- ------------------------------------------- username рПМШЪПЧБФЕМШ ЛПФПТЩК ЙНЕЕФ РТЙЧЙМЕЗЙЙ grantor рПМШЪПЧБФЕМШ ЛПФПТЩК РТЕДПУФБЧМСЕФ РТЙЧЙМЕЗЙЙ ДТХЗПНХ РПМШЪПЧБФЕМА tname йН ФБВМЙГЩ Ч ЛПФПТПК УХЭЕУФЧХАФ РТЙЧЙМЕЗЙЙ cname йН УФПМВГБ Ч ЛПФПТПН УХЭЕУФЧХАФ РТЙЧЙМЕЗЙЙ owner чМБДЕМЕГ tname updauth йНЕЕФ МЙ РПМШЪПЧБФЕМШ РТЙЧЙМЕЗЙА UPDATE Ч ЬФПН УФПМВГЕ refauth йНЕЕФ МЙ РПМШЪПЧБФЕМШ РТЙЧЙМЕЗЙА REFERENCES Ч ЬФПН УФПМВГЕ уФПМВГЩ updauth Й refauth НПЗХФ ВЩФШ Ч УПУФПСОЙЙ Y, N, ЙМЙ G; ОП ОЕ НПЗХФ ВЩФШ ПДОПЧТЕНЕООП Ч УПУФПСОЙЙ N ДМС ПДОПК Й ФПК ЦЕ УФТПЛЙ. ьФП - РЕТЧЩЕ РСФШ УФПМВГПЧ ФБВМЙГЩ, ЛПФПТЩЕ ОЕ УПУФБЧМСАФ РЕТЧЙЮОЩК ЛМАЮ. пО ПФМЙЮБЕФУС ПФ РЕТЧЙЮОПЗП ЛМАЮБ SYSTEMTABAUTH Ч ЛПФПТПН УПДЕТЦЙФУС РПМЕ cname, ХЛБЪЩЧБАЭЕЕ ОБ ПРТЕДЕМЕООЩК УФПМВЕГ ПВУХЦДБЕНПК ФБВМЙГЩ ДМС ЛПФПТПК РТЙНЕОСАФУС ПДОБ ЙМЙ ПВЕ РТЙЧЙМЕЗЙЙ. пФДЕМШОБ УФТПЛБ Ч ЬФПК ФБВМЙГЕ НПЦЕФ УХЭЕУФЧПЧБФШ ДМС ЛБЦДПЗП УФПМВГБ Ч МАВПК ДБООПК ФБВМЙГЩ Ч ЛПФПТПК ПДОПНХ РПМШЪПЧБФЕМА РЕТЕДБАФУС РТЙЧЙМЕЗЙЙ ПРТЕДЕМЕООПЗП УФПМВГБ У РПНПЭША ДТХЗПЗП РПМШЪПЧБФЕМС. лБЛ Й Ч УМХЮБЕ У SYSTEMTABAUTH ФБ ЦЕ РТЙЧЙМЕЗЙС НПЦЕФ ВЩФШ ПРЙУБОБ Ч ВПМЕЕ ЮЕН ПДОПК УФТПЛЕ ЬФПК ФБВМЙГЩ ЕУМЙ ПОБ ВЩМБ РЕТЕДБОБ ВПМЕЕ ЮЕН ПД- ОЙН РПМШЪПЧБФЕМЕН. фйрпчпк ъбртпу юФПВЩ ЧЩСУОЙФШ, Ч ЛБЛЙИ УФПМВГБИ ЛБЛПК ФБВМЙГЩ ЧЩ ЙНЕЕФЕ РТЙЧЙМЕЗЙА REFERENCES, ЧЩ НПЦЕФЕ ЧЧЕУФЙ УМЕДХАЭЙК ЪБРТПУ ( ЧЩЧПД РПЛБЪЩЧБЕФУС Ч тЙУХОЛЕ 24.7 ) SELECT owner, tname, cname FROM SYSTEMCOLAUTH WHERE refauth IN ('Y', 'G') AND username = USER ORDER BY 1, 2; ЛПФПТЩК РПЛБЪЩЧБЕФ, ЮФП ЬФЙ ДЧЕ ФБВМЙГЩ, ЛПФПТЩЕ ЙНЕАФ ТБЪМЙЮОЩИ ЧМБДЕМШГЕЧ, ОП ПДЙОБЛПЧЩЕ ЙН, Ч ДЕКУФЧЙФЕМШОПУФЙ, УПЧЕТЫЕООП ТБЪОЩЕ ФБВМЙГЩ ( Ф.Е. ЬФП ОЕ ЛБЛ ДЧБ УЙОПОЙНБ ДМС ПДОПК ФБВМЙГЩ ). =============== SQL Execution Log ================ | | | SELECT OWNER, TNAME, CNAME | | FROM SYSTEMCOLAUTH | | WHERE refaulth IN ('Y' , 'G' ) | | AND username = USER | | ORDER BY 1, 2 | | ; | | ================================================= | | owner tname cname | | ----------- ----------- ------- | | Diane Customers cnum | | Diane Salespeople sname | | Diane Salespeople sname | | Gillan Customers cnum | =================================================== тЙУХОПЛ 24. 7: уФПМВГЩ Ч РПМШЪПЧБФЕМШ ЙНЕЕФ РТЙЧЙМЕЗЙА INSERT SYSTEMSYNONS - уйопойнщ дмс фбвмйг ч вбъе дбоощи ьФП - ЙНЕОБ УФПМВГПЧ Ч ФБВМЙГЕ SYSTEMSYNONS Й ЙИ ПРЙУБОЙЕ: уфпмвег прйубойе ------------- -------------------------------------------- synonym йНС УЙОПОЙНБ synowner рПМШЪПЧБФЕМШ, ЛПФПТЩК СЧМСЕФУС ЧМБДЕМШГЕН УЙОПОЙНБ ( НПЦЕФ ВЩФШ PUBLIC (пвэйк)) tname йН ФБВМЙГЩ ЙУРПМШЪХЕНПК ЧМБДЕМШГЕН tabowner йН РПМШЪПЧБФЕМС ЛПФПТЩК СЧМСЕФУС ЧМБДЕМШГЕН ФБВМЙГЩ фйрпчпк ъбртпу рТЕДРПМПЦЙН, ЮФП Adrian ЙНЕЕФ УЙОПОЙН Clients ДМС ФБВМЙГЩ ъБЛБЪЮЙЛПЧ РТЙОБДМЕЦБЭЕК Diane, Й ЮФП ЙНЕЕФУС ПВЭЙК УЙОПОЙН Customers ДМС ЬФПК ЦЕ ФБВМЙГЩ. чЩ ДЕМБЕФЕ ЪБРТПУ ФБВМЙГЩ ДМС ЧУЕИ УЙОПОЙНПЧ Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ ( ЧЩЧПД РПЛБЪЩЧБЕФУС Ч тЙУХОЛЕ 24.8 ): SELECT * FROM SYSTEMSYNONS WHERE tname = 'Customers' =============== SQL Execution Log ================ | | | SELECT * | | FROM SYSTEMSYNONS | | WHERE tname = 'Customers' | | ; | | ================================================= | | synonym synowner tname tabowner | | ----------- ----------- ---------- ---------- | | Clients Adrian Customers Diane | | Customers PUBLIC Customers Diane | | | =================================================== тЙУХОПЛ 24.8: уЙОПОЙНЩ ДМС ФБВМЙГЩ ъБЛБЪЮЙЛПЧ дтхзпе йурпмшъпчбойе лбфбмпзб лПОЕЮОП, ЧЩ НПЦЕФЕ ЧЩРПМОСФШ ВПМЕЕ УМПЦОЩЕ ЪБРТПУЩ Ч УЙУФЕНОПН ЛБФБМПЗЕ. пВЯЕДЙОЕОЙС, ОБРТЙНЕТ, НПЗХФ ВЩФШ ПЮЕОШ ХДПВОЩ. ьФБ ЛПНБОДБ РПЪЧПМЙФ ЧБН ХЧЙДЕФШ УФПМВГЩ ФБВМЙГ Й ВБЪПЧЩЕ ЙОДЕЛУЩ ХУФБОПЧМЕООЩЕ ДМС ЛБЦДПЗП, ( ЧЩЧПД РПЛБЪЩЧБЕФУС Ч тЙУХОЛЕ 24.9 ): SELECT a.tname, a.cname, iname, cposition FROM SYSTEMCOLUMNS a, SYSTEMINDEXES b WHERE a.tabowner = b. tabowner AND a.tname = b.tname AND a.cnumber = b.cnumber ORDER BY 3 DESC, 2; пОБ РПЛБЪЩЧБЕФ ДЧБ ЙОДЕЛУБ, ПДЙО ДМС ФБВМЙГЩ ъБЛБЪЮЙЛПЧ Й ПДЙО ДМС ФБВМЙГЩ рТПДБЧГПЧ. рПУМЕДОЙК ЙЪ ОЙИ - ЬФП ПДОПУФПМВГПЧЩК ЙОДЕЛУ У ЙНЕОЕН salesno Ч РПМЕ snum; ПО ВЩМ РПНЕЭЕО РЕТЧЩН ЙЪ-ЪБ УПТФЙТПЧЛЙ РП ХВЩЧБОЙА ( Ч ПВТБФОПН БМЖБЧЙФОПН РПТСДЛЕ ) Ч УФПМВГЕ iname. дТХЗПК ЙОДЕЛУ, custsale, ЙУРПМШЪХЕФУС РТПДБЧГБНЙ ЮФПВЩ ПФЩУЛЙЧБФШ УЧПЙИ ЪБЛБЪЮЙЛПЧ. пО ПУОПЧЩЧБЕФУС ОБ ЛПНВЙОБГЙЙ РПМЕК snum Й cnum ЧОХФТЙ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ, У РПМЕН snum РТЙИПДСЭЙН Ч ЙОДЕЛУЕ РЕТЧЩН, ЛБЛ ЬФП Й РПЛБЪБОП У РПНПЭША РПМ cposition. =============== SQL Execution Log ================ | | | SELECT a.tname, a.cname, iname, cposition | | FROM SYSTEMCOLUMNS a, SYSTEMINDEXES b | | WHERE a.tabowner = b.tabowner | | AND a.tname = b.tname | | AND a.cnumber = b.cnumber | | ORDER BY 3 DESC, 2; | | | | ================================================= | | tname cname iname cposition | | ----------- ------- -------- ------------ | | Salespeople sname salesno 1 | | Customers cnum custsale 2 | | Customers snum custsale 1 | | | =================================================== тЙУХОПЛ 24.9 уФПМВГЩ Й ЙИ ЙОДЕЛУЩ рПДЪБРТПУЩ ФБЛЦЕ НПЗХФ ВЩФШ ЙУРПМШЪПЧБОЩ. йНЕЕФУС УРПУПВ ХЧЙДЕФШ ДБООЩЕ УФПМВГБ ФПМШЛП ДМС УФПМВГПЧ ЙЪ ФБВМЙГ ЛБФБМПЗБ: SELECT * FROM SYSTEMCOLUMNS WHERE tname IN ( SELECT tname FROM SYSTEMCATALOG); дМС РТПУФПФЩ, НЩ ОЕ ВХДЕН РПЛБЪЩЧБФШ ЧЩЧПД ЬФПК ЛПНБОДЩ, ЛПФПТБС УПУФПЙФ ЙЪ ПДОПЗП ЧИПДБ ДМС ЛБЦДПЗП УФПМВГБ ЛБЦДПК ФБВМЙГЩ ЛБФБМПЗБ. чЩ НПЗМЙ ВЩ РПНЕУФЙФШ ЬФПФ ЪБРТПУ Ч РТЕДУФБЧМЕОЙЕ, ОБЪЧБЧ ЕЗП, ОБРТЙНЕТ, SYSTEMTABCOLS, ДМС РТЕДУФБЧМЕОЙС SYSTEMTABLES. теъане йФБЛ, УЙУФЕНБ SQL ЙУРПМШЪХЕФ ОБВПТ ФБВМЙГ, ОБЪЩЧБЕНЩК УЙУФЕНОЩН ЛБФБМПЗПН Ч УФТХЛФХТЕ ВБЪЩ ДБООЩИ. ьФЙ ФБВМЙГЩ НПЗХФ ЪБРТБЫЙЧБФШУС ОП НПДЙЖЙГЙТПЧБФШУС. лТПНЕ ФПЗП, ЧЩ НПЦЕФЕ ДПВБЧМСФШ ЛПННЕОФБТЙЙ УФПМВГПЧ Ч ( Й ХДБМСФШ ЙИ ЙЪ) ФБВМЙГЩ SYSTEMCATALOG Й SYSTEMCOLUMNS. уПЪДБОЙЕ РТЕДУФБЧМЕОЙК Ч ЬФЙИ ФБВМЙГБИ - РТЕЧПУИПДОЩК УРПУПВ ФПЮОП ПРТЕДЕМЙФШ, ЛБЛБС РПМШЪПЧБФЕМШУЛБС ЙОЖПТНБГЙС НПЦЕФ ВЩФШ ДПУФХРОПК. фЕРЕТШ, ЛПЗДБ ЧЩ ХЪОБМЙ П ЛБФБМПЗЕ, ЧЩ ЪБЧЕТЫЙМЙ ЧБЫЕ ПВХЮЕОЙЕ SQL Ч ДЙБМПЗПЧПН ТЕЦЙНЕ. уМЕДХАЭБС ЗМБЧБ ЬФПК ЛОЙЗЙ ТБУУЛБЦЕФ ЧБН ЛБЛ SQL ЙУРПМШЪХЕФУС Ч РТПЗТБННБИ ЛПФПТЩЕ ОБРЙУБОЩ РТЕЦДЕ ЧУЕЗП ОБ ДТХЗЙИ СЪЩЛБИ ОП ЛПФПТЩЕ УРПУПВОЩ ЙЪЧМЕЮШ РПМШЪХ ЙЪ ЧПЪНПЦОПУФЕК SQL, ЧЪБЙНПДЕКУФЧХС У ЕЗП ФБВМЙГБНЙ ВБЪЩ ДБООЩИ. тбвпфб у SQL 1. уДЕМБКФЕ ЪБРТПУ ЛБФБМПЗБ ЮФПВЩ ЧЩЧЕУФЙ, ДМС ЛБЦДПК ФБВМЙГЩ ЙНЕАЭЕК ВПМЕЕ ЮЕН ЮЕФЩТЕ УФПМВГБ, ЙНС ФБВМЙГЩ, ЙНС ЧМБДЕМШГБ, Б ФБЛЦЕ ЙН УФПМВГПЧ Й ФЙР ДБООЩИ ЬФЙИ УФПМВГПЧ. 2. уДЕМБКФЕ ЪБРТПУ ЛБФБМПЗБ ЮФПВЩ ЧЩСУОЙФШ, УЛПМШЛП УЙОПОЙНПЧ УХЭЕУФЧХЕФ ДМС ЛБЦДПК ФБВМЙГЩ Ч ВБЪЕ ДБООЩИ. оЕ ЪБВХДШФЕ, ЮФП ПДЙО Й ФПФ ЦЕ УЙОПОЙН РТЙОБДМЕЦБЭЙК ДЧХН ТБЪМЙЮОЩН РПМШЪПЧБФЕМСН - ЬФП ЖБЛФЙЮЕУЛЙ ДЧБ ТБЪОЩИ УЙОПОЙНБ. 3. чЩСУОЙФЕ УЛПМШЛП ФБВМЙГ ЙНЕАФ ЙОДЕЛУЩ Ч ВПМЕЕ ЮЕН РСФЙДЕУФЙ РТПГЕОФПЧ ЙИ УФПМВГПЧ. ( уН. рТЙМПЦЕОЙЕ A ДМС ПФЧЕФПЧ. )

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