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

Understanding SQL.Chapter 19. рпддетцлб гемпуфопуфй чбыйи дбоощи тбоее ч ьфпк лойзе, нщ хлбъщчбмй об пртедемеооще УЧСЪЙ ЛПФПТЩЕ УХЭЕУФЧХАФ НЕЦДХ ОЕЛПФПТЩНЙ РПМСНЙ ФЙРПЧЩИ ФБВМЙГ. рПМЕ snum ФБВМЙГЩ ъБЛБЪЮЙЛПЧ, ОБРТЙНЕТ, УППФЧЕФУФЧХЕФ РПМА snum Ч ФБВМЙГЕ рТПДБЧГПЧ Й ФБВМЙГЕ рПТСДЛПЧ. рПМЕ cnum ФБВМЙГЩ ъБЛБЪЮЙЛПЧ ФБЛЦЕ УППФЧЕФУФЧХЕФ РПМА cnum ФБВМЙГЩ рПТСДЛПЧ. нЩ ОБЪЧБМЙ ЬФПФ ФЙР УЧСЪЙ - УРТБЧПЮОПК ГЕМПУФОПУФША; Й Ч ИПДЕ ПВУХЦДЕОЙС, ЧЩ ЧЙДЕМЙ ЛБЛ ЕЕ НПЦОП ЙУРПМШЪПЧБФШ. ч ЬФПК ЗМБЧЕ, ЧЩ ВХДЕФЕ ЙУУМЕДПЧБФШ УРТБЧПЮОХА ГЕМПУФОПУФШ ВПМЕЕ РПД- ТПВОП Й ЧЩСУОЙН ЧУЕ ПФОПУЙФЕМШОП ПЗТБОЙЮЕОЙК ЛПФПТЩЕ ЧЩ НПЦЕФЕ ЙУРПМШЪПЧБФШ ЮФПВЩ ЕЕ РПДДЕТЦЙЧБФШ. чЩ ФБЛЦЕ ХЧЙДЙФЕ, ЛБЛ РТЕДРЙУЩЧБЕФ- У ЬФП ПЗТБОЙЮЕОЙЕ ЛПЗДБ ЧЩ ЙУРПМШЪХЕФЕ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ DML. рПУЛПМШЛХ УРТБЧПЮОБ ГЕМПУФОПУФШ ЧЛМАЮБЕФ Ч УЕВС УЧСЪШ РПМЕК ЙМЙ ЗТХРР РПМЕК, ЮБУФП Ч ТБЪОЩИ ФБВМЙГБИ, ЬФП ДЕКУФЧЙЕ НПЦЕФ ВЩФШ ОЕУЛПМШЛП УМПЦ- ОЕЕ ЮЕН ДТХЗЙЕ ПЗТБОЙЮЕОЙС. рП ЬФПК РТЙЮЙОЕ, ИПТПЫП ЙНЕФШ У ОЕК РПМОПЕ ЪОБЛПНУФЧП, ДБЦЕ ЕУМЙ ЧЩ ОЕ РМБОЙТХЕФЕ УПЪДБЧБФШ ФБВМЙГЩ. чБЫЙ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ НПЗХФ УФБФШ ЬЖЖЕЛФЙЧОЕЕ У РПНПЭША ПЗТБОЙЮЕОЙС УРТБЧПЮОПК ГЕМПУФОПУФЙ ( ЛБЛ Й У РПНПЭША ДТХЗЙИ ПЗТБОЙЮЕОЙК, ОП ПЗТБОЙЮЕОЙЕ УРТБЧПЮОПК ГЕМПУФОПУФЙ НПЦЕФ ЧПЪДЕКУФЧПЧБФШ ОБ ДТХЗЙЕ ФБВМЙГЩ ЛТПНЕ ФЕИ Ч ЛПФПТЩИ ПОП ПРТЕДЕМЕОП), Б ПРТЕДЕМЕООЩЕ ЖХОЛГЙЙ ЪБРТПУБ, ФБЛЙЕ ЛБЛ ПВЯЕДЙОЕОЙС, СЧМСАФУС НОПЗПЛТБФОП УФТХЛФХТЙТПЧБОЩ Ч ФЕТНЙОБИ УЧСЪЕК УРТБЧПЮОПК ГЕМПУФОПУФЙ ( ЛБЛ РПДЮЕТЛЙЧБМПУШ Ч зМБЧЕ 8 ). чоеыойк лмаю й тпдйфемшулйк лмаю лПЗДБ ЧУЕ ЪОБЮЕОЙС Ч ПДОПН РПМЕ ФБВМЙГЩ РТЕДУФБЧМЕОЩ Ч РПМЕ ДТХЗПК ФБВМЙГЩ, НЩ ЗПЧПТЙН ЮФП РЕТЧПЕ РПМЕ УУЩМБЕФУС ОБ ЧФПТПЕ. ьФП ХЛБЪЩЧБЕФ ОБ РТСНХА УЧСЪШ НЕЦДХ ЪОБЮЕОЙСНЙ ДЧХИ РПМЕК. оБРТЙНЕТ, ЛБЦДЩК ЙЪ ЪБЛБЪЮЙЛПЧ Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ ЙНЕЕФ РПМЕ snum ЛПФПТПЕ ХЛБ- ЪЩЧБЕФ ОБ РТПДБЧГБ ОБЪОБЮЕООПЗП Ч ФБВМЙГЕ рТПДБЧГПЧ. дМС ЛБЦДПЗП РПТСДЛБ Ч ФБВМЙГЕ рПТСДЛПЧ, ЙНЕЕФУС ПДЙО Й ФПМШЛП ЬФПФ РТП- ДБЧЕГ Й ПДЙО Й ФПМШЛП ЬФПФ ЪБЛБЪЮЙЛ. ьФП ПФПВТБЦБЕФУС У РПНПЭША РПМЕК snum Й cnum Ч ФБВМЙГЕ рПТСДЛПЧ. лПЗДБ ПДОП РПМЕ Ч ФБВМЙГЕ УУЩМБЕФУС ОБ ДТХЗПЕ, ПОП ОБЪЩЧБЕФУС - ЧОЕЫОЙН ЛМАЮПН; Б РПМЕ ОБ ЛПФПТПЕ ПОП УУЩМБЕФУС, ОБЪЩЧБЕФУС - ТПДЙФЕМШУЛЙН ЛМАЮПН. фБЛ ЮФП РПМЕ snum ФБВМЙГЩ ъБЛБЪЮЙЛПЧ - ЬФП ЧОЕЫОЙК ЛМАЮ, Б РПМЕ snum ОБ ЛПФПТПЕ ПОП УУЩМБЕФУС Ч ФБВМЙГЕ рТПДБЧГПЧ - ЬФП ТПДЙФЕМШУЛЙК ЛМАЮ. бОБМПЗЙЮОП, РПМ cnum Й snum ФБВМЙГЩ рПТСДЛПЧ - ЬФП ЧОЕЫОЙЕ ЛМАЮЙ ЛПФПТЩЕ УУЩМБАФУС Л ЙИ ТПДЙФЕМШУЛЙН ЛМАЮБН У ЙНЕОБНЙ Ч ФБВМЙГЕ ъБ- ЛБЪЮЙЛПЧ Й ФБВМЙГЕ рТПДБЧГПЧ. йНЕОБ ЧОЕЫОЕЗП ЛМАЮБ Й ТПДЙФЕМШУЛПЗП ЛМАЮБ ОЕ ПВСЪБФЕМШОП ДПМЦОЩ ВЩФШ ПДЙОБЛПЧЩНЙ, ЬФП - ФПМШЛП УПЗМБЫЕОЙЕ ЛПФПТПНХ НЩ УМЕДХЕН ЮФПВЩ ДЕМБФШ УПЕДЙОЕОЙЕ ВПМЕЕ РПОСФОЩН. нопзп-уфпмвгпчще чоеыойе лмаюй ч ДЕКУФЧЙФЕМШОПУФЙ, ЧОЕЫОЙК ЛМАЮ ОЕ ПВСЪБФЕМШОП УПУФПЙФ ФПМШЛП ЙЪ ПДОПЗП РПМ. рПДПВОП РЕТЧЙЮОПНХ ЛМАЮХ, ЧОЕЫОЙК ЛМАЮ НПЦЕФ ЙНЕФШ МАВПЕ ЮЙУМП РПМЕК, ЛПФПТЩЕ ЧУЕ ПВТБВБФЩЧБАФУС ЛБЛ ЕДЙОЩК НПДХМШ. чОЕЫОЙК ЛМАЮ Й ТПДЙФЕМШУЛЙК ЛМАЮ ОБ ЛПФПТЩК ПО УУЩМБЕФУС, ЛПОЕЮОП ЦЕ, ДПМЦОЩ ЙНЕФШ ПДЙОБЛПЧЩК ОПНЕТ Й ФЙР РПМ, Й ОБИПДЙФШУС Ч ПДЙОБЛПЧПН РПТСДЛЕ. чОЕЫОЙЕ ЛМАЮЙ УПУФПСЭЙЕ ЙЪ ПДОПЗП РПМ - ФЕ ЮФП НЩ ЙУРПМШЪПЧБМЙ ЙУЛМАЮЙФЕМШОП Ч ОБЫЙИ ФЙРПЧЩИ ФБВМЙГБИ, ОБЙВПМЕЕ ПВЭЙЕ. юФПВЩ УПИТБОЙФШ РТПУФПФХ ОБЫЕЗП ПВУХЦДЕОЙС, НЩ ВХДЕН ЮБУФП ЗПЧПТЙФШ П ЧОЕЫОЕН ЛМАЮЕ ЛБЛ ПВ ПДЙОПЮОПН УФПМВГЕ. ьФП ОЕ УМХЮБКОП. еУМЙ ЬФП ОЕ ПФ- НЕФЙФШ, МАВПК УЛБЦЕФ П РПМЕ ЛПФПТПЕ СЧМСЕФУС ЧОЕЫОЙН ЛМАЮПН, ЮФП ПОП ФБЛЦЕ ПФОПУЙФУС Й Л ЗТХРРЕ РПМЕК ЛПФПТБС СЧМСЕФУС ЧОЕЫОЙН ЛМАЮПН. унщум чоеыоезп й тпдйфемшулпзп лмаюек лПЗДБ РПМЕ - СЧМСЕФУС ЧОЕЫОЙН ЛМАЮПН, ПОП ПРТЕДЕМЕООЩН ПВТБЪПН УЧСЪБОП У ФБВМЙГЕК ОБ ЛПФПТХА ПО УУЩМБЕФУС. чЩ, ЖБЛФЙЮЕУЛЙ, ЗПЧПТЙФЕ - " ЛБЦДПЕ ЪОБЮЕОЙЕ Ч ЬФПН РПМЕ ( ЧОЕЫОЕН ЛМАЮЕ ) ОЕРПУТЕДУФЧЕООП РТЙЧСЪБОП Л ЪОБ- ЮЕОЙА Ч ДТХЗПН РПМЕ ( ТПДЙФЕМШУЛПН ЛМАЮЕ )." лБЦДПЕ ЪОБЮЕОЙЕ ( ЛБЦДБС УФТПЛБ ) ЧОЕЫОЕЗП ЛМАЮБ ДПМЦОП ОЕДЧХУНЩУМЕООП УУЩМБФШУС Л ПДОПНХ Й ФПМШЛП ЬФПНХ ЪОБЮЕОЙА (УФТПЛЕ) ТПДЙФЕМШУЛПЗП ЛМАЮБ. еУМЙ ЬФП ФБЛ, ФП ЖБЛФЙЮЕУЛЙ ЧБЫБ УЙУФЕНБ, ЛБЛ ЗПЧПТЙФУС, ВХДЕФ Ч УПУФПСОЙЙ УРТБЧПЮОПК ГЕМПУФОПУФЙ. чЩ НПЦЕФЕ ХЧЙДЕФШ ЬФП ОБ РТЙНЕТЕ. чОЕЫОЙК ЛМАЮ snum Ч ФБВМЙГЕ ъБЛБЪ- ЮЙЛПЧ ЙНЕЕФ ЪОБЮЕОЙЕ 1001 ДМС УФТПЛ Hoffman Й Clemens. рТЕДРПМПЦЙН ЮФП НЩ ЙНЕМЙ ДЧЕ УФТПЛЙ Ч ФБВМЙГЕ рТПДБЧГПЧ УП ЪОБЮЕОЙЕН Ч РПМЕ snum = 1001. лБЛ НЩ ХЪОБЕН, Л ЛПФПТПНХ ЙЪ ДЧХИ РТПДБЧГПЧ ВЩМЙ ОБЪОБЮЕОЩ ЪБЛБЪЮЙЛЙ Hoffman Й Clemens ? бОБМПЗЙЮОП, ЕУМЙ ОЕФ ОЙЛБЛЙИ ФБЛЙИ УФТПЛ Ч ФБВМЙГЕ рТПДБЧГПЧ, НЩ РПМХЮЙН Hoffman Й Clemens ОБЪОБЮЕООЩНЙ Л РТПДБЧГХ ЛПФПТПЗП ОЕ УХЭЕУФЧХЕФ! рПОСФОП, ЮФП ЛБЦДПЕ ЪОБЮЕОЙЕ ЧП ЧОЕЫОЕН ЛМАЮЕ ДПМЦОП ВЩФШ РТЕДУФБЧ- МЕОП ПДЙО, Й ФПМШЛП ПДЙО ТБЪ, Ч ТПДЙФЕМШУЛПН ЛМАЮЕ. жБЛФЙЮЕУЛЙ, ДБООПЕ ЪОБЮЕОЙЕ ЧОЕЫОЕЗП ЛМАЮБ НПЦЕФ УУЩМБФШУС ФПМШЛП Л ПДОПНХ ЪОБЮЕОЙА ТПДЙФЕМШУЛПЗП ЛМАЮБ ОЕ РТЕДРПМБЗБС ПВТБФОПК ЧПЪНПЦОПУФЙ: Ф.Е. МАВПЕ ЮЙУМП ЧОЕЫОЙИ ЛМАЮЕК НПЦЕФ УУЩМБФШ Л ЕДЙОУФЧЕООПНХ ЪОБЮЕОЙА ТПДЙФЕМШУЛПЗП ЛМАЮБ. чЩ НПЦЕФЕ ХЧЙДЕФШ ЬФП Ч ФЙРПЧЩИ ФБВМЙГБИ ОБЫЙИ РТЙНЕТПЧ. й Hoffman Й Clemens ОБЪОБЮЕОЩ Л Peel, ФБЛ ЮФП ПВБ ЙИ ЪОБЮЕОЙС ЧОЕЫОЕЗП ЛМАЮБ УПЧРБДБАФ У ПДОЙН Й ФЕН ЦЕ ТПДЙФЕМШУЛЙН ЛМАЮПН, ЮФП ПЮЕОШ ИПТПЫП. ъОБЮЕОЙЕ ЧОЕЫОЕЗП ЛМАЮБ ДПМЦОП УУЩМБФШУС ФПМШЛП Л ПДОПНХ ЪОБЮЕОЙА ТПДЙФЕМШУЛПЗП ЛМАЮБ, ЪБФП ЪОБЮЕОЙЕ ТПДЙФЕМШУЛПЗП ЛМАЮБ НПЦЕФ УУЩМБФШУС У РПНПЭША МАВПЗП ЛПМЙЮЕУФЧБ ЪОБЮЕОЙК ЧОЕЫОЕЗП ЛМАЮБ. ч ЛБЮЕУФЧЕ ЙММАУФТБГЙЙ, ЪОБЮЕОЙС ЧОЕЫОЕЗП ЛМАЮБ ЙЪ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ, УПЧРБЧЫЙЕ У ЙИ ТПДЙФЕМШУЛЙН ЛМАЮПН Ч рТПДБЧГПЧ ФБВМЙГЕ, РПЛБЪЩЧБАФУС Ч тЙУХОЛЕ 19.1. дМС ХДПВУФЧБ НЩ ОЕ ХЮЙФЩЧБМЙ РПМ ОЕ ПФОПУСЭЙЕУС Л ЬФПНХ РТЙНЕТХ. пзтбойюеойе FOREIGN KEY SQL РПДДЕТЦЙЧБЕФ УРТБЧПЮОХА ГЕМПУФОПУФШ У ПЗТБОЙЮЕОЙЕН FOREIGN KEY. иПФС ПЗТБОЙЮЕОЙЕ FOREIGN KEY - ЬФП ОПЧБ ПУПВЕООПУФШ Ч SQL, ПОП ЕЭЕ ОЕ ПВЕУРЕЮЙЧБЕФ ЕЗП ХОЙЧЕТУБМШОПУФЙ. лТПНЕ ФПЗП, ОЕЛПФПТЩЕ ЕЗП ТЕБМЙЪБГЙЙ, ВПМЕЕ УМПЦОЩ ЮЕН ДТХЗЙЕ. ьФБ ЖХОЛГЙС ДПМЦОБ ПЗТБОЙЮЙЧБФШ ЪОБЮЕОЙС ЛПФПТЩЕ ЧЩ НПЦЕФЕ ЧЧЕУФЙ Ч ЧБЫХ ВБЪХ ДБООЩИ ЮФПВЩ ЪБУФБЧЙФШ ЧОЕЫОЙК ЛМАЮ Й ТПДЙФЕМШУЛЙК ЛМАЮ УППФЧЕФУФЧПЧБФШ РТЙОГЙРХ УРТБЧПЮОПК ГЕМПУФОПУФЙ. пДОП ЙЪ ДЕКУФЧЙК ПЗТБОЙЮЕОЙС чОЕЫОЕЗП лМАЮБ - ЬФП ПФВТБУЩЧБОЙЕ ЪОБЮЕОЙК ДМС РПМЕК ПЗТБОЙЮЕООЩИ ЛБЛ ЧОЕЫОЙК ЛМАЮ ЛПФПТЩК ЕЭЕ ОЕ РТЕДУФБЧМЕО Ч ТП- ДЙФЕМШУЛПН ЛМАЮЕ. ьФП ПЗТБОЙЮЕОЙЕ ФБЛЦЕ ЧПЪДЕКУФЧХЕФ ОБ ЧБЫХ УРПУПВОПУФШ ЙЪНЕОСФШ ЙМЙ ХДБМСФШ ЪОБЮЕОЙС ТПДЙФЕМШУЛПЗП ЛМАЮБ ( НЩ ВХДЕН ПВУХЦДБФШ ЬФП РПЪЦЕ Ч ЬФПК ЗМБЧЕ ). лбл нпцоп рпмс ртедуфбчйфш ч лбюеуфче чоеыойи лмаюек чЩ ЙУРПМШЪХЕФЕ ПЗТБОЙЮЕОЙЕ FOREIGN KEY Ч ЛПНБОДЕ CREATE TABLE ( ЙМЙ ALTER TABLE ), ЛПФПТБС УПДЕТЦЙФ РПМЕ ЛПФПТПЕ ЧЩ ИПФЙФЕ ПВЯСЧЙФШ ЧОЕЫОЙН ЛМАЮПН. чЩ ДБЕФЕ ЙН ТПДЙФЕМШУЛПНХ ЛМАЮХ ОБ ЛПФПТПЕ ЧЩ ВХДЕФЕ УУЩМБФШУС ЧОХФТЙ ПЗТБОЙЮЕОЙС FOREIGN KEY. рПНЕЭЕОЙЕ ЬФПЗП ПЗТБОЙЮЕОЙС Ч ЛПНБОДХ - ФБЛПЕ ЦЕ ЮФП Ч ДМС ДТХЗЙИ ПЗТБОЙЮЕОЙК ПВУХЦДЕООЩИ Ч РТЕДЩДХЭЕК ЗМБЧЕ. тЙУХОПЛ 19.1: чОЕЫОЙК лМАЮ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ У ТПДЙФЕМШУЛЙН ЛМАЮПН рПДПВОП ВПМШЫЙОУФЧХ ПЗТБОЙЮЕОЙК, ПОП НПЦЕФ ВЩФШ ПЗТБОЙЮЕОЙЕН ФБВМЙГЩ ЙМЙ УФПМВГБ, Ч ЖПТНЕ ФБВМЙГЩ РПЪЧПМСАЭЕК ЙУРПМШЪПЧБФШ НОПЗПЮЙУМЕООЩЕ РПМ ЛБЛ ПДЙО ЧОЕЫОЙК ЛМАЮ. чоеыойк лмаю лбл пзтбойюеойе фбвмйгщ уЙОФБЛУЙУ ПЗТБОЙЮЕОЙС ФБВМЙГЩ FOREIGN KEY: FOREIGN KEY REFERENCES [ ] рЕТЧЩК УРЙУПЛ УФПМВГПЧ - ЬФП УРЙУПЛ ЙЪ ПДОПЗП ЙМЙ ВПМЕЕ УФПМВГПЧ ФБВМЙГЩ, ЛПФПТЩЕ ПФДЕМЕОЩ ЪБРСФЩНЙ Й ВХДХФ УПЪДБОЩ ЙМЙ ЙЪНЕОЕОЩ ЬФПК ЛПНБОДПК. Pktable - ЬФП ФБВМЙГБ УПДЕТЦБЭБС ТПДЙФЕМШУЛЙК ЛМАЮ. пОБ НПЦЕФ ВЩФШ ФБВМЙГЕК, ЛПФПТБС УПЪДБЕФУС ЙМЙ ЙЪНЕОСЕФУС ФЕЛХЭЕК ЛПНБОДПК. чФПТПК УРЙУПЛ УФПМВГПЧ - ЬФП УРЙУПЛ УФПМВГПЧ ЛПФПТЩЕ ВХДХФ УПУФБЧМСФШ ТПДЙФЕМШУЛЙК ЛМАЮ. уРЙУЛЙ ДЧХИ УФПМВГПЧ ДПМЦОЩ ВЩФШ УПЧНЕУФЙНЩ, Ф.Е.: * пОЙ ДПМЦОЩ ЙНЕФШ ПДЙОБЛПЧПЕ ЮЙУМП УФПМВГПЧ. * ч ДБООПК РПУМЕДПЧБФЕМШОПУФЙ, РЕТЧЩК, ЧФПТПК, ФТЕФЙК, Й Ф.Д., УФПМВГЩ УРЙУЛБ УФПМВГПЧ ЧОЕЫОЕЗП ЛМАЮБ, ДПМЦОЩ ЙНЕФШ ПДЙОБЛПЧЩЕ ФЙРЩ ДБООЩИ Й ТБЪНЕТЩ, ЮФП Й РЕТЧЩК, ЧФПТПК, ФТЕФЙК, Й Ф.Д., УФПМВГЩ УРЙУЛБ УФПМВГПЧ ТПДЙФЕМШУЛПЗП ЛМАЮБ. уФПМВГЩ Ч УРЙУЛБИ ПВПЙИ УФПМВГПЧ ОЕ ДПМЦОЩ ЙНЕФШ ПДЙОБЛПЧЩИ ЙНЕО, ИПФС НЩ Й ЙУРПМШЪПЧБМЙ ФБЛПК УРПУПВ Ч ОБЫЙИ РТЙНЕТБИ ЮФПВЩ ДЕМБФШ УЧСЪШ ВПМЕЕ РПОСФОПК. уПЪДБДЙН ФБВМЙГХ ъБЛБЪЮЙЛПЧ У РПМЕН snum ПРТЕДЕМЕООЩН Ч ЛБЮЕУФЧЕ ЧОЕЫОЕЗП ЛМАЮБ УУЩМБАЭЕЗПУС ОБ ФБВМЙГХ рТПДБЧГПЧ: CREATE TABLE Customers ( cnum integer NOT NULL PRIMARY KEY cname char(10), city char(10), snum integer, FOREIGN KEY (snum) REFERENCES Salespeople ( snum ); йНЕКФЕ Ч ЧЙДХ, ЮФП РТЙ ЙУРПМШЪПЧБОЙЙ ALTER TABLE ЧНЕУФП CREATE TABLE, ДМС РТЙНЕОЕОЙС ПЗТБОЙЮЕОЙС FOREIGN KEY, ЪОБЮЕОЙС ЛПФПТЩЕ чЩ ХЛБЪЩЧБЕФЕ ЧП ЧОЕЫОЕН ЛМАЮЕ Й ТПДЙФЕМШУЛПН ЛМАЮЕ, ДПМЦОЩ ВЩФШ Ч УПУФПСОЙЙ УРТБЧПЮОПК ГЕМПУФОПУФЙ. йОБЮЕ ЛПНБОДБ ВХДЕФ ПФЛМПОЕОБ. иПФС ALTER TABLE ПЮЕОШ РПМЕЪОБ ЙЪ-ЪБ ЕЕ ХДПВУФЧБ, ЧЩ ДПМЦОЩ ВХДЕФЕ Ч ЧБЫЕК УЙУФЕНЕ, РП ЧПЪНПЦОПУФЙ ЛБЦДЩК ТБЪ, УОБЮБМБ ЖПТНЙТПЧБФШ УФТХЛФХТОЩЕ РТЙОГЙРЩ, ФЙРБ УРТБЧПЮОПК ГЕМПУФОПУФЙ. чоеыойк лмаю лбл пзтбойюеойе уфпмвгпч чБТЙБОФ ПЗТБОЙЮЕОЙС УФПМВГБ ПЗТБОЙЮЕОЙЕН FOREIGN KEY - РП ДТХЗПНХ ОБЪЩЧБЕФУС - УУЩМПЮОПЕ ПЗТБОЙЮЕОЙЕ (REFERENCES), ФБЛ ЛБЛ ПО ЖБЛФЙЮЕУЛЙ ОЕ УП- ДЕТЦЙФ Ч УЕВЕ УМПЧ FOREIGN KEY, Б РТПУФП ЙУРПМШЪХЕФ УМПЧП REFERENCES, Й ДБМЕЕ ЙН ТПДЙФЕМШУЛПЗП ЛМАЮБ, РПДПВОП ЬФПНХ: CREATE TABLE Customers ( cnum integer NOT NULL PRIMARY KEY, cname char(10), city char(10), snum integer REFERENCES Salespeople (snum)); чЩЫЕХРПНСОХФПЕ ПРТЕДЕМСЕФ Customers.snum ЛБЛ ЧОЕЫОЙК ЛМАЮ Х ЛПФПТПЗП ТПДЙФЕМШУЛЙК ЛМАЮ - ЬФП Salespeople.snum. ьФП ЬЛЧЙЧБМЕОФОП ФБЛПНХ ПЗТБОЙЮЕОЙА ФБВМЙГЩ: FOREIGN KEY (snum) REGERENCES Salespeople (snum) ое хлбъщчбфш урйупл уфпмвгпч ретчйюощи лмаюекM йУРПМШЪХС ПЗТБОЙЮЕОЙЕ FOREIGN KEY ФБВМЙГЩ ЙМЙ УФПМВГБ, ЧЩ НПЦЕФЕ ОЕ ХЛБЪЩЧБФШ УРЙУПЛ УФПМВГПЧ ТПДЙФЕМШУЛПЗП ЛМАЮБ ЕУМЙ ТПДЙФЕМШУЛЙК ЛМАЮ ЙНЕЕФ ПЗТБОЙЮЕОЙЕ PRIMARY KEY. еУФЕУФЧЕООП, Ч УМХЮБЕ ЛМАЮЕК УП НОПЗЙНЙ РПМСНЙ, РПТСДПЛ УФПМВГПЧ ЧП ЧОЕЫОЙИ Й РЕТЧЙЮОЩИ ЛМАЮБИ ДПМЦЕО УПЧРБДБФШ, Й, Ч МАВПН УМХЮБЕ, РТЙОГЙР УПЧНЕУФЙНПУФЙ НЕЦДХ ДЧХН ЛМАЮБНЙ ЧУЕ ЕЭЕ РТЙНЕОЙН. оБРТЙНЕТ, ЕУМЙ НЩ РПНЕУФЙМЙ ПЗТБОЙЮЕОЙЕ PRIMARY KEY Ч РПМЕ snum ФБВМЙГЩ рТПДБЧГПЧ, НЩ НПЗМЙ ВЩ ЙУРПМШЪПЧБФШ ЕЗП ЛБЛ ЧОЕЫОЙК ЛМАЮ Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ (РПДПВОП РТЕДЩДХЭЕНХ РТЙНЕТХ) Ч ЬФПК ЛПНБОДЕ: CREATE TABLE Customers ( cnum integer NOT NULL PRIMARY KEY, cname char(10), city char(10), snum integer REFERENCES Salespeople); ьФП УТЕДУФЧП ЧУФТБЙЧБМПУШ Ч СЪЩЛ, ЮФПВЩ РППЭТСФШ ЧБУ ЙУРПМШЪПЧБФШ РЕТЧЙЮ- ОЩЕ ЛМАЮЙ Ч ЛБЮЕУФЧЕ ТПДЙФЕМШУЛЙИ ЛМАЮЕК. лбл уртбчпюобс гемпуфопуфш пзтбойюйчбеф ъобюеойс тпдйфемшулпзп лмаюб рПДДЕТЦБОЙЕ УРТБЧПЮОПК ГЕМПУФОПУФЙ ФТЕВХЕФ ОЕЛПФПТЩИ ПЗТБОЙЮЕОЙК ОБ ЪОБЮЕОЙС, ЛПФПТЩЕ НПЗХФ ВЩФШ РТЕДУФБЧМЕОЩ Ч РПМСИ, ПВЯСЧМЕООЩИ ЛБЛ ЧОЕЫОЙК ЛМАЮ Й ТПДЙФЕМШУЛЙК ЛМАЮ. тПДЙФЕМШУЛЙК ЛМАЮ ДПМЦЕО ВЩФШ УФТХЛФХТЕО, ЮФПВЩ ЗБТБОФЙТПЧБФШ, ЮФП ЛБЦДПЕ ЪОБЮЕОЙЕ ЧОЕЫОЕЗП ЛМАЮБ ВХДЕФ УППФЧЕФУФЧПЧБФШ ПДОПК ХЛБЪБООПК УФТПЛЕ. ьФП ПЪОБЮБЕФ, ЮФП ПО (ЛМАЮ) ДПМЦЕО ВЩФШ ХОЙЛБМШОЩН Й ОЕ УПДЕТЦБФШ ОЙЛБЛЙИ РХУФЩИ ЪОБЮЕОЙК(NULL). ьФПЗП ОЕ ДПУФБФПЮОП ДМС ТПДЙФЕМШУЛПЗП ЛМАЮБ Ч УМХЮБЕ ЧЩРПМОЕОЙС ФБЛПЗП ФТЕВПЧБОЙС ЛБЛ РТЙ ПВЯСЧМЕОЙЙ ЧОЕЫОЕЗП ЛМАЮБ. SQL ДПМЦЕО ВЩФШ ХЧЕТЕО ЮФП ДЧПКОЩЕ ЪОБЮЕОЙС ЙМЙ РХУФЩЕ ЪОБЮЕОЙС (NULL) ОЕ ВЩМЙ ЧЧЕДЕОЩ Ч ТПДЙФЕМШУЛЙК ЛМАЮ. уМЕДПЧБФЕМШОП ЧЩ ДПМЦОЩ ХВЕДЙФШУС, ЮФП ЧУЕ РПМ, ЛПФПТЩЕ ЙУРПМШЪХАФУС ЛБЛ ТПДЙФЕМШУЛЙЕ ЛМАЮЙ, ЙНЕАФ ЙМЙ ПЗТБОЙЮЕОЙЕ PRIMARY KEY ЙМЙ ПЗТБОЙЮЕОЙЕ UNIQUE, ОБРПДПВЙЕ ПЗТБОЙЮЕОЙС NOT NULL. ретчйюощк лмаю лбл хойлбмшощк чоеыойк лмаю уУЩМЛБ ЧБЫЙИ ЧОЕЫОЙИ ЛМАЮЕК ФПМШЛП ОБ РЕТЧЙЮОЩЕ ЛМАЮЙ, ЛБЛ НЩ ЬФП ДЕМБМЙ Ч ФЙРПЧЩИ ФБВМЙГБИ, - ИПТПЫБ УФТБФЕЗЙ. лПЗДБ ЧЩ ЙУРПМШЪХЕФЕ ЧОЕЫОЙЕ ЛМА- ЮЙ, ЧЩ УЧСЪЩЧБЕФЕ ЙИ ОЕ РТПУФП У ТПДЙФЕМШУЛЙНЙ ЛМАЮБНЙ ОБ ЛПФПТЩЕ ПОЙ УУЩМБАФУС; ЧЩ УЧСЪЩЧБЕФЕ ЙИ У ПРТЕДЕМЕООПК УФТПЛПК ФБВМЙГЩ ЗДЕ ЬФПФ ТПДЙФЕМШУ- ЛЙК ЛМАЮ ВХДЕФ ОБКДЕО. уБН РП УЕВЕ ТПДЙФЕМШУЛЙК ЛМАЮ ОЕ ПВЕУРЕЮЙЧБЕФ ОЙЛБ- ЛПК ЙОЖПТНБГЙЙ ЛПФПТБС ВЩ ОЕ ВЩМБ ХЦЕ РТЕДУФБЧМЕОБ ЧП ЧОЕЫОЕН ЛМАЮЕ. уНЩУМ, ОБРТЙНЕТ, РПМ snum ЛБЛ ЧОЕЫОЕЗП ЛМАЮБ Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ - ЬФП УЧСЪШ ЛПФПТХА ПО ПВЕУРЕЮЙЧБЕФ, ОЕ Л ЪОБЮЕОЙА РПМ snum ОБ ЛПФПТПЕ ПО УУЩМБЕФУС, Б Л ДТХЗПК ЙОЖПТНБГЙЙ Ч ФБВМЙГЕ рТПДБЧГПЧ, ФБЛПК ОБРТЙНЕТ ЛБЛ, ЙНЕОБ РТПДБЧГПЧ, ЙИ НЕУФПРПМПЦЕОЙЕ, Й ФБЛ ДБМЕЕ. чОЕЫОЙК ЛМАЮ - ЬФП ОЕ РТПУФП УЧСЪШ НЕЦДХ ДЧХН ЙДЕОФЙЮОЩНЙ ЪОБЮЕОЙСНЙ; ЬФП - УЧСЪШ, У РПНПЭША ЬФЙИ ДЧХИ ЪОБЮЕОЙК, НЕЦДХ ДЧХН УФТПЛБНЙ ФБВМЙГЩ ХЛБЪБООПК Ч ЪБРТПУЕ. ьФП РПМЕ snum НПЦЕФ ЙУРПМШЪПЧБФШУС ЮФПВЩ УЧСЪЩЧБФШ МАВХА ЙОЖПТНБГЙА Ч УФТПЛЕ ЙЪ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ УП УУЩМПЮОПК УФТПЛПК ЙЪ ФБВМЙГЩ рТПДБЧГПЧ - ОБРТЙНЕТ ЮФПВЩ ХЪОБФШ - ЦЙЧХФ МЙ ПОЙ Ч ФПН ЦЕ УБНПН ЗПТПДЕ, ЛФП ЙНЕЕФ ВПМЕЕ ДМЙООПЕ ЙНС, ЙНЕЕФ МЙ РТПДБЧЕГ ЛТПНЕ ДБООПЗП ЪБЛБЪЮЙЛБ ЛБЛЙИ-ФП ДТХЗЙИ ЪБЛБЪЮЙЛПЧ, Й ФБЛ ДБМЕЕ. фБЛ ЛБЛ ГЕМШ РЕТЧЙЮОПЗП ЛМАЮБ УПУФПЙФ Ч ФПН, ЮФПВЩ ЙДЕОФЙЖЙГЙТПЧБФШ ХОЙЛБМШОПУФШ УФТПЛЙ, ЬФП ВПМЕЕ МПЗЙЮОЩК Й НЕОЕЕ ОЕПДОПЪОБЮОЩК ЧЩВПТ ДМС ЧОЕЫОЕЗП ЛМАЮБ. дМС МАВПЗП ЧОЕЫОЕЗП ЛМАЮБ ЛПФПТЩК ЙУРПМШЪХЕФ ХОЙЛБМШОЩК ЛМАЮ ЛБЛ ТПДЙФЕМШУЛЙК ЛМАЮ, ЧЩ ДПМЦОЩ УПЪДБФШ ЧОЕЫОЙК ЛМАЮ ЛПФПТЩК ВЩ ЙУРПМШЪПЧБМ РЕТЧЙЮОЩК ЛМАЮ ФПК ЦЕ УБНПК ФБВМЙГЩ ДМС ФПЗП ЦЕ УБНПЗП ДЕКУФЧЙС. чОЕЫОЙК ЛМАЮ ЛПФПТЩК ОЕ ЙНЕЕФ ОЙЛБЛПК ДТХЗПК ГЕМЙ ЛТПНЕ УЧСЪЩЧБОЙС УФТПЛ, ОБРПНЙОБЕФ РЕТЧЙЮОЩК ЛМАЮ ЙУРПМШЪХЕНЩК ЙУЛМАЮЙФЕМШОП ДМС ЙДЕОФЙЖЙЛБГЙЙ УФТПЛ, Й СЧМСЕФУС ИПТПЫЙН УТЕДУФЧПН УПИТБОЙФШ УФТХЛФХТХ ЧБЫЕК ВБЪЩ ДБООЩИ СУОПК Й РТПУФПК, Й - УМЕДПЧБФЕМШОП УПЪДБАЭЕК НЕОШЫЕ ФТХДОПУФЕК. пзтбойюеойс чоеыоезп лмаюб чОЕЫОЙК ЛМАЮ, Ч ЮБУФОПУФЙ, НПЦЕФ УПДЕТЦБФШ ФПМШЛП ФЕ ЪОБЮЕОЙС ЛПФПТЩЕ ЖБЛФЙЮЕУЛЙ РТЕДУФБЧМЕОЩ Ч ТПДЙФЕМШУЛПН ЛМАЮЕ ЙМЙ РХУФЩЕ(NULL). рПРЩФЛБ ЧЧЕУФЙ ДТХЗЙЕ ЪОБЮЕОЙС Ч ЬФПФ ЛМАЮ ВХДЕФ ПФЛМПОЕОБ. чЩ НПЦЕФЕ ПВЯСЧЙФШ ЧОЕЫОЙК ЛМАЮ ЛБЛ NOT NULL, ОП ЬФП ОЕПВСЪБФЕМШОП, Й Ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ, ОЕЦЕМБФЕМШОП. оБРТЙНЕТ, РТЕДРПМПЦЙН, ЮФП ЧЩ ЧЧПДЙ- ФЕ ЪБЛБЪЮЙЛБ ОЕ ЪОБС ЪБТБОЕЕ, Л ЛБЛПНХ РТПДБЧГХ ПО ВХДЕФ ОБЪОБЮЕО. мХЮЫЙК ЧЩИПД Ч ЬФПК УЙФХБГЙЙ, ВХДЕФ ЕУМЙ ЙУРПМШЪПЧБФШ ЪОБЮЕОЙЕ NOT NULL, ЛПФПТПЕ ДПМЦОП ВЩФШ ЙЪНЕОЕОП РПЪЦЕ ОБ ЛПОЛТЕФОПЕ ЪОБЮЕОЙЕ. юфп умхюйфус, еумй чщ чщрпмойфе лпнбодх нпдйжйлбгйй дБЧБКФЕ ХУМПЧЙНУС, ЮФП ЧУЕ ЧОЕЫОЙЕ ЛМАЮЙ УПЪДБООЩЕ Ч ОБЫЙИ ФБВМЙГБИ РТЙНЕ- ТПЧ, ПВЯСЧМЕОЩ Й РТЕДРЙУБОЩ У ПЗТБОЙЮЕОЙСНЙ ЧОЕЫОЕЗП ЛМАЮБ, УМЕДХАЭЙН ПВТБЪПН : CREATE TABLE Salespeople (snum integer NOT NULL PRIMARY KEY, sname char(10) NOT NULL, city char(10), comm decimal); CREATE TABLE Customers (cnum integer NOT NULL PRIMARY KEY, cname char(10) NOT NULL, city char(10), rating integer, snum integer, FOREIGN KEY (snum) REFERENCES Salespeople, UNIQUE (cnum, snum) ; CREATE TABLE Orders (cnum integer NOT NULL PRIMARY KEY, amt decimal, odate date NOT NULL, cnum integer NOT NULL snum integer NOT NULL FOREIGN KEY (cnum, snum) REFERENCES CUSTOMERS (cnum, snum); члмаюеойе прйубойк фбвмйгщ йНЕЕФУС ОЕУЛПМШЛП БФТЙВХФПЧ ФБЛЙИ ПРТЕДЕМЕОЙК П ЛПФПТЩИ ОХЦОП РПЗПЧПТЙФШ. рТЙЮЙОБ РП ЛПФПТПК НЩ ТЕЫЙМЙ УДЕМБФШ РПМ cnum Й snum Ч ФБВМЙГЕ рПТСДЛПЧ, ЕДЙОЩН ЧОЕЫОЙН ЛМАЮПН - ЬФП ЗБТБОФЙС ФПЗП, ЮФП ДМС ЛБЦДПЗП ЪБЛБЪЮЙЛБ УПДЕТЦБЭЕЗПУС Ч РПТСДЛБИ, РТПДБЧЕГ ЛТЕДЙФХАЭЙК ЬФПФ РПТСДПЛ - ФПФ ЦЕ ЮФП Й ХЛБЪБООЩК Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ. юФПВЩ УПЪДБФШ ФБЛПК ЧОЕЫОЙК ЛМАЮ, НЩ ВЩ- МЙ ВЩ ДПМЦОЩ РПНЕУФЙФШ ПЗТБОЙЮЕОЙЕ ФБВМЙГЩ UNIQUE Ч ДЧБ РПМ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ, ДБЦЕ ЕУМЙ ПОП ОЕПВСЪБФЕМШОП ДМС УБНПК ЬФПК ФБВМЙГЩ. рПЛБ РПМЕ cnum Ч ЬФПК ФБВМЙГБ ЙНЕЕФ ПЗТБОЙЮЕОЙЕ PRIMARY KEY, ПОП ВХДЕФ ХОЙЛБМШОП Ч МАВПН УМХЮБЕ, Й УМЕДПЧБФЕМШОП ОЕЧПЪНПЦОП РПМХЮЙФШ ЕЭЕ ПДОХ ЛПНВЙОБГЙА РПМ cnum У ЛБЛЙН-ФП ДТХЗЙН РПМЕН. уПЪДБОЙЕ ЧОЕЫОЕЗП ЛМАЮБ ФБЛЙН УРПУПВПН РПДДЕТЦЙЧБЕФ ГЕМПУФОПУФШ ВБЪЩ ДБООЩИ, ДБЦЕ ЕУМЙ РТЙ ЬФПН ЧБН ВХДЕФ ЪБРТЕЭЕОП ЧОХФТЕООЕЕ РТЕТЩЧБОЙЕ РП ПЫЙВЛЕ Й ЛТЕДЙФПЧБФШ МАВПЗП РТПДБЧГБ, ЙОПЗП ЮЕН ФПФ ЛПФПТЩК ОБЪОБЮЕО ЙНЕООП ЬФПНХ ЪБЛБЪЮЙЛХ. у ФПЮЛЙ ЪТЕОЙС РПДДЕТЦБОЙС ГЕМПУФОПУФЙ ВБЪЩ ДБООЩИ, ЧОХФТЕООЙЕ РТЕТЩЧБОЙС ( ЙМЙ ЙУЛМАЮЕОЙС) ЛПОЕЮОП ЦЕ ОЕЦЕМБФЕМШОЩ. еУМЙ ЧЩ ЙИ ДПРХУЛБЕФЕ Й Ч ФП ЦЕ ЧТЕН ИПФЙФЕ РПДДЕТЦЙЧБФШ ГЕМПУФОПУФШ ЧБЫЕК ВБЪЩ ДБООЩИ, ЧЩ НПЦЕФЕ ПВЯСЧЙФШ РПМ snum Й cnum Ч ФБВМЙГЕ рПТСДЛПЧ ОЕЪБЧЙУЙНЩНЙ ЧОЕЫОЙНЙ ЛМАЮБНЙ ЬФЙИ РПМЕК Ч ФБВМЙГЕ рТПДБЧГПЧ Й ФБВМЙГЕ ъБЛБЪЮЙЛПЧ, УППФЧЕФУФЧЕООП. жБЛФЙЮЕУЛЙ, ЙУРПМШЪПЧБОЙЕ РПМ snum Ч ФБВМЙГЕ рПТСДЛПЧ, ЛБЛ НЩ ЬФП ДЕМБМЙ, ОЕПВСЪБФЕМШОП, ИПФС ЬФП РПМЕЪОП ВЩМП УДЕМБФШ ДМС ТБЪОППВТБЪЙС. рПМЕ cnum УЧСЪЩЧБС ЛБЦДЩК РПТСДПЛ ЪБЛБЪЮЙЛПЧ Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ, Ч ФБВМЙГЕ рПТСДЛПЧ Й Ч ФБВМЙГЕ ъБЛБЪЮЙЛПЧ, ДПМЦОП ЧУЕЗДБ ВЩФШ ПВЭЙН ЮФПВЩ ОБИПДЙФШ РТБЧЙМШОПЕ РПМЕ snum ДМС ДБООПЗП РПТСДЛБ ( ОЕ ТБЪТЕЫБС ОЙЛБЛЙИ ЙУЛМАЮЕОЙК ). ьФП ПЪОБЮБЕФ ЮФП НЩ ЪБРЙУЩЧБЕН ЖТБЗНЕОФ ЙОЖПТНБГЙЙ - ЛБЛПК ЪБЛБЪЮЙЛ ОБЪОБЮЕО Л ЛБЛПНХ РТПДБЧГХ - ДЧБЦДЩ, Й ОХЦОП ВХДЕФ ЧЩРПМОСФШ ДПРПМОЙФЕМШОХА ТБВПФХ ЮФПВЩ ХДПУФПЧЕТЙФШУС, ЮФП ПВЕ ЧЕТУЙЙ УПЗМБУХАФУС. еУМЙ НЩ ОЕ ЙНЕЕН ПЗТБОЙЮЕОЙС ЧОЕЫОЕЗП ЛМАЮБ ЛБЛ УЛБЪБОП ЧЩЫЕ, ЬФБ УЙФХБГЙС ВХДЕФ ПУПВЕООП РТПВМЕНБФЙЮОБ, РПФПНХ ЮФП ЛБЦДЩК РПТСДПЛ ОХЦОП ВХДЕФ РТПЧЕТСФШ ЧТХЮОХА ( ЧНЕУФЕ У ЪБРТПУПН ), ЮФПВЩ ХДПУФПЧЕТЙФШУС ЮФП ЙНЕООП УППФЧЕФУФЧХАЭЙК РТПДБЧЕГ ЛТЕДЙФПЧБМ ЛБЦДХА УППФЧЕФУФЧХАЭХА РТПДБЦХ. оБМЙЮЙЕ ФБЛПЗП ФЙРБ ЙОЖПТНБГЙПООПК ЙЪВЩФПЮОПУФЙ Ч ЧБЫЕК ВБЪЕ ДБООЩИ, ОБЪЩЧБЕФУС ДЕНПТБМЙЪБГЙС ( denormalization ), ЮФП ОЕЦЕМБФЕМШОП Ч ЙДЕБМШОПК ТЕМСГЙПООПК ВБЪЕ ДБООЩИ, ИПФС РТБЛФЙЮЕУЛЙ Й НПЦЕФ ВЩФШ ТБЪТЕЫЕОБ. дЕНПТБМЙЪБГЙС НПЦЕФ ЪБУФБЧЙФШ ОЕЛПФПТЩЕ ЪБРТПУЩ ЧЩРПМОСФШУС ВЩУФТЕЕ, РПУЛПМШЛХ ЪБРТПУ Ч ПДОПК ФБВМЙГЕ ЧЩРПМОСЕФУС ЧУЕЗДБ ЪОБЮЙФЕМШОП ВЩУФТЕЕ ЮЕН Ч ПВЯЕДЙОЕОЙЙ. декуфчйе пзтбойюеойк лБЛ ФБЛЙЕ ПЗТБОЙЮЕОЙС ЧПЪДЕКУФЧХАФ ОБ ЧПЪНПЦОПУФШ Й ОЕЧПЪНПЦОПУФШ чБНЙ ЙУРПМШЪПЧБФШ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ DML? дМС РПМЕК, ПРТЕДЕМЕО- ОЩИ ЛБЛ ЧОЕЫОЙЕ ЛМАЮЙ, ПФЧЕФ ДПЧПМШОП РТПУФПК: МАВЩЕ ЪОБЮЕОЙС ЛПФПТЩЕ ЧЩ РПНЕЭБЕФЕ Ч ЬФЙ РПМ У ЛПНБОДПК INSERT ЙМЙ UPDATE ДПМЦОЩ ХЦЕ ВЩФШ РТЕДУФБЧМЕОЩ Ч ЙИ ТПДЙФЕМШУЛЙИ ЛМАЮБИ. чЩ НПЦЕФЕ РПНЕЭБФШ РХУФЩЕ(NULL) ЪОБЮЕОЙС Ч ЬФЙ РПМ, ОЕУНПФТС ОБ ФП ЮФП ЪОБЮЕОЙС NULL ОЕ РПЪЧПМЙФЕМШОЩ Ч ТПДЙФЕМШУЛЙИ ЛМАЮБИ, ЕУМЙ ПОЙ ЙНЕАФ ПЗТБОЙЮЕОЙЕ NOT NULL. чЩ НПЦЕФЕ ХДБМСФШ (DELETE ) МАВЩЕ УФТПЛЙ У ЧОЕЫОЙНЙ ЛМАЮБНЙ ОЕ ЙУРПМШЪХС ТПДЙ- ФЕМШУЛЙЕ ЛМАЮЙ ЧППВЭЕ. рПУЛПМШЛХ ЪБФТПОХФ ЧПРТПУ ПВ ЙЪНЕОЕОЙЙ ЪОБЮЕОЙК ТПДЙФЕМШУЛПЗП ЛМАЮБ, ПФЧЕФ, РП ПРТЕДЕМЕОЙА ANSI, ЕЭЕ РТПЭЕ, ОП ЧПЪНПЦОП ОЕУЛПМШЛП ВПМЕЕ ПЗТБОЙЮЕО: МАВПЕ ЪОБЮЕОЙЕ ТПДЙФЕМШУЛПЗП ЛМАЮБ УУЩМБЕНПЗП У РПНПЭША ЪОБЮЕОЙС ЧОЕЫОЕЗП ЛМАЮБ, ОЕ НПЦЕФ ВЩФШ ХДБМЕОП ЙМЙ ЙЪНЕОЕОП. ьФП ПЪОБЮБЕФ, ОБРТЙНЕТ, ЮФП ЧЩ ОЕ НПЦЕФЕ ХДБМЙФШ ЪБЛБЪЮЙЛБ ЙЪ ФБВМЙГЩ ъБЛБЪЮЙЛПЧ РПЛБ ПО ЕЭЕ ЙНЕЕФ РПТСДЛЙ Ч ФБВМЙГЕ рПТСДЛПЧ. ч ЪБЧЙУЙНПУФЙ ПФ ФПЗП, ЛБЛ ЧЩ ЙУРПМШЪХЕФЕ ЬФЙ ФБВМЙГЩ, ЬФП НПЦЕФ ВЩФШ ЙМЙ ЦЕМБФЕМШОП ЙМЙ ИМПРПФОП. пДОБЛП - ЬФП ЛПОЕЮОП МХЮЫЕ ЮЕН ЙНЕФШ УЙУ- ФЕНХ, ЛПФПТБС РПЪЧПМЙФ ЧБН ХДБМЙФШ ЪБЛБЪЮЙЛБ У ФЕЛХЭЙНЙ РПТСДЛБНЙ Й ПУФБЧЙФШ ФБВМЙГХ рПТСДЛПЧ УУЩМБАЭЕКУС ОБ ОЕУХЭЕУФЧХАЭЙИ ЪБЛБЪЮЙЛПЧ. уНЩУМ ЬФПК УЙУФЕНЩ ПЗТБОЙЮЕОЙС Ч ФПН, ЮФП УПЪДБФЕМШ ФБВМЙГЩ рПТСДЛПЧ, ЙУРПМШЪХС ФБВМЙГХ ъБЛБЪЮЙЛПЧ Й ФБВМЙГХ рТПДБЧГПЧ ЛБЛ ТПДЙФЕМШУЛЙЕ ЛМА- ЮЙ НПЦЕФ ОБМПЦЙФШ ЪОБЮЙФЕМШОЩЕ ПЗТБОЙЮЕОЙС ОБ ДЕКУФЧЙС Ч ЬФЙИ ФБВМЙГБИ. рП ЬФПК РТЙЮЙОЕ, ЧЩ ОЕ УНПЦЕФЕ ЙУРПМШЪПЧБФШ ФБВМЙГХ ЛПФПТПК ЧЩ ОЕ ТБУРПТСЦБЕФЕУШ ( Ф.Е. ОЕ ЧЩ ЕЕ УПЪДБЧБМЙ Й ОЕ ЧЩ СЧМСЕФЕУШ ЕЕ ЧМБДЕМШГЕН), РП- ЛБ ЧМБДЕМЕГ(УПЪДБФЕМШ) ЬФПК ФБВМЙГЩ УРЕГЙБМШОП ОЕ РЕТЕДБУФ ЧБН ОБ ЬФП РТБЧП ( ЮФП ПВЯСУОСЕФУС Ч зМБЧЕ 22). йНЕАФУС ОЕЛПФПТЩЕ ДТХЗЙЕ ЧПЪНПЦОЩЕ ДЕКУФЧЙС ЙЪНЕОЕОЙС ТПДЙФЕМШУ- ЛПЗП ЛМАЮБ, ЛПФПТЩЕ ОЕ СЧМСАФУС ЮБУФША ANSI, ОП НПЗХФ ВЩФШ ОБКДЕОЩ Ч ОЕЛПФПТЩИ ЛПННЕТЮЕУЛЙИ РТПЗТБННБИ. еУМЙ ЧЩ ИПФЙФЕ ЙЪНЕОЙФШ ЙМЙ ХДБМЙФШ ФЕЛХЭЕЕ УУЩМПЮОПЕ ЪОБЮЕОЙЕ ТПДЙФЕМШУЛПЗП ЛМАЮБ, ЙНЕЕФУС РП УХЭЕУФЧХ ФТЙ ЧПЪНПЦОПУФЙ: * чЩ НПЦЕФЕ ПЗТБОЙЮЙФШ, ЙМЙ ЪБРТЕФЙФШ, ЙЪНЕОЕОЙЕ ( УРПУПВПН ANSI ), ПВПЪОБЮЙЧ, ЮФП ЙЪНЕОЕОЙС Ч ТПДЙФЕМШУЛПН ЛМАЮЕ - ПЗТБОЙЮЕОЩ. * чЩ НПЦЕФЕ УДЕМБФШ ЙЪНЕОЕОЙЕ Ч ТПДЙФЕМШУЛПН ЛМАЮЕ Й ФЕН УБНЩН УДЕ- МБФШ ЙЪНЕОЕОЙС ЧП ЧОЕЫОЕН ЛМАЮЕ БЧФПНБФЙЮЕУЛЙН, ЮФП ОБЪЩЧБЕФУС - ЛБУЛБДОЩН ЙЪНЕОЕОЙЕН. * чЩ НПЦЕФЕ УДЕМБФШ ЙЪНЕОЕОЙЕ Ч ТПДЙФЕМШУЛПН ЛМАЮЕ, Й ХУФБОПЧЙФШ ЧОЕ- ЫОЙК ЛМАЮ Ч NULL, БЧФПНБФЙЮЕУЛЙ ( РПМБЗБС, ЮФП NULLS ТБЪТЕЫЕО ЧП ЧОЕЫОЕН ЛМАЮЕ ), ЮФП ОБЪЩЧБЕФУС - РХУФЩН ЙЪНЕОЕОЙЕН ЧОЕЫОЕЗП ЛМАЮБ. дБЦЕ Ч РТЕДЕМБИ ЬФЙИ ФТЕИ ЛБФЕЗПТЙК, ЧЩ НПЦЕФЕ ОЕ ЪБИПФЕФШ ПВТБВБФЩЧБФШ ЧУЕ ЛПНБОДЩ НПДЙЖЙЛБГЙЙ ФБЛЙН УРПУПВПН. INSERT, ЛПОЕЮОП, Л ДЕМХ ОЕ ПФОПУЙФУС. пО РПНЕЭБЕФ ОПЧЩЕ ЪОБЮЕОЙС ТПДЙФЕМШУЛПЗП ЛМАЮБ Ч ФБВМЙГХ, ФБЛ ЮФП ОЙ ПДОП ЙЪ ЬФЙИ ЪОБЮЕОЙК ОЕ НПЦЕФ ВЩФШ ЧЩЪЧБОП Ч ДБООЩК НПНЕОФ. пДОБЛП, ЧЩ НПЦЕФЕ ЪБИПФЕФШ РПЪЧПМЙФШ НПДЙЖЙЛБГЙСН ВЩФШ ЛБУЛБДОЩНЙ, ОП ВЕЪ ХДБМЕОЙК, Й ОБПВПТПФ. мХЮЫЕК НПЦЕФ ВЩФШ УЙФХБГЙС ЛПФПТБС РПЪЧПМЙФ ЧБН ПРТЕДЕМСФШ МАВХА ЙЪ ФТЕИ ЛБФЕЗПТЙК, ОЕЪБЧЙУЙНП ПФ ЛПНБОД UPDATE Й DELETE. нЩ ВХДЕН УМЕДПЧБФЕМШОП УУЩМБФШУС ОБ ЬЖЖЕЛФ НПДЙЖЙЛБГЙЙ (update effects) Й ЬЖЖЕЛФ ХДБМЕОЙС ( delete effects ), ЛПФПТЩЕ ПРТЕДЕМСАФ, ЮФП УМХЮЙФУС ЕУМЙ ЧЩ ЧЩРПМОЙФЕ ЛПНБО- ДЩ UPDATE ЙМЙ DELETE Ч ТПДЙФЕМШУЛПН ЛМАЮЕ. ьФЙ ЬЖЖЕЛФЩ, П ЛПФПТЩИ НЩ ЗПЧПТЙМЙ, ОБЪЩЧБАФУС: пЗТБОЙЮЕООЩЕ (RESTRICTED) ЙЪНЕОЕОЙС, лБУЛБДЙТХЕНЩЕ (CASCADES) ЙЪНЕОЕОЙС, Й рХУФЩЕ (NULL) ЙЪНЕОЕОЙС. жБЛФЙЮЕУЛЙЕ ЧПЪНПЦОПУФЙ ЧБЫЕК УЙУФЕНЩ ДПМЦОЩ ВЩФШ Ч УФТПЗПН УФБОДБТ- ФЕ ANSI - ЬФП ЬЖЖЕЛФЩ НПДЙЖЙЛБГЙЙ Й ХДБМЕОЙС, ПВБ, БЧФПНБФЙЮЕУЛЙ ПЗТБОЙЮЕООЩЕ - ДМС ВПМЕЕ ЙДЕБМШОПК УЙФХБГЙЙ ПРЙУБООПК ЧЩЫЕ. ч ЛБЮЕУФЧЕ ЙММАУФТБГЙЙ, НЩ РПЛБЦЕН ОЕУЛПМШЛП РТЙНЕТПЧ ФПЗП, ЮФП ЧЩ НПЦЕФЕ ДЕМБФШ У РПМОЩН ОБВПТПН ЬЖЖЕЛФПЧ НПДЙЖЙЛБГЙЙ Й ХДБМЕОЙС. лПОЕЮОП, ЬЖЖЕЛФЩ НПДЙЖЙЛБГЙЙ Й ХДБМЕОЙС, СЧМСАЭЙЕУС ОЕУФБОДБТФОЩНЙ УТЕДУФЧБНЙ, ЙУРЩФЩЧБАФ ОЕДПУФБФПЛ Ч УФБОДБТФОПН ЗПУЙОФБЛУЙУЕ. уЙОФБЛУЙУ ЛПФПТЩК НЩ ЙУРПМШЪХЕН ЪДЕУШ, РТПУФ Ч ОБРЙУБОЙЙ Й ВХДЕФ УМХЦЙФШ Ч ДБМШОЕКЫЕН ДМС ЙММАУФТБГЙЙ ЖХОЛГЙК ЬФЙИ ЬЖЖЕЛФПЧ. дМС РПМОПФЩ ЬЛУРЕТЙНЕОФБ, РПЪЧПМЙН УЕВЕ РТЕДРПМПЦЙФШ ЮФП ЧЩ ЙНЕЕФЕ РТЙЮЙ- ОХ ЙЪНЕОЙФШ РПМЕ snum ФБВМЙГЩ рТПДБЧГПЧ Ч УМХЮБЕ, ЛПЗДБ ОБЫБ ФБВМЙГБ рТПДБЧГПЧ ЙЪНЕОСЕФ ТБЪДЕМЩ. ( пВЩЮОП ЙЪНЕОЕОЙЕ РЕТЧЙЮОЩИ ЛМАЮЕК ЬФП ОЕ ФП ЮФП НЩ ТЕЛПНЕОДХЕН ДЕМБФШ РТБЛФЙЮЕУЛЙ. рТПУФП ЬФП ЕЭЕ ПДЙО ЙЪ ДПЧПДПЧ ДМС ЙНЕАЭЙИУС РЕТЧЙЮОЩИ ЛМАЮЕК ЛПФПТЩЕ ОЕ ХНЕАФ ДЕМБФШ ОЙЮЕЗП ДТХЗПЗП ЛТПНЕ ЛБЛ, ДЕКУФЧПЧБФШ ЛБЛ РЕТЧЙЮОЩЕ ЛМАЮЙ: ПОЙ ОЕ ДПМЦОЩ ЙЪНЕОСФШУС. ) лПЗДБ ЧЩ ЙЪНЕОСЕФЕ ОПНЕТ РТПДБЧГБ, ЧЩ ИПФЙФЕ ЮФПВЩ ВЩМЙ УПИТБОЕОЩ ЧУЕ ЕЗП ЪБЛБЪЮЙЛЙ. пДОБЛП, ЕУМЙ ЬФПФ РТПДБЧЕГ РПЛЙДБЕФ УЧПА ЖЙТНХ ЙМЙ ЛПНРБОЙА, ЧЩ НПЦЕФЕ ОЕ ЪБИПФЕФШ ХДБМЙФШ ЕЗП ЪБЛБЪЮЙЛПЧ, РТЙ ХДБМЕОЙЙ ЕЗП УБНПЗП ЙЪ ВБЪЩ ДБООЩИ. чЪБНЕО, ЧЩ ЪБИПФЙФЕ ХВЕДЙФШУС, ЮФП ЪБЛБЪЮЙЛЙ ОБЪОБЮЕОЩ ЛПНХ-ОЙВХДШ ЕЭЕ. юФПВЩ УДЕМБФШ ЬФП ЧЩ ДПМЦОЩ ХЛБЪБФШ UPDATE У лБУЛБДЙТХЕНЩН ЬЖЖЕЛФПН , Й DELETE У пЗТБОЙЮЕООЩН ЬЖЖЕЛФПН. CREATE TABLE Customers (cnum integer NOT NULL PRIMARY KEY, cname char(10) NOT NULL, city char(10), rating integer, snum integer REFERENCES Salespeople, UPDATE OF Salespeople CASCADES, DELETE OF Salespeople RESTRICTED); еУМЙ ЧЩ ФЕРЕТШ РПРТПВХЕФЕ ХДБМЙФШ Peel ЙЪ ФБВМЙГЩ рТПДБЧГПЧ, ЛПНБОДБ ВХДЕФ ОЕ ДПРХУФЙНБ, РПЛБ ЧЩ ОЕ ЙЪНЕОЙФЕ ЪОБЮЕОЙЕ РПМ snum ЪБЛБЪЮЙЛПЧ Hoffman Й Clemens ДМС ДТХЗПЗП ОБЪОБЮЕООПЗП РТПДБЧГБ. у ДТХЗПК УФПТПОЩ, ЧЩ НПЦЕФЕ ЙЪНЕОЙФШ ЪОБЮЕОЙЕ РПМ snum ДМС Peel ОБ 1009, Й Hoffman Й Clemens ВХДХФ ФБЛЦЕ БЧФПНБФЙЮЕУЛЙ ЙЪНЕОЕОЩ. фТЕФЙК ЬЖЖЕЛФ - рХУФЩЕ (NULL) ЙЪНЕОЕОЙС. вЩЧБЕФ, ЮФП ЛПЗДБ РТПДБЧГЩ ПУФБЧМСАФ ЛПНРБОЙА, ЙИ ФЕЛХЭЙЕ РПТСДЛЙ ОЕ РЕТЕДБАФУС ДТХЗПНХ РТПДБЧГХ. у ДТХЗПК УФПТПОЩ, ЧЩ ИПФЙФЕ ПФНЕОЙФШ ЧУЕ РПТСДЛЙ БЧФПНБФЙЮЕУЛЙ ДМС ЪБЛБЪ- ЮЙЛПЧ, ЮШЙ УЮЕФБ ЧЩ ХДБМЙФЕ. йЪНЕОЙЧ ОПНЕТБ РТПДБЧГБ ЙМЙ ЪБЛБЪЮЙЛБ НПЦОП РТПУФП РЕТЕДБФШ ЙИ ЕНХ. рТЙНЕТ ОЙЦЕ РПЛБЪЩЧБЕФ, ЛБЛ ЧЩ НПЦЕФЕ УПЪДБФШ ФБВМЙГХ рПТСДЛПЧ У ЙУРПМШЪПЧБОЙЕН ЬФЙИ ЬЖЖЕЛФПЧ. CREATE TABLE Orders (onum integer NOT NULL PRIMARY KEY, amt decimal, odate date NOT NULL cnum integer NOT NULL REFERENCES Customers snum integer REFERENCES Salespeople, UPDATE OF Customers CASCADES, DELETE OF Customers CASCADES, UPDATE OF Salespeople CASCADES, DELETE OF Salespeople NULLS); лПОЕЮОП, Ч ЛПНБОДЕ DELETE У ЬЖЖЕЛФПН рХУФПЗП ЙЪНЕОЕОЙС Ч ФБВМЙГЕ рТПДБЧГПЧ, ПЗТБОЙЮЕОЙЕ NOT NULL ДПМЦОП ВЩФШ ХДБМЕОП ЙЪ РПМ snum. чоеыойе лмаюй лпфптще уущмбафус пвтбфоп л йи рпдюйоеоощн фбвмйгбн лБЛ ВЩМП ХРПНСОХФП ТБОЕЕ, ПЗТБОЙЮЕОЙЕ FOREIGN KEY НПЦЕФ РТЕДУФБЧЙФШ ЙН ЬФПК ЮБУФОПК ФБВМЙГЕ, ЛБЛ ФБВМЙГЩ ТПДЙФЕМШУЛПЗП ЛМАЮБ. дБМЕЛП ОЕ ВХ- ДХЮЙ РТПУФПК, ЬФБ ПУПВЕООПУФШ НПЦЕФ РТЙЗПДЙФШУС. рТЕДРПМПЦЙН, ЮФП НЩ ЙНЕЕН ФБВМЙГХ Employees У РПМЕН manager(БДНЙОЙУФТБФПТ). ьФП РПМЕ УПДЕТ- ЦЙФ ОПНЕТБ ЛБЦДПЗП ЙЪ УМХЦБЭЙИ, ОЕЛПФПТЩЕ ЙЪ ЛПФПТЩИ СЧМСАФУС ЕЭЕ Й БД- НЙОЙУФТБФПТБНЙ. оП ФБЛ ЛБЛ ЛБЦДЩК БДНЙОЙУФТБФПТ - Ч ФП ЦЕ ЧТЕН ПУФБЕФУС УМХЦБЭЙН, ФП ПО ЕУФЕУФЧЕООП ВХДХФ ФБЛЦЕ РТЕДУФБЧМЕО Ч ЬФПК ФБВМЙГЕ. дБЧБКФЕ УПЪДБДЙН ФБВМЙГХ, ЗДЕ ОПНЕТ УМХЦБЭЕЗП ( УФПМВЕГ У ЙНЕОЕН empno ), ПВЯСЧМСЕФУС ЛБЛ РЕТЧЙЮОЩК ЛМАЮ, Б БДНЙОЙУФТБФПТ, ЛБЛ ЧОЕЫОЙК ЛМАЮ, ВХДЕФ УУЩМБФШУС ОБ ОЕЕ: CREATE TABLE Employees (empno integer NOT NULL PRIMARY KEY, name char(10) NOT NULL UNIOUE, manager integer REFERENCES Employees); ( фБЛ ЛБЛ ЧОЕЫОЙК ЛМАЮ ЬФП УУЩМБЕНЩК РЕТЧЙЮОЩК ЛМАЮ ФБВМЙГЩ, УРЙУПЛ УФПМВГПЧ НПЦЕФ ВЩФШ ЙУЛМАЮЕО. ) йНЕЕФУС УПДЕТЦБОЙЕ ЬФПК ФБВМЙГЩ: EMPNO NAME MANAGER _____ ________ _______ 1003 Terrence 2007 2007 Atali NULL 1688 McKenna 1003 2002 Collier 2007 лБЛ ЧЩ НПЦЕФЕ ЧЙДЕФШ, ЛБЦДЩК ЙЪ ОЙИ( ОП ОЕ Atali ) , УУЩМБЕФУС ОБ ДТХЗПЗП УМХЦБЭЕЗП Ч ФБВМЙГЕ ЛБЛ ОБ УЧПЕЗП БДНЙОЙУФТБФПТБ. Atali, ЙНЕАЭЙК ОБЙЧЩУЫЙК ОПНЕТ Ч ФБВМЙГЕ, ДПМЦЕО ЙНЕФШ ЪОБЮЕОЙЕ ХУФБОПЧМЕООПЕ Ч NULL. ьФП ДБЕФ ДТХЗПК РТЙОГЙР УРТБЧПЮОПК ГЕМПУФОПУФЙ. чОЕЫОЙК ЛМАЮ, ЛПФПТЩК УУЩМБЕФУС ПВТБФОП Л ЮБУФОПК ФБВМЙГЕ, ДПМЦЕО РПЪЧПМСФШ ЪОБЮЕОЙС = NULL. еУМЙ ЬФП ОЕ ФБЛ, ЛБЛ ВЩ ЧЩ НПЗМЙ ЧУФБЧЙФШ РЕТЧХА УФТПЛХ ? дБЦЕ ЕУМЙ ЬФБ РЕТЧБС УФТПЛБ УУЩМБЕФУС Л УЕВЕ УБНПК, ЪОБЮЕОЙЕ ТПДЙФЕМШУЛПЗП ЛМАЮБ ДПМЦОП ХЦЕ ВЩФШ ХУФБОПЧМЕОП, ЛПЗДБ ЧЧПДЙФУС ЪОБЮЕОЙЕ ЧОЕЫОЕЗП ЛМА- ЮБ. ьФПФ РТЙОГЙР ВХДЕФ ЧЕТЕО, ДБЦЕ ЕУМЙ ЧОЕЫОЙК ЛМАЮ УУЩМБЕФУС ПВТБФОП Л ЮБУФОПК ФБВМЙГЕ ОЕ ОБРТСНХА Б У РПНПЭША УУЩМЛЙ Л ДТХЗПК ФБВМЙГЕ, ЛПФПТБС ЪБФЕН УУЩМБЕФУС ПВТБФОП Л ФБВМЙГЕ ЧОЕЫОЕЗП ЛМАЮБ. оБРТЙНЕТ, РТЕДРПМПЦЙН, ЮФП ОБЫБ ФБВМЙГБ рТПДБЧГПЧ ЙНЕЕФ ДПРПМОЙФЕМШОПЕ РПМЕ ЛПФПТПЕ УУЩМБЕФУС ОБ ФБВМЙГХ ъБЛБЪЮЙЛПЧ, ФБЛ, ЮФП ЛБЦДБС ФБВМЙГБ УУЩМБЕФУС ОБ ДТХЗХА, ЛБЛ РПЛБЪБОП Ч УМЕДХАЭЕН ПРЕТБФПТЕ CREATE TABLE: CREATE TABLE Salespeople (snum integer NOT NULL PRIMARY KEY, sname char(10) NOT NULL, city char(10), comm declmal, cnum integer REFERENCES Customers); CREATE TABLE Customers (cnum integer NOT NULL PRIMARY KEY, cname char(10) NOT NULL, city char(10), rating integer, snum integer REFERENCES Salespeople); ьФП ОБЪЩЧБЕФУС - РЕТЕЛТЕУФОПК УУЩМЛПК. SQL РПДДЕТЦЙЧБЕФ ЬФП ФЕПТЕФЙЮЕУЛЙ, ОП РТБЛФЙЮЕУЛЙ ЬФП НПЦЕФ УПУФБЧЙФШ РТПВМЕНХ. мАВБ ФБВМЙГБ ЙЪ ЬФЙИ ДЧХИ, УПЪДБООБС РЕТЧПК СЧМСЕФУС УУЩМПЮ- ОПК ФБВМЙГЕК ЛПФПТБС ЕЭЕ ОЕ УХЭЕУФЧХЕФ ДМС ДТХЗПК. ч ЙОФЕТЕУБИ ПВЕУРЕЮЕОЙС РЕТЕЛТЕУФОПК УУЩМЛЙ, SQL ЖБЛФЙЮЕУЛЙ РПЪЧПМСЕФ ЬФП, ОП ОЙЛБЛБС ФБВМЙГБ ОЕ ВХДЕФ РТЙЗПДОБ ДМС ЙУРПМШЪПЧБОЙС РПЛБ ПОЙ ПВЕ ОБИПДСФУС Ч РТПГЕУУЕ УПЪДБОЙС. у ДТХЗПК УФПТПОЩ, ЕУМЙ ЬФЙ ДЧЕ ФБВМЙГЩ УПЪДБАФУС ТБЪМЙЮОЩНЙ РПМШЪПЧБФЕМСНЙ, РТПВМЕНБ УФБОПЧЙФУС ЕЭЕ ВПМЕЕ ФТХДОПК. рЕТЕЛТЕУФОБ УУЩМЛБ НПЦЕФ УФБФШ РПМЕЪОЩН ЙОУФТХНЕОФПН, ОП ПОБ ОЕ ВЕЪ ОЕПДОПЪОБЮОПУФЙ Й ПРБУОПУФЕК. рТЕДЫЕУФЧХАЭЙК РТЙНЕТ, ОБРТЙНЕТ, ОЕ УПЧ- УЕН РТЙЗПДЕО ДМС ЙУРПМШЪПЧБОЙС: РПФПНХ ЮФП ПО ПЗТБОЙЮЙЧБЕФ РТПДБЧГБ ПДЙ- ОПЮОЩН ЪБЛБЪЮЙЛПН, Й ЛТПНЕ ФПЗП УПЧУЕН ОЕПВСЪБФЕМШОП ЙУРПМШЪПЧБФШ РЕТЕЛТЕУФОХА УУЩМЛХ ЮФПВЩ ДПУФЙЮШ ЬФПЗП. нЩ ТЕЛПНЕОДХЕН ЮФПВЩ ЧЩ ВЩМЙ ПУФПТПЦОЩ Ч ЕЗП ЙУРПМШЪПЧБОЙЙ Й БОБМЙЪЙТПЧБМЙ, ЛБЛ ЧБЫЙ РТПЗТБННЩ ХРТБЧ- МАФ ЬЖЖЕЛФБНЙ НПДЙЖЙЛБГЙЙ Й ХДБМЕОЙС Б ФБЛЦЕ РТПГЕУУБНЙ РТЙЧЙМЕЗЙК Й ДЙБМПЗПЧПК ПВТБВПФЛЙ ЪБРТПУПЧ РЕТЕД ФЕН ЛБЛ ЧЩ УПЪДБЕФЕ РЕТЕЛТЕУФОХА УЙУФЕНХ УРТБЧПЮОПК ГЕМПУФОПУФЙ. ( рТЙЧЙМЕЗЙЙ Й ДЙБМПЗПЧБС ПВТБВПФЛБ ЪБРТПУПЧ ВХДХФ ПВУХЦДБФШУС, УППФЧЕФУФЧЕООП, Ч зМБЧБИ 22 й 23.) теъане фЕРЕТШ ЧЩ ЙНЕЕФЕ ДПУФБФПЮОП ИПТПЫЕ ХРТБЧМЕОЙЕ УРТБЧПЮОПК ГЕМПУФОПУФША. пУОПЧОБС ЙДЕС Ч ФПН, ЮФП ЧУЕ ЪОБЮЕОЙС ЧОЕЫОЕЗП ЛМАЮБ УУЩМБАФУС Л ХЛБЪБО- ОПК УФТПЛЕ ТПДЙФЕМШУЛПЗП ЛМАЮБ. ьФП ПЪОБЮБЕФ, ЮФП ЛБЦДПЕ ЪОБЮЕОЙЕ ЧОЕЫОЕ- ЗП ЛМАЮБ ДПМЦОП ВЩФШ РТЕДУФБЧМЕОП ПДЙО ТБЪ, Й ФПМШЛП ПДЙО ТБЪ, Ч ТПДЙФЕМШ- УЛПН ЛМАЮЕ. чУСЛЙК ТБЪ, ЛПЗДБ ЪОБЮЕОЙЕ РПНЕЭБЕФУС ЧП ЧОЕЫОЙК ЛМАЮ, ТПДЙ- ФЕМШУЛЙК ЛМАЮ РТПЧЕТСЕФУС, ЮФПВЩ ХДПУФПЧЕТЙФШУС, ЮФП ЕЗП ЪОБЮЕОЙЕ РТЕДУФБЧМЕОП; ЙОБЮЕ, ЛПНБОДБ ВХДЕФ ПФЛМПОЕОБ. тПДЙФЕМШУЛЙК ЛМАЮ ДПМЦЕО ЙНЕФШ рЕТЧЙЮОЩК лМАЮ (PRIMARY KEY) ЙМЙ хОЙЛБМШОПЕ (UNIQUE) ПЗТБОЙЮЕОЙЕ, ЗБТБОФЙТХАЭЕЕ, ЮФП ЪОБЮЕОЙЕ ОЕ ВХДЕФ РТЕДУФБЧМЕОП ВПМЕЕ ЮЕН ПДЙО ТБЪ. рПРЩФЛБ ЙЪНЕОЙФШ ЪОБЮЕОЙЕ ТПДЙФЕМШУЛПЗП ЛМАЮБ, ЛПФПТПЕ Ч ОБУФПСЭЕЕ ЧТЕН РТЕДУФБЧМЕОП ЧП ЧОЕЫОЕН ЛМАЮЕ, ВХДЕФ ЧППВЭЕ ПФЛМПОЕОБ. чБЫБ УЙУФЕНБ НПЦЕФ, ПДОБЛП, РТЕДМПЦЙФШ ЧБН ЧЩВПТ, ЮФПВЩ РПМХЮЙФШ ЪОБЮЕОЙЕ ЧОЕЫОЕЗП ЛМАЮБ ХУФБОПЧМЕООПЗП Ч NULL ЙМЙ ДМС РПМХЮЕОЙС ОПЧПЗП ЪОБЮЕОЙС ТП- ДЙФЕМШЛПЗП ЛМАЮБ, Й ХЛБЪБОЙС ЛБЛПК ЙЪ ОЙИ НПЦЕФ ВЩФШ РПМХЮЕО ОЕЪБЧЙУЙНП ДМС ЛПНБОД UPDATE Й DELETE. ьФЙН ЪБЧЕТЫБЕФУС ОБЫЕ ПВУХЦДЕОЙЕ ЛПНБОДЩ CREATE TABLE. дБМЕЕ НЩ РТЕДУФБЧЙН ЧБУ ДТХЗПНХ ФЙРХ ЛПНБОДЩ - CREATE. ч зМБЧЕ 20, ЧЩ ПВХЮЙФЕУШ РТЕДУФБЧМЕОЙА ПВЯЕЛФПЧ ДБООЩИ ЛПФПТЩЕ ЧЩЗМСДСФ Й ДЕКУФЧХАФ РПДПВОП ФБВМЙГЕ, ОП Ч ДЕКУФЧЙФЕМШОПУФЙ СЧМСАФУС ТЕЪХМШФБФБНЙ ЪБРТПУПЧ. оЕЛПФПТЩЕ ЖХОЛГЙЙ ПЗТБОЙЮЕОЙК НПЗХФ ФБЛЦЕ ЧЩРПМОСФШУС РТЕДУФБЧМЕОЙСНЙ, ФБЛ ЮФП ЧЩ УНПЦЕФЕ МХЮЫЕ ПГЕОЙФШ ЧБЫХ РПФТЕВОПУФШ Л ПЗТБОЙЮЕОЙСН, РПУМЕ ФПЗП, ЛБЛ ЧЩ РТПЮЙФБЕФЕ УМЕДХАЭЙЕ ФТЙ ЗМБЧЩ. тбвпфб у SQL 1. уПЪДБКФЕ ФБВМЙГХ У ЙНЕОЕН Cityorders. пОБ ДПМЦОБ УПДЕТЦБФШ ФБЛЙЕ ЦЕ РПМ onum, amt, Й snum ЮФП Й ФБВМЙГБ рПТСДЛПЧ, Й ФБЛЙЕ ЦЕ РПМ cnum Й city ЮФП Й ФБВМЙГБ ъБЛБЪЮЙЛПЧ, ФБЛ ЮФП РПТСДПЛ ЛБЦДПЗП ЪБЛБЪЮЙЛБ ВХДЕФ ЧЧПДЙФШУС Ч ЬФХ ФБВМЙГХ ЧНЕУФЕ У ЕЗП ЗПТПДПН. рПМЕ Пnum ВХДЕФ РЕТЧЙЮОЩН ЛМАЮПН Cityorders. чУЕ РПМ Ч Cityorders ДПМЦОЩ ЙНЕФШ ПЗТБОЙЮЕОЙС РТЙ УТБЧОЕОЙЙ У ФБВМЙГБНЙ ъБЛБЪЮЙЛПЧ Й рПТСДЛПЧ. дПРХУЛБЕФУС, ЮФП ТПДЙФЕМШУЛЙЕ ЛМАЮЙ Ч ЬФЙИ ФБВМЙГБИ ХЦЕ ЙНЕАФ УППФЧЕФУФЧХАЭЙЕ ПЗТБОЙЮЕОЙС. 2. хУМПЦОЙН РТПВМЕНХ. рЕТЕПРТЕДЕМЙФЕ ФБВМЙГХ рПТСДЛПЧ УМЕДХАЭЙН ПВТБЪПН: ДПВБЧШФЕ ОПЧЩК УФПМВЕГ У ЙНЕОЕН prev, ЛПФПТЩК ВХДЕФ ЙДЕОФЙЖЙГЙТПЧБО ДМС ЛБЦДПЗП РПТСДЛБ, РПМЕ onum РТЕДЩДХЭЕЗП РПТСДЛБ ДМС ЬФПЗП ФЕЛХЭЕЗП ЪБЛБЪЮЙЛБ. чЩРПМОЙФЕ ЬФП У ЙУРПМШЪПЧБОЙЕН ЧОЕЫОЕЗП ЛМАЮБ УУЩМБАЭЕЗПУС ОБ УБНХ ФБВМЙГХ рПТСДЛПЧ. чОЕЫОЙК ЛМАЮ ДПМЦЕО УУЩМБФШУС ФБЛЦЕ ОБ РПМЕ cnum ЪБЛБЪЮЙЛБ, ПВЕУРЕЮЙЧБАЭЕЗП ПРТЕДЕМЕООХА РТЕДРЙУБООХА УЧСЪШ НЕЦДХ ФЕЛХЭЙН РПТСДЛПН Й УУЩМБЕНЩН. ( уН. рТЙМПЦЕОЙЕ A ДМС ПФЧЕФПЧ. )

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.

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