Вы находитесь на странице: 1из 97

².Î.

ÇÀÂÀÄÑÜÊÈÉ

Îñíîâè áàç äàíèõ

Êè¿â
ÏÏ ².Î. Çàâàäñüêèé
2011
ÓÄÊ 004.65(075.3)
Передмова
ÁÁÊ 32.973-018.2ÿ721
Êâàë³ô³êîâàí³ êîðèñòóâà÷³ ïàêåòó Microsoft Office ÷àñòî ââà-
Ç-13
æàþòü cèñòåìè êåðóâàííÿ áàçàìè äàíèõ ÷åðãîâîþ îô³ñíîþ ïðî-
ãðàìîþ, à ñàì³ áàçè äàíèõ ñòàâëÿòü ó ðÿäó ³íøèõ äîêóìåíò³â,
Ðåöåíçåíòè: Ï.Ï. Êóëÿáêî, çàñòóïíèê äåêàíà ôàêóëüòåòó òàêèõ ÿê ïðåçåíòàö³¿ ÷è åëåêòðîíí³ òàáëèö³. Ñë³ä çàçíà÷èòè,
ê³áåðíåòèêè ÊÍÓ ³ì. Òàðàñà Øåâ÷åíêà, êàí- ùî òàêå ñòàâëåííÿ ñèëüíî ïðèíèæóº ñïðàâæíþ ðîëü ³íôîðìà-
äèäàò ô³ç.-ìàò. íàóê, äîöåíò ö³éíî¿ òåõíîëî㳿, ÿê³é ïðèñâÿ÷åíî äàíèé ïîñ³áíèê. Áàçè äàíèõ
(ÁÄ) ïîñ³äàþòü îñîáëèâå ì³ñöå ïîì³æ ³íøèõ ãàëóçåé ³íôîðìà-
Ä.². Êîæåì’ÿêà, ó÷èòåëü ³íôîðìàòèêè Ô³íàí-
òèêè ç áàãàòüîõ ïðè÷èí.
ñîâî-ïðàâîâîãî ë³öåþ Ô³íàíñîâî-ïðàâîâîãî êî-
ëåäæó ÊÍÓ ³ì. Òàðàñà Øåâ÷åíêà Ïî-ïåðøå, ñôåðà ¿õ çàñòîñóâàííÿ º íàéøèðøîþ. Ïðàêòè÷íî
êîæíà á³ëüø-ìåíø ñåðéîçíà ïðîãðàìà çáåð³ãຠñâî¿ äàí³ â áàç³.
ÁÄ âèêîðèñòîâóþòü ïðåäñòàâíèêè ëåäü íå êîæíî¿ ïðîôåñ³¿ (÷à-
Ñõâàëåíî ̳í³ñòåðñòâîì îñâ³òè ³ íàóêè, ñòî, îäíàê, íå ï³äîçðþþ÷è, ùî âîíè ïðàöþþòü ñàìå ç áàçàìè
ìîëîä³ òà ñïîðòó Óêðà¿íè äàíèõ). Ïî-äðóãå, áàçè äàíèõ ó áàãàòüîõ ³íôîðìàö³éíèõ ñèñòå-
(Ëèñò ¹1.4/18-Ã-666 â³ä 20.07.2011) ìàõ âèÿâëÿþòüñÿ êëþ÷îâîþ ëàíêîþ, áåç êîòðî¿ ñèñòåìà ïðîñòî
«ðîçñèïëåòüñÿ». Ïî-òðåòº, íà â³äì³íó â³ä óñ³õ ³íøèõ ³íôîðìà-
ö³éíèõ òåõíîëîã³é, ðåëÿö³éí³ áàçè äàíèõ ìàþòü ï³ä ñîáîþ ì³ö-
íèé ³ íåñóïåðå÷ëèâèé òåîðåòè÷íèé ôóíäàìåíò. Îðãàí³çàö³ÿ áàç
Çàâàäñüêèé ².Î. äàíèõ — öå íàóêà ó êëàñè÷íîìó ðîçóì³íí³ öüîãî ñëîâà.
Ç-13 Îñíîâè áàç äàíèõ: [Íàâ÷. ïîñ³á.] / ².Î. Çàâàäñüêèé. — Ê.: Íàðåøò³, âèâ÷åííÿ áàç äàíèõ âàæëèâå ç ïðè÷èí ìåòîäè÷íîãî
Âèäàâåöü ².Î. Çàâàäñüêèé, 2011. — 192 ñ.: ³ë. õàðàêòåðó, àäæå äîñë³äæåííÿ òà ðîçðîáêà áàç äàíèõ — öå íàé-
ISBN 978-966-97182-0-4 ïðîñò³øèé ñïîñ³á çàçèðíóòè íà «âíóòð³øíþ êóõíþ» ïðîãðàìíî-
ãî çàáåçïå÷åííÿ. Íàâ³òü ò³ ó÷í³, ÿêèì çîâñ³ì íå äàºòüñÿ ïðî-
ãðàìóâàííÿ, öåé êóðñ îïàíóþòü ïîð³âíÿíî ëåãêî, à ðîçðîáëþ-
Ïîñ³áíèê ïðèçíà÷åíî äëÿ ó÷í³â 10–11 êëàñ³â òà â÷èòåë³â ³íôîð-
ìàòèêè çàãàëüíîîñâ³òí³õ íàâ÷àëüíèõ çàêëàä³â. Âèäàííÿ ïîâí³ñ-
âàí³ íèìè ïðîåêòè áàç äàíèõ ö³ëêîì ìîæíà ââàæàòè ïîâíîö³í-
òþ â³äïîâ³äຠñõâàëåí³é ÌÎÍ Óêðà¿íè ïðîãðàì³ êóðñó çà âèáî- íèìè ïðèêëàäíèìè ïðîãðàìàìè.
ðîì «Îñíîâè áàç äàíèõ». Ó íüîìó ðîçãëÿíóòî îñíîâè òåî𳿠òà Öåé ïîñ³áíèê, çâè÷àéíî, äຠçìîãó ëèøå ðîçïî÷àòè çíàéîìñòâî ç
ïðàêòè÷íå çàñòîñóâàííÿ ðåëÿö³éíèõ áàç äàíèõ. Áàçîâèé ïðîãðàì- òåîð³ºþ ³ ïðàêòèêîþ áàç äàíèõ. ³í â³äïîâ³äຠñõâàëåí³é
íèé ïðîäóêò — Microsoft Access. Ìàòåð³àë ïîñ³áíèêà îðãàí³çî-
ÌÎÍÌÑ ïðîãðàì³ êóðñó çà âèáîðîì «Îñíîâè áàç äàíèõ», ÿêà
âàíî òàê, ùî â³í ìîæå âèêîðèñòîâóâàòèñÿ ç áóäü-ÿêîþ ïîïóëÿð-
íîþ âåðñ³ºþ ö³º¿ ÑÊÁÄ: 2003, 2007 àáî 2010. ïåðåäáà÷ຠäâà âàð³àíòè íàâ÷àííÿ: áàçîâèé (15 ãîäèí) ³ ðîçøè-
ðåíèé (30 ãîäèí). Ðîçä³ëè òà ï³äðîçä³ëè ïîñ³áíèêà òàêîæ ïîä³ëå-
ÁÁÊ 32.973-018.2ÿ721 íî íà ò³, ùî âèâ÷àþòüñÿ â îáîõ âàð³àíòàõ, ³ ò³, ÿê³ ñë³ä âèâ÷àòè
ëèøå â ðîçøèðåíîìó êóðñ³; îñòàíí³ ïîçíà÷åíî ñèìâîëîì «•».
Cèìâîëîì «*» ïîçíà÷åíî ñêëàäí³ íàâ÷àëüí³ âïðàâè ³ çàâäàííÿ.
Ïîñ³áíèê ðîçðàõîâàíî â³äðàçó íà òðè âåðñ³¿ ÑÊÁÄ MS Access:
2003, 2007 òà 2010. Îïèñè ä³é, ÿê³ â öèõ âåðñ³ÿõ ÑÊÁÄ âèêî-
ISBN 978-966-97182-0-4 © ².Î. Çàâàäñüêèé, 2011 íóþòüñÿ ïî-ð³çíîìó, âèä³ëåíî ñïåö³àëüíèìè ðàìêàìè.

Передмова 3
Ùîäî çì³ñòîâèõ îñîáëèâîñòåé ïîñ³áíèêà íàñàìïåðåä ñë³ä çà-
óâàæèòè, ùî çíà÷íà óâàãà ïðèä³ëÿºòüñÿ ïîáóäîâ³ ìîäåëåé «ñóò-
Розділ 1
í³ñòü-çâ’ÿçîê», àáî òàê çâàíîìó ñåìàíòè÷íîìó ìîäåëþâàííþ.
Âêðàé âàæëèâî, ùîá öÿ òåìà âèâ÷àëàñÿ äî òîãî, ÿê ó÷í³ ïî÷- Основи баз даних
íóòü ïðàöþâàòè ç ÑÊÁÄ, àäæå ðîáîòà ç íåþ çàìóëþº ñóòí³ñòü
ìîäåëþâàííÿ ïðåäìåòíèõ îáëàñòåé ð³çíîìàí³òíèìè òåõíîëîã³÷-
íèìè àñïåêòàìè.
Êð³ì òîãî, ÷è íå âïåðøå ó øê³ëüí³é íàâ÷àëüí³é ë³òåðàòóð³ ïðî- Повторення
ïîíóºòüñÿ âèâ÷åííÿ îñíîâ ìîâè SQL (ó ðîçä³ëàõ ðîçøèðåíî¿ ♦ ßê ³íôîðìàö³éíà ñèñòåìà âçàºìî䳺 ç
âåðñ³¿). Çàçíà÷èìî, ùî áåç çàñâîºííÿ ö³º¿ òåìè àäåêâàòíå óÿâ- ³íôîðìàö³éíèìè äæåðåëàìè òà ñïîæè-
ëåííÿ ïðî ñèñòåìè áàç äàíèõ ñôîðìóâàòè íåìîæëèâî, àäæå â âà÷àìè ³íôîðìàö³¿?
îñíîâó âñ³õ ðåëÿö³éíèõ ÑÊÁÄ ïîêëàäåíî íàñàìïåðåä ñòðóêòó-
ðîâàíó ìîâó çàïèò³â, à ìàéñòðè ³ êîíñòðóêòîðè — öå âòîðèíí³ ♦ Ùî òàêå ê볺íò-ñåðâåðíà ìåðåæà?
â³çóàëüí³ çàñîáè. Çàóâàæèìî òàêîæ, ùî ìîâà SQL äåêëàðàòèâ- ♦ ßêèìè º îñíîâí³ ôóíêö³¿ òàáëè÷íîãî
íà, à òîìó îïàíóâàòè ¿¿ çíà÷íî ëåãøå, í³æ áóäü-ÿêó ìîâó ïðîã- ïðîöåñîðà?
ðàìóâàííÿ. ♦ ßê³ çàâäàííÿ ç îáðîáêè íàáîð³â îäíî-
Áàæàíîþ ïåðåäóìîâîþ óñï³øíîãî çàñâîºííÿ êóðñó º âì³ííÿ ïðà- òèïíèõ îá’ºêò³â äຠçìîãó âèêîíàòè
öþâàòè ç òàáëè÷íèì ïðîöåñîðîì, à òî÷í³øå ç òàêèìè éîãî çàñî- òàáëè÷íèé ïðîöåñîð?
áàìè, ÿê ô³ëüòðè, ï³äñóìêè ³ ôóíêö³¿ äëÿ ðîáîòè ç áàçîþ äàíèõ.
Çã³äíî ç ïðîãðàìîþ êóðñó çà âèáîðîì éîãî âèâ÷åííÿ ìຠçàâå-
ðøóâàòèñÿ âèêîíàííÿì ³íäèâ³äóàëüíîãî àáî êîëåêòèâíîãî íà- Âè âæå â쳺òå ïðàöþâàòè ç òàêèìè ïðèêëàäíèìè ïðîãðàìàìè,
â÷àëüíîãî ïðîåêòó, ùî ïîëÿãຠó ðîçðîáö³ áàçè äàíèõ äëÿ çàäà- ÿê ñèñòåìè îáðîáêè òåêñò³â, ãðàô³÷í³ ðåäàêòîðè, òàáëè÷í³ ïðî-
íî¿ ïðåäìåòíî¿ îáëàñò³. Îïèñè 7 ïðåäìåòíèõ îáëàñòåé äëÿ òàêèõ öåñîðè òîùî. Êîæíó ç öèõ ïðîãðàì ïðèçíà÷åíî äëÿ âèð³øåííÿ
ïðîåêò³â íàâåäåíî â äîäàòêó. ïåâíîãî êîëà çàâäàíü, ÿê³ âàæêî (õî÷à ³íêîëè é ìîæëèâî) ðåà-
Äî êîæíîãî ðîçä³ëó êóðñó ðîçðîáëåíî åëåêòðîííèé óðîê, ùî ë³çóâàòè çà äîïîìîãîþ ³íøèõ çàñîá³â. Îäíå ³ç çàâäàíü, ùî ¿õ
ì³ñòèòü, ïîðÿä ³ç òåîðåòè÷íèì ìàòåð³àëîì, ê³ëüêà äåñÿòê³â ì³- çðó÷íî âèêîíóâàòè â ñåðåäîâèù³ òàáëè÷íîãî ïðîöåñîðà, — öå
í³-çàâäàíü. ¯õ âèêîíàííÿ äîçâîëÿº äîñÿãòè ãëèáîêîãî ðîçóì³ííÿ îïåðóâàííÿ íàáîðàìè îäíîòèïíèõ îá’ºêò³â, ïîäàíèìè ó âèãëÿä³
ñóòíîñò³ òåõíîëîã³é, ùî âèâ÷àþòüñÿ â êóðñ³, ³ çíà÷íî ïîëåãøóº òàáëèöü, íàïðèêëàä ñïèñêîì ó÷í³â êëàñó àáî ðîçêëàäîì ðóõó
ïîäàëüøó ðîáîòó ó÷í³â ç ÑÊÁÄ. òðàíñïîðòó. Âè ìîæåòå ñîðòóâàòè òàê³ íàáîðè, ô³ëüòðóâàòè ¿õ,
Ó êóðñ³, îñîáëèâî â ðîçøèðåí³é âåðñ³¿, âèêëàäåíî áàãàòî ìàëîç- îá÷èñëþâàòè ï³äñóìêîâ³ õàðàêòåðèñòèêè, çàñòîñîâóâàòè ôóíê-
íàéîìèõ øèðîêîìó çàãàëó â÷èòåë³â ³íôîðìàòèêè ôàêò³â, ïî- ö³¿ äëÿ àâòîìàòèçîâàíîãî âèáèðàííÿ äàíèõ òîùî. Ïðîòå â òàá-
íÿòü ³ ìåòîä³â. Òîìó àâòîð ïðîâîäèòèìå ñåð³þ îíëàéíîâèõ ìàé- ëè÷íîìó ïðîöåñîð³ äàí³ çðó÷íî îáðîáëÿòè ëèøå â òèõ òàáëè-
ñòåð-êëàñ³â äëÿ ó÷èòåë³â. öÿõ, ÿê³ íåïîâ’ÿçàí³ îäíà ç îäíîþ. Àëå òàê áóâຠäàëåêî íå
çàâæäè: ÿêùî, ñêàæ³ìî, â îäí³é òàáëèö³ çáåð³ãàºòüñÿ æóðíàë
Áàæàºìî âàì ïðèºìíî¿ òâîð÷î¿ ðîáîòè ³ øâèäêîãî îïàíóâàííÿ
óñï³øíîñò³, à â ³íø³é — æóðíàë ç ðåçóëüòàòàìè ìåäè÷íîãî
îäí³º¿ ç íàéá³ëüø çàõîïëþþ÷èõ ³íôîðìàö³éíèõ òåõíîëîã³é!
îáñòåæåííÿ ó÷í³â òîãî æ êëàñó, òî ö³ òàáëèö³ º çâ’ÿçàíèìè ³
âèêîíàòè òàêå çàâäàííÿ, ÿê îá÷èñëåííÿ ñåðåäíüîãî çðîñòó â³ä-
Ñàéò åëåêòðîííî¿ ï³äòðèìêè êóðñó: http://zavadsky.at.ua ì³ííèê³â, ó òàáëè÷íîìó ïðîöåñîð³ áóäå äîâîë³ ïðîáëåìàòè÷íî.

4 Передмова Повторення 5
Äëÿ çáåð³ãàííÿ ³ îáðîáêè ê³ëüêîõ âçàºìîïîâ’ÿçàíèõ íàáîð³â çì³ñò çâ’ÿçêó ì³æ îá’ºêòàìè «ëþäèíà» ³ «ñîáàêà», à «ìàøèíà
îäíîòèïíèõ îá’ºêò³â âèêîðèñòîâóþòü ³íøèé ³íñòðóìåíò — ñèñ- ¿äå ïî äîðîç³» — ì³æ îá’ºêòàìè «ìàøèíà» ³ «äîðîãà».
òåìè êåðóâàííÿ áàçàìè äàíèõ, ÿê³ º îñíîâíèì ïðåäìåòîì äîñ- Îòæå, áàçó äàíèõ ìîæíà ðîçãëÿäàòè ÿê åëåêòðîííèé àíàëîã
ë³äæåííÿ â íàøîìó êóðñ³. êàðòîòåêè, äå íà êîæí³é êàðòö³ çàïèñàí³ â³äîìîñò³ ïðî ïåâíèé
îá’ºêò, à òàêîæ ì³ñòÿòüñÿ ïîñèëàííÿ íà ³íø³ êàðòêè, ùî ïðåä-
ñòàâëÿþòü çâ’ÿçàí³ îá’ºêòè.
Поняття бази даних Ñõåìó, àáî ñòðóêòóðó, áàçè äàíèõ ñë³ä â³äð³çíÿòè â³ä ¿¿ íàïîâ-
Òåðì³í «áàçà äàíèõ» ïî÷àëè âèêîðèñòîâóâàòè â 60-õ ðîêàõ ÕÕ íåííÿ. Ñõåìà âèçíà÷àº, ÿê³ ïàðàìåòðè ïîâèíí³ ìàòè îá’ºêòè,
ñòîë³òòÿ. ²ñíóþòü äåñÿòêè ð³çíèõ îçíà÷åíü öüîãî ïîíÿòòÿ. Ìè ùî çáåð³ãàþòüñÿ â áàç³, à íàïîâíåííÿ — öå çíà÷åííÿ ïàðàìåò-
áóäåìî äîòðèìóâàòèñÿ òàêîãî îçíà÷åííÿ. ð³â êîíêðåòíèõ îá’ºêò³â, ÿê³ çàïèñàí³ â ÁÄ íà ïîòî÷íèé ìî-
ìåíò. Íàïðèêëàä, ñõåìà ÁÄ ìîæå áóòè îïèñàíà òàê: çáåð³ãà-
þòüñÿ â³äîìîñò³ ïðî ³ì’ÿ, ïð³çâèùå, ïî áàòüêîâ³ òà ð³ê íàðî-
Áàçà äàíèõ (ÁÄ) — öå ñòðóêòóðîâàíà ñóêóïí³ñòü äàíèõ, ÿê³ äæåííÿ â÷èòåë³â, à òàêîæ ïðî íàçâè ïðåäìåò³â, ÿê³ âîíè âè-
â³äîáðàæóþòü ñòàí îá’ºêò³â ïåâíî¿ ïðåäìåòíî¿ îáëàñò³ òà êëàäàþòü. Íàïîâíåííÿ ö³º¿ ÁÄ ìîæå áóòè òàêèì: ó÷èòåëü Ïè-
çâ’ÿçêè ì³æ íèìè. ëèï÷óê Îëåêñàíäð Ïàâëîâè÷ 1964 ð. í. ÷èòຠìàòåìàòèêó òà
³íôîðìàòèêó, ó÷èòåëü Øåñòîïàëîâ ªâãåí Àíàòîë³éîâè÷ 1937 ð.
Ïîÿñíèìî êëþ÷îâ³ ïîíÿòòÿ, âæèò³ â öüîìó îçíà÷åíí³. í. ÷èòຠõ³ì³þ òà á³îëîã³þ.
Ïðåäìåòíîþ îáëàñòþ (ÏÎ) íàçèâàþòü ñôåðó çàñòîñóâàííÿ êîí-
êðåòíî¿ áàçè äàíèõ. Öå ìîæå áóòè, íàïðèêëàä, ìåäèöèíà, îñâ³- Системи керування базами даних
òà àáî çàë³çíè÷íèé òðàíñïîðò. Áàçà äàíèõ ì³ñòèòü â³äîìîñò³
ëèøå ïðî òó ÷àñòèíó ÏÎ, ÿêà âàæëèâà äëÿ êîðèñòóâà÷³â áàçè Áàçè äàíèõ — öå íå ð³çíîâèä ïðîãðàìíîãî çàáåçïå÷åííÿ, à ëè-
äàíèõ. Òàê, ÿêùî ïðåäìåòíîþ îáëàñòþ º àâòîìîá³ëüí³ äîðîãè øå äîêóìåíòè, ç ÿêèìè îïåðóþòü ñïåö³àëüí³ ïðèêëàäí³ ïðîã-
êðà¿íè ³ áàçà äàíèõ äëÿ ö³º¿ ÏÎ ðîçðîáëÿºòüñÿ äëÿ ïîòðåá ïà- ðàìè, ùî ¿õ íàçèâàþòü ñèñòåìàìè êåðóâàííÿ áàçàìè äàíèõ
ñàæèð³â, òî â í³é ì³ñòèòèìóòüñÿ äàí³ ïðî òå, ÿêèì òðàíñïîðòîì (òàê ñàìî, ÿê ç åëåêòðîííèìè òàáëèöÿìè îïåðóþòü òàáëè÷í³
ìîæíà ïðî¿õàòè ç îäíîãî íàñåëåíîãî ïóíêòó â ³íøèé, ñê³ëüêè ïðîöåñîðè, à ç çîáðàæåííÿìè — ãðàô³÷í³ ðåäàêòîðè).
íà öå çíàäîáèòüñÿ ÷àñó é êîøò³â. ßêùî æ áàçà äàíèõ îð³ºíòî-
âàíà íà âî䳿â, òî â í³é ìຠçáåð³ãàòèñÿ ³íôîðìàö³ÿ ïðî çàïðàâ- Ñèñòåìà êåðóâàííÿ áàçàìè äàíèõ (ÑÊÁÄ) — öå ïðîãðàìà, ùî
í³ ñòàíö³¿, â³äñòàí³ ì³æ íàñåëåíèìè ïóíêòàìè, ðîçòàøóâàííÿ çàáåçïå÷óº ìîæëèâ³ñòü ñòâîðåííÿ ÁÄ òà âèêîíàííÿ ð³çíîìà-
ñòàíö³é òåõí³÷íîãî îáñëóãîâóâàííÿ, ïðî íåáåçïå÷í³ ä³ëÿíêè í³òíèõ îïåðàö³é ç äàíèìè, ÿê³ â í³é çáåð³ãàþòüñÿ.
äîð³ã òîùî.
Îá’ºêòàìè ïðåäìåòíî¿ îáëàñò³ ìîæóòü áóòè ï³äïðèºìñòâà,
øêîëè, ó÷í³, ó÷èòåë³, êíèæêè òà ³í. Íàãàäàºìî, ùî îá’ºêò ìàº
Переваги використання СКБД
ïåâíèé íàá³ð ïàðàìåòð³â, à êîæåí ïàðàìåòð ìຠçíà÷åííÿ. Òàê, Ç ÑÊÁÄ çàçâè÷àé âçàºìîä³þòü íå ëèøå ëþäè, à é ³íø³ ïðèêëà-
ïàðàìåòðàìè îá’ºêòà «ëþäèíà» ìîæóòü áóòè ïð³çâèùå, ³ì’ÿ, ïî äí³ ïðîãðàìè. Âçàãàë³, ÑÊÁÄ â³ä³ãðຠðîëü ñâîºð³äíî¿ îáîëîíêè
áàòüêîâ³, ð³ê íàðîäæåííÿ, à ¿õ çíà÷åííÿìè — Âîéöåõîâñüêèé, íàâêîëî áàç äàíèõ, ÿêà âñòàíîâëþº ïðàâèëà ðîáîòè ç íèìè
Ìèêîëà, Îëåêñ³éîâè÷, 1956. ̳æ äåÿêèìè îá’ºêòàìè ³ñíóþòü áóäü-ÿêèõ çîâí³øí³õ êîðèñòóâà÷³â, àáî ê볺íò³â (ðèñ. 1.1). Ö³
çâ’ÿçêè. Íàïðèêëàä âèñë³â «ëþäèíà ìຠñîáàêó» â³äîáðàæຠïðàâèëà îäíàêîâ³ ÿê äëÿ ëþäåé, òàê ³ äëÿ ïðîãðàì.

6 Розділ 1. Основи баз даних Системи керування базами даних 7


çáåð³ãàþòüñÿ â áàçàõ, íàïðèêëàä, äàíèõ ïðî ñóìó êîøò³â íà
Ïðèêëàäíà ïðîãðàìà Ëþäèíà êàðòêîâîìó ðàõóíêó. Î÷åâèäíî, ùî íåêîðåêòí³ñòü òàêèõ äàíèõ
íåïðèïóñòèìà ó æîäíîìó ðàç³.
Ö³ë³ñí³ñòü çàáåçïå÷óºòüñÿ çàâäÿêè ãðàìîòíîìó ïðîåêòóâàííþ
ÑÊÁÄ ñõåìè ÁÄ (çà öå â³äïîâ³äຠðîçðîáíèê áàçè äàíèõ), à òàêîæ
çàâäÿêè òîìó, ùî ÑÊÁÄ çàáåçïå÷óº äîòðèìàííÿ îáìåæåíü ö³ë³ñ-
íîñò³ — ñïåö³àëüíèõ óìîâ, ÿêèì ìàþòü â³äïîâ³äàòè êîðåêòí³
äàí³. Ïðèêëàäè îáìåæåíü ö³ë³ñíîñò³: «ëþäèíà ìຠîäíå ïð³ç-
âèùå», «ñóìà íà êðåäèòíîìó ðàõóíêó íå ïîâèííà ïåðåâèùóâà-
Áàçà äàíèõ
òè 100 000 ãðí». Ñòâîðåííÿ îáìåæåíü ö³ë³ñíîñò³ — ñïðàâà ðîç-
ðîáíèêà ÁÄ.
Рис. 1.1. Схема роботи СКБД
Âàæëèâîþ ïåðåâàãîþ âèêîðèñòàííÿ ÑÊÁÄ º çàáåçïå÷åííÿ íåçà-
ëåæíîñò³ äàíèõ â³ä ïðîãðàì. ßêùî ïðèêëàäíà ïðîãðàìà ðåàë³-
Òàêèé ï³äõ³ä îçíà÷àº, ùî äàí³ â ÁÄ á³ëüø çàõèùåí³, í³æ ó äî-
êóìåíòàõ ³íøèõ òèï³â, äî ÿêèõ ïðèêëàäí³ ïðîãðàìè ìîæóòü çóº àëãîðèòì ðîçâ’ÿçàííÿ ïåâíî¿ çàäà÷³, à äàí³ çáåð³ãàþòüñÿ â
çâåðòàòèñÿ áåçïîñåðåäíüî. Âè ìîæåòå ìàëþâàòè ùî çàâãîäíî íà áàç³, òî çì³íè â ñòðóêòóð³ äàíèõ íå âïëèâàòèìóòü íà ïðèêëàäíó
ðàñòðîâîìó çîáðàæåíí³, ââîäèòè áóäü-ÿêèé òåêñò ó òåêñòîâèé ïðîãðàìó, òîáòî íå ïðèçâåäóòü äî íåîáõ³äíîñò³ çì³íèòè ¿¿ ëîã³-
äîêóìåíò àáî äîâ³ëüí³ äàí³ â åëåêòðîííó òàáëèöþ, àëå ç áàçîþ êó. Ç ³íøîãî áîêó, çì³íà ëîã³êè ïðèêëàäíî¿ ïðîãðàìè íå ïðèç-
äàíèõ òàêå «íå ïðîéäå»: ââåäåííÿ äàíèõ, ùî íå â³äïîâ³äàþòü âåäå äî çì³íè ñòðóêòóðè äàíèõ — ÑÊÁÄ çíîâ-òàêè â³ä³ãðຠðîëü
ñõåì³ áàçè àáî äåÿêèì ³íøèì óìîâàì, áóäå çàáëîêîâàíî ÑÊÁÄ. ñâîºð³äíîãî «àìîðòèçàòîðà».
Öÿ âëàñòèâ³ñòü äàíèõ, ùî çáåð³ãàþòüñÿ â áàçàõ, íàçèâàºòüñÿ Âàðòî òàêîæ çàçíà÷èòè, ùî ÑÊÁÄ çàáåçïå÷óþòü öåíòðàë³çîâà-
ö³ë³ñí³ñòþ. íå çáåð³ãàííÿ ³íôîðìàö³¿, ï³äâèùóþ÷è â òàêèé ñïîñ³á ¿¿ òî÷-
í³ñòü òà äîñòîâ³ðí³ñòü. Òàê, ó ðàç³ âèêîðèñòàííÿ ÁÄ íå ìîæå
ϳä ö³ë³ñí³ñòþ äàíèõ ó áàç³ ðîçóì³þòü ¿õ â³äïîâ³äí³ñòü ñõåì³ âèíèêíóòè íåóçãîäæåíîñò³ ì³æ ³íôîðìàö³ºþ ïðî ñëóæáîâå ñòà-
ÁÄ, à òàêîæ ³íøèì ïðàâèëàì ³ óìîâàì, ùî ãàðàíòóþòü íåñó- íîâèùå ïðàö³âíèêà, ùî âèâîäèòüñÿ ïðîãðàìîþ, ïðèçíà÷åíîþ
ïåðå÷ëèâ³ñòü äàíèõ òà ¿õ óçãîäæåí³ñòü ç ïðåäìåòíîþ îáëàñòþ. äëÿ ïîòðåá â³ää³ëó êàäð³â, ³ ïðîãðàìîþ, ÿêà âèêîðèñòîâóºòüñÿ ó
áóõãàëòåð³¿, îñê³ëüêè â³äïîâ³äí³ äàí³ çáåð³ãàþòüñÿ â îäíîìó
ì³ñö³ — ñï³ëüí³é áàç³ äàíèõ. Çàáåçïå÷åííÿ ñï³ëüíîãî äîñòóïó
ϳäòðèìêà ö³ë³ñíîñò³ â ÁÄ âàæëèâà ç ê³ëüêîõ ïðè÷èí, ³ íàñàì-
äî áàçè ê³ëüêîõ ê볺íò³â — ùå îäíà ïåðåâàãà ÑÊÁÄ.
ïåðåä òîìó, ùî äîñòóï äî áàç ìàþòü ïðîãðàìè. Ñêàæ³ìî, ÿêùî
â òåêñò³ áóäå çàçíà÷åíî, ùî ïåâíà ëþäèíà æèâå íà âóëèö³ Êè¿â- Îòæå, ï³äòðèìêà ö³ë³ñíîñò³ äàíèõ, íåçàëåæí³ñòü äàíèõ â³ä ïðîã-
ñüê³é, à íà íàñòóïí³é ñòîð³íö³ — ùî íà âóë. Ëüâ³âñüê³é (î÷åâè- ðàì, öåíòðàë³çîâàíå çáåð³ãàííÿ ³íôîðìàö³¿ òà çàáåçïå÷åííÿ ñï³-
äíå ïîðóøåííÿ ö³ë³ñíîñò³!), òî âè ÿêîñü äàñòå ñîá³ ðàäó ç öèì ëüíîãî äîñòóïó äî äàíèõ ê³ëüêîõ ê볺íò³â — îñíîâí³ ïåðåâàãè
ôàêòîì, ìîæëèâî, çðîçó쳺òå ç êîíòåêñòó, ÿêà ³íôîðìàö³ÿ º âèêîðèñòàííÿ ÑÊÁÄ ïîð³âíÿíî ç ïðÿìèì äîñòóïîì äî äàíèõ
äîñòîâ³ðíîþ, à îò ïðîãðàìà — «³ñòîòà» íåðîçóìíà, ³ òàêà ïîìè- ïðèêëàäíèõ ïðîãðàì. Ìîæíà íàçâàòè é íèçêó ³íøèõ âàæëèâèõ
ëêà â äàíèõ ìîæå ïðèçâåñòè äî íåâèïðàâíîãî çáîþ â ¿¿ ðîáîò³. ïåðåâàã, ïðîòå ¿õ ðîçãëÿä âèõîäèòü çà ìåæ³ çàâäàíü áàçîâîãî
Íå ñë³ä çàáóâàòè ³ ïðî ï³äâèùåíó âàæëèâ³ñòü äåÿêèõ äàíèõ, ùî êóðñó ³íôîðìàòèêè.

8 Розділ 1. Основи баз даних Системи керування базами даних 9


ââåäåíî äàí³ ïðî ó÷í³â òà ó÷èòåë³â, à ê볺íò õî÷å îòðèìàòè ïð³-
Äëÿ äîïèòëèâèõ. Áàçè äàíèõ ³ ÑÊÁÄ — íå íàéäîñêîíàë³ø³
çâèùà â÷èòåë³â, ÿê³ â÷àòü ó÷íÿ ²âàíîâà. Ùîá âèêîíàòè öåé
çàñîáè çáåð³ãàííÿ äàíèõ. Íàïðèêëàä, ³íôîðìàö³þ, ùî çáåð³ãà-
çàïèò ê볺íòà, ÑÊÁÄ ìຠñïî÷àòêó çíàéòè â÷èòåë³â, ÿê³ âè-
ºòüñÿ â ïàì’ÿò³ ëþäèíè, çàïèñàòè àäåêâàòíî â ÁÄ ïðàêòè÷íî
êëàäàþòü ó êëàñ³ öüîãî ó÷íÿ, à ïîò³ì âèáðàòè ¿õí³ ïð³çâèùà.
íåìîæëèâî, îñê³ëüêè á³ëüø³ñòü â³äîìîñòåé, ÿê³ ìè ïàì’ÿòà-
ºìî, º íå÷³òêèìè, íåïîâíèìè, ñóïåðå÷ëèâèìè ³ ò. ï. Êð³ì òî-
Îñíîâí³ ôóíêö³¿ ÑÊÁÄ
ãî, ÑÊÁÄ íå äàþòü çìîãè ðîáèòè ç³ çáåðåæåíèõ ó áàç³ ôàêò³â
ëîã³÷í³ âèñíîâêè, ãåíåðóâàòè íîâ³ â³äîìîñò³, ïðèéìàòè ð³øåí-
íÿ òîùî. Äëÿ âèð³øåííÿ öüîãî êîìïëåêñó çàâäàíü âèêîðèñòî-
âóþòüñÿ áàçè çíàíü òà åêñïåðòí³ ñèñòåìè. Ïðî íèõ âè ìîæå-
òå ä³çíàòèñÿ çîêðåìà ç³ ñòàòåé «Áàçà çíàíü» òà «Åêñïåðòí³ Âèçíà÷åííÿ ñòðóêòóðè äàíèõ Ìàí³ïóëþâàííÿ äàíèìè Çáåðåæåííÿ äàíèõ
ñèñòåìè» â óêðà¿íñüê³é ³ê³ïå䳿.
âèçíà÷åííÿ ñõåìè äîäàâàííÿ äàíèõ çàõèñò äàíèõ
áàçè äàíèõ
îíîâëåííÿ äàíèõ çàáåçïå÷åííÿ
âèçíà÷åííÿ îáìåæåíü äîòðèìàííÿ
Функції СКБД ö³ë³ñíîñò³ ïîøóê ³ âèáèðàííÿ îáìåæåíü
äàíèõ ö³ë³ñíîñò³
Ç ñàìîãî îçíà÷åííÿ ÑÊÁÄ âèïëèâàº, ùî ìîæíà âèä³ëèòè äâ³ âèäàëåííÿ äàíèõ
îñíîâí³ êàòåãî𳿠ôóíêö³é ÑÊÁÄ: ôóíêö³¿ âèçíà÷åííÿ äàíèõ —
ò³, ùî äîçâîëÿþòü âèçíà÷èòè ñòðóêòóðó äàíèõ ó áàç³, òà ôóíê- Рис. 1.2. Основні функції СКБД
ö³¿ ìàí³ïóëþâàííÿ äàíèìè, ÿê³ ñòîñóþòüñÿ îïåðàö³é ³ç ñàìèìè
äàíèìè (ðèñ. 1.2). Êð³ì òîãî, ÑÊÁÄ äຠçìîãó òðèâàëèé ÷àñ Çàçíà÷èìî òàêîæ, ùî ðîçãëÿíóòó âèùå ôóíêö³þ çàáåçïå÷åííÿ
çáåð³ãàòè äàí³ ó ö³ë³ñíîìó âèãëÿä³, çàõèùàþ÷è ¿õ â³ä çëîâìèñ- ö³ë³ñíîñò³ ñë³ä â³äð³çíÿòè â³ä çàõèñòó äàíèõ, îñê³ëüêè â îñòàí-
íèõ òà íåíàâìèñíèõ ñïîòâîðåíü, òîáòî âèêîíóâàòè ôóíêö³þ íüîìó âèïàäêó éäåòüñÿ ïðî çàõèñò äàíèõ â³ä íåñàíêö³îíîâàíîãî
çáåðåæåííÿ äàíèõ, à òàêîæ ðÿä ³íøèõ, ìåíø âàæëèâèõ, ôóíê- äîñòóïó. Öå îçíà÷àº, ùî ÑÊÁÄ ìîæå íàäàâàòè äîñòóï äî îêðå-
ö³é, ÿê³ íà ðèñ. 1.2 íå âêàçàí³. ìèõ åëåìåíò³â äàíèõ ëèøå ïåâíèì êîðèñòóâà÷àì.
Çàóâàæòå, ùî íà ïîçíà÷åííÿ îïåðàö³é ç äàíèìè âæèâàþòü äîñ-
Ролі користувачів, що працюють з БД
òàòíüî íåñòàíäàðòí³ òåðì³íè: ñòîñîâíî ÑÊÁÄ ìè êàæåìî íå
«ââåäåííÿ äàíèõ», à «äîäàâàííÿ», íå «ðåäàãóâàííÿ», à «îíîâ- Îñê³ëüêè ñõåìà ÁÄ â³äð³çíÿºòüñÿ â³ä ¿¿ íàïîâíåííÿ, âàðòî ðîç-
ëåííÿ», íå «âèâåäåííÿ», à «ïîøóê ³ âèáèðàííÿ». Öå íå âèïàä- ð³çíÿòè òèõ, õòî ðîçðîáëÿº öþ ñõåìó, ³ òèõ, õòî îïåðóº äàíèìè
êîâî, àäæå, íàïðèêëàä, ðåäàãóâàòè äàí³ âì³þòü ëèøå ëþäè, à â áàç³. Ïåðøèõ íàçèâàþòü ðîçðîáíèêàìè ÁÄ, äðóãèõ — êîðèñ-
êîëè äî ÁÄ çâåðòàºòüñÿ ïðîãðàìà, âîíà ìîæå ò³ëüêè âèäàëèòè òóâà÷àìè. Íàé÷àñò³øå êîðèñòóâà÷ âçàºìî䳺 íå ç ÑÊÁÄ áåçïî-
åëåìåíò äàíèõ ö³ëêîì òà çàïèñàòè íà éîãî ì³ñöå íîâèé, òîáòî ñåðåäíüî, à ç ïðèêëàäíîþ ïðîãðàìîþ (äèâ. ðèñ. 1.1). ßêùî æ
îíîâèòè äàí³, à íå â³äðåäàãóâàòè. Òàê ñàìî, ò³ëüêè ëþäè çäàòí³ ëþäèíà ââîäèòü äàí³ â áàçó ïðÿìî â ñåðåäîâèù³ ÑÊÁÄ, ¿¿ íàçè-
ââîäèòè äàí³, à ïðîãðàìè ¿õ äîäàþòü. Íàðåøò³, ìè ãîâîðèìî âàþòü îïåðàòîðîì áàçè äàíèõ. ²íêîëè âèð³çíÿþòü ùå îäíó
ïðî ïîøóê òà âèáèðàííÿ äàíèõ ó ÑÊÁÄ, à íå ïðî ¿õ âèâåäåííÿ, ðîëü — àäì³í³ñòðàòîðà äàíèõ.  îáîâ’ÿçêè îñòàííüîãî íå âõî-
îñê³ëüêè ÑÊÁÄ çîâñ³ì íå îáîâ’ÿçêîâî âèâîäèòü äàí³ ó òîìó âè- äèòü ðîçðîáêà ñõåìè ÁÄ, ïðîòå â³í âèçíà÷ຠäåÿê³ îáìåæåííÿ
ãëÿä³, â ÿêîìó âîíè áóëè ââåäåí³ â áàçó. Ñêàæ³ìî, ó áàçó áóëî ö³ë³ñíîñò³, âñòàíîâëþº ïðàâà äîñòóïó äî òèõ ÷è ³íøèõ äàíèõ

10 Розділ 1. Основи баз даних Системи керування базами даних 11


ïåâíèõ êîðèñòóâà÷³â òîùî. Îïðàöüîâóþ÷è ìàòåð³àë ðîçä³ë³â îá’ºêòíî-îð³ºíòîâàíà ìîäåëü äàíèõ. Óò³ì âîíà çíà÷íîþ ì³ðîþ
17–24, âè âèêîíóâàòèìåòå ðîë³ ÿê ðîçðîáíèêà ÑÊÁÄ, òàê ³ îïå- â³äòâîðþº ³äåîëîã³þ ³ºðàðõ³÷íî¿ ìîäåë³, ¿¿ ðîçâèòîê â³äáóâàºòü-
ðàòîðà áàçè äàíèõ. ñÿ ïîâ³ëüíî, òîæ íà ðèíêó ÑÊÁÄ, ñêîð³ø çà âñå, ùå òðèâàëèé
÷àñ äîì³íóâàòèìóòü ðåëÿö³éí³ ñèñòåìè.

Моделі даних Óâàæíî ïåðåãëÿíóâøè îçíà÷åííÿ ìîäåë³ äàíèõ, ìè ïîáà÷èìî,


ùî öèì òåðì³íîì îõîïëþþòüñÿ äâà ïîíÿòòÿ: ïðàâèëà âèçíà-
ßê óæå çàçíà÷àëîñÿ, ñòðóêòóðó îá’ºêò³â òà çâ’ÿçê³â ì³æ íèìè, ÷åííÿ ñòðóêòóðè äàíèõ òà ïðàâèëà ìàí³ïóëþâàííÿ äàíèìè. Â
â³äîìîñò³ ïðî ÿê³ çáåð³ãàþòüñÿ â ÁÄ, âèçíà÷ຠñõåìà áàçè äà- óñ³õ â³äîìèõ ñüîãîäí³ ìîäåëÿõ ïðàâèëà ìàí³ïóëþâàííÿ äàíèìè
íèõ. À îò ïðàâèëà ïîáóäîâè ñàìî¿ ñõåìè âèçíà÷àþòüñÿ ìîäåëëþ
ðåàë³çîâàíî ó âèãëÿä³ ñïåö³àëüíèõ ìîâ, íà ÿêèõ ê볺íòè ìàþòü
äàíèõ. Êð³ì òîãî, ìîäåëü äàíèõ ðåãëàìåíòóº, ÿê³ îïåðàö³¿ ìè
îïèñóâàòè çàïèòè äî ÑÊÁÄ. Éäåòüñÿ ïðî òàê çâàí³ ìîâè ìàí³-
ìîæåìî âèêîíóâàòè íàä äàíèìè.
ïóëþâàííÿ äàíèìè, ÿê³ ùå íåôîðìàëüíî íàçèâàþòü ìîâàìè
çàïèò³â. ×àñòî äî ñêëàäó ìîäåë³ äàíèõ âêëþ÷àþòü ùå é ³íøó
Ìîäåëü äàíèõ — öå ñèñòåìà ïðàâèë, çã³äíî ç ÿêèìè ñòâîðþ- ìîâó, ÿêà äîçâîëÿº îïèñóâàòè ñõåìè áàç äàíèõ ³ íàçèâàºòüñÿ
þòü ñòðóêòóðè äàíèõ, çä³éñíþþòü äîñòóï äî äàíèõ òà çì³- ìîâîþ âèçíà÷åííÿ äàíèõ.
íþþòü ¿õ.
Ó ðåëÿö³éí³é ìîäåë³ íàéá³ëüø ïîïóëÿðíîþ ìîâîþ º SQL (â³ä
Ó á³ëüøîñò³ ñó÷àñíèõ ÑÊÁÄ ï³äòðèìóºòüñÿ ðåëÿö³éíà ìîäåëü àíãë. Structured Query Language — ìîâà ñòðóêòóðîâàíèõ çàïè-
äàíèõ, ïîïåðåäíèêàìè ÿêî¿ áóëè ³ºðàðõ³÷íà òà ìåðåæåâà ìîäåë³. ò³â), ÿêà ïîºäíóº â ñîá³ çàñîáè ìîâè âèçíà÷åííÿ äàíèõ ³ ìîâè
Ðåëÿö³éíà ìîäåëü äàíèõ, â îñíîâó ÿêî¿ ïîêëàäåíî ìàòåìàòè÷íå ìàí³ïóëþâàííÿ äàíèìè. Ìîæëèâ³ñòü îïèñóâàòè çàïèòè äî áàç
ïîíÿòòÿ â³äíîøåííÿ (àíãë³éñüêîþ — relation), âïåðøå áóëà îïè- äàíèõ ö³ºþ ìîâîþ íàäàþòü óñ³ â³äîì³ íà ñüîãîäí³ ðåëÿö³éí³
ñàíà ó 1970 ðîö³ àíãë³éñüêèì ê³áåðíåòèêîì Å. Ô. Êîääîì. Ó ÑÊÁÄ. Ìîâà SQL íå º ìîâîþ ïðîãðàìóâàííÿ, âîíà äåêëàðàòèâ-
ôîðì³ â³äíîøåíü ó ðåëÿö³éí³é ìîäåë³ ïîäàþòüñÿ íàáîðè îäíî- íà, òîáòî äîçâîëÿº êîðèñòóâà÷ó îïèñàòè, ùî â³í õî÷å îòðèìàòè,
òèïíèõ îá’ºêò³â. ³äíîøåííÿ çðó÷íî çîáðàæóâàòè ó âèãëÿä³ òàá- íå îïèñóþ÷è, ÿê ñàìå êîìï’þòåð ìຠîá÷èñëèòè ïîòð³áíèé ðå-
ëèö³, òîìó ôàêòè÷íî ðåëÿö³éíà áàçà äàíèõ — öå ñóêóïí³ñòü òàá- çóëüòàò. Òîìó ïèñàòè çàïèòè ìîâîþ SQL çíà÷íî ëåãøå, í³æ
ëèöü, êîæíà ç ÿêèõ ì³ñòèòü íàá³ð îäíîòèïíèõ îá’ºêò³â. ïðîãðàìè áóäü-ÿêîþ ìîâîþ ïðîãðàìóâàííÿ, àëå ³ öå íå çàâæäè
ïîòð³áíî ðîáèòè, àäæå äåÿê³ ÑÊÁÄ íàäàþòü â³çóàëüí³ çàñîáè
Äëÿ äîïèòëèâèõ. Äóæå ÷àñòî òåðì³í «ðåëÿö³éíèé» ïîìèëêî- êîíñòðóþâàííÿ çàïèò³â ³ ñåðåä íèõ — ÑÊÁÄ MS Access, ç ÿêîþ
âî ³íòåðïðåòóþòü ÿê «îñíîâàíèé íà çâ’ÿçêàõ» ³ îñíîâíîþ âè ïðàöþâàòèìåòå, îïàíîâóþ÷è íàñòóïí³ ðîçä³ëè.
îñîáëèâ³ñòþ ðåëÿö³éíî¿ ìîäåë³ ââàæàþòü íàÿâí³ñòü çâ’ÿçê³â
ì³æ åëåìåíòàìè äàíèõ. Íàñïðàâä³ «çâ’ÿçîê» àíãë³éñüêîþ
Äëÿ äîïèòëèâèõ. Ìîâà SQL, õî÷à ³ º íàéïîïóëÿðí³øîþ, íå
ìîâîþ áóäå «relationship», à òåðì³í «relation», òî÷íèì ïåðå-
çîâñ³ì òî÷íî â³äïîâ³äຠïîñòóëàòàì ðåëÿö³éíî¿ ìîäåë³ äàíèõ,
êëàäîì ÿêîãî º «â³äíîøåííÿ», â òåî𳿠áàç äàíèõ ìàéæå åê-
çà ùî áóëà ï³ääàíà ð³çê³é êðèòèö³ ñàìèì àâòîðîì ìîäåë³ Å.
â³âàëåíòíèé òåðì³íó «òàáëèöÿ». Îòæå, «ðåëÿö³éíèé» ôàêòè-
Êîääîì. Ùå äî ïîÿâè SQL â³í çàïðîïîíóâàâ äâ³ ³íø³ ìîâè
÷íî îçíà÷ຠ«òàáëè÷íèé».
ìàí³ïóëþâàííÿ äàíèìè — ðåëÿö³éíó àëãåáðó òà ðåëÿö³éíå
÷èñëåííÿ, çàñîáè ÿêèõ âêëþ÷åíî äî ñêëàäó SQL, àëå ç äå-
Ïðîòÿãîì îñòàíí³õ 15–20 ðîê³â ñòàëè äîñë³äæóâàòèñÿ ïîñòðå-
ÿêèìè íåòî÷íîñòÿìè.
ëÿö³éí³ ìîäåë³, íàéá³ëüø ïåðñïåêòèâíîþ ç ÿêèõ ââàæàºòüñÿ

12 Розділ 1. Основи баз даних Моделі даних 13


Висновки Питання для роздумів
♦ Áàçà äàíèõ (ÁÄ) — öå ñòðóêòóðîâàíà ñóêóïí³ñòü äàíèõ, ÿê³ 1. ×è ìîæóòü ³ñíóâàòè áàçè äàíèõ ç îäíàêîâîþ ñõåìîþ, àëå
â³äîáðàæóþòü ñòàí îá’ºêò³â ïåâíî¿ ïðåäìåòíî¿ îáëàñò³ òà ð³çíèì íàïîâíåííÿì? À ç ð³çíèìè ñõåìàìè, àëå îäíàêîâèì
çâ’ÿçêè ì³æ íèìè. Ïðåäìåòíîþ îáëàñòþ (ÏÎ) íàçèâàþòü íàïîâíåííÿì?
ñôåðó çàñòîñóâàííÿ êîíêðåòíî¿ áàçè äàíèõ. 2*. ×è º ïåðåâàãîþ âèêîðèñòàííÿ ÑÊÁÄ ïðèñêîðåííÿ äîñòóïó
♦ Ñõåìà âèçíà÷àº, ÿê³ ïàðàìåòðè ïîâèíí³ ìàòè îá’ºêòè, ùî ïðèêëàäíèõ ïðîãðàì äî äàíèõ? ³äïîâ³äü àðãóìåíòóéòå.
çáåð³ãàþòüñÿ â áàç³, à íàïîâíåííÿ — öå çíà÷åííÿ ïàðàìåò-
ð³â êîíêðåòíèõ îá’ºêò³â, â³äîìîñò³ ïðî ÿê³ çàïèñàí³ â ÁÄ
íà ïîòî÷íèé ìîìåíò. Завдання для досліджень
♦ Ñèñòåìà êåðóâàííÿ áàçàìè äàíèõ (ÑÊÁÄ) — öå ïðîãðàìà,
ùî çàáåçïå÷óº ìîæëèâ³ñòü ñòâîðåííÿ ÁÄ òà âèêîíàííÿ ð³ç- 1. Ïðèïóñòèìî, ùî º â³äîìîñò³ ïðî áàãàòîïîâåðõîâ³ áóäèíêè,
íîìàí³òíèõ îïåðàö³é ç äàíèìè, ÿê³ â í³é çáåð³ãàþòüñÿ. à ñàìå ïðî àäðåñè, çà ÿêèìè âîíè ðîçòàøîâàí³, ê³ëüê³ñòü òà
íîìåðè êâàðòèð íà êîæíîìó ïîâåðñ³, ê³ëüê³ñòü ê³ìíàò ó
♦ ϳä ö³ë³ñí³ñòþ äàíèõ ó áàç³ ðîçóì³þòü ¿õ â³äïîâ³äí³ñòü ñõåì³
ÁÄ, à òàêîæ ³íøèì ïðàâèëàì ³ óìîâàì, ùî ãàðàíòóþòü íåñó- êâàðòèðàõ, à òàêîæ ïðî ìåøêàíö³â öèõ êâàðòèð (ïð³çâèùå,
ïåðå÷ëèâ³ñòü äàíèõ òà ¿õ óçãîäæåí³ñòü ç ïðåäìåòíîþ îáëàñòþ. ³ì’ÿ, ïî áàòüêîâ³, äàòà íàðîäæåííÿ). Âèä³ë³òü ó ö³é ïðåä-
ìåòí³é îáëàñò³ ê³ëüêà íàáîð³â îäíîòèïíèõ îá’ºêò³â òà âêà-
♦ Îáìåæåííÿ ö³ë³ñíîñò³ — öå óìîâè, ÿêèì ìàþòü â³äïîâ³äàòè
æ³òü ïàðàìåòðè îá’ºêò³â ó êîæíîìó íàáîð³.
êîðåêòí³ äàí³.
♦ Îñíîâí³ ïåðåâàãè âèêîðèñòàííÿ ÑÊÁÄ — ï³äòðèìêà ö³ë³ñ- 2. ßê³ ùå ôóíêö³¿ ìຠÑÊÁÄ, êð³ì òèõ, ùî çàçíà÷åí³ íà
íîñò³ äàíèõ, çàáåçïå÷åííÿ íåçàëåæíîñò³ äàíèõ â³ä ïðîãðàì, ðèñ. 1.2? Çíàéä³òü ïîòð³áíó ³íôîðìàö³þ â ²íòåðíåò³.
öåíòðàë³çîâàíå çáåð³ãàííÿ ³íôîðìàö³¿ òà íàäàííÿ ñï³ëüíîãî 3. Ñõåìà ÁÄ ìຠòàêèé âèãëÿä, ÿê ïîêàçàíî íèæ÷å. Äëÿ ÿêî¿
äîñòóïó äî äàíèõ ê³ëüêîì ê볺íòàì. ïðåäìåòíî¿ îáëàñò³ ìîæå áóòè ïîáóäîâàíà òàêà áàçà äàíèõ
♦ Îñíîâí³ ôóíêö³¿ ÑÊÁÄ ïîëÿãàþòü ó íàäàíí³ ê볺íòàì çàñî- òà ÿê ìîæóòü íàçèâàòèñÿ òàáëèö³ â í³é? ̳æ ÿêèìè
á³â äëÿ âèçíà÷åííÿ ñòðóêòóðè äàíèõ, ìàí³ïóëþâàííÿ äà- îá’ºêòàìè â ö³é áàç³ ìîæóòü ³ñíóâàòè çâ’ÿçêè òà ÿêèì º
íèìè (¿õ äîäàâàííÿ, îíîâëåííÿ, ïîøóêó, âèáèðàííÿ é âè- çì³ñò öèõ çâ’ÿçê³â? Çàïîâí³òü êîæíó òàáëèöþ äàíèìè ïðî
äàëåííÿ), òà çáåð³ãàíí³ äàíèõ ó ö³ë³ñíîìó âèãëÿä³. äâà–òðè îá’ºêòè.
♦ Äâ³ êàòåãî𳿠ëþäåé, ùî ïðàöþþòü ç ÁÄ, — öå ðîçðîáíèêè,
ÿê³ ñòâîðþþòü ñõåìó ÁÄ, òà êîðèñòóâà÷³ ÁÄ, ÿê³ âèêîíó- Âèä Ïð³çâèñüêî Äàòà íàðîäæåííÿ Ñòàòü Âàãà
þòü îïåðàö³¿ ç äàíèìè â áàç³.
♦ Ìîäåëëþ äàíèõ íàçèâàþòü ñèñòåìó ïðàâèë, çà ÿêèìè ñòâî-
ðþþòü ñòðóêòóðè äàíèõ, çä³éñíþþòü äîñòóï äî äàíèõ òà
çì³íþþòü ¿õ.
♦ Ðåëÿö³éíà áàçà äàíèõ — öå ñóêóïí³ñòü òàáëèöü, êîæíà ç ¹ Ïëîùà Òèï Äàòà ×àñ â³äêðèòòÿ ×àñ çàêðèòòÿ ʳëüê³ñòü â³äâ³äóâà÷³â
ÿêèõ ì³ñòèòü íàá³ð îäíîòèïíèõ îá’ºêò³â.
♦ Ìàí³ïóëþâàííÿ äàíèìè çä³éñíþþòü çà äîïîìîãîþ ñïåö³à-
ëüíèõ ìîâ. Ó ðåëÿö³éí³é ìîäåë³ íàéïîïóëÿðí³øîþ º ìîâà
SQL, ÿêà íàäຠçàñîáè ÿê äëÿ ìàí³ïóëþâàííÿ äàíèìè, òàê ³
äëÿ ¿õ âèçíà÷åííÿ.

14 Розділ 1. Основи баз даних Питання для роздумів 15


Розділ 2 Ïåòðîâà ͳíà Âîëîäèìèð³âíà íàëåæàòü äî ñóòíîñò³ «ó÷èòåëü», à
êëàñè 10À òà 11Á — äî ñóòíîñò³ «êëàñ». Êðèòåð³é òîãî, ÷è íà-
ëåæàòü îá’ºêòè äî îäí³º¿ ñóòíîñò³, äóæå ïðîñòèé: òàê³ îá’ºêòè
Модель «сутність-зв’язок» ïîâèíí³ ìàòè îäíàêîâèé íàá³ð ïàðàìåòð³â.

Ñóòí³ñòü ó ïðåäìåòí³é îáëàñò³ — öå ìíîæèíà îá’ºêò³â, ÿê³


Повторення ìàþòü îäíàêîâèé íàá³ð ïàðàìåòð³â.

♦ Ñòàí ÷îãî â³äîáðàæóº áàçà äàíèõ? Îá’ºêòè, ùî íàëåæàòü äî îäí³º¿ ñóòíîñò³, ìàþòü íå ëèøå îäíà-
♦ Ç ÷îãî ñêëàäàºòüñÿ ïðåäìåòíà îáëàñòü? êîâèé íàá³ð ïàðàìåòð³â, à é îäíîòèïí³ çâ’ÿçêè ç îá’ºêòàìè ³í-
♦ ×èì â³äð³çíÿºòüñÿ ñõåìà áàçè äàíèõ â³ä øèõ ñóòíîñòåé. Íàïðèêëàä, áóäü-ÿêèé êëàñ ìîæå áóòè çâ’ÿçà-
¿¿ íàïîâíåííÿ? íèé ç ó÷íåì çâ’ÿçêîì «ó÷åíü â÷èòüñÿ ó êëàñ³», à ç ó÷èòåëåì —
♦ Ùî òàêå ö³ë³ñí³ñòü äàíèõ? çâ’ÿçêîì «ó÷èòåëü âèêëàäຠó êëàñ³». Òîìó ìîæíà êàçàòè, ùî
çâ’ÿçêè âëàñòèâ³ íå ëèøå îá’ºêòàì, à ³ ñóòíîñòÿì. Òâåðäæåííÿ
«ó÷åíü â÷èòüñÿ ó êëàñ³» òà «ó÷èòåëü íàâ÷ຠêëàñ» — ïðèêëàäè
²ç ïîïåðåäíüîãî ðîçä³ëó âè çíàºòå, ùî áàçà äàíèõ â³äîáðàæຠçâ’ÿçê³â ñàìå ì³æ ñóòíîñòÿìè. (Ïðèêëàäîì çâ’ÿçêó ì³æ îá’ºê-
ñòàí îá’ºêò³â ïåâíî¿ ïðåäìåòíî¿ îáëàñò³ òà çâ’ÿçêè ì³æ íèìè. òàìè º òâåðäæåííÿ «ó÷åíü Øïàê Ìàêñèì â÷èòüñÿ ó 10À êëà-
Ðîçðîáíèê áàçè äàíèõ, ïðîåêòóþ÷è ¿¿ ñõåìó, âñòàíîâëþº, ÿê³ ñ³».) Òàê ñàìî ìîæíà êàçàòè, ùî íå ëèøå îá’ºêò, à é ñàìà ñóò-
ïàðàìåòðè ìàþòü ö³ îá’ºêòè. Êð³ì òîãî, â³í ìຠâèçíà÷èòè, ÿê³ í³ñòü ìຠïåâíèé íàá³ð ïàðàìåòð³â. Íàïðèêëàä, ñóòí³ñòü
çâ’ÿçêè ìîæóòü ³ñíóâàòè ì³æ îá’ºêòàìè. ²íàêøå êàæó÷è, ðîç- «ó÷åíü» ìຠòàê³ ïàðàìåòðè, ÿê ïð³çâèùå, ³ì’ÿ, ñòàòü, çð³ñò,
ðîáíèê áóäóº ìîäåëü ïðåäìåòíî¿ îáëàñò³, ÿêó â òåî𳿠áàç äàíèõ äàòó íàðîäæåííÿ òîùî.
íàçèâàþòü ìîäåëëþ «ñóòí³ñòü-çâ’ÿçîê». Öå íàéïåðøå çàâäàí- Òåïåð ìè ãîòîâ³ òî÷íî âèçíà÷èòè ïðèçíà÷åííÿ ìîäåë³ «ñóòí³ñòü-
íÿ, ÿêå âèêîíóþòü ùå äî òîãî, ÿê ñõåìà áàçè äàíèõ áóäå ñòâî- çâ’ÿçîê».
ðåíà â ÑÊÁÄ, ³ ñàìå íàä íèì ìè ïðàöþâàòèìåìî ñüîãîäí³.
Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ïðèçíà÷åíî äëÿ ãðàô³÷íîãî çîá-
Об’єкти, сутності, зв’язки ðàæåííÿ ñóòíîñòåé ïåâíî¿ ïðåäìåòíî¿ îáëàñò³, ¿õ ïàðàìåòð³â
òà çâ’ÿçê³â ì³æ íèìè.
ßê óæå íàãîëîøóâàëîñÿ, áóäü-ÿêà ïðåäìåòíà îáëàñòü ì³ñòèòü
îá’ºêòè. Íàïðèêëàä, ó ïðåäìåòí³é îáëàñò³ «øêîëà» îá’ºêòàìè
ìîæóòü áóòè ó÷èòåë³ Ìèõàéëþê Äìèòðî Ñåìåíîâè÷ òà Ïåòðîâà Äëÿ äîïèòëèâèõ. Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» íàçèâàþòü òà-
ͳíà Âîëîäèìèð³âíà, êëàñè 10À ³ 11Á òîùî. Ïðè öüîìó êëàñè êîæ ER-ìîäåëëþ (â³ä àíãë. Entity-Relashionship), à ïðîöåñ ¿¿
10À ³ 11Á º îäíîòèïíèìè îá’ºêòàìè (îñê³ëüêè âîíè îáèäâà º ïîáóäîâè — ER-ìîäåëþâàííÿì, àáî ñåìàíòè÷íèì ìîäåëþ-
êëàñàìè), à êëàñ 10À ³ ó÷èòåëü Ìèõàéëþê Äìèòðî Ñåìåíî- âàííÿì. «Ñåìàíòè÷íèé» îçíà÷ຠ«çì³ñòîâèé», ³ öå ñëîâî ï³ä-
âè÷ — îá’ºêòàìè ð³çíîãî òèïó. Çàì³ñòü ôðàçè «îäíîòèïí³ êðåñëþº, ùî ï³ä ÷àñ ER-ìîäåëþâàííÿ ìè âèÿâëÿºìî çì³ñò
îá’ºêòè» êàæóòü òàêîæ, ùî îá’ºêòè íàëåæàòü äî îäíàêîâî¿ ñóòíîñòåé ó ïðåäìåòí³é îáëàñò³ òà çâ’ÿçê³â ì³æ íèìè.
ñóòíîñò³, íàïðèêëàä ó÷èòåë³ Ìèõàéëþê Äìèòðî Ñåìåíîâè÷ òà

16 Розділ 2. Модель «сутність-зв’язок» Об’єкти, сутності, зв’язки 17


Завдання 2.1 Ó÷èòåëü Êëàñ
Íàçâ³òü ê³ëüêà ñóòíîñòåé ç ïðåäìåòíèõ îáëàñòåé «çàë³çíèöÿ»,
ïàñïîðò íàâ÷ຠíàçâà
«àäì³í³ñòðàòèâíèé óñòð³é», «âîäîïîñòà÷àííÿ». ßê³ ïàðàìåòðè
ìàþòü ö³ ñóòíîñò³? ßê³ ì³æ íèìè ìîæóòü ³ñíóâàòè çâ’ÿçêè? ïð³çâèùå
³ì’ÿ
Графічні позначення в моделі ïî áàòüêîâ³
«сутність-зв’язок» ñòàòü
Ñóòíîñò³ â ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ïîçíà÷àþòüñÿ ïðÿìîêóò-
ñïåö³àëüí³ñòü
íèêàìè, âñåðåäèí³ ÿêèõ çàïèñóþòüñÿ ¿õí³ íàçâè. Íàçâè ïàðàìå-
òð³â ñóòíîñòåé (ó òåî𳿠ðåëÿö³éíèõ áàç äàíèõ ¿õ íàçèâàþòü
Рис. 2.2. Зв’язок між сутностями Учитель та Клас
àòðèáóòàìè) çàïèñóþòüñÿ ï³ä ïðÿìîêóòíèêàìè ñóòíîñòåé ³
ï³äêðåñëþþòüñÿ. ³ä ïðÿìîêóòíèêà ñóòíîñò³ ïðîâîäÿòü âåðòè- ñòàâèìî çâîðîòíå çàïèòàííÿ: ó ñê³ëüêîõ êëàñàõ ìîæå íàâ÷àòèñÿ
êàëüíó ë³í³þ âçäîâæ óñ³õ àòðèáóò³â. ßê ïðèêëàä íà ðèñ. 2.1
êîæåí ó÷åíü? ³äïîâ³äü òàêîæ î÷åâèäíà: â îäíîìó. Âñå öå
çîáðàæåíî ñóòí³ñòü Учитель ³ç àòðèáóòàìè паспорт, прізвище,
îçíà÷àº, ùî êëàñ çâ’ÿçàíî ç ó÷íåì çâ’ÿçêîì «îäèí-äî-áà-
ім’я, по батькові, стать òà спеціальність.
ãàòüîõ».
Çâ’ÿçêè ì³æ ñóòíîñòÿìè ïîç-
Íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ïîçíà÷èìî öåé çâ’ÿçîê ñëîâîì
Ó÷èòåëü íà÷àþòüñÿ ðîìáàìè, ùî ç’ºä-
«â÷èòüñÿ»: ó÷åíü â÷èòüñÿ ó êëàñ³. Á³ëÿ ë³í³¿, ùî ç’ºäíóº ðîìá
íóþòüñÿ ç ïðÿìîêóòíèêàìè.
ïàñïîðò Âñåðåäèí³ ðîìáà çàïèñóþòü çâ’ÿçêó ç ïðÿìîêóòíèêîì «Êëàñ», ìè ìàºìî çàïèñàòè ñèìâîë
䳺ñëîâî àáî ñëîâîñïîëó÷åí- «1», àäæå ó÷åíü â÷èòüñÿ â îäíîìó êëàñ³. À á³ëÿ ë³í³¿, ùî
ïð³çâèùå
íÿ, ùî âèçíà÷ຠçì³ñò çâ’ÿç- ç’ºäíóº ðîìá çâ’ÿçêó ç ïðÿìîêóòíèêîì «Ó÷åíü», ìè ìàºìî çà-
³ì’ÿ êó. ßêùî çàïèñàíî ëèøå ïèñàòè ñèìâîë «∞» (íåñê³í÷åíí³ñòü, áàãàòî), àäæå ó êëàñ³
䳺ñëîâî, íàä íèì ÷àñòî ìà- â÷èòüñÿ áàãàòî ó÷í³â (ðèñ. 2.3).
ïî áàòüêîâ³
ëþþòü ñòð³ëêó, ùî ïîêàçóº,
ñòàòü â ÿêîìó ïîðÿäêó 䳺ñëîâî
ñïåö³àëüí³ñòü ñïîëó÷ຠ³ìåííèêè-ñóòíîñò³. 1 ∞
Òàê, íà ðèñ. 2.2 çîáðàæåíî Êëàñ â÷èòüñÿ Ó÷åíü
Рис. 2.1. Зображення сутності çâ’ÿçîê ì³æ ñóòíîñòÿìè Учи-
Учитель у моделі «сутність-зв’язок» тель òà Клас. Ñòð³ëêà îçíà-
÷àº, ùî ñàìå ó÷èòåëü íàâ÷ຠó÷åíü â÷èòüñÿ â ó êëàñ³ â÷èòüñÿ
êëàñ, à íå êëàñ íàâ÷ຠó÷èòåëÿ. îäíîìó êëàñ³ áàãàòî ó÷í³â

Різновиди зв’язків Рис. 2.3. Зображення зв’язку «один-до-багатьох»

Ïîñòàâèìî ïðîñòå çàïèòàííÿ: ñê³ëüêè ó÷í³â ìîæå áóòè â îäíî- Çàãàëîì çâ’ÿçêè ì³æ ñóòíîñòÿìè áóâàþòü òðüîõ òèï³â:
ìó êëàñ³? Î÷åâèäíî, â³äïîâ³äü íà íüîãî — «áàãàòî». Òåïåð ïî- ♦ «îäèí-äî-áàãàòüîõ»;

18 Розділ 2. Модель «сутність-зв’язок» Різновиди зв’язків 19


♦ «îäèí-äî-îäíîãî»; Çâ’ÿçîê «ó÷èòåëü íàâ÷ຠêëàñ». Ó êîæíîìó êëàñ³ ìîæóòü âè-
♦ «áàãàòî-äî-áàãàòüîõ». êëàäàòè áàãàòî â÷èòåë³â. Ç ³íøîãî áîêó, êîæåí ó÷èòåëü ìîæå
âèêëàäàòè â áàãàòüîõ êëàñàõ. Òàêèì ÷èíîì, çâ’ÿçîê «ó÷èòåëü
Ùîá çâ’ÿçîê ì³æ ñóòíîñòÿìè A ³ B â³äíåñòè äî îäíîãî ç öèõ
íàâ÷ຠêëàñ» ìຠòèï «áàãàòî-äî-áàãàòüîõ» (ðèñ. 2.4).
òðüîõ òèï³â, ñë³ä â³äïîâ³ñòè íà äâà çàïèòàííÿ:
♦ dz ñê³ëüêîìà îá’ºêòàìè ñóòíîñò³ À ìîæå áóòè çâ’ÿçàíèé
îá’ºêò ñóòíîñò³ Â?
♦ dz ñê³ëüêîìà îá’ºêòàìè ñóòíîñò³ B ìîæå áóòè çâ’ÿçàíèé ∞ ∞
Ó÷èòåëü íàâ÷ຠÊëàñ
îá’ºêò ñóòíîñò³ A?
ßê â³äïîâ³ä³ íà ö³ çàïèòàííÿ âèçíà÷àþòü òèïè çâ’ÿçê³â ³ ÿê ö³
çâ’ÿçêè ïîçíà÷àþòüñÿ ãðàô³÷íî, ñòàíå çðîçóì³ëî ï³ñëÿ óâàæíî- ó êëàñ³ âèêëàäຠó÷èòåëü íàâ÷àº
ãî ðîçãëÿäó òàáë. 2.1. áàãàòî â÷èòåë³â áàãàòî êëàñ³â
Таблиця 2.1. Різновиди зв’язків

dz ñê³ëü- dz ñê³ëü- Рис. 2.4. Зображення зв’язку «багато-до-багатьох»


êîìà êîìà
îá’ºêòàìè îá’ºêòàìè Çâ’ÿçîê «ó÷èòåëü º êëàñíèì êåð³âíèêîì». Ó÷èòåëü ìîæå êåðó-
Òèï Ãðàô³÷íå âàòè ëèøå îäíèì êëàñîì, à ó êëàñ³ ìîæå áóòè ò³ëüêè îäèí êëàñ-
À ìîæå Â ìîæå
çâ’ÿçêó ïîçíà÷åííÿ íèé êåð³âíèê. Òàêèì ÷èíîì, çâ’ÿçîê «ó÷èòåëü º êëàñíèì êåð³â-
áóòè áóòè
çâ’ÿçàíî çâ’ÿçàíî íèêîì» ìຠòèï «îäèí-äî-îäíîãî» (ðèñ. 2.5).
îá’ºêò Â? îá’ºêò À?
«îäèí- 1 ∞ ç îäíèì ç áàãàòü-
äî-áàãà- À B ìà 1 1
Ó÷èòåëü êåðóº Êëàñ
òüîõ»
«îäèí- 1 1 ç îäíèì ç îäíèì
äî-îä- À B
íîãî» ó êëàñ³ º îäèí êëàñíèé êåð³âíèê
êëàñíèé êåð³âíèê êåðóº îäíèì êëàñîì
«áàãàòî- ∞ ∞ ç áàãàòü- ç áàãàòü-
äî-áàãà- À B ìà ìà
òüîõ» Рис. 2.5. Зображення зв’язку «один-до-одного»

³äíåñåííÿ çâ’ÿçêó äî îäíîãî ç òðüîõ ðîçãëÿíóòèõ òèï³â íàçè-


âàþòü êëàñèô³êàö³ºþ çâ’ÿçêó çà ìíîæèíí³ñòþ, à ñàì³ ïîçíà- Äëÿ äîïèòëèâèõ. Êð³ì òðüîõ ðîçãëÿíóòèõ òèï³â ìíîæèííîñò³
÷åííÿ «îäèí» òà «áàãàòî» — ìíîæèííîñòÿìè çâ’ÿçêó ç òîãî ÷è áóâàþòü é ³íø³. Íàïðèêëàä, áàòüêè çâ’ÿçàí³ ç ä³òüìè çâ’ÿç-
³íøîãî áîêó. ª é ³íø³ ñïîñîáè êëàñèô³êàö³¿ çâ’ÿçê³â, äåÿê³ ç êîì òèïó «äâà-äî-áàãàòüîõ»: êîæíà äèòèíà ìຠäâîõ áàòüê³â,
êîòðèõ ìè ðîçãëÿíåìî â íàñòóïíîìó ðîçä³ë³. À çàðàç íàâåäåìî à â êîæíîãî áàòüêà ìîæå áóòè ñê³ëüêè çàâãîäíî ä³òåé.
ïðèêëàäè çâ’ÿçê³â ð³çíî¿ ìíîæèííîñò³.

20 Розділ 2. Модель «сутність-зв’язок» Різновиди зв’язків 21


Завдання 2.2 ë³ íå ìîæå áóòè äâîõ ó÷-
Ó÷èòåëü Êëàñ í³â ç îäíàêîâèì ïð³çâè-
Âèçíà÷òå òèïè çâ’ÿçê³â òà çîáðàç³òü çâ’ÿçêè ãðàô³÷íî: ùåì òà ³ì’ÿì, ÿê³ íàðî-
ïàñïîðò * íàçâà *
♦ êóðêà íåñå ÿéöÿ; äèëèñÿ â îäèí äåíü, —
ïð³çâèùå òîä³ êëþ÷ ñóòíîñò³ Учень
♦ ó ÿéö³ º æîâòîê;
³ì’ÿ ñêëàäàòèìåòüñÿ ç òðüîõ
♦ ð³÷êà ïðîò³êຠòåðèòîð³ºþ äåðæàâè;
àòðèáóò³â: прізвище,
♦ ó êîìàíä³ 11 ôóòáîë³ñò³â. ïî áàòüêîâ³ ім’я, дата народження
ñòàòü (ðèñ. 2.7, à). Êîëè êëþ÷
Ключові атрибути ñïåö³àëüí³ñòü
ñêëàäàºòüñÿ ç ê³ëüêîõ
àòðèáóò³â, îêðåì³ çíà-
ßêùî âè â³äêðèâàºòå ðàõóíîê ó áàíêó, êóïëÿºòå êâèòîê íà ÷åííÿ êîæíîãî ç íèõ ìî-
Рис. 2.6. Ключі сутностей Учитель
ë³òàê àáî âñòóïàºòå ó âèùèé íàâ÷àëüíèé çàêëàä, âàñ íåîäì³ííî æóòü ïîâòîðþâàòèñÿ, à
та Клас
ïîïðîñÿòü âêàçàòè íîìåð ³ ñåð³þ ñâîãî ïàñïîðòà. ×îìó ñàìå êîìá³íàö³¿ çíà÷åíü óñ³õ
òàê, ÷îìó íåäîñòàòíüî, ñêàæ³ìî, íàçâàòè ñâîº ïð³çâèùå, ³ì’ÿ òà êëþ÷îâèõ àòðèáóò³â — í³.
ïî áàòüêîâ³? г÷ ó ò³ì, ùî íîìåð òà ñåð³ÿ ïàñïîðòà îäíîçíà÷íî Ïðîòå â äóæå ð³äê³ñíèõ âèïàäêàõ ïðèïóùåííÿ ïðî íå³ñíóâàííÿ
³äåíòèô³êóþòü îñîáó, îñê³ëüêè í³êîëè íå ïîâòîðþþòüñÿ. Ïðî äâîõ ó÷í³â ç îäíàêîâèì ïð³çâèùåì òà ³ì’ÿì, ùî íàðîäèëèñÿ â
³ì’ÿ, ïð³çâèùå òà ïî áàòüêîâ³ öüîãî íå ìîæíà ñêàçàòè, ³ â îäèí äåíü, ìîæå íå ñïðàâäæóâàòèñÿ ³, êð³ì òîãî, îïåðóâàòè â
ïðèíöèï³ ìîæëèâà ñèòóàö³ÿ, êîëè ²âàí÷óê Äìèòðî Âàñèëüîâè÷ ÑÊÁÄ ç êëþ÷åì, ÿêèé ì³ñòèòü òðè àòðèáóòè, íåçðó÷íî. Òîìó
ïðèéäå äî áàíêó ³ çàáàæຠçíÿòè êîøòè ç ðàõóíêó ³íøîãî ²âàí- ÷àñòî âèõ³ä çíàõîäÿòü ó äîäàâàíí³ øòó÷íîãî êëþ÷îâîãî àòðèáó-
÷óêà Äìèòðà Âàñèëüîâè÷à. ßêáè îñîáà, ÿê³é íàëåæèòü ðàõóíîê, òà, ÿêèé ìîæíà íàçâàòè код (ðèñ. 2.7, á). Ó òàêîìó âèïàäêó
âèçíà÷àëàñÿ çà ïð³çâèùåì, ³ì’ÿì òà ïî áàòüêîâ³, â îïèñàíèé ó÷í³ øêîëè â áàç³ äàíèõ ³äåíòèô³êóâàòèìóòüñÿ çà ñïåö³àëüíèì,
ñïîñ³á ìîæíà áóëî á âêðàñòè ãðîø³. øòó÷íî ñòâîðåíèì, êîäîì.
Àòðèáóò, çíà÷åííÿ ÿêîãî íå ìîæå ïîâòîðþâàòèñÿ, íàçèâàþòü
êëþ÷îâèì àáî ïðîñòî êëþ÷åì. Êëþ÷³ â³ä³ãðàþòü ó áàçàõ äàíèõ Ó÷åíü Ó÷åíü
óêðàé âàæëèâó ðîëü, àäæå ñàìå çà ¿õ äîïîìîãîþ ÑÊÁÄ ³äåíòèô³-
êóº îá’ºêòè. Âè âæå çðîçóì³ëè, ùî äëÿ ñóòíîñò³ Учитель òàêèì ïð³çâèùå * êîä *
àòðèáóòîì ìîæå áóòè íîìåð òà ñåð³ÿ ïàñïîðòó (íàçâåìî éîãî ïðî- ³ì’ÿ * ïð³çâèùå
ñòî паспорт). Îá’ºêòè ñóòíîñò³ Клас ó ïðåäìåòí³é îáëàñò³ «øêî-
äàòà íàðîäæåííÿ * ³ì’ÿ
ëà» ìîæíà ³äåíòèô³êóâàòè çà àòðèáóòîì назва, àäæå â îäí³é
øêîë³ íå ìîæå áóòè äâîõ êëàñ³â ç îäíàêîâîþ íàçâîþ. ñòàòü äàòà íàðîäæåííÿ
Çàçíà÷èìî, ùî êëþ÷îâ³ àòðèáóòè íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ñòàòü
ïîçíà÷àþòüñÿ ñèìâîëîì «*» (ðèñ. 2.6).
Äåùî ñêëàäí³øà ñèòóàö³ÿ ç êëþ÷åì ñóòíîñò³ Учень. Á³ëüø³ñòü а б
ó÷í³â íå ìàþòü ïàñïîðòà, à ïð³çâèùå òà ³ì’ÿ â ð³çíèõ ó÷í³â Рис. 2.7. Ключі сутності Учень: а — складений ключ, що містить
ìîæóòü áóòè îäíàêîâèìè. Ìîæíà ïðèïóñòèòè, ùî â îäí³é øêî- три атрибути; б — штучно доданий ключовий атрибут

22 Розділ 2. Модель «сутність-зв’язок» Ключові атрибути 23


Завдання 2.3
ϳñëÿ íàçâ ñóòíîñòåé ó äóæêàõ âêàçàíî ¿õí³ àòðèáóòè. Âèçíà÷- â÷èòüñÿ
òå, ÿê³ êëþ÷³ ìàþòü ö³ ñóòíîñò³. ßêùî ç íàâåäåíèõ àòðèáóò³â êåðóº
óòâîðèòè êëþ÷ íåìîæëèâî, âêàæ³òü, ÿê³ àòðèáóòè ñë³ä äîäàòè. 1 1 1 ∞

♦ Õîëîäèëüíèê (ìîäåëü, îá’ºì, ð³ê âèïóñêó, ñåð³éíèé íîìåð). Ó÷èòåëü Êëàñ Ó÷åíü
∞ ∞
♦ гêà (íàçâà, äîâæèíà). ïàñïîðò * íàçâà * êîä *
♦ ̳ñòî (íàçâà, ê³ëüê³ñòü íàñåëåííÿ, ð³ê çàñíóâàííÿ, îáëàñòü, íàâ÷àº
ïð³çâèùå ïð³çâèùå
äåðæàâà).
♦ Àâ³àðåéñ (àåðîïîðò â³äëüîòó, àåðîïîðò ïîñàäêè, äàòà â³ä- ³ì’ÿ ³ì’ÿ
ëüîòó). ïî áàòüêîâ³ äàòà
íàðîäæåííÿ
ñòàòü
Побудова моделі «сутність-зв’язок» ñïåö³àëüí³ñòü
ñòàòü

Ó ïîïåðåäí³õ ï³äðîçä³ëàõ ðîçä³ëó 17 ìè ôàêòè÷íî ïîáóäóâàëè


ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» äëÿ ïðåäìåòíî¿ îáëàñò³ «øêîëà». Рис. 2.8. Модель «сутність-зв’язок» для предметної області «школа»
Îïèøåìî äåòàëüíî òó ÷àñòèíó ïðåäìåòíî¿ îáëàñò³, ÿêî¿ ñòîñó-
10À ³ 11À, òîáòî çâ’ÿçàíà ç íèìè çâ’ÿçêîì «ó÷èòåëü âèêëàäຠâ
ºòüñÿ öÿ ìîäåëü.
êëàñ³». Íàì í³÷îãî íå çàâàäèòü, îäíàê, çâ’ÿçàòè öüîãî â÷èòåëÿ ³
Ïðî ó÷í³â ïåâíî¿ øêîëè â³äîì³ ¿õí³ ³ìåíà, ïð³çâèùà, äàòè íà- ç ó÷íÿìè 11Á êëàñó ÷åðåç íîâîñòâîðåíèé çâ’ÿçîê «ó÷èòåëü íàâ-
ðîäæåííÿ òà ñòàòü. Êîæåí ó÷åíü â÷èòüñÿ ó ïåâíîìó êëàñ³. Ó ÷ຠó÷íÿ». Âèéäå, ùî â÷èòåëü íàâ÷ຠó÷í³â òîãî êëàñó, ó ÿêîìó
êëàñàõ âèêëàäàþòü â÷èòåë³. Ïîòð³áíî çáåð³ãàòè â³äîìîñò³ íå âèêëàäàº, ùî ñóïåðå÷èòü çäîðîâîìó ãëóçäó. ßêùî æ ìîäåëü
ïðî íîìåð òà ñåð³þ ïàñïîðòà, ïð³çâèùå, ³ì’ÿ òà ïî áàòüêîâ³, à «ñóòí³ñòü-çâ’ÿçîê» ìຠòàêèé âèãëÿä, ÿê íà ðèñ. 2.8, òî îïèñàíà
òàêîæ ïðî ñïåö³àëüí³ñòü â÷èòåë³â. Äåÿê³ â÷èòåë³ º êëàñíèìè ñèòóàö³ÿ íåìîæëèâà â ïðèíöèï³.
êåð³âíèêàìè.
Çàçíà÷èìî, ùî äîäàòêîâèé çâ’ÿçîê ì³æ ó÷èòåëåì ³ ó÷íåì ñòàíå
Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» îïèñàíî¿ ÷àñòèíè ïðåäìåòíî¿ îáëàñò³ äîö³ëüíèì, ÿêùî ìè çàáàæàºìî â³äîáðàæóâàòè â³äîìîñò³ ïðî ³í-
ïîäàíî íà ðèñ. 2.8. äèâ³äóàëüí³ ïîçàêëàñí³ çàíÿòòÿ. Îäíàê ó íàâåäåíîìó âèùå îïè-
Çàóâàæòå, ùî â ðîçãëÿíóò³é ÷àñòèí³ ïðåäìåòíî¿ îáëàñò³ «øêî- ñ³ ïðåäìåòíî¿ îáëàñò³ ïðî öå í³÷îãî íå ñêàçàíî.
ëà», íà äîäàòîê äî òðüîõ çîáðàæåíèõ çâ’ÿçê³â ì³æ ñóòíîñòÿìè,
ìîæíà âèÿâèòè é ³íø³, çîêðåìà «ó÷èòåëü íàâ÷ຠó÷íÿ». Ïðîòå
çîáðàæóâàòè öåé çâ’ÿçîê íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» íåìîæíà, Головний принцип семантичного
îñê³ëüêè â³í º íàñë³äêîì âæå ïîêàçàíèõ çâ’ÿçê³â: ÿê³ â÷èòåë³ моделювання
íàâ÷àþòü òîãî ÷è ³íøîãî ó÷íÿ, çðîçóì³ëî ç òîãî, ó ÿêîìó êëàñ³
öåé ó÷åíü â÷èòüñÿ òà ÿê³ â÷èòåë³ â öüîìó êëàñ³ âèêëàäàþòü. ̳ðêóâàííÿ, ïîä³áí³ äî íàâåäåíèõ ó ïîïåðåäíüîìó ï³äðîçä³ë³,
äîçâîëÿþòü ñôîðìóëþâàòè ãîëîâíèé ïðèíöèï, ÿêîìó ìຠâ³ä-
Ùîá êðàùå çðîçóì³òè, ÷îìó çâ’ÿçîê «ó÷èòåëü íàâ÷ຠó÷íÿ» ïîâ³äàòè ïðàâèëüíî ïîáóäîâàíà ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ïðå-
çàéâèé, ïðèïóñòèìî, ùî ìè éîãî ñòâîðèëè. Ïðèïóñòèìî òàêîæ, äìåòíî¿ îáëàñò³, àáî, ³íàêøå êàæó÷è, ãîëîâíèé ïðèíöèï ñåìàí-
ùî ó÷èòåëü Ïåòðîâà ͳíà Âîëîäèìèð³âíà âèêëàäຠó êëàñàõ òè÷íîãî ìîäåëþâàííÿ. Àëå ïåðø í³æ éîãî ôîðìóëþâàòè, çðî-

24 Розділ 2. Модель «сутність-зв’язок» Головний принцип семантичного моделювання 25


áèìî îäíå âàæëèâå çàóâàæåííÿ. À ñàìå, çàçíà÷èìî, ùî â áóäü- ♦ Ñóòíîñò³ â ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ïîçíà÷àþòüñÿ ïðÿìî-
ÿê³é áàç³ äàíèõ çáåð³ãàþòüñÿ íå ïðîñòî â³äîìîñò³, à ôàêòè. êóòíèêàìè, âñåðåäèí³ ÿêèõ çàïèñóþòüñÿ ¿õí³ íàçâè. Íàçâè
Íàïðèêëàä, òîé ôàêò, ùî â÷èòåëü ³ç ïàñïîðòîì CH 410268 ìຠïàðàìåòð³â ñóòíîñòåé çàïèñóþòü ï³ä ïðÿìîêóòíèêàìè ñóò-
ïð³çâèùå Ìèõàéëþê, ³ì’ÿ Äìèòðî, ïî áàòüêîâ³ Ñåìåíîâè÷, íîñòåé ³ ï³äêðåñëþþòü. Ó òåî𳿠ðåëÿö³éíèõ áàç äàíèõ òàê³
ñòàòü ÷îëîâ³÷ó òà ñïåö³àëüí³ñòü ìàòåìàòèê, ìîæå çáåð³ãàòèñÿ â
ïàðàìåòðè íàçèâàþòü àòðèáóòàìè.
òàáëèö³ Учителі, à òîé ôàêò, ùî Ìèõàéëþê Äìèòðî Ñåìåíîâè÷
âèêëàäຠâ 11À êëàñ³, çáåð³ãàòèìåòüñÿ çàâäÿêè çâ’ÿçêó «ó÷è- ♦ Çâ’ÿçêè ì³æ ñóòíîñòÿìè ïîçíà÷àþòü ðîìáàìè, ÿê³ ç’ºäíóþòü
òåëü âèêëàäຠó êëàñ³». ç ïðÿìîêóòíèêàìè. Âñåðåäèí³ ðîìáó çàïèñóþòü 䳺ñëîâî àáî
Ç îïèñàíî¿ òî÷êè çîðó ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» âñòàíîâëþº ñëîâîñïîëó÷åííÿ, ÿêå âèçíà÷ຠçì³ñò çâ’ÿçêó. Êîëè çàïèñàíî
ïðàâèëà çáåðåæåííÿ ôàêò³â ó áàç³ äàíèõ ³ ãîëîâíèé êðèòåð³é ëèøå 䳺ñëîâî, íàä íèì ìàëþþòü ñòð³ëêó, ùî ïîêàçóº, ó
ÿêîñò³ ö³º¿ ìîäåë³ º òàêèì. ÿêîìó ïîðÿäêó 䳺ñëîâî ñïîëó÷ຠ³ìåííèêè-ñóòíîñò³.
♦ Çâ’ÿçêè ì³æ ñóòíîñòÿìè áóâàþòü òðüîõ òèï³â: «îäèí-äî-áà-
Ãîëîâíèé ïðèíöèï ñåìàíòè÷íîãî ìîäåëþâàííÿ. Ìîäåëü «ñóò- ãàòüîõ»; «îäèí-äî-îäíîãî»; «áàãàòî-äî-áàãàòüîõ». ³äíåñåí-
í³ñòü-çâ’ÿçîê» ïîâèííà äîçâîëÿòè çáåð³ãàííÿ áóäü-ÿêîãî ôàê- íÿ çâ’ÿçêó äî îäíîãî ç öèõ òèï³â íàçèâàþòü éîãî êëàñèô³-
òó ëèøå â îäíîìó ì³ñö³. êàö³ºþ çà ìíîæèíí³ñòþ.
♦ Ñóòí³ñòü À çâ’ÿçàíà ç ñóòí³ñòþ  çâ’ÿçêîì «îäèí-äî-áàãà-
Çàóâàæèìî, ùî ââåäåííÿ äî çîáðàæåíî¿ íà ðèñ. 2.8 ìîäåë³ òüîõ», ÿêùî êîæåí îá’ºêò À ìîæå áóòè çâ’ÿçàíèé ç äîâ³ëü-
çâ’ÿçêó «ó÷èòåëü íàâ÷ຠó÷íÿ» ïîðóøèòü öåé ïðèíöèï: òîé íîþ ê³ëüê³ñòþ îá’ºêò³â Â, à êîæåí îá’ºêò  — ëèøå ç îä-
ôàêò, ùî ïåâíèé ó÷èòåëü íàâ÷ຠïåâíîãî ó÷íÿ, çáåð³ãàòèìåòüñÿ íèì îá’ºêòîì À.
³ â öüîìó çâ’ÿçêó, ³ ó çâ’ÿçêàõ «ó÷èòåëü âèêëàäຠâ êëàñ³» òà ♦ Ñóòí³ñòü À çâ’ÿçàíà ç ñóòí³ñòþ  çâ’ÿçêîì «îäèí-äî-îäíîãî»,
«ó÷åíü íàâ÷àºòüñÿ â êëàñ³», ðàçîì óçÿòèõ. ÿêùî êîæåí îá’ºêò À ìîæå áóòè çâ’ÿçàíèé ò³ëüêè ç îäíèì
îá’ºêòîì Â, à êîæåí îá’ºêò  — ëèøå ç îäíèì îá’ºêòîì À.
Äëÿ äîïèòëèâèõ. Ãîëîâíèé ïðèíöèï ñåìàíòè÷íîãî ìîäåëþ- ♦ Ñóòí³ñòü À çâ’ÿçàíà ç ñóòí³ñòþ  çâ’ÿçêîì «áàãàòî-äî-áàãà-
âàííÿ äóæå âäàëî ôîðìóëþºòüñÿ ÷åðåç ïîíÿòòÿ íàäëèøêîâî- òüîõ», ÿêùî êîæåí îá’ºêò À ìîæå áóòè çâ’ÿçàíèé ç äîâ³ëü-
ñò³ ³íôîðìàö³¿ (çãàäàéòå ìàòåð³àë 9-ãî êëàñó): ìîäåëü «ñóò- íîþ ê³ëüê³ñòþ îá’ºêò³â Â, à êîæåí îá’ºêò  — ç äîâ³ëüíîþ
í³ñòü-çâ’ÿçîê» ïîòð³áíî ïðîåêòóâàòè òàê, ùîá ³íôîðìàö³ÿ, ê³ëüê³ñòþ îá’ºêò³â À.
ÿêà çáåð³ãàòèìåòüñÿ ó ñïðîåêòîâàíèõ çà ö³ºþ ìîäåëëþ ÁÄ, ♦ Êëþ÷åì íàçèâàþòü àòðèáóò àáî íàá³ð àòðèáóò³â, çíà÷åííÿ
ìàëà ÿêîìîãà ìåíøó íàäëèøêîâ³ñòü. ÿêèõ äîçâîëÿþòü îäíîçíà÷íî ³äåíòèô³êóâàòè îá’ºêòè ïåâíî¿
ñóòíîñò³.
♦ Ãîëîâíèé ïðèíöèï ñåìàíòè÷íîãî ìîäåëþâàííÿ ïîëÿãຠâ
Висновки òîìó, ùî ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ïîâèííà äîçâîëÿòè çáå-
ð³ãàííÿ áóäü-ÿêîãî ôàêòó ëèøå â îäíîìó ì³ñö³.
♦ Ñóòí³ñòü ó ïðåäìåòí³é îáëàñò³ — öå ìíîæèíà îá’ºêò³â, ÿê³
ìàþòü îäíàêîâèé íàá³ð ïàðàìåòð³â.
Завдання для самостійного виконання
♦ Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ïðèçíà÷åíî äëÿ ãðàô³÷íîãî çîá-
ðàæåííÿ ñóòíîñòåé ïåâíî¿ ïðåäìåòíî¿ îáëàñò³, ¿õí³õ ïàðà- Ïîáóäóéòå ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» äëÿ îïèñàíèõ äàë³ ïðåä-
ìåòð³â òà çâ’ÿçê³â ì³æ íèìè. ìåòíèõ îáëàñòåé. Âèçíà÷òå:

26 Розділ 2. Модель «сутність-зв’язок» Завдання для самостійного виконання 27


♦ ñóòíîñò³; íå ìîæóòü ïåðåòèíàòè ³íø³ ä³ëÿíêè. Ïðî êîæíó ñòàíö³þ
♦ àòðèáóòè ñóòíîñòåé; â³äîìà ¿¿ íàçâà, à òàêîæ íà ÿê³é ä³ëÿíö³ âîíà ðîçòàøîâàíà.
♦ êëþ÷³; Âóçëîâ³ ñòàíö³¿ ìîæóòü íàëåæàòè ê³ëüêîì ä³ëÿíêàì.
♦ çâ’ÿçêè ì³æ ñóòíîñòÿìè; ÂÊÀDzÂÊÀ. Ó ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ö³º¿ ïðåäìåòíî¿
♦ òèïè çâ’ÿçê³â. îáëàñò³ âàðòî âèêîðèñòàòè çâ’ÿçîê òèïó «äâà-äî-áàãàòüîõ»,
à òàêîæ äâà ð³çíèõ çâ’ÿçêè ì³æ äâîìà òèìè ñàìèìè ñóò-
1. Ïðåäìåòíà îáëàñòü «àâòîìîá³ë³». Ïðî êîæåí àâòîìîá³ëü
íîñòÿìè.
â³äîìî: éîãî ðåºñòðàö³éíèé íîìåð â ÄÀ², ð³ê âèïóñêó, ìàð-
êà, à òàêîæ õòî º âëàñíèêîì àâòîìîá³ëÿ. Ïðî âëàñíèêà â³- 5*. Ïðåäìåòíà îáëàñòü «ðîçêëàä çàíÿòü». Ïðî êëàñè ïåâíî¿
äîìî: ïð³çâèùå òà ³ì’ÿ, à òàêîæ íîìåð ïðàâ âîä³ÿ. Ùîäî øêîëè â³äîì³ ¿õí³ íàçâè òà ÿêà ê³ëüê³ñòü ó÷í³â íàâ÷àºòüñÿ â
êîæíî¿ ìàðêè àâòîìîá³ëÿ â³äîìà ¿¿ íàçâà, îá’ºì òà ïîòóæ- êîæíîìó êëàñ³, ïðî íàâ÷àëüí³ äèñöèïë³íè — íàçâè òà òèï
í³ñòü äâèãóíà, à òàêîæ òèï àâòîìîá³ëÿ (ñåäàí, õåò÷áåê, (ãóìàí³òàðíà, ïðèðîäíè÷à òîùî), à ïðî â÷èòåë³â — ïð³çâèùà
äæèï òîùî). Íà àâòîìîá³ë³ âèïèñóþòü ñòðàõîâ³ ïîë³ñè, ó òà íîìåðè ïàñïîðò³â. Íåîáõ³äíî çáåð³ãàòè â³äîìîñò³ ïðî òå,
ÿêèõ çàçíà÷àºòüñÿ òåðì³í ïî÷àòêó òà çàâåðøåííÿ 䳿, òèï ÿêèé ó÷èòåëü â ÿêîìó êëàñ³ ÿêó äèñöèïë³íó âèêëàäàº.
ñòðàõîâêè, ñòðàõîâà ñóìà òà íàçâà êîìïàí³¿-ñòðàõóâàëü- ÂÊÀDzÂÊÀ. Äëÿ àäåêâàòíîãî ìîäåëþâàííÿ ö³º¿ ïðåäìåòíî¿
íèêà. Íà îäèí àâòîìîá³ëü ìîæå áóòè âèïèñàíî áàãàòî ñòðà- îáëàñò³ ïîòð³áíî ñòâîðèòè çâ’ÿçîê â³äðàçó ì³æ òðüîìà ñóò-
õîâèõ ïîë³ñ³â. íîñòÿìè. Ñïðîáóéòå ñàìîñò³éíî çäîãàäàòèñÿ, ÿê³ áóâàþòü
2. Ïðåäìåòíà îáëàñòü «âóëèö³ òà áóäèíêè». Ùîäî êîæíî¿ âó- òèïè çâ’ÿçê³â ì³æ òðüîìà ñóòíîñòÿìè òà çà ÿêèì êðèòåð³ºì
ëèö³ ïîòð³áíî çáåð³ãàòè â³äîìîñò³ ïðî ¿¿ íàçâó òà äîâæèíó, ö³ òèïè âèçíà÷àòè.
à òàêîæ ïðî òå, ÿê³ ³íø³ âóëèö³ âîíà ïåðåòèíàº. Ïðî êîæåí 6*. Ïðåäìåòíà îáëàñòü «âåêòîðí³ çîáðàæåííÿ â MS Word».
áóäèíîê â³äîìî: éîãî íîìåð, ê³ëüê³ñòü ïîâåðõ³â òà êâàðòèð, Âåêòîðíå çîáðàæåííÿ ñêëàäàºòüñÿ ç ãåîìåòðè÷íèõ ô³ãóð:
à òàêîæ íà ÿê³é âóëèö³ â³í ðîçòàøîâàíèé. ë³í³é, ê³ë, ïðÿìîêóòíèê³â, òðèêóòíèê³â, ðîìá³â. Êîæíà ç
ÂÊÀDzÂÊÀ. Ó ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ö³º¿ ïðåäìåòíî¿ îá- ô³ãóð ìຠêîîðäèíàòè òî÷êè ïðèâ’ÿçêè íà ïëîùèí³ ìàëþí-
ëàñò³ îäíà ç ñóòíîñòåé áóäå çâ’ÿçàíà ñàìà ç ñîáîþ. êà. Êð³ì òîãî, çàìêíåí³ ô³ãóðè ìàþòü çàëèâêó, êîëà — ðà-
3*. Ïðåäìåòíà îáëàñòü «çîâí³øíº íåçàëåæíå îö³íþâàííÿ». Ïî- ä³óñ, ïðÿìîêóòíèêè — êîîðäèíàòè ïðîòèëåæíîãî äî òî÷êè
òð³áíî çáåð³ãàòè â³äîìîñò³ ïðî ñêëàä òåñò³â çîâí³øíüîãî íå- ïðèâ’ÿçêè êóòà òîùî. Ô³ãóðè ìîæóòü îá’ºäíóâàòèñÿ â ãðó-
çàëåæíîãî îö³íþâàííÿ. Êîæåí òåñò ñòîñóºòüñÿ ïåâíîãî ïðåä- ïè. Ãðóïà — öå òàêîæ ô³ãóðà, ÿêà ìຠêîîðäèíàòè òî÷êè
ìåòà, ïðîâîäèòüñÿ â ïåâíîìó ðîö³ òà ñêëàäàºòüñÿ ç íèçêè ïðèâ’ÿçêè íà ïëîùèí³ ìàëþíêà. Ñàìå âåêòîðíå çîáðàæåí-
çàïèòàíü. Êîæíå çàïèòàííÿ ìຠôîðìóëþâàííÿ, à òàêîæ ê³- íÿ õàðàêòåðèçóºòüñÿ ì³ñöåì ó äîêóìåíò³ òà ñïîñîáîì îáò³-
ëüêà âàð³àíò³â â³äïîâ³äåé. Îäèí ³ç âàð³àíò³â º ïðàâèëüíèì. êàííÿ òåêñòîì.
ÂÊÀDzÂÊÀ. Ó ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ö³º¿ ïðåäìåòíî¿ îá- ÂÊÀDzÂÊÀ. ßêùî êîæíó ç ñóòíîñòåé Лінія, Коло, Прямо-
ëàñò³ ì³æ äâîìà òèìè ñàìèìè ñóòíîñòÿìè ïîòð³áíî áóäå кутник ³ ò. ä. çâ’ÿçóâàòè ³ç ñóòíîñòÿìè Зображення òà
ñòâîðèòè äâà ð³çíèõ çâ’ÿçêè. Група, ìîäåëü âèéäå íàäòî çàõàðàùåíîþ çâ’ÿçêàìè, à â
4*. Ïðåäìåòíà îáëàñòü «çàë³çíè÷íà ìåðåæà». Çàë³çíè÷íà ìå- ñóòíîñòÿõ ô³ãóð ïîâòîðþâàòèìóòüñÿ ò³ ñàì³ àòðèáóòè. Íà-
ðåæà ðîçãëÿäàºòüñÿ ÿê ñóêóïí³ñòü çàë³çíè÷íèõ ä³ëÿíîê, òîì³ñòü êðàùå ñòâîðèòè ñóòí³ñòü Фігура. Ïîäóìàéòå, ÿêîþ
êîæíà ç ÿêèõ ìຠïåâíó äîâæèíó ³ ñïîëó÷ຠäâ³ âóçëîâ³ áóäå ìíîæèíí³ñòü ¿¿ çâ’ÿçê³â ç ñóòíîñòÿìè Лінія, Коло,
ñòàíö³¿ àáî âóçëîâó òà ê³íöåâó ñòàíö³¿. ijëÿíêó ïîñåðåäèí³ Прямокутник òîùî.

28 Розділ 2. Модель «сутність-зв’язок» Завдання для самостійного виконання 29



Питання для роздумів Розділ 3
1. Âêàæ³òü, ÿê³ êëþ÷îâ³ àòðèáóòè ìîæóòü ìàòè ñóòíîñò³ На-
селений пункт, Країна, Автобус, Дачна ділянка, Книж-
ка.
Поглиблене семантичне
2. Ùî ç ïåðåë³÷åíîãî íèæ÷å ìîæå áóòè ñóòí³ñòþ ó ïðåäìåòí³é моделювання
îáëàñò³ «øêîëà»: êëàñíà ê³ìíàòà, íîìåð êëàñíî¿ ê³ìíàòè,
äèðåêòîð, íàâ÷àëüíà äèñöèïë³íà, øêîëà?
3. Îäíèì ³ç àòðèáóò³â ñóòíîñò³ Клас º ê³ëüê³ñòü ó÷í³â. ×è âà- Повторення
ðòî â³äîáðàæàòè öåé àòðèáóò ó ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê»,
ïîäàí³é íà ðèñ. 2.8? ³äïîâ³äü àðãóìåíòóéòå. ♦ Íàâåä³òü ïðèêëàä çâ’ÿçêó ì³æ îá’ºêòà-
*
4 . ßê³ çâ’ÿçêè â ìîäåëÿõ, ïîáóäîâàíèõ ó çàâäàííÿõ äëÿ ñàìî- ìè òà çâ’ÿçêó ì³æ ñóòíîñòÿìè.
ñò³éíîãî âèêîíàííÿ, º îáîâ’ÿçêîâèìè? ♦ ßê³ áóâàþòü òèïè çâ’ÿçê³â çà ìíîæèí-
*
5 . ×è ìîæå ñóòí³ñòü ìàòè á³ëüøå îäíîãî êëþ÷à? ßêùî â³äïî- í³ñòþ òà ÿê ö³ òèïè âèçíà÷àòè?
â³äü «òàê», íàâåä³òü ïðèêëàä, ÿêùî «í³» — àðãóìåíòóéòå. ♦ Ñôîðìóëþéòå ãîëîâíèé ïðèíöèï ñåìàí-
Çàóâàæòå, ùî éäåòüñÿ íå ïðî òîé âèïàäîê, êîëè äî ñêëàäó òè÷íîãî ìîäåëþâàííÿ.
îäíîãî êëþ÷à âõîäèòü ê³ëüêà àòðèáóò³â, à ñàìå ïðî òîé, ♦ ßêèé àòðèáóò àáî íàá³ð àòðèáóò³â íàçè-
êîëè º ê³ëüêà êëþ÷³â. âàþòü êëþ÷åì ñóòíîñò³?
6*. ×îìó ó çàâäàíí³ äëÿ ñàìîñò³éíîãî âèêîíàííÿ ¹ 5 íåäîñòàò-
íüî ñòâîðèòè äâà àáî òðè çâ’ÿçêè, êîæåí ³ç ÿêèõ çâ’ÿçó-
âàòèìå ëèøå äâ³ ñóòíîñò³? Ó ïîïåðåäíüîìó ðîçä³ë³ ìè ðîçãëÿíóëè 7–8 ôóíäàìåíòàëüíèõ
ïîíÿòü ñåìàíòè÷íîãî ìîäåëþâàííÿ, òàêèõ ÿê ñóòí³ñòü, àòðèáóò,
çâ’ÿçîê ì³æ äâîìà ñóòíîñòÿìè, ìíîæèíí³ñòü çâ’ÿçêó òà ³í. Çà-
ãàëîì ï³ä ÷àñ ìîäåëþâàííÿ ïðåäìåòíèõ îáëàñòåé çàñòîñîâóþòü
á³ëüøå äâîõ ñîòåíü êîíöåïö³é, ëèøå äåÿê³ ç êîòðèõ ìîæíà çî-
áðàçèòè ãðàô³÷íî. Ñüîãîäí³ ìè íàâ÷èìîñÿ âèêîðèñòîâóâàòè ùå
ê³ëüêà ³äåé òà ïîíÿòü, ÿê³ çà âàæëèâ³ñòþ òà ÷àñòîòîþ çàñòîñó-
âàííÿ ìîæíà ââàæàòè íàñòóïíèìè çà ôóíäàìåíòàëüíèìè. ßê
ïðèêëàä ïðîäîâæèìî ðîçãëÿäàòè ïðåäìåòíó îáëàñòü «øêîëà»,
ïîñòóïîâî äîäàþ÷è äî íå¿ íîâ³ ñóòíîñò³ òà ðîçøèðþþ÷è ¿¿ íà âñ³
øêîëè ïåâíîãî ðåã³îíó.

Обов’язковість зв’язків
Çãàäàºìî ïîïåðåäí³é ðîçä³ë: ùîá âèçíà÷èòè ìíîæèíí³ñòü çâ’ÿç-
êó, ïîòð³áíî áóëî â³äïîâ³ñòè íà çàïèòàííÿ: «Ç³ ñê³ëüêîìà îá’ºê-
òàìè ñóòíîñò³ À ìîæå áóòè çâ’ÿçàíèé îá’ºêò ñóòíîñò³ Â?». Ñëî-

30 Розділ 2. Модель «сутність-зв’язок» Обов’язковість зв’язків 31


âà «ìîæå áóòè» ó íüîìó âæèòî íå âèïàäêîâî, îñê³ëüêè â çàãà-
ëüíîìó âèïàäêó íàÿâí³ñòü çâ’ÿçêó ì³æ ñóòíîñòÿìè îçíà÷àº, ùî
îá’ºêò ëèøå ìîæå, à íå ïîâèíåí áóòè çâ’ÿçàíèé ç ³íøèì îá’ºê- â÷èòüñÿ
òîì àáî îá’ºêòàìè. Ïðîòå ³íêîëè îá’ºêòè ñàìå ïîâèíí³ áðàòè êåðóº
1 1 1 ∞
ó÷àñòü ó çâ’ÿçêàõ, ³ òàê³ çâ’ÿçêè íàçèâàþòü îáîâ’ÿçêîâèìè ç òî-
ãî ÷è ³íøîãî áîêó. Íàïðèêëàä, êîæåí ó÷åíü ïîâèíåí â÷èòèñÿ â Ó÷èòåëü Êëàñ Ó÷åíü
∞ ∞
ïåâíîìó êëàñ³ é òîìó çâ’ÿçîê «ó÷åíü â÷èòüñÿ ó êëàñ³» º îáî-
â’ÿçêîâèì ç áîêó ñóòíîñò³ Учень. Îáîâ’ÿçêîâ³ñòü çâ’ÿçêó ïîçíà-
íàâ÷àº
÷àºòüñÿ ïîäâ³éíîþ ë³í³ºþ (ðèñ. 3.1).

Рис. 3.2. Обов’язкові зв’язки у моделі «сутність-зв’язок»


1 ∞ для предметної області «школа»
Êëàñ â÷èòüñÿ Ó÷åíü
ìåòíî¿ îáëàñò³, à ñàìîþ ïðåäìåòíîþ îáëàñòþ ³ òîìó íà ä³àãðàì³
«ñóòí³ñòü-çâ’ÿçîê» íå â³äîáðàæàëàñÿ.
Рис. 3.1. Зображення обов’язковості зв’язку в моделі «сутність-зв’язок» Î÷åâèäíî, ùî ì³æ øêîëîþ òà êëàñîì ³ñíóº çâ’ÿçîê «øêîëà
ì³ñòèòü êëàñ». Øêîëà ìîæå ì³ñòèòè áàãàòî êëàñ³â, àëå êîæåí
Çâ’ÿçîê «ó÷èòåëü º êëàñíèì êåð³âíèêîì» îáîâ’ÿçêîâèé äëÿ êëà- êëàñ íàëåæèòü ò³ëüêè îäí³é øêîë³, òîìó ìíîæèíí³ñòü öüîãî
ñó, àäæå íåìຠêëàñ³â áåç êëàñíèõ êåð³âíèê³â. Ìîæíà ïîì³òèòè çâ’ÿçêó — «îäèí-äî-áàãàòüîõ» (ðèñ. 3.3). Çâè÷àéíî, ñóòí³ñòü
é ³íø³ «îáîâ’ÿçêîâîñò³»: ó êëàñ³ îáîâ’ÿçêîâî ìàþòü áóòè ó÷í³, Школа áåðå ó÷àñòü ³ â ³íøèõ çâ’ÿçêàõ, íàïðèêëàä «ó÷åíü â÷èòü-
ó÷èòåëü ìຠîáîâ’ÿçêîâî âèêëàäàòè ïðèíàéìí³ â îäíîìó êëàñ³ ñÿ ó øêîë³» òà «â÷èòåëü ïðàöþº ó øêîë³». Àëå â³äîáðàæåííÿ
òà â êîæíîìó êëàñ³ îáîâ’ÿçêîâî ìຠâèêëàäàòè ïðèíàéìí³ îäèí çàçíà÷åíèõ çâ’ÿçê³â íà ìîäåë³ ïîðóøèëî á ãîëîâíèé ïðèíöèï
â÷èòåëü. Îäíàê, ÿê ñòàíå çðîçóì³ëî ç íàñòóïíèõ ðîçä³ë³â, ï³äò- ñåìàíòè÷íîãî ìîäåëþâàííÿ.
ðèìóâàòè òðè îñòàíí³ âèìîãè îáîâ’ÿçêîâîñò³ ñêëàäíî ç òåõí³÷-
íî¿ òî÷êè çîðó. Ëåãêî ðåàë³çóâàòè ëèøå îáîâ’ÿçêîâ³ñòü çâ’ÿçêó
«îäèí-äî-áàãàòüîõ» ç áîêó «áàãàòî» òà çâ’ÿçêó «îäèí-äî-îäíîãî»
ç ÿêîãîñü îäíîãî áîêó. Ç óðàõóâàííÿì öüîãî îáîâ’ÿçêîâ³ñòü 1 ∞
Øêîëà ì³ñòèòü Êëàñ
çâ’ÿçê³â ó ìîäåë³ ïðåäìåòíî¿ îáëàñò³ «øêîëà» ñë³ä ïîäàòè òàê,
ÿê ïîêàçàíî íà ðèñ. 3.2. íàçâà *

àäðåñà
Слабкі сутності
Ðîçøèðèìî ïðåäìåòíó îáëàñòü ç îäí³º¿ øêîëè íà âñ³ øêîëè Рис. 3.3. Відображення сутності Школа на моделі «сутність-зв’язок»
ïåâíîãî ì³ñòà ÷è ðàéîíó. Òîä³ ó ïðåäìåòí³é îáëàñò³ ç’ÿâèòüñÿ
ñóòí³ñòü Школа. ¯¿ àòðèáóòàìè ìîæóòü áóòè íàçâà òà àäðåñà,
Завдання 3.1
ïðè÷îìó íàçâà º êëþ÷åì, îñê³ëüêè â îäíîìó íàñåëåíîìó ïóíêò³
÷è ðàéîí³ íàçâè øê³ë íå ìîæóòü ïîâòîðþâàòèñÿ. Çàóâàæòå, ùî Ïîÿñí³òü, ÷îìó â³äîáðàæåííÿ íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» çâ’ÿç-
êîëè ìè ðîçãëÿäàëè îäíó øêîëó, âîíà áóëà íå ñóòí³ñòþ ïðåä- ê³â «ó÷åíü â÷èòüñÿ ó øêîë³» òà «â÷èòåëü ïðàöþº ó øêîë³» ïî-


32 Розділ 3 . Поглиблене семантичне моделювання Слабкі сутності 33
ðóøóº ãîëîâíèé ïðèíöèï ñåìàíòè÷íîãî ìîäåëþâàííÿ. ßêùî âàì ìè òà ÿêèìè àòðèáóòàìè ñë³ä ö³ ñóòíîñò³ äîïîâíèòè, ùîá ñôîð-
âàæêî âèêîíàòè çàâäàííÿ, ïðî÷èòàéòå óâàæíî òåêñò ï³ñëÿ îçíà- ìóâàòè ¿õí³ êëþ÷³.
÷åííÿ ãîëîâíîãî ïðèíöèïó â ïîïåðåäíüîìó ðîçä³ë³.

Ó ðåçóëüòàò³ ðîçøèðåííÿ ïðåäìåòíî¿ îáëàñò³ íà ê³ëüêà øê³ë 1 ∞


âèíèêຠïðîáëåìà ç êëþ÷åì ñóòíîñò³ Клас. Àäæå òåïåð îá’ºê- ϳäïðèºìñòâî ìຠϳäðîçä³ë
òàìè ö³º¿ ñóòíîñò³ áóäóòü êëàñè ð³çíèõ øê³ë, à â ð³çíèõ øêî-
ëàõ íàçâè êëàñ³â ìîæóòü ïîâòîðþâàòèñÿ. Òîáòî ñàì ïî ñîá³ àò- íàçâà 1 1 íàçâà
ðèáóò назва âæå íå º êëþ÷åì ñóòíîñò³ Клас. Îäíàê íåâàæêî àäðåñà
ïîì³òèòè, ùî êëàñ îäíîçíà÷íî ³äåíòèô³êóº ïàðà àòðèáóò³â на-
зва класу + назва школи, àäæå â ìåæàõ îäí³º¿ øêîëè íàçâè
êëàñ³â íå ïîâòîðþþòüñÿ. Õî÷à àòðèáóò назва школи íå íàëå- âèïóñêຠïðàöþº
æèòü ñóòíîñò³ Клас, öÿ ñóòí³ñòü ìîæå éîãî «çàïîçè÷èòè» ç ìå-
òîþ äîïîâíåííÿ êëþ÷à.
Ñóòí³ñòü, ÿê³é íå âèñòà÷ຠâëàñíèõ àòðèáóò³â äëÿ óòâîðåííÿ
êëþ÷à, íàçèâàºòüñÿ ñëàáêîþ ³ ïîçíà÷àºòüñÿ íà ìîäåë³ «ñóò- ∞ ∞
í³ñòü-çâ’ÿçîê» ïîäâ³éíèì ïðÿìîêóòíèêîì. ¯¿ êëþ÷ óòâîðþþòü ç
äåÿêèõ ¿¿ âëàñíèõ àòðèáóò³â, à òàêîæ êëþ÷³â ³íøèõ ñóòíîñòåé. Ïðîäóêö³ÿ Ïðàö³âíèê
Çâ’ÿçêè ñëàáêî¿ ñóòíîñò³ ç òèìè ñóòíîñòÿìè, ùî äîïîâíþþòü ¿¿
êëþ÷, íàçèâàþòüñÿ ï³äòðèìóâàëüíèìè òà ïîçíà÷àþòüñÿ ïî- íàçâà ïàñïîðò
äâ³éíèìè ðîìáàìè (ðèñ. 3.4).
ïð³çâèùå

³ì’ÿ
1 ∞
Øêîëà ì³ñòèòü Êëàñ Рис. 3.5. Модель «сутність-зв’язок» предметної області
«галузь промисловості»
íàçâà * íàçâà *

àäðåñà íàçâà øêîëè * Зв’язок «є»


Äîäàìî äî íàøî¿ ïðåäìåòíî¿ îáëàñò³ ñóòí³ñòü Директор. Âîíà
Рис. 3.4. Слабка сутність і підтримувальний зв’язок ìàòèìå ò³ ñàì³ àòðèáóòè, ùî é ñóòí³ñòü Учитель: íîìåð ïàñïîð-
òà, ïð³çâèùå, ³ì’ÿ, ïî áàòüêîâ³, ñòàòü òà ñïåö³àëüí³ñòü. Á³ëüøå
Завдання 3.2 òîãî, äèðåêòîð ìຠâñ³ ò³ çâ’ÿçêè, ùî é ó÷èòåëü: â³í ìîæå âè-
êëàäàòè â êëàñàõ, à òàêîæ ìîæå áóòè êëàñíèì êåð³âíèêîì (õî-
Íà ðèñ. 3.5 çîáðàæåíî ìîäåëü ïðåäìåòíî¿ îáëàñò³ «ãàëóçü ïðîìè- ÷à öå òðàïëÿºòüñÿ ð³äêî). Òàêà ïîä³áí³ñòü äèðåêòîðà äî â÷èòåëÿ
ñëîâîñò³», àëå áåç çàçíà÷åííÿ êëþ÷³â ñóòíîñòåé. Ç’ÿñóéòå, ÿêà ïîÿñíþºòüñÿ äóæå ïðîñòî, àäæå äèðåêòîð º â÷èòåëåì. ²íàêøå
ñóòí³ñòü àáî ñóòíîñò³ ñëàáê³, ÿê³ ¿õí³ çâ’ÿçêè º ï³äòðèìóâàëüíè- êàæó÷è, ñóòíîñò³ Учитель òà Директор çâ’ÿçàí³ ñïåöèô³÷íèì


34 Розділ 3 . Поглиблене семантичне моделювання Зв’язок «є» 35
çâ’ÿçêîì «º», ÿêèé íàçèâàºòüñÿ òàêîæ çâ’ÿçêîì «çàãàëüíèé ÷àº, ùî äèðåêòîð ìຠíîìåð ïàñïîðòà, ïð³çâèùå, ³ì’ÿ, ïî áàòü-
òèï–ð³çíîâèä». Äèðåêòîðà ìîæíà ðîçãëÿäàòè ÿê ð³çíîâèä ó÷è- êîâ³, ñòàòü òà ñïåö³àëüí³ñòü, âèêëàäຠó êëàñàõ òà ìîæå áóòè
òåëÿ, à â÷èòåëÿ ââàæàòè á³ëüø çàãàëüíèì, í³æ äèðåêòîð, òèïîì êëàñíèì êåð³âíèêîì.
ïåäàãîã³÷íîãî ïðàö³âíèêà. Îäíàê ñóòí³ñòü-ð³çíîâèä ìîæå ìàòè é ³íø³ çâ’ÿçêè òà àòðèáóòè,
Çâ’ÿçîê «º» íà ER-ìîäåë³ ïîçíà÷àºòüñÿ íå ðîìáîì, à ð³âíîáåä- êð³ì òèõ, ÿê³ âîíà óñïàäêîâóº â³ä çàãàëüíîãî òèïó. Çîêðåìà
ðåíèì òðèêóòíèêîì, âåðøèíà ÿêîãî âêàçóº íà çàãàëüíèé òèï äèðåêòîð, íà â³äì³íó â³ä ó÷èòåëÿ, çâ’ÿçàíèé ç³ øêîëîþ çâ’ÿç-
(ðèñ. 3.6). Ìíîæèíí³ñòü áóäü-ÿêîãî çâ’ÿçêó «º» ñòàíîâèòü êîì «êåðóº» (ðèñ. 3.7). Ìíîæèíí³ñòü öüîãî çâ’ÿçêó — «îäèí-äî-
«îäèí-äî-îäíîãî». Ñïðàâä³, êîæåí äèðåêòîð º îäíèì ó÷èòåëåì, îäíîãî», îñê³ëüêè áóäü-ÿêèé äèðåêòîð êåðóº îäí³ºþ øêîëîþ, ³
à êîæåí ó÷èòåëü ìîæå áóòè íå á³ëüø, í³æ îäíèì äèðåêòîðîì. êîæíîþ øêîëîþ êåðóº îäèí äèðåêòîð.
Öåé çâ’ÿçîê çàâæäè îáîâ’ÿçêîâèé ç áîêó ñóòíîñò³-ð³çíîâèäó ³
íåîáîâ’ÿçêîâèé ç áîêó çàãàëüíîãî òèïó. Òàê, ó íàøîìó ïðèêëà-
ä³ êîæåí äèðåêòîð îáîâ’ÿçêîâî ïîâèíåí áóòè â÷èòåëåì, àëå íå 1
Äèðåêòîð 1 Øêîëà
êîæåí ó÷èòåëü ïîâèíåí áóòè äèðåêòîðîì. êåðóº

1 íàçâà *
1 1 1
Ó÷èòåëü º Äèðåêòîð
àäðåñà
ïàñïîðò *
º ì³ñ-
ïð³çâèùå òèòü

³ì’ÿ
êåðóº
ïî áàòüêîâ³
1 1 ∞
1
ñòàòü
Ó÷èòåëü Êëàñ
ñïåö³àëüí³ñòü ∞ ∞
ïàñïîðò * íàçâà *
Рис. 3.6. Зв’язок «є»
ïð³çâèùå íàâ÷ຠíàçâà øêîëè *
Çàäàìîñÿ ïèòàííÿì: ç ÿêîþ ìåòîþ äëÿ çâ’ÿçêà «º» ââåäåíî ñïå-
ö³àëüíå ïîçíà÷åííÿ? г÷ ó ò³ì, ùî âîíî äîçâîëÿº íå êðåñëèòè ³ì’ÿ
ïîâòîðíî àòðèáóòè òà çâ’ÿçêè äëÿ ñóòíîñò³-ð³çíîâèäó, ÿêùî
âîíè âæå íàêðåñëåí³ äëÿ çàãàëüíîãî òèïó. Ïîäèâ³òüñÿ íà ðèñ. ïî áàòüêîâ³
3.6: õî÷à äèðåêòîð ìຠâñ³ ò³ àòðèáóòè ³ çâ’ÿçêè, ùî é ó÷èòåëü,
êðåñëèòè ¿õ íåìຠïîòðåáè, àäæå ñóòí³ñòü-ð³çíîâèä çàâæäè ìຠñòàòü
Рис. 3.7. Сутність Директор на моделі
âñ³ ò³ àòðèáóòè òà çâ’ÿçêè, ùî é ñóòí³ñòü-çàãàëüíèé òèï ³ ñàìà
ñïåö³àëüí³ñòü «сутність-зв’язок»
íàÿâí³ñòü ì³æ äèðåêòîðîì òà â÷èòåëåì çâ’ÿçêó «º» âæå îçíà-


36 Розділ 3 . Поглиблене семантичне моделювання Зв’язок «є» 37
Äëÿ äîïèòëèâèõ. Çâ’ÿçêè «º» ìîæóòü óòâîðþâàòè ³ºðàðõ³÷í³ Ãðîìàäÿíèí
äåðåâà. Íàïðèêëàä, íà äîäàòîê äî òîãî, ùî äèðåêòîð º ð³çíî-
âèäîì ó÷èòåëÿ, ìîæíà çàçíà÷èòè, ùî â÷èòåëü º ð³çíîâèäîì ïàñïîðò
ïåäàãîã³÷íîãî ïðàö³âíèêà. гçíîâèäîì ïåä. ïðàö³âíèêà º òà-
ïð³çâèùå
êîæ ìåòîäèñò, à ð³çíîâèäîì ó÷èòåëÿ — çàñòóïíèê äèðåêòîðà.
Ïåäàãîã³÷íèé ïðàö³âíèê, ó ñâîþ ÷åðãó, º ð³çíîâèäîì ïðàö³â- ³ì’ÿ
íèêà âçàãàë³, à ïðàö³âíèê âçàãàë³ — ð³çíîâèäîì ãðîìàäÿíèíà.
Ó òàêèé ñïîñ³á óòâîðþºòüñÿ äåðåâî, çîáðàæåíå íà ðèñ. 3.8.
Éîãî êîðåíåì º ñóòí³ñòü Громадянин, à ëèñòÿì — ñóòíîñò³ Ïåäàãîã³÷íèé
Ïðàö³âíèê
Директор, Заступник директора, Методист. Ïðîì³æí³ ã³ë- ïðàö³âíèê
êè (íå êîð³íü ³ íå ëèñòÿ) — öå ñóòíîñò³ Працівник ³ Учитель. òðóäîâà êíèæêà
Íà â³äì³íó â³ä çâè÷àéíîãî äåðåâà, êîð³íü ³ºðàðõ³÷íîãî äåðåâà ïåäàãîã³÷íèé ñòàæ
ïðèéíÿòî ðîçòàøîâóâàòè âãîð³, à ëèñòÿ — âíèçó.
Îòæå, äèðåêòîð çàïîçè÷óº âñ³ àòðèáóòè òà çâ’ÿçêè ó â÷èòåëÿ,
â÷èòåëü — ó ïåäàãîã³÷íîãî ïðàö³âíèêà, ïåäàãîã³÷íèé ïðàö³â-
íèê — ó ïðàö³âíèêà âçàãàë³, à òîé — ó ãðîìàäÿíèíà. Òîáòî
Ó÷èòåëü Ìåòîäèñò
ñóòí³ñòü çàïîçè÷óº àòðèáóòè òà çâ’ÿçêè âñ³õ ñóòíîñòåé, ðîç-
òàøîâàíèõ íà øëÿõó â³ä íå¿ äî êîðåíÿ äåðåâà ³ºðàðõ³¿. Çâ³äñè
âèïëèâàº, ùî êîæåí àòðèáóò àáî çâ’ÿçîê ñë³ä ðîçòàøîâóâàòè
ÿêîìîãà áëèæ÷å äî êîðåíÿ — òîä³ éîãî íå äîâåäåòüñÿ ïîâòî-
ðþâàòè â ñóòíîñòÿõ íèæ÷èõ ð³âí³â. Òàê, ó çîáðàæåí³é íà ðèñ.
3.8 ³ºðàðõ³¿ àòðèáóòè паспорт, прізвище òà ім’я ìîæíà ðîç- Äèðåêòîð Çàñòóïíèê
òàøóâàòè â êîðåí³, îñê³ëüêè ¿õ ìàþòü óñ³ ãðîìàäÿíè, àòðèáóò äèðåêòîðà
трудова книжка ìàþòü óñ³ ïðàö³âíèêè (àëå íå âñ³ ãðîìàäÿ-
íè), à педагогічний стаж — óñ³ ïåäàãîã³÷í³ ïðàö³âíèêè. Рис. 3.8. Ієрархічне дерево зв’язків «є»

Завдання 3.3 Зв’язок між кількома сутностями


Íèæ÷å ïåðåë³÷åíî ïàðè ñóòíîñòåé. Âêàæ³òü, ó ÿêèõ ïàðàõ ³ñ-
íóþòü çâ’ÿçêè «º» òà çîáðàç³òü ¿õ ãðàô³÷íî. Òåïåð äîäàìî äî ïðåäìåòíî¿ îáëàñò³ «øêîëè» ñóòí³ñòü Предмет.
Çðîçóì³ëî, ùî âîíà áóäå çâ’ÿçàíà ç ñóòí³ñòþ Учитель, àäæå â÷è-
♦ êåð³âíèê òà ï³äëåãëèé; òåë³ âèêëàäàþòü ïðåäìåòè, òà Класи, îñê³ëüêè êëàñè ïðåäìåòè
♦ òâàðèíà ³ ññàâåöü; âèâ÷àþòü. Ëåãêî ïîáà÷èòè, ùî ìíîæèíí³ñòü îáîõ öèõ çâ’ÿçê³â
♦ êíèãà ³ æóðíàë; áóäå «áàãàòî-äî-áàãàòüîõ», à îòæå íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê»
♦ íîñ³é ³íôîðìàö³¿ òà ôëåøêà; âîíè â³äîáðàæàòèìóòüñÿ òàê, ÿê ïîêàçàíî íà ðèñ. 3.9, à.
♦ òðàìâàé ³ ïàñàæèð; Îäíàê òàêà ìîäåëü º íåäîñêîíàëîþ. г÷ ó ò³ì, ùî âîíà íå äîçâî-
♦ àâòîìîá³ëü ³ êîëåñî; ëÿº ç’ÿñóâàòè, ÿêèé ó÷èòåëü ó ÿêîìó êëàñ³ ÿêèé ïðåäìåò âèêëà-
♦ àâòîìîá³ëü ³ òðàíñïîðòíèé çàñ³á. äàº. Ñïðàâä³, ïðèïóñòèìî, ùî Ñîøêî Êàòåðèíà Ìèêîëà¿âíà º


38 Розділ 3 . Поглиблене семантичне моделювання Зв’язок між кількома сутностями 39
â÷èòåëåì á³îëî㳿 òà õ³ì³¿, àëå â 10À êëàñ³ âîíà âèêëàäຠò³ëüêè
á³îëîã³þ ³ öåé ôàêò íàì ïîòð³áíî çáåð³ãàòè â áàç³ äàíèõ. Çâ’ÿçîê
∞ íàâ÷ຠ∞
«ó÷èòåëü âèêëàäຠïðåäìåò» äຠçìîãó âêàçàòè, ùî öÿ â÷èòåëüêà Ó÷èòåëü Êëàñ
âèêëàäຠá³îëîã³þ òà õ³ì³þ, çâ’ÿçîê «êëàñ âèâ÷ຠïðåäìåò» — ∞ ∞
òå, ùî 10À êëàñ âèâ÷ຠá³îëîã³þ, õ³ì³þ òà ³íø³ ïðåäìåòè, à çâ’ÿ-
çîê «ó÷èòåëü íàâ÷ຠêëàñ» — òå, ùî Ê.Ì. Ñîøêî âåäå çàíÿòòÿ â
10À òà ³íøèõ êëàñàõ. ×è âèïëèâຠç öèõ òðüîõ ôàêò³â òå, ùî ∞ ∞
Êàòåðèíà Ìèêîëà¿âíà Ñîøêî âèêëàäຠá³îëîã³þ 10À êëàñó? Ïî- âèêëàäຠÏðåäìåò âèâ÷àº
ì³ðêóéòå äîáðå íàä öèì çàïèòàííÿì. ³äïîâ³äü áóäå íåãàòèâíîþ,
îñê³ëüêè æîäåí ôàêò íå âêàçóº íà òå, ùî â÷èòåëüêà Ñîøêî âè-
êëàäຠ10À êëàñó ñàìå á³îëîã³þ, à íå õ³ì³þ. а
Òàêèì ÷èíîì, äëÿ àäåêâàòíîãî â³äîáðàæåííÿ ïðåäìåòíî¿ îáëàñ-
ò³ íåäîñòàòíüî òðüîõ çâ’ÿçê³â, êîæåí ç ÿêèõ ç’ºäíóº äâ³ ñóòíîñ- Ó÷èòåëü Êëàñ
ò³ (ðèñ. 3.9, à). Çâ’ÿçîê «â÷èòåëü âèêëàäຠïðåäìåò ó êëàñ³»
∞ ∞
ìຠ璺äíóâàòè â³äðàçó òðè ñóòíîñò³ ³ çîáðàæóºòüñÿ â³í òàê, ÿê âèêëà-
ïîêàçàíî íà ðèñ. 3.9, á. Çàçíà÷èìî, ùî çâ’ÿçêè, ÿê³ ç’ºäíóþòü äàííÿ
òðè ñóòíîñò³, íàçèâàþòüñÿ òåðíàðíèìè, à ò³, ÿê³ ç’ºäíóþòü ëè-
øå äâ³ ñóòíîñò³, — á³íàðíèìè.
Òåðíàðíèé çâ’ÿçîê õàðàêòåðèçóºòüñÿ òðüîìà ìíîæèííîñòÿìè, ³ ∞
ùîá âèçíà÷èòè ¿õ, ïîòð³áíî äàòè â³äïîâ³ä³ íà òðè çàïèòàííÿ, ó Ïðåäìåò
íàøîìó ïðèêëàä³ òàê³.
♦ Ñê³ëüêè êëàñ³â ìîæå â³äïîâ³äàòè êîæí³é ïàð³ «ó÷èòåëü + б
ïðåäìåò»? Î÷åâèäíî, ùî áàãàòî, àäæå òîé ñàìèé ó÷èòåëü
ìîæå âèêëàäàòè òîé ñàìèé ïðåäìåò ó áàãàòüîõ êëàñàõ. Îò- Рис. 3.9. Зображення зв’язку між учителем, предметом і класом:
æå, á³ëÿ äóæêè, ùî ç’ºäíóº ðîìá òåðíàðíîãî çâ’ÿçêó ç ïðÿ- а — недосконала модель; б — правильна модель
ìîêóòíèêîì ñóòíîñò³ Клас, ñòàâèìî ñèìâîë «∞».
♦ Ñê³ëüêè ïðåäìåò³â ìîæå â³äïîâ³äàòè êîæí³é ïàð³ «êëàñ + Òåðíàðí³ çâ’ÿçêè ñë³ä ñòâîðþâàòè ç âåëèêîþ îáåðåæí³ñòþ, îñ-
ó÷èòåëü», òîáòî ñê³ëüêè ïðåäìåò³â ìîæå ÷èòàòè ó÷èòåëü â ê³ëüêè äóæå ÷àñòî âèñòà÷ຠäâîõ á³íàðíèõ çâ’ÿçê³â òàì, äå, çäà-
îäíîìó êëàñ³? ³äïîâ³äü — áàãàòî, òîìó ùî, ñêàæ³ìî, Êà- ºòüñÿ, ³ñíóº çâ’ÿçîê ì³æ òðüîìà ñóòíîñòÿìè. Íàïðèêëàä, ìàê-
òåðèíà Ìèêîëà¿âíà Ñîøêî ó äåÿêîìó êëàñ³ ìîæå ÷èòàòè ³ ëåðè êóïëÿþòü àêö³¿ êîìïàí³é íà á³ðæ³. Ìîæå çäàòèñÿ, ùî
á³îëîã³þ, ³ õ³ì³þ. Ñèìâîë «∞» çàïèñóºìî á³ëÿ ñóòíîñò³ âèñë³â «ìàêëåð êóïëÿº àêö³þ êîìïàí³¿» â³äïîâ³äຠòåðíàðíîìó
Предмет. çâ’ÿçêó (ðèñ. 3.10, à). Îäíàê íàñïðàâä³ äîñòàòíüî ëèøå äâîõ
♦ Ñê³ëüêè â÷èòåë³â ìîæå â³äïîâ³äàòè êîæí³é ïàð³ «êëàñ + á³íàðíèõ çâ’ÿçê³â (ðèñ. 3.10, á), îñê³ëüêè êîæíà àêö³ÿ íàëå-
ïðåäìåò»? ³äïîâ³äü òàêîæ «áàãàòî», îñê³ëüêè äåÿê³ ïðåä- æèòü ò³ëüêè îäí³é êîìïàí³¿ ³ ä³çíàâøèñü, ÿêó àêö³þ ïðèäáàâ
ìåòè, íàïðèêëàä ³íîçåìíó ìîâó, â òîìó ñàìîìó êëàñ³ ìîæå ìàêëåð, ìè àâòîìàòè÷íî ä³çíàºìîñü ³ ïðî êîìïàí³þ, àêö³ÿ ÿêî¿
÷èòàòè äåê³ëüêà â÷èòåë³â. Òàêèì ÷èíîì, ñèìâîë «∞» ñë³ä áóëà êóïëåíà. Òåðíàðíèé çâ’ÿçîê ó äàíîìó âèïàäêó ïîìèëêî-
çàïèñàòè ³ á³ëÿ ñóòíîñò³ Учитель. âèé, àäæå äîçâîëÿº îäíó òó ñàìó àêö³þ çâ’ÿçóâàòè ç ð³çíèìè


40 Розділ 3 . Поглиблене семантичне моделювання Зв’язок між кількома сутностями 41
êîìïàí³ÿìè â êîíòåêñò³ ð³çíèõ ïîêóïîê. Çâè÷àéíî, öåé çâ’ÿçîê âèðîáëÿþòü (äëÿ êîæíîãî òîâàðó º ëèøå îäèí âèðîáíèê).
ïîðóøóº ³ ãîëîâíèé ïðèíöèï ñåìàíòè÷íîãî ìîäåëþâàííÿ, äî- Êð³ì òîãî, º äàí³ ïðî ïîêóïö³â, ÿê³ óêëàäàþòü óãîäè ç âè-
çâîëÿþ÷è áàãàòîðàçîâî çáåð³ãàòè â³äîìîñò³ ïðî òå, ÿê³é êîìïà- ðîáíèêàìè íà çàêóï³âëþ ¿õí³õ òîâàð³â. Îäíà óãîäà ìîæå
í³¿ íàëåæèòü àêö³ÿ. ñòîñóâàòèñÿ ëèøå îäíîãî òîâàðó.
á) Ïðåäìåòíà îáëàñòü «ïðîãðàìóâàííÿ». Ïðîãðàì³ñòè áåðóòü
Ìàêëåð Àêö³ÿ ó÷àñòü ó ïðîåêòàõ ç ðîçðîáêè ïðîãðàìíîãî çàáåçïå÷åííÿ. Â
∞ îäíîìó ïðîåêò³ ìîæå âèêîðèñòîâóâàòèñÿ ê³ëüêà ìîâ ïðî-

ïî- ãðàìóâàííÿ, àëå êîæíèì ïðîãðàì³ñòîì — îäíà. Ó ð³çíèõ
êóïêà ïðîåêòàõ ïðîãðàì³ñò ìîæå ïðîãðàìóâàòè ð³çíèìè ìîâàìè.

1 Äëÿ äîïèòëèâèõ. ²íêîëè òðàïëÿþòüñÿ çâ’ÿçêè ì³æ ÷îòèðìà,


ï’ÿòüìà àáî á³ëüøîþ ê³ëüê³ñòþ ñóòíîñòåé. Çâ’ÿçîê ì³æ n
Êîìïàí³ÿ ñóòíîñòÿìè íàçèâàºòüñÿ n-àðíèì çâ’ÿçêîì, àáî çâ’ÿçêîì ñòå-
а ïåí³ n.

êóï- ∞
Ìàêëåð

ëÿº Àêö³ÿ Зв’язок сутності самої з собою
∞ Ïðèïóñòèìî, ùî íàì ïîòð³áíî çáåð³ãàòè â³äîìîñò³ ïðî ïîäðóæí³
çâ’ÿçêè ì³æ ó÷èòåëÿìè. Äëÿ öüîãî ñë³ä ñòâîðèòè çâ’ÿçîê
íàëåæèòü «øëþá» ì³æ ó÷èòåëåì òà ó÷èòåëåì (ðèñ. 3.11). Îäèí ê³íåöü
öüîãî çâ’ÿçêó â³äïîâ³äàòèìå ÷îëîâ³êó, ³íøèé — äðóæèí³. Ìíî-
1 æèíí³ñòü öüîãî çâ’ÿçêó ìຠáóòè «îäèí-äî-îäíîãî», àäæå â ëþ-
äèíè ìîæå áóòè ëèøå îäèí ÷îëîâ³ê àáî æ³íêà. Îñê³ëüêè íå
б Êîìïàí³ÿ
êîæåí ó÷èòåëü ïîâèíåí îäðóæóâàòèñü íà â÷èòåë³ ÷è âèõîäèòè
çàì³æ çà â÷èòåëÿ, çâ’ÿçîê íå º îáîâ’ÿçêîâèì ç æîäíîãî áîêó.
Рис. 3.10. Моделювання зв’язку між маклером, акцією та компанією в
предметній області «біржа»: а — помилкове; б — правильне Âàðòî òàêîæ óíåìîæëèâèòè ìîäåëþâàííÿ îäíîñòàòåâèõ øëþ-
á³â, òîáòî çàáîðîíèòè ç’ºäíóâàòè ÷åðåç çâ’ÿçîê «øëþá» ó÷èòå-
Завдання 3.4 ë³â îäíàêîâî¿ ñòàò³. Ñóòî ãðàô³÷íèõ çàñîá³â äëÿ çîáðàæåííÿ
òàêî¿ çàáîðîíè íå ³ñíóº, ïðîòå ¿¿ ìîæíà ôîðìàë³çóâàòè â òåêñ-
Íèæ÷å îïèñàíî äâà ôðàãìåíòè ïðåäìåòíèõ îáëàñòåé. Ïîáóäóéòå òîâîìó âèãëÿä³. Äëÿ öüîãî íàñàìïåðåä ïîòð³áíî äàòè íàéìåíó-
äëÿ êîæíîãî ç íèõ ìîäåëü «ñóòí³ñòü-çâ’ÿçîê», ñòâîðèâøè, ÿêùî âàííÿ ïîëþñàì çâ’ÿçêó. Ïîëþñ çâ’ÿçêó — öå éîãî îäíà ñòîðîíà,
ïîòð³áíî, òåðíàðí³ çâ’ÿçêè. Âèçíà÷òå ìíîæèíí³ñòü óñ³õ çâ’ÿç- àáî ë³í³ÿ, ùî ç’ºäíóº çâ’ÿçîê ç ñóòí³ñòþ. Îäèí ïîëþñ çâ’ÿçêó
ê³â. Àòðèáóòè ñóòíîñòåé ìîæíà íå âêàçóâàòè. «øëþá» ñë³ä íàçâàòè чоловік, ³íøèé — дружина. Òîä³ çàáîðî-
à) Ïðåäìåòíà îáëàñòü «âèðîáíèöòâî ³ òîðã³âëÿ». ª â³äîìîñò³ íó îäíîñòàòåâèõ øëþá³â ìîæíà ñôîðìóëþâàòè çà äîïîìîãîþ
ïðî ð³çíîìàí³òí³ òîâàðè, à òàêîæ ïðî ï³äïðèºìñòâà, ùî ¿õ äâîõ óìîâ: чоловік.стать = 'ч' òà дружина.стать = 'ж'.


42 Розділ 3 . Поглиблене семантичне моделювання Зв’язок сутності самої з собою 43
Ö³ âèðàçè º îáìåæåííÿìè ö³ë³ñíîñò³ (çãàäàéòå ïåðøèé ðîçä³ë), Завдання 3.5
ÿê³ ñë³ä çàïèñàòè á³ëÿ çâ’ÿçêó (ðèñ. 3.11). Çàãàëîì íà ðèñ. 3.11
ª ñóòí³ñòü Людина ç àòðèáóòàìè прізвище, ім’я, стать, вік.
çîáðàæåíî îñòàòî÷íó ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ïðåäìåòíî¿ îá-
Ñòâîð³òü çâ’ÿçîê, ùî â³äïîâ³äàâ áè â³äíîøåííþ ì³æ ëþäüìè
ëàñò³ «øêîëè», ó ÿê³é â³äîáðàæåíî âñ³ ñóòíîñò³ òà çâ’ÿçêè, ðîç- «áàòüêè-ä³òè». Çàïèø³òü ÷è çîáðàç³òü îáìåæåííÿ, âëàñòèâ³ öüî-
ãëÿíóò³ íàìè ðàí³øå. ìó çâ’ÿçêó: áàòüê³â íå ìîæå áóòè á³ëüøå, í³æ äâîº, äèòèíà ìàº
áóòè ìîëîäøîþ çà áàòüêà ³ ìàò³ð, ñòàòü áàòüê³â ð³çíà.
1 1
Äèðåêòîð êåðóº Øêîëà Висновки
1 ♦ Çâ’ÿçîê ì³æ ñóòíîñòÿìè A ³ B íàçèâàþòü îáîâ’ÿçêîâèì ç
1 íàçâà * áîêó ñóòíîñò³ À, ÿêùî êîæåí îá’ºêò ö³º¿ ñóòíîñò³ ïîâèíåí
÷îëîâ³ê.ñòàòü=’÷’ àäðåñà áðàòè ó÷àñòü ó çâ’ÿçêó. Íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» îáî-
äðóæèíà.ñòàòü=’æ’ â’ÿçêîâ³ çâ’ÿçêè ïîçíà÷àþòü ïîäâ³éíèìè ë³í³ÿìè.
º ì³ñ- ♦ Ñóòí³ñòü íàçèâàºòüñÿ ñëàáêîþ, ÿêùî ¿é íå âèñòà÷ຠâëàñ-
òèòü íèõ àòðèáóò³â äëÿ óòâîðåííÿ êëþ÷à. ¯¿ êëþ÷ óòâîðþþòü ç
øëþá
äåÿêèõ ¿¿ âëàñíèõ àòðèáóò³â, à òàêîæ êëþ÷³â ³íøèõ ñóòíî-
÷îëîâ³ê ñòåé. Çâ’ÿçêè ñëàáêî¿ ñóòíîñò³ ç òèìè ñóòíîñòÿìè, ùî äî-
ïîâíþþòü ¿¿ êëþ÷, íàçèâàþòüñÿ ï³äòðèìóâàëüíèìè òà ïîç-
1 1 äðóæèíà ∞ íà÷àþòüñÿ ïîäâ³éíèìè ðîìáàìè, à ñàìà ñëàáêà ñóòí³ñòü —
1 1
1 ïîäâ³éíèì ïðÿìîêóòíèêîì.
Ó÷èòåëü êåðóº Êëàñ
∞ ∞ ♦ Ñóòíîñò³ A ³ B ç’ºäíàí³ çâ’ÿçêîì «º», ùî íàçèâàºòüñÿ òà-
ïàñïîðò * êîæ çâ’ÿçêîì «çàãàëüíèé òèï – ð³çíîâèä», ÿêùî ñóòí³ñòü
1 íàçâà * B — öå ð³çíîâèä ñóòíîñò³ A. Çâ’ÿçîê «º» ìຠìíîæèíí³ñòü
ïð³çâèùå íàçâà øêîëè * «îäèí-äî-îäíîãî» ³ º îáîâ’ÿçêîâèì çáîêó ñóòíîñò³-ð³çíîâè-
³ì’ÿ âèêëà- äó. ³í ïîçíà÷àºòüñÿ ð³âíîáåäðåíèì òðèêóòíèêîì, âåðøèíà
äàííÿ ÿêîãî ñïðÿìîâàíà äî çàãàëüíîãî òèïó.
ïî áàòüêîâ³ ∞ Ó÷åíü ♦ Çâ’ÿçêè ì³æ äâîìà ñóòíîñòÿìè íàçèâàþòüñÿ á³íàðíèìè.
â÷èòü- ♦ ßêùî â³äíîñèíè ì³æ òðüîìà ñóòíîñòÿìè íåìîæëèâî àäåê-
ñòàòü ñÿ êîä * âàòíî çîáðàçèòè çà äîïîìîãîþ ê³ëüêîõ á³íàðíèõ çâ’ÿçê³â,
ñïåö³àëüí³ñòü ïð³çâèùå óñ³ òðè ñóòíîñò³ ç’ºäíóþòü îäíèì çâ’ÿçêîì, ùî íàçèâàºòüñÿ
∞ òåðíàðíèì ³ ìຠòðè ìíîæèííîñò³.
³ì’ÿ ♦ Ñóòí³ñòü ìîæå áóòè çâ’ÿçàíà ñàìà ç ñîáîþ.
Ïðåäìåò

íàçâà *
äàòà íàðîäæåííÿ Завдання для самостійного виконання
ñòàòü Íèæ÷å îïèñàíî ôðàãìåíò ïðåäìåòíî¿ îáëàñò³ «ê³íî³íäóñòð³ÿ».
Ïîáóäóéòå äëÿ íüîãî ìîäåëü «ñóòí³ñòü-çâ’ÿçîê». Âèçíà÷òå ñóò-
Рис. 3.11. Остаточний вигляд моделі «сутність-зв’язок» íîñò³, ¿õí³ àòðèáóòè òà êëþ÷³, çâ’ÿçêè ì³æ ñóòíîñòÿìè, òèï,
предметної області «школи» ìíîæèíí³ñòü ³ îáîâ’ÿçêîâ³ñòü êîæíîãî çâ’ÿçêó.


44 Розділ 3 . Поглиблене семантичне моделювання Висновки 45
♦ ª ê³íîñòó䳿, ùî ìàþòü íàçâè òà àäðåñè. ʳíîñòó䳺þ êåðóº Розділ 4
ïðåçèäåíò, ïð³çâèùå òà ³ì’ÿ ÿêîãî â³äîì³. ʳíîñòóä³ÿ ìîæå
ìàòè ï³äðîçä³ëè (íàïðèêëàä, òâîð÷å îá’ºäíàííÿ äîêóìåíòà-
ëüíèõ ô³ëüì³â, õóäîæí³õ ô³ëüì³â, ï³äðîçä³ë òåõí³÷íî¿ ï³ä- Операції з таблицями
òðèìêè òîùî), äëÿ êîæíîãî ç ÿêèõ â³äîìà ê³ëüê³ñòü ïðà-
ö³âíèê³â.
♦ Âñ³ ê³íîñòð³÷êè õàðàêòåðèçóþòüñÿ íàçâîþ, òðèâàë³ñòþ, ðî-
êîì âèïóñêó, áþäæåòîì. Êð³ì òîãî, ìîæíà âèä³ëèòè æàíðè
Повторення
ñòð³÷îê: ìóëüòô³ëüìè, ùî, â ñâîþ ÷åðãó, áóâàþòü ëÿëüêî- ♦ Ùî º îñíîâíèì îá’ºêòîì ó ðåëÿö³éí³é
âèìè àáî ìàëüîâàíèìè; õóäîæí³ ô³ëüìè, ó ÿêèõ çàä³ÿí³ àê- áàç³ äàíèõ?
òîðè, à òàêîæ äîêóìåíòàëüí³ ô³ëüìè, äëÿ ÿêèõ âêàçàíî òå- ♦ Ùî òàêå êëþ÷?
ìàòèêó. Äëÿ áóäü-ÿêî¿ ñòð³÷êè º îäíà ñòóä³ÿ-âëàñíèê, àëå,
♦ ßê³ ôóíêö³¿ âèêîíóº ðîçðîáíèê áàçè äà-
êð³ì íå¿, áðàòè ó÷àñòü ó âèðîáíèöòâ³ êàðòèíè ìîæå ùå äå- íèõ, à ÿê³ — ¿¿ êîðèñòóâà÷?
ê³ëüêà ñòóä³é.
♦ Äëÿ ÷îãî ïðèçíà÷åíî ñèñòåìó êåðóâàí-
♦ Ïðî àêòîðà â³äîì³ éîãî ïð³çâèùå, ³ì’ÿ, ð³ê íàðîäæåííÿ òà íÿ áàçàìè äàíèõ?
ñòàòü. Òðåáà çáåð³ãàòè â³äîìîñò³ ïðî òå, ÿê³ àìïëóà ìຠàê-
òîð ó êîæíîìó ç ô³ëüì³â, â ÿêèõ â³í ãðຠ(òàêèõ àìïëóà ìî-
æå áóòè äåê³ëüêà). Ùîäî êîæíîãî àìïëóà â³äîìà éîãî íàçâà
³ òåêñòîâèé îïèñ îñîáëèâîñòåé. Íà êîæåí ô³ëüì àêòîð ï³ä- ϳñëÿ òîãî ÿê äëÿ ïðåäìåòíî¿ îáëàñò³ ïîáóäîâàíî ìîäåëü «ñóò-
ïèñóº ç³ ñòó䳺þ-âëàñíèêîì ô³ëüìó îêðåìèé êîíòðàêò. í³ñòü-çâ’ÿçîê», ìîæíà ïåðåõîäèòè äî ðîáîòè ç ñèñòåìîþ êåðó-
âàííÿ áàçàìè äàíèõ. Íàéïåðøå çàâäàííÿ, ùî éîãî âè ÿê ðîç-
♦ Íåîáõ³äíî çáåð³ãàòè â³äîìîñò³ ïðî ç³ðêîâ³ øëþáè (÷îëîâ³ê òà
äðóæèíà – àêòîðè), à òàêîæ ïðî àêòîðñüê³ äèíàñò³¿ (ïðè- ðîáíèê ÁÄ ìàºòå âèêîíàòè â ñèñòåì³, — öå ñòâîðåííÿ áàçè äà-
íàéìí³ îäèí ç áàòüê³â àêòîðà º àêòîðîì). íèõ òà ïðîåêòóâàííÿ ¿¿ ñõåìè ó â³äïîâ³äíîñò³ äî ìîäåë³ «ñóò-
í³ñòü-çâ’ÿçîê». Êîæí³é ñóòíîñò³ ö³º¿ ìîäåë³ ìຠâ³äïîâ³äàòè
Питання для роздумів òàáëèöÿ â áàç³ äàíèõ. Ñüîãîäí³ âè íàâ÷èòåñÿ ñòâîðþâàòè òàáëè-
ö³ òà íàñòðîþâàòè ¿õí³ ïàðàìåòðè. Êð³ì òîãî, ïî÷íåòå ïðàöþâà-
1. Äëÿ êîæíî¿ ç íàâåäåíèõ òð³éîê ñóòíîñòåé âèçíà÷òå, ÿê³
òè ç áàçîþ äàíèõ ÿê êîðèñòóâà÷, óâ³âøè ³íôîðìàö³þ ïðî äå-
ì³æ ñóòíîñòÿìè ³ñíóþòü çâ’ÿçêè. ßêùî ñåðåä ïåðåë³÷åíèõ
ê³ëüêà îá’ºêò³â. Âñ³ ö³ 䳿 âè âèêîíóâàòèìåòå ó íàéïîïóëÿðí³-
ñóòíîñòåé º ñëàáê³, âêàæ³òü ¿õ òà ¿õí³ êëþ÷³.
ø³é ñåðåä ïî÷àòê³âö³â ÑÊÁÄ Microsoft Access.
♦ ïòàõ, ãîðîáåöü, ãîëóá;
♦ ñåàíñ, ê³íîòåàòð, ãëÿäà÷;
♦ ìàãàçèí, òîâàð, ïîêóïåöü; Створення бази даних у СКБД MS Access
♦ ïðèíòåð, êîìï’þòåð, êîìï’þòåðíà ìåðåæà. Ñèñòåìà êåðóâàííÿ áàçàìè äàíèõ Microsoft Access âõîäèòü äî
2*. Ïðèïóñòèìî, ùî ïîòð³áíî çáåð³ãàòè â³äîìîñò³ ïðî òå, ñê³ëü- ñêëàäó ïàêåòà ïðèêëàäíèõ ïðîãðàì Microsoft Office. ¯¿ ÿðëèê
êè ãîäèí íà òèæäåíü âèêëàäຠêîæåí ó÷èòåëü òîé ÷è ³í- ìຠâèãëÿä êëþ÷à (ùî ñèìâîë³çóº, ñêîð³ø çà âñå, êëþ÷ äî
øèé ïðåäìåò ó ïåâíîìó êëàñ³. Äå íà ìîäåë³ «ñóòí³ñòü- ñõîâèùà, äå çáåð³ãàþòüñÿ äàí³), à çàïóñêàþòü öþ ïðîãðàìó òàê
çâ’ÿçîê», çîáðàæåí³é íà ðèñ. 3.9, á, ñë³ä íàêðåñëèòè àòðè- ñàìî, ÿê ³ ³íø³ îô³ñí³ çàñòîñóíêè: çà äîïîìîãîþ ìåíþ Пуск àáî
áóò кількість годин? ÿðëèêà íà ðîáî÷îìó ñòîë³.


46 Розділ 3 . Поглиблене семантичне моделювання Створення бази даних у СКБД MS Access 47
MS Access 2003

Äîêóìåíò ÑÊÁÄ Microsoft Access, òîáòî áàçó äàíèõ, ñòâîðþþòü,


ÿê ³ äîêóìåíòè â ³íøèõ îô³ñíèõ ïðîãðàìàõ, çà äîïîìîãîþ êíî-
ïêè Создать àáî êîìàíäè Создать ìåíþ Файл. Êîëè âè êëàö-
íåòå öþ êíîïêó àáî âèêîíàºòå êîìàíäó, ñïðàâà ó â³êí³ ïðîãðà-
ìè â³äîáðàçèòüñÿ îáëàñòü çàâäàíü Создание файла, äå áóäå çà-
ïðîïîíîâàíî ê³ëüêà ñïîñîá³â ñòâîðåííÿ áàçè äàíèõ (ðèñ. 4.1).
Íàñ ö³êàâèòèìå ëèøå îäèí ñïî-
ñ³á: Новая база даних, ùî äîçâî-
ëÿº ñòâîðèòè ïîðîæíþ áàçó äà-
íèõ áåç æîäíî¿ òàáëèö³.
ϳñëÿ êëàöàííÿ ïîñèëàííÿ Новая
база даних áóäå â³äîáðàæåíî â³êíî
Файл новой базы данных, ó ÿêîìó
ïîòð³áíî âèáðàòè ïàïêó, äå çáå-
ð³ãàòèìåòüñÿ ôàéë ÁÄ, ââåñòè Рис. 4.2. Головне вікно бази даних у MS Access 2003
³ì’ÿ ôàéëó òà êëàöíóòè êíîïêó
Создать. Ôàéë áàçè äàíèõ Micro-
soft Access 2003 ìຠðîçøèðåííÿ
mdb òà îñü òàêó ï³êòîãðàìó: .
Êîëè âè âèêîíàºòå îïèñàí³ âèùå
Рис. 4.1. Область завдань
Создание файла 䳿, íà åêðàí áóäå âèâåäåíî ãîëîâ-
íå â³êíî áàçè äàíèõ (ðèñ. 4.2). Öå
îçíà÷àº, ùî áàçó äàíèõ ñòâîðåíî òà â³äêðèòî.

MS Access 2007/2010
Рис. 4.3. Область завдань Новая база данных
Äëÿ ñòâîðåííÿ áàçè äàíèõ âèêîðèñòîâóþòü çíà÷îê Новая база
данных ó â³êí³ Приступая к работе àáî êîìàíäó Создать êíîïêè Завдання 4.1
Office. ϳñëÿ âèêîíàííÿ ö³º¿ êîìàíäè áóäå â³äîáðàæåíî îá-
Ñòâîð³òü ó âêàçàí³é â÷èòåëåì ïàïö³ áàçó äàíèõ школа.
ëàñòü çàâäàíü Новая база данных (ðèñ. 4.3), äå ïîòð³áíî ââåñòè
³ì’ÿ ôàéëó ó â³äïîâ³äíå ïîëå òà êëàöíóòè êíîïêó Создать. ϳñ-
ëÿ ñòâîðåííÿ ÁÄ áóäå â³äðàçó ñòâîðåíî òà â³äêðèòî òàáëèöþ, Основні об’єкти бази даних Microsoft Access
ÿêà ìຠñòàíäàðòíó íàçâó Таблица1. Ôàéë áàçè äàíèõ ìຠðîç-
øèðåííÿ accdb. Óñüîãî â áàçàõ äàíèõ Microsoft Access º ñ³ì îñíîâíèõ ð³çíîâè-
ä³â îá’ºêò³â, ç ÷îòèðìà ç ÿêèõ ìè ïðàöþâàòèìåìî.

48 Розділ 4. Операції з таблицями Основні об’єкти бази даних Microsoft Access 49


♦ Таблицы (Òàáëèö³) — ãîëîâíèé îá’ºêò áàçè äàíèõ. ßê óæå
çãàäóâàëîñÿ â ðîçä³ë³ 1, óñ³ äàí³ â ðåëÿö³éí³é ÁÄ çáåð³ãà-
MS Access 2007/2010
þòüñÿ â òàáëèöÿõ. Óñ³ ³íø³ îá’ºêòè ÁÄ — äîïîì³æí³ é
ïðèçíà÷åí³ äëÿ àâòîìàòèçàö³¿ ð³çíîìàí³òíèõ îïåðàö³é ç
Äëÿ ñòâîðåííÿ âñ³õ îá’ºêò³â áàçè
äàíèìè.
äàíèõ âèêîðèñòîâóþòü ñòð³÷êó
♦ Запросы (Çàïèòè) — êîìïîíåíò, ùî çóñòð³÷àºòüñÿ ìàéæå â Создание , à âæå ñòâîðåí³ îá’ºêòè
áóäü-ÿê³é ðåëÿö³éí³é áàç³ äàíèõ. Ïðèçíà÷åí³ äëÿ àâòîìàòè- ðîçòàøîâàíî â îáëàñò³ ïåðåõîä³â
çàö³¿ ïîøóêó äàíèõ çà ð³çíîìàí³òíèìè êðèòåð³ÿìè, à òà- ó ë³â³é ÷àñòèí³ â³êíà ïðîãðàìè
êîæ äëÿ äîäàâàííÿ, îíîâëåííÿ é âèäàëåííÿ äàíèõ. (ðèñ. 4.4).
Рис. 4.4. Область переходів
♦ Формы (Ôîðìè) — ä³àëîãîâ³ â³êíà, çà äîïîìîãîþ ÿêèõ êî-
ðèñòóâà÷ ìîæå ââîäèòè äàí³ â òàáëèö³. ϳäâèùóþòü çðó÷-
í³ñòü äîäàâàííÿ äàíèõ. Створення таблиць
♦ Отчеты (Çâ³òè) — ìàêåòè àðêóø³â ïàïåðó, íà ÿêèõ â³äî- Êîæí³é ñóòíîñò³ â ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ìຠâ³äïîâ³äàòè
áðàæàþòüñÿ äàí³ ç òàáëèöü ³ çàïèò³â ó ñïîñ³á, âèçíà÷åíèé òàáëèöÿ â ðåëÿö³éí³é áàç³ äàíèõ. Íàçâà ñóòíîñò³ çá³ãàºòüñÿ ç
ðîçðîáíèêîì ÁÄ. Âèêîðèñòàííÿ çâ³ò³â ñïðèÿº ï³äâèùåííþ íàçâîþ òàáëèö³ ç ò³ºþ ëèøå â³äì³íí³ñòþ, ùî íàçâó òàáëèö³ çàïè-
ãíó÷êîñò³ â³äîáðàæåííÿ äàíèõ. ñóþòü, ÿê ïðàâèëî, ó ìíîæèí³. Àòðèáóòàì ñóòíîñò³ â³äïîâ³äàþòü
ϳäêðåñëèìî, ùî ç öèõ ÷îòèðüîõ êîìïîíåíò³â äâà — òàáëèö³ ñòîâïö³ òàáëèö³, ÿê³ íàçèâàþòü òàêîæ ïîëÿìè, à ³íôîðìàö³þ ïðî
³ çàïèòè — º åëåìåíòàìè ñàìî¿ ðåëÿö³éíî¿ ìîäåë³ äàíèõ, à êîæåí îá’ºêò ñóòíîñò³ çàïèñóþòü â îêðåìîìó ðÿäêó òàáëèö³,
îòæå, ³ áóäü-ÿêî¿ ðåëÿö³éíî¿ áàçè äàíèõ, íåçàëåæíî â³ä òîãî, ÿêèé â ðåëÿö³éíèõ ÁÄ íàçèâàþòü çàïèñîì. Òàêèì ÷èíîì, â
ó ÿê³é ÑÊÁÄ ¿¿ ñòâîðåíî. Íàòîì³ñòü ôîðìè ³ çâ³òè — öå êîì- îêðåì³é êë³òèíö³ òàáëèö³ ì³ñòèòüñÿ ³íôîðìàö³ÿ ïðî çíà÷åííÿ
ïîíåíòè, ñïåöèô³÷í³ äëÿ áàç äàíèõ Microsoft Access. Ïåðå- îäíîãî ïàðàìåòðà îäíîãî îá’ºêòà (ðèñ. 4.5).
âàæíà á³ëüø³ñòü ðåëÿö³éíèõ ÑÊÁÄ íå íàäຠçàñîá³â äëÿ
ñòâîðåííÿ ôîðì ³ çâ³ò³â; öå çàâäàííÿ, ÿê ïðàâèëî, ïîêëàäà- Ó÷åíü
ºòüñÿ íà ðîçðîáíèê³â ïðèêëàäíèõ ïðîãðàì, ùî âèêîðèñòîâó-
þòü áàçè äàíèõ. êîä *

Îïèøåìî, äå ðîçì³ùóþòüñÿ ³ ÿê ñòâîðþþòüñÿ íàçâàí³ îá’ºêòè â ïð³çâèùå


ÑÊÁÄ MS Access.
³ì’ÿ

MS Access 2003 äàòà íàðîäæåííÿ


Ó ë³â³é ÷àñòèí³ ãîëîâíîãî â³êíà ÑÊÁÄ Microsoft Access â³äîá-
ñòàòü
ðàæåíî ìåíþ îñíîâíèõ îá’ºêò³â áàçè äàíèõ. Ó ðàç³ âèáîðó òîãî
÷è ³íøîãî ïóíêòó (Таблицы, Запросы òîùî) â ïîë³ ñïðàâà â³äî-
а б
áðàçÿòüñÿ êîìàíäè äëÿ ñòâîðåííÿ îá’ºêò³â îáðàíîãî òèïó, à
òàêîæ çíà÷êè âñ³õ îá’ºêò³â öüîãî òèïó, ÿê³ º â áàç³. Рис. 4.5. Відповідність між сутністю і таблицею:
а — сутність у моделі «сутність-зв’язок»; б — таблиця в реляційній БД

50 Розділ 4. Операції з таблицями Створення таблиць 51


Îñê³ëüêè â êîæíîìó ïîë³ òàáëèö³ çáåð³ãàþòüñÿ çíà÷åííÿ òîãî
♦ Çà äîïîìîãîþ êíîïêè Списки SharePoint òàáëèö³ àâòîìàòè-
ñàìîãî ïàðàìåòðà ð³çíèõ îá’ºêò³â, âñ³ ö³ çíà÷åííÿ ìàþòü îäíà-
çîâàíî ñòâîðþþòüñÿ òà íàïîâíþþòüñÿ äàíèìè, îòðèìàíèìè
êîâèé òèï, íàïðèêëàä ÷èñëîâèé, òåêñòîâèé àáî äàòà/÷àñ. ²íàê-
ç ïðîãðàìè Microsoft SharePoint.
øå êàæó÷è, òèï ìຠñàìå ïîëå. Êîëè âè ñòâîðþºòå â áàç³ äàíèõ
♦ Êíîïêà Конструктор таблиц äຠçìîãó ââîäèòè íàçâè ïîë³â,
òàáëèöþ, íåîáõ³äíî âêàçàòè íàçâè é òèïè ïîë³â, âèáðàòè êëþ-
âèáèðàòè ¿õí³ òèïè òà ³íø³ ïàðàìåòðè âðó÷íó.
÷îâ³ ïîëÿ, à òàêîæ çàäàòè íàçâó ñàìî¿ òàáëèö³. Êð³ì òîãî, äëÿ
äåÿêèõ ïîë³â âàðòî çàäàòè äîäàòêîâ³ ïàðàìåòðè.

Способи створення таблиць Äëÿ äîïèòëèâèõ. Ó á³ëüøîñò³ ÑÊÁÄ íåìຠæîäíîãî ç³ ùîéíî
çãàäàíèõ ñïîñîá³â ñòâîðåííÿ òàáëèöü. Çàì³ñòü íèõ çàñòîñî-
âóþòü êîìàíäó CREATE TABLE ìîâè SQL. Íåþ ìîæíà ñêîðè-
MS Access 2003
ñòàòèñÿ ³ â ÑÊÁÄ Microsoft Access.
Ó ÑÊÁÄ Microsoft Access º òðè îñíîâíèõ ñïîñîáè ñòâîðåííÿ
òàáëèöü, êîæíîìó ç ÿêèõ â³äïîâ³äຠñâîÿ êîìàíäà íà âêëàäö³
Таблицы ãîëîâíîãî â³êíà áàçè äàíèõ.
Визначення назв і типів полів
♦ Создание таблицы в режиме конструктора — ââåäåííÿ íàçâ Íàéóí³âåðñàëüí³øèì òà, ìàáóòü, íàéçðó÷í³øèì ñïîñîáîì ñòâî-
ïîë³â, âèá³ð ¿õ òèï³â òà ³íøèõ ïàðàìåòð³â òàáëèö³ âðó÷íó. ðåííÿ òàáëèö³ º âèêîðèñòàííÿ êîíñòðóêòîðà, òîìó íàäàë³ ìè ðîç-
♦ Создание таблицы с помощью мастера — âèçíà÷åííÿ ïàðàìå- ãëÿäàòèìåìî ñàìå éîãî. Âèãëÿä â³êíà êîíñòðóêòîðà òàáëèö³
òð³â òàáëèö³ çà äîïîìîãîþ ä³àëîãîâèõ â³êîí, äå ìîæíà âèá- ïîä³áíèé äî çîáðàæåíîãî íà ðèñ. 4.6. Ó öüîìó â³êí³ º òðè ñòîâïö³.
ðàòè ñòàíäàðòí³ ïîëÿ, ïåðåéìåíóâàòè ¿õ, çàäàòè íàçâó òàá- ♦ Ó ñòîâïö³ Имя поля ñë³ä óâåñòè íàçâè ïîë³â (ïî îäí³é ó êî-
ëèö³, âêàçàòè êëþ÷îâ³ ïîëÿ òîùî. æí³é êë³òèíö³).
♦ Создание таблицы путем ввода данных — àâòîìàòè÷íå ñòâî- ♦ Ó ñòîâïö³ Тип данных ïîòð³áíî âèáðàòè òèïè äàíèõ ç³ ñïèñ-
ðåííÿ òàáëèö³ ç 10 ïîëÿìè, ùî íàçèâàþòüñÿ Поле 1, Поле 2 ê³â, ùî ðîçêðèâàþòüñÿ êíîïêàìè ó ïðàâèõ ÷àñòèíàõ êë³-
òîùî; ó òàêó òàáëèöþ ìîæíà â³äðàçó ââîäèòè äàí³. Ïîëÿ òèíîê öüîãî ñòîâïöÿ (äèâ. ïîëå стать íà ðèñ. 4.6). Ùîá â³-
ìîæíà áóäå çãîäîì âèäàëèòè, ïåðåéìåíóâàòè, äîäàòè äî äîáðàçèòè çãàäàíó êíîïêó, ïîòð³áíî êëàöíóòè ó êë³òèíö³.
íèõ ³íø³. ♦ Ó ñòîâïö³ Описание ìîæíà ââåñòè êîìåíòàð ùîäî ïðèçíà-
÷åííÿ ïîëÿ.
Ó Microsoft Access ³ñíóº 10 ñòàíäàðòíèõ òèï³â äàíèõ. Ïðèçíà-
MS Access 2007/2010
÷åííÿ ÷îòèðüîõ ³ç íèõ — òåêñòîâîãî, ÷èñëîâîãî, ãðîøîâîãî ³
²ñíóº ÷îòèðè ñïîñîáè ñòâîðåííÿ òàáëèöü, êîæíîìó ç ÿêèõ â³ä- äàòè/÷àñó — ö³ëêîì çðîçóì³ëå. Çâåðí³ìî ùå óâàãó íà òèï
ïîâ³äຠñâîÿ êíîïêà íà ñòð³÷ö³ Создание. Счетчик, çíà÷åííÿìè ÿêîãî º ö³ë³ ÷èñëà. Ó ïîëÿõ öüîãî òèïó
êîðèñòóâà÷ íå ìîæå ââîäèòè é çì³íþâàòè äàí³, ïðîòå ¿õ àâòî-
♦ Çà äîïîìîãîþ êíîïêè Таблица ñòâîðþþòü òàáëèöþ, äå çà
ìàòè÷íî ââîäèòèìå ÑÊÁÄ ï³ä ÷àñ ñòâîðåííÿ íîâèõ çàïèñ³â.
óìîâ÷àííÿì áóäå îäíå ïîëå Код. Ìîæíà äîäàòè ³íø³ ïîëÿ,
Ôàêòè÷íî ÑÊÁÄ çà äîïîìîãîþ ïîë³â-ë³÷èëüíèê³â íóìåðóº çàïè-
àëå îáèðàòè ¿õ òèï òà ³íø³ ïàðàìåòðè íåçðó÷íî.
ñè ïîñë³äîâíèìè çíà÷åííÿìè 1, 2, 3, … . Ïîëÿ-ë³÷èëüíèêè, ÿê
♦ Êíîïêó Шаблони таблиц ïðèçíà÷åíî äëÿ ñòâîðåííÿ òàáëèö³ ïðàâèëî, º êëþ÷îâèìè. ¯õ âèêîðèñòîâóþòü äëÿ ñòâîðåííÿ äîïî-
ñòàíäàðòíîãî òèïó, íàïðèêëàä ñïèñêó êîíòàêò³â.
ì³æíèõ êîä³â, ùî ³äåíòèô³êóþòü çàïèñè, ó òîìó âèïàäêó, êîëè

52 Розділ 4. Операції з таблицями Створення таблиць 53


çíà÷åííÿ êîäó íå âàæëèâå, à âàæëèâî ëèøå, ùîá ö³ çíà÷åííÿ Визначення додаткових параметрів полів
äëÿ ð³çíèõ çàïèñ³â áóëè ð³çíèìè. Çîêðåìà òàêèé òèï ìàòèìå
ïîëå код ó òàáëèö³ Учні. Çàãàëîì ó ö³é òàáëèö³ º ï’ÿòü ïîë³â: Äëÿ êîæíîãî ïîëÿ, êð³ì éîãî òèïó, ìîæíà çàäàòè é ³íø³ ïàðà-
ë³÷èëüíèê код, òåêñòîâ³ ïîëÿ прізвище, ім’я òà стать, à òà- ìåòðè, çîêðåìà ìàêñèìàëüíî äîïóñòèìó ê³ëüê³ñòü ñèìâîë³â ó
êîæ ïîëå дата народження òèïó Дата/Час (ðèñ. 4.6). ðÿäêó, ÿêèé çáåð³ãàºòüñÿ â òåêñòîâîìó ïîë³. Äëÿ öüîãî ñë³ä
âèä³ëèòè ïîëå (çë³âà â³ä âèä³ëåíîãî ïîëÿ â Access 2003 â³äî-
áðàæàºòüñÿ ïîçíà÷êà , à â Access 2007/2010 âîíî ï³äñâ³÷óºòü-
ñÿ æîâòèì) òà âèçíà÷èòè ïàðàìåòðè â îáëàñò³ Свойства поля,
ùî ðîçòàøîâàíà âíèçó â³êíà êîíñòðóêòîðà òàáëèö³. Òàê, íà
ðèñ. 4.6 âèäíî, ùî äëÿ ïîëÿ стать çàäàíî ìàêñèìàëüíó äîïóñ-
òèìó ê³ëüê³ñòü ñèìâîë³â 1 — öå çíà÷åííÿ ïàðàìåòðà Размер
поля (Ðîçì³ð ïîëÿ), îñê³ëüêè äëÿ çáåðåæåííÿ â³äîìîñòåé ïðî
ñòàòü äîñòàòíüî îäíîãî ñèìâîëó: «÷» àáî «æ».

Створення ключа таблиці


Êîëè âè âèçíà÷èòå íàçâè, òèïè òà äîäàòêîâ³ ïàðàìåòðè ïîë³â
òàáëèö³, ñë³ä âêàçàòè, ç ÿêèõ ïîë³â ñêëàäàºòüñÿ ¿¿ êëþ÷. Äëÿ
öüîãî êëþ÷îâ³ ïîëÿ ïîòð³áíî âèä³ëèòè òà êëàöíóòè êíîïêó
(Êëþ÷îâå ïîëå) íà ïàíåë³ ³íñòðóìåíò³â. ßêùî êëþ÷îâå ïîëå
îäíå, òî âèä³ëèòè éîãî äóæå ïðîñòî: äîñòàòíüî êëàöíóòè íà
íüîìó. ßêùî êëþ÷ ñêëàäàºòüñÿ ç ê³ëüêîõ ïîë³â, òî ïîòð³áíî
êëàöíóòè ³íäèêàòîð êîæíîãî ç íèõ, óòðèìóþ÷è êëàâ³øó Ctrl.
Рис. 4.6. Вікно конструктора таблиці
Êîëè âè êëàöíåòå êíîïêó , çë³âà â³ä âèä³ëåíèõ ïîë³â
ç’ÿâèòüñÿ ïîçíà÷êà ó âèãëÿä³ êëþ÷à. Íà ðèñ. 4.6 òàêà ïîçíà÷êà
Äëÿ äîïèòëèâèõ. º á³ëÿ ïîëÿ код ó òàáëèö³ Учні.
♦ Ïîëå òèïó MEMO, ÿê ³ òåêñòîâå ïîëå, ì³ñòèòü ïîñë³äîâí³ñòü
ñèìâîë³â. Îäíàê ó ïîëå MEMO âè ìîæåòå ââåñòè äî 65536 Надання таблиці назви
ñèìâîë³â, ó òîé ÷àñ ÿê ó òåêñòîâå ïîëå — íå á³ëüøå 255.
Çàäàâøè êëþ÷îâ³ ïîëÿ, çàêðèéòå â³êíî êîíñòðóêòîðà òàáëèö³
♦ Òèï Логический (Ëîã³÷íèé) ìîæå ìàòè äâà çíà÷åííÿ: êíîïêîþ . Áóäå âèâåäåíî çàïèò, ÷è ïîòð³áíî çáåðåãòè çì³íè ó
²ÑÒÈÍÀ òà ÕÈÁͲÑÒÜ, ùî â³äîáðàæàþòüñÿ â òàáëèö³ ÿê ñòðóêòóð³ òàáëèö³. Êëàöí³òü êíîïêó Да. Íàðåøò³ áóäå â³äîáðà-
âñòàíîâëåíèé ÷è çíÿòèé ïðàïîðåöü. Öåé òèï ìîæå ìàòè, æåíî â³êíî Сохранение, äå ñë³ä ââåñòè íàçâó òàáëèö³ òà êëàöíó-
íàïðèêëàä, ïîëå подружній стан (îäðóæåíèé — òè êíîïêó OK.
²ÑÒÈÍÀ, íåîäðóæåíèé — ÕÈÁͲÑÒÜ).
♦ Ïîëå îá’ºêòà OLE ïðèçíà÷åíå äëÿ çáåð³ãàííÿ îá’ºêò³â
íàéð³çíîìàí³òí³øèõ òèï³â: çîáðàæåíü, àóä³î- òà Операції з наявними таблицями
â³äåîçàïèñ³â, ôîðìàòîâàíîãî òåêñòó, ùî ìîæóòü áóòè
âáóäîâàíèìè â ÁÄ, à ìîæóòü çáåð³ãàòèñÿ â îêðåìèõ Çíà÷îê íîâîñòâîðåíî¿ òàáëèö³ ç’ÿâèòüñÿ íà âêëàäö³ Таблицы
ãîëîâíîãî â³êíà áàçè äàíèõ Access 2003 àáî îáëàñò³ ïåðåõîä³â

54 Розділ 4. Операції з таблицями Операції з наявними таблицями 55


Access 2007/2010. Òàáëèöþ ìîæíà âèäàëèòè, ïåðåéìåíóâàòè, í³, ùî ç’ÿâèòüñÿ, ââåñòè ³ì’ÿ êîﳿ òàáëèö³. Ó Access
ñêîï³þâàòè, ìîæíà òàêîæ çì³íèòè ¿¿ ñòðóêòóðó. Óñ³ ö³ 䳿 âè- 2007/2010 àíàëîã³÷íà êîìàíäà — OfficeСохранить как
êîíóþòü çà äîïîìîãîþ êîìàíä êîíòåêñòíîãî ìåíþ, ÿêå â³äîáðà- Сохранить объект как.
çèòüñÿ, ÿêùî êëàöíóòè çíà÷îê òàáëèö³ ïðàâîþ êíîïêîþ ìèø³ ♦ Äëÿ çì³íåííÿ ñòðóêòóðè òàáëèö³ ïðèçíà÷åíî êîìàíäó
(ðèñ. 4.7). Конструктор, ùî â³äêðèâຠòàáëèöþ â óæå çíàéîìîìó âàì
â³êí³ êîíñòðóêòîðà.

Завдання 4.2
Ñòâîð³òü ó áàç³ äàíèõ школа òàáëèö³ Учні, Класи òà Учителі,
ÿê³ â³äïîâ³äàòèìóòü ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê», çîáðàæåí³é íà
ðèñ. 2.8. Âèçíà÷òå ñàìîñò³éíî, ÿê³ òèïè ïîâèíí³ ìàòè ïîëÿ
öèõ òàáëèöü. Äëÿ ïîëÿ стать çàäàéòå ðîçì³ð 1 ñèìâîë («÷»
àáî «æ»).

Завдання 4.3•
Ïåðåéìåíóéòå áàçó äàíèõ школа íà школи òà ñòâîð³òü ó í³é òàá-
ëèö³ Предмети, Школи, Директори â³äïîâ³äíî äî ìîäåë³ «ñóò-
í³ñòü-çâ’ÿçîê», çîáðàæåíî¿ íà ðèñ. 3.10. Ó òàáëèö³ Директори
ñòâîð³òü ò³ëüêè îäíå ïîëå — паспорт, ³ çðîá³òü éîãî êëþ÷îâèì.

Уведення та редагування даних


Äîñ³ âè âèêîíóâàëè ðîëü ðîçðîáíèêà áàçè äàíèõ, à òåïåð òðîõè
ïîïðàöþºòå ÿê êîðèñòóâà÷. Íàãàäàºìî, ùî ðîçðîáíèê ïðàöþº ç³
ñõåìîþ áàçè äàíèõ, à êîðèñòóâà÷ — ³ç ñàìèìè äàíèìè. Ñòâî-
ðåííÿ òàáëèöü, âèçíà÷åííÿ ¿õ ïîë³â òîùî — öå áóâ îäèí ç åòà-
Рис. 4.7. Контекстне меню значка таблиці ï³â ðîçðîáêè ñõåìè ÁÄ. Çàðàç, êîëè â áàç³ äàíèõ школа âæå º
òðè òàáëèö³, ìîæíà ââåñòè â êîæíó ç íèõ ³íôîðìàö³þ ïðî ê³ëü-
♦ Ùîá âèäàëèòè òàáëèöþ, âèáåð³òü ó êîíòåêñòíîìó ìåíþ ¿¿ êà îá’ºêò³â.
çíà÷êà êîìàíäó Удалить. Ìîæíà òàêîæ âèä³ëèòè çíà÷îê
òàáëèö³ ³ êëàöíóòè êíîïêó (Âèäàëèòè). Уведення даних
♦ Äëÿ ïåðåéìåíóâàííÿ òàáëèö³ çàñòîñîâóþòü êîìàíäó Пере- Ùîá â³äêðèòè òàáëèöþ äëÿ ââåäåííÿ äàíèõ, ó ãîëîâíîìó â³êí³
именовать. ÁÄ àáî â îáëàñò³ ïåðåõîä³â ïîòð³áíî äâ³÷³ êëàöíóòè ¿¿ çíà÷îê.
♦ Ùîá ñòâîðèòè êîï³þ òàáëèö³, â Access 2003 ñë³ä âèáðàòè ç Íàïðèêëàä, êëàöíóâøè çíà÷îê òàáëèö³ Учні, âè ïîáà÷èòå òàêó
êîíòåêñòíîãî ìåíþ ¿¿ çíà÷êà êîìàíäó Сохранить как ³ ó â³ê- òàáëèöþ, ÿê íà ðèñ. 4.8, à. Ó ö³é òàáëèö³ º çàãîëîâîê ç íàçâàìè

56 Розділ 4. Операції з таблицями Уведення та редагування даних 57


ïîë³â òà îäèí ïîðîæí³é çàïèñ (íàãàäàºìî, ùî òàê ó ÁÄ íàçèâà- ìåíòè, çà äîïîìîãîþ ÿêèõ ïåðåì³ùóþòüñÿ çàïèñàìè (äèâ.
ºòüñÿ ðÿäîê òàáëèö³), ó ÿêèé âè ìîæåòå ââåñòè äàí³ ùîäî îäíî- ðèñ. 4.8, á).
ãî ó÷íÿ. Êîëè âè ïî÷íåòå ââåäåííÿ, ç’ÿâèòüñÿ äðóãèé çàïèñ,
êîëè ïî÷íåòå ââîäèòè äàí³ â äðóãèé çàïèñ — ç’ÿâèòüñÿ òðåò³é ³ Відповідність даних схемі БД
ò. ä. Íà ðèñ. 4.8, á çîáðàæåíî òàáëèöþ Учні ç äàíèìè ïðî ÷î-
ßê ìè âæå çãàäóâàëè â ðîçä³ë³ 1, ÑÊÁÄ ñòåæèòü çà òèì, ùîá
òèðüîõ ó÷í³â.
äàí³ â áàç³ óçãîäæóâàëèñÿ ç ¿¿ ñõåìîþ. Çîêðåìà, äàí³ ìàþòü
â³äïîâ³äàòè òèïàì ïîë³â, òîæ ÿêùî âè ñïðîáóºòå ââåñòè â ïîëå
дата народження çàì³ñòü äàòè ñëîâî, áóäå â³äîáðàæåíî ïîâ³-
äîìëåííÿ ïðî ïîìèëêó (ðèñ. 4.9, à).
Ùå îäíà âèìîãà, çà âèêîíàííÿì ÿêî¿ ñòåæèòü ÑÊÁÄ, — óí³êà-
ëüí³ñòü çíà÷åíü êëþ÷à. ßêùî âè íå äîòðèìàëèñÿ ö³º¿ âèìîãè,
íàïðèêëàä, ñïðîáóâàëè ââåñòè äàí³ ïðî äâîõ â÷èòåë³â ç îäíàêî-
âèì ïàñïîðòîì, áóäå â³äîáðàæåíî òàêå ïîâ³äîìëåííÿ ïðî ïîìè-
ëêó, ÿê íà ðèñ. 4.9, á.
а

індикатор запису навігаційні елементи

б
Рис. 4.8. Введення даних у таблицю Учні: а — порожня таблиця; б — б
таблиця з інформацією про чотири об’єкти Рис. 4.9. Повідомлення про помилку: а — невідповідність значення
типу поля; б — повторення значень ключа
Óâåäåííÿ äàíèõ ó êîæíå ïîëå âàðòî çàâåðøóâàòè íàòèñêàííÿì
êëàâ³ø³ Enter — òîä³ êóðñîð áóäå ïåðåâåäåíî äî íàñòóïíîãî ïî-
ëÿ öüîãî æ çàïèñó, à ç îñòàííüîãî ïîëÿ — äî ïåðøîãî ïîëÿ Null-значення
íàñòóïíîãî çàïèñó. ϳä ÷àñ óâåäåííÿ äàíèõ ó òàáëèöþ äåÿê³ êë³òèíêè ìîæíà çà-
Çàçíà÷èìî, ùî ó â³êí³ ââåäåííÿ äàíèõ çë³âà â³ä êîæíîãî çàïèñó ëèøàòè ïîðîæí³ìè. Ïîòðåáà â öüîìó ìîæå âèíèêíóòè ç ê³ëü-
ðîçì³ùåíî éîãî ³íäèêàòîð — êâàäðàò, íà ÿêîìó ìîæóòü çî- êîõ ïðè÷èí, ñêàæ³ìî òîìó, ùî âè íå çíàºòå, êîëè íàðîäèâñÿ
áðàæóâàòèñÿ ð³çí³ ïîçíà÷êè, à âíèçó â³êíà — íàâ³ãàö³éí³ åëå- òîé ÷è ³íøèé ó÷åíü ³ â³äêëàäàºòå ââåäåííÿ ö³º¿ ³íôîðìàö³¿ íà

58 Розділ 4. Операції з таблицями Уведення та редагування даних 59


ïîò³ì. ßêùî êë³òèíêà ïîðîæíÿ, òî öå îçíà÷àº, ùî çíà÷åííÿ ♦ ùîá ïåðåéòè äî çàïèñó ç ïåâíèì íîìåðîì, ââåä³òü öåé íî-
ïåâíîãî ïàðàìåòðà ÿêîãîñü îá’ºêòà íå ³ñíóº. Òàêà ñèòóàö³ÿ çà- ìåð ó òåêñòîâå ïîëå;
ãðîæóº íåïåðåäáà÷óâàíèìè íàñë³äêàìè: íàïðèêëàä, íåìîæëèâî ♦ äëÿ ñòâîðåííÿ íîâîãî çàïèñó êëàöí³òü êíîïêó .
ñêàçàòè, ³ñòèííèì ÷è õèáíèì áóäå âèðàç кількість учнів>20,
ÿêùî çíà÷åííÿ кількість учнів íå³ñíóþ÷å. Ùîá óíèêíóòè
ïîä³áíî¿ íåïåðåäáà÷óâàíîñò³, ÑÊÁÄ ó ïîðîæí³ êë³òèíêè çàïèñóº
ñïåö³àëüíå íåâ³äîáðàæóâàíå çíà÷åííÿ Null, ÿêå ùå íàçèâàþòü Рис. 4.11. Навігаційні елементи
ïîðîæí³ì çíà÷åííÿì. Êëþ÷îâ³ ïîëÿ íå ìîæóòü ì³ñòèòè ïîðîæ-
í³õ çíà÷åíü; ÿêùî âè ñïðîáóºòå çàëèøèòè ïîðîæíüîþ êë³òèíêó
Виділення фрагментів таблиць
êëþ÷îâîãî ïîëÿ, áóäå âèâåäåíî òàêå ïîâ³äîìëåííÿ ïðî ïîìèë- Ó òàáëèö³ áàçè äàíèõ Microsoft Access ìîæíà âèä³ëÿòè ôðàãìåí-
êó, ÿê íà ðèñ. 4.10. òè ê³ëüêîõ òèï³â:
♦ ùîá âèä³ëèòè îäèí çàïèñ, ñë³ä êëàöíóòè éîãî ³íäèêàòîð;
♦ ùîá âèä³ëèòè ê³ëüêà ñóì³æíèõ çàïèñ³â, ñë³ä ïðîòÿãíóòè
êóðñîð ìèø³ ïî ¿õí³õ ³íäèêàòîðàõ;
♦ ùîá âèä³ëèòè ê³ëüêà íåñóì³æíèõ çàïèñ³â, ïîòð³áíî ïî÷åð-
ãîâî êëàöíóòè ¿õí³ ³íäèêàòîðè, óòðèìóþ÷è êëàâ³øó Ctrl;
♦ âèä³ëèòè ÷àñòèíó çíà÷åííÿ ïîëÿ ìîæíà âñòàíîâèâøè íà
öüîìó çíà÷åíí³ êóðñîð òà ïðîòÿãíóâøè éîãî íàä ïîòð³áíè-
Рис. 4.10. Повідомлення про помилку, обумовлену введенням
у ключове поле значення Null ìè ñèìâîëàìè;
♦ äëÿ âèä³ëåííÿ ö³ëîãî çíà÷åííÿ ïîëÿ, çíà÷åíü ê³ëüêîõ ïîë³â
îäíîãî àáî ð³çíèõ çàïèñ³â ïîòð³áíî ñêîðèñòàòèñÿ òàáëè÷íèì
Переміщення таблицею êóðñîðîì , ùî â³äîáðàæàºòüñÿ ó ðàç³ ï³äâåäåííÿ êóðñîðó
Êîëè òàáëèöþ â³äêðèòî â ðåæèì³ ââåäåííÿ äàíèõ, îäèí ³ç çàïè- äî ë³âîãî âåðõíüîãî êóòà êë³òèíêè.
ñ³â ââàæàºòüñÿ ïîòî÷íèì. Ó Access 2003 íà ³íäèêàòîð³ ïîòî÷-
íîãî çàïèñó º ïîçíà÷êà, à â Access 2007/2010 ³íäèêàòîð âèä³- Редагування даних
ëåíî æîâòèì.  îäíîìó ç ïîë³â ïîòî÷íîãî çàïèñó ðîçòàøîâàíî
Óâåäåí³ â òàáëèöþ äàí³ (ö³ë³ çàïèñè, çíà÷åííÿ îêðåìèõ ïîë³â
êóðñîð — ñàìå öå ïîëå äîñòóïíå äëÿ ðåäàãóâàííÿ. Ïåðåì³ùóâà-
àáî ôðàãìåíòè öèõ çíà÷åíü) ìîæíà âèð³çàòè çà äîïîìîãîþ êëà-
òèñÿ ì³æ çàïèñàìè òà ïîëÿìè ìîæíà çà äîïîìîãîþ êëàâ³ø êå-
â³ø Ctrl+X àáî êíîïêè (Âèð³çàòè), êîï³þâàòè â áóôåð îáì³íó,
ðóâàííÿ êóðñîðîì àáî ìèø³.
âèêîðèñòîâóþ÷è êëàâ³ø³ Ctrl+C àáî êíîïêó (Êîï³þâàòè), òà
ßêùî çàïèñ³â ó òàáëèö³ áàãàòî, äëÿ øâèäêîãî ïåðåõîäó ì³æ âñòàâëÿòè ç íüîãî çà äîïîìîãîþ êëàâ³ø Ctrl+V àáî êíîïêè
íèìè âàðòî ñêîðèñòàòèñÿ íàâ³ãàö³éíèìè åëåìåíòàìè, ùî ì³ñ- (Âñòàâèòè), íå çàáóâàþ÷è, çâè÷àéíî, ùî áóäü-ÿê³ çíà÷åííÿ ìà-
òÿòüñÿ âíèçó â³êíà ââåäåííÿ äàíèõ (ðèñ. 4.11): þòü â³äïîâ³äàòè òèïàì ïîë³â, à çíà÷åííÿ êëþ÷îâèõ ïîë³â ùå é
♦ ùîá ïåðåéòè äî íàñòóïíîãî àáî ïîïåðåäíüîãî çàïèñó, êëàö- íå ïîâèíí³ ïîâòîðþâàòèñÿ.
í³òü â³äïîâ³äíî êíîïêó àáî ; Çíà÷åííÿ ïîëÿ ìîæíà â³äðåäàãóâàòè, êëàöíóâøè ó â³äïîâ³äí³é
♦ ùîá çðîáèòè ïîòî÷íèì ïåðøèé àáî îñòàíí³é çàïèñ ó òàáëè- êë³òèíö³. Çâåðí³òü óâàãó, ùî êîëè âè ïî÷íåòå ââîäèòè àáî ðåäà-
ö³, êëàöí³òü â³äïîâ³äíî êíîïêó àáî ; ãóâàòè äàí³, íà ³íäèêàòîð³ ïîòî÷íîãî çàïèñó áóäå â³äîáðàæåíî

60 Розділ 4. Операції з таблицями Уведення та редагування даних 61


çíà÷îê . Öå îçíà÷àº, ùî â çàïèñ³ º íåçáåðåæåí³ çì³íè. ² ò³ëü- Завдання 4.5•
êè êîëè âè ïåðåéäåòå äî ³íøîãî çàïèñó, ââåäåííÿ ïîòî÷íîãî
çàïèñó ââàæàòèìåòüñÿ çàâåðøåíèì, çðîáëåí³ âàìè çì³íè çáåðå- Óâåä³òü ó áàçó äàíèõ школи ³íôîðìàö³þ ïðî òàê³ îá’ºêòè:
æóòüñÿ â áàç³ äàíèõ, à ³íäèêàòîð ïîòî÷íîãî çàïèñó çíîâó íàáó- ♦ äèðåêòîð ç ïàñïîðòîì CH 410268;
äå âèãëÿäó . Òàê³ îáìåæåííÿ ö³ë³ñíîñò³, ÿê óí³êàëüí³ñòü çíà- ♦ øêîëè:
÷åíü êëþ÷à, ïåðåâ³ðÿþòüñÿ ñàìå òîä³, êîëè çàïèñ çáåð³ãàºòüñÿ â • Ñîì³âñüêà ã³ìíàç³ÿ, ðîçòàøîâàíà ïî âóë. Ãíàòþêà, 27;
áàç³ äàíèõ, à íå ï³ä ÷àñ éîãî ðåäàãóâàííÿ.
• ÇÎØ ¹77, ðîçòàøîâàíà ïî âóë. Ñàäîâ³é, 14;
Ö³ë³ çàïèñè ìîæíà âèäàëÿòè çà äîïîìîãîþ êîìàíäè Удалить ♦ ïðåäìåòè á³îëîã³ÿ, ìàòåìàòèêà, õ³ì³ÿ, ô³çèêà, óêðà¿íñüêà
запись êîíòåêñòíîãî ìåíþ ³íäèêàòîðà çàïèñó. Êð³ì òîãî, â ìîâà.
Access 2003 äëÿ öüîãî ïðèçíà÷åíî êíîïêó (Âèäàëèòè çàïèñ),
à â Access 2007/2010 — êíîïêó (Âèäàëèòè) íà ñòð³÷ö³
Главная. ßêùî âè õî÷åòå âèäàëèòè â³äðàçó ê³ëüêà çàïèñ³â, ¿õ Збереження та відкриття бази даних
ïîòð³áíî ïîïåðåäíüî âèä³ëèòè, ïðîòÿãíóâøè êóðñîð ìèø³ ïî Ìîæëèâî, âè ïîì³òèëè, ùî êîëè âè çàâåðøóºòå ââåäåííÿ äàíèõ
³íäèêàòîðàõ öèõ çàïèñ³â. ó òàáëèöþ òà çàêðèâàºòå ¿¿ â³êíî, êíîïêà (Çáåðåãòè) ñòຠíå-
àêòèâíîþ. Öå ïîÿñíþºòüñÿ òèì, ùî áàçà äàíèõ çàâæäè ïåðåáó-
Завдання 4.4 âຠó çáåðåæåíîìó ñòàí³. Ïðàöþþ÷è ç ÁÄ, âàì íå ïîòð³áíî ïå-
Óâåä³òü ó áàçó äàíèõ школа ³íôîðìàö³þ ïðî òàê³ îá’ºêòè: ð³îäè÷íî çáåð³ãàòè ¿¿, àäæå ïðî öå ï³êëóºòüñÿ ñàìà ÑÊÁÄ.
Çàçíà÷èìî, ùî êîìàíäó ФайлСохранить как ó Access 2003 ïðè-
♦ êëàñè 10À, 11À ³ 11Á;
çíà÷åíî íå äëÿ çáåðåæåííÿ áàçè äàíèõ, à äëÿ êîï³þâàííÿ ¿¿
♦ ó÷èòåë³: òàáëèöü òà ³íøèõ îá’ºêò³â.
• Ìèõàéëþê Äìèòðî Ñåìåíîâè÷, ÷îëîâ³ê, ïàñïîðò CH
410268, ìàòåìàòèê;
Äëÿ äîïèòëèâèõ. ÑÊÁÄ çáåð³ãຠáàçó äàíèõ àâòîìàòè÷íî
• Ñîøêî Êàòåðèíà Ìèêîëà¿âíà, æ³íêà, ïàñïîðò CP íàñàìïåðåä òîìó, ùî ç íåþ ìîæóòü ïðàöþâàòè îäíî÷àñíî
652320, á³îëîã; ê³ëüêà ê볺íò³â (êîðèñòóâà÷³â ÷è ïðîãðàì) ³ âñ³ âîíè ìà-
• Êîðáóò Âàñèëü Ïåòðîâè÷, ÷îëîâ³ê, ïàñïîðò CO þòü áà÷èòè ÁÄ â îäíàêîâîìó ñòàí³. À çíà÷èòü, íå ìîæíà
211517, ìàòåìàòèê; äîïóñêàòè ñèòóàö³¿, êîëè ê볺íò âíåñå çì³íè â áàçó, àëå íå
• Òîì÷èøèí ³êòîð Ãåîðã³éîâè÷, ÷îëîâ³ê ïàñïîðò KH çáåðåæå ¿õ: òîä³ â³í áà÷èòèìå îäí³ äàí³, à ³íø³ ê볺íòè —
200125, ³ñòîðèê; ³íø³.
• Ïåòðîâà ͳíà Âîëîäèìèð³âíà, æ³íêà, ïàñïîðò ÑÎ
927453, ô³çèê; ³äêðèâàþòü áàçó äàíèõ â Microsoft Access òàê ñàìî, ÿê ³ äî-
♦ ó÷í³: êóìåíòè â ³íøèõ îô³ñíèõ ïðîãðàìàõ: çà äîïîìîãîþ êíîïêè
(³äêðèòè) àáî êîìàíäè ФайлОткрыть ó Access 2003 òà êî-
• Øïàê Ìàêñèì, 11.12.1996, õëîïåöü;
ìàíäè Открыть êíîïêè Office â Access 2007/2010. ϳä ÷àñ â³ä-
• Õîìåíêî ²ðèíà, 9.09.1995, ä³â÷èíà; êðèòòÿ ÁÄ áóäå â³äîáðàæåíî îäíå àáî ê³ëüêà â³êîí çàñòåðå-
• Íåäðèãàéëî Ïåòðî, 1.07.1995, õëîïåöü; æåíü ç ³íôîðìàö³ºþ ïðî òå, ùî ôàéë ÁÄ íå º áåçïå÷íèì, ìîæå
• Áóäæàê Îêñàíà, 14.01.1996, ä³â÷èíà. ì³ñòèòè øê³äëèâèé êîä ³ ò. ï.  óñ³õ òàêèõ â³êíàõ ïîòð³áíî

62 Розділ 4. Операції з таблицями Збереження та відкриття бази даних 63


ï³äòâåðäæóâàòè ñâ³é íàì³ð â³äêðèòè áàçó, êëàöàþ÷è êíîïêè Завдання для досліджень
Открыть, Да àáî OK .
1. Ùî ñòàíåòüñÿ, êîëè â òàáëèö³, ó ÿêó âæå ââåäåíî äàí³, çì³-
íèòè íàá³ð ïîë³â àáî ¿õí³ òèïè?
Висновки 2. Íàâ÷³òüñÿ ñòâîðþâàòè òàáëèö³ çà äîïîìîãîþ ìàéñòðà òàá-
♦ Êîæí³é ñóòíîñò³ â ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» ìຠâ³äïîâ³äà- ëèöü. ßê³ ïåðåâàãè òà íåäîë³êè ìຠöåé çàñ³á ïîð³âíÿíî ç
òè òàáëèöÿ â ðåëÿö³éí³é áàç³ äàíèõ. Àòðèáóòàì ñóòíîñò³ êîíñòðóêòîðîì òàáëèöü?
â³äïîâ³äàþòü ñòîâïö³ òàáëèö³, ÿê³ íàçèâàþòü ïîëÿìè, à ³í- 3. Ñòâîð³òü òàáëèöþ, ó ÿêó íåìîæëèâî áóëî á óâåñòè á³ëüøå
ôîðìàö³þ ïðî êîæåí îá’ºêò ñóòíîñò³ çàïèñóþòü â îêðåìîìó äâîõ çàïèñ³â.
ðÿäêó òàáëèö³, ÿêèé â ðåëÿö³éíèõ ÁÄ íàçèâàþòü çàïèñîì. 4*. ×è ìîæóòü ³ñíóâàòè:
♦ ϳä ÷àñ ñòâîðåííÿ â áàç³ äàíèõ òàáëèö³ íåîáõ³äíî âêàçàòè ♦ îäíîéìåíí³ ïîëÿ â îäí³é òàáëèö³;
íàçâè ³ òèïè ïîë³â, âèáðàòè êëþ÷îâ³ ïîëÿ, à òàêîæ çàäàòè ♦ ïîëÿ ç îäíàêîâèìè íàçâàìè òà òèïàìè äàíèõ â îäí³é òàá-
íàçâó òàáëèö³. ëèö³;
♦ Íàÿâíó â áàç³ äàíèõ òàáëèöþ ìîæíà âèäàëèòè, ïåðåéìå- ♦ îäíîéìåíí³ òàáëèö³ â îäí³é ÁÄ?
íóâàòè, ñêîï³þâàòè, ìîæíà òàêîæ çì³íèòè ¿¿ ñòðóêòóðó. Çíàéøîâøè â³äïîâ³ä³ íà ö³ ïèòàííÿ åêñïåðèìåíòàëüíî,
♦ Ùîá óâåñòè â òàáëèöþ äàí³ ïðî íàá³ð îá’ºêò³â, ó ãîëîâíîìó ñïðîáóéòå àðãóìåíòóâàòè, ÷îìó ÑÊÁÄ äîçâîëÿº ÷è íå äîç-
â³êí³ ÁÄ ïîòð³áíî äâ³÷³ êëàöíóòè ¿¿ çíà÷îê òà ââåñòè ³íôî- âîëÿº ñòâîðþâàòè îäíîéìåíí³ îá’ºêòè â êîæíîìó ç çàçíà-
ðìàö³þ ïðî êîæåí îá’ºêò â îêðåìîìó çàïèñ³. ÷åíèõ âèïàäê³â.
♦ ÑÊÁÄ çàáåçïå÷óº àâòîìàòè÷íå çáåðåæåííÿ äàíèõ, ùî ì³ñ-
òÿòüñÿ â òàáëèöÿõ.

Завдання для самостійного виконання


1. Ñòâîð³òü áàçè äàíèõ ³ òàáëèö³ â íèõ â³äïîâ³äíî äî âñ³õ ìî-
äåëåé «ñóòí³ñòü-çâ’ÿçîê», ÿê³ âè ðîçðîáëÿëè, âèêîíóþ÷è
ñàìîñò³éí³ çàâäàííÿ äî ðîçä³ë³â 2 ³ 3.
2. Óâåä³òü ó êîæíó òàáëèöþ áàç äàíèõ, ñòâîðåíèõ ó ïîïåðåä-
íüîìó çàâäàíí³, â³äîìîñò³ ïðî äâà–òðè îá’ºêòè.

Питання для роздумів


1. ßêáè â òàáëèö³ Класи íå áóëî âèçíà÷åíî êëþ÷à, äî ÿêèõ
íåãàòèâíèõ íàñë³äê³â öå ìîãëî á ïðèçâåñòè?
2*. ×îìó ÑÊÁÄ áëîêóº ñïðîáè ââåäåííÿ ïîìèëêîâèõ äàíèõ, à
íå â³äîáðàæຠâ êë³òèíêàõ êîäè ïîìèëîê, ÿê òàáëè÷íèé
ïðîöåñîð?

64 Розділ 4. Операції з таблицями Завдання для досліджень 65


Розділ 5 ö³þ ïðî òðè êëàñè (10À, 11À òà 11Á), à â òàáëèöþ ó÷í³â — ïðî
÷îòèðüîõ ó÷í³â. Àëå ³íôîðìàö³þ ïðî òå, ÿêèé ó÷åíü ó ÿêîìó

Створення зв’язків між êëàñ³ â÷èòüñÿ, âè íå ââîäèëè. Óâàæíî ïîäèâèâøèñü íà ïîëÿ


òàáëèöü Учні òà Класи, âè ïîáà÷èòå, ùî òàêó ³íôîðìàö³þ ïðîñ-

таблицями òî íåìຠêóäè ââîäèòè: ïîëÿ прізвище, ім’я àáî дата наро-
дження òàáëèö³ Учні íå ïðèçíà÷åíî äëÿ çáåð³ãàííÿ öèõ äàíèõ,
òàê ñàìî ÿê ³ ïîëå назва òàáëèö³ Класи. ßê æå íàì âèéòè ç
ö³º¿ ñèòóàö³¿? Àäæå â³äîìîñò³ ïðî òå, õòî â ÿêîìó êëàñ³ â÷èòü-
Повторення ñÿ, âàæëèâ³ ³, î÷åâèäíî, äåñü ìàþòü çáåð³ãàòèñÿ. Òåîð³ÿ ðåëÿ-
ö³éíèõ áàç äàíèõ ïðîïîíóº äîâîë³ ïðîñòå ð³øåííÿ: ó òàáëèö³
♦ ßê³ ð³çíîâèäè çâ’ÿçê³â ³ñíóþòü ì³æ ñóò- Учні ïîòð³áíî ñòâîðèòè äîäàòêîâå ïîëå клас, ó ÿêå ³ ââåñòè
íîñòÿìè ïðåäìåòíî¿ îáëàñò³? íàçâó êëàñó êîæíîãî ó÷íÿ.
♦ ßê âèçíà÷èòè ð³çíîâèä çâ’ÿçêó?
Ïðèïóñòèìî, ùî íàø³ ó÷í³ â÷àòüñÿ ó òàêèõ êëàñàõ:
♦ Ùî òàêå îáìåæåííÿ ö³ë³ñíîñò³?
♦ Ñôîðìóëþéòå ãîëîâíèé ïðèíöèï ñåìàí- ♦ Øïàê Ìàêñèì — ó 10À;
òè÷íîãî ìîäåëþâàííÿ. ♦ Õîìåíêî ²ðèíà — â 11À;
♦ Íåäðèãàéëî Ïåòðî — â 11Á;
♦ Áóäæàê Îêñàíà — â 11Á.
Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ñêëàäàºòüñÿ ç òàêèõ îñíîâíèõ åëåìåí-
ò³â, ÿê ñóòíîñò³ ³ çâ’ÿçêè. Ñóòíîñòÿì ó áàç³ äàíèõ â³äïîâ³äàþòü ϳñëÿ âíåñåííÿ íåîáõ³äíèõ çì³í òàáëèö³ Учні òà Класи ìàþòü
òàáëèö³, ÿê³ âè íàâ÷èëèñÿ ñòâîðþâàòè íà ïîïåðåäíüîìó óðîö³. íàáóòè òàêîãî âèãëÿäó, ÿê ïîêàçàíî íà ðèñ. 5.1.
Ñüîãîäí³ âè ä³çíàºòåñÿ, ÿê ñòâîðþâàòè çâ’ÿçêè ì³æ òàáëèöÿìè.
Îòæå, îïðàöþâàâøè ìàòåð³àë öüîãî ðîçä³ëó, âè âì³òèìåòå â³äî-
áðàæàòè â áàç³ äàíèõ ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ó ö³ëîìó.

Створення зв’язку «один-до-багатьох»


Íàãàäàºìî, ùî çâ’ÿçêè ì³æ ñóòíîñòÿìè áóâàþòü òðüîõ îñíîâíèõ
ð³çíîâèä³â: «îäèí-äî-áàãàòüîõ», «áàãàòî-äî-áàãàòüîõ» òà «îäèí- Рис. 5.1. Таблиці Класи та Учні з інформацією про те, який учень у
äî-îäíîãî». Êîæåí ³ç öèõ òèï³â çâ’ÿçê³â ó ÑÊÁÄ ðåàë³çóþòü ïî- якому класі вчиться
ñâîºìó, ³ äàë³ ìè ðîçãëÿíåìî, ÿê ñàìå. Ïî÷íåìî ³ç íàéïîøèðå-
í³øîãî òèïó çâ’ÿçêó — «îäèí-äî-áàãàòüîõ». Îòæå, ïîëå клас, äîäàíå äî òàáëèö³ Учні, ñòàëî òèì çàñîáîì,
çà äîïîìîãîþ ÿêîãî ìè ðåàë³çóâàëè â áàç³ äàíèõ çâ’ÿçîê
Створення зв’язку між таблицями Учні та Класи «ó÷åíü â÷èòüñÿ ó êëàñ³». Öå çâ’ÿçîê ì³æ ñóòíîñòÿìè Учень ³
Клас, ùî â ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» âèãëÿäຠòàê, ÿê íà ðèñ.
Íà ìèíóëîìó óðîö³ â áàç³ äàíèõ школа âè ñòâîðèëè òàáëèö³ 5.2. Çíà÷åííÿ â äîäàíîìó ïîë³ çáåð³ãàþòü ³íôîðìàö³þ ïðî
ó÷í³â, êëàñ³â ³ â÷èòåë³â. Ó òàáëèöþ êëàñ³â âè ââåëè ³íôîðìà- çâ’ÿçêè ì³æ îá’ºêòàìè: êîíêðåòíèìè ó÷íÿìè òà êëàñàìè. Íà

66 Розділ 5. Створення зв’язків між таблицями Створення зв’язку «один-до-багатьох» 67


ðèñ. 5.1 ñòð³ëêàìè ïîêàçàíî, ç ÿêèì îá’ºêòîì Клас ïîâ’ÿçàíî Завдання 5.1
êîæåí îá’ºêò Учень.
Ó òàáëèö³ Учні ñòâîð³òü ïîëå клас òîãî æ òèïó ³ ç òèìè æ ïà-
ðàìåòðàìè, ùî ³ ïîëå назва â òàáëèö³ Класи, ³ ââåä³òü çàçíà-
÷åí³ âèùå äàí³ ïðî íàâ÷àííÿ ó÷í³â ó êëàñàõ.
∞ 1
Ó÷åíü â÷èòüñÿ Êëàñ
Створення зв’язку «один-до-багатьох»:
êîä * íàçâà *
загальний випадок
ïð³çâèùå Çàäàìîñÿ ïèòàííÿì: ÷îìó äëÿ ðåàë³çàö³¿ çâ’ÿçêó «ó÷åíü â÷èòü-
ñÿ ó êëàñ³» ìè ñòâîðþâàëè äîäàòêîâå ïîëå клас ó òàáëèö³ Учні,
³ì’ÿ à íå ïîëå учень ó òàáëèö³ Класи? ³äïîâ³äü çíàéòè íå âàæêî,
äàòà íàðîäæåííÿ
ÿêùî çâåðíóòè óâàãó íà òèï öüîãî çâ’ÿçêó. Ìè ñòâîðèëè äîäàò-
êîâå ïîëå â òàáëèö³ Учні òîìó, ùî ó÷åíü ìîæå â÷èòèñÿ ò³ëüêè
ñòàòü â îäíîìó êëàñ³, ³ íå ñòâîðþâàëè éîãî â òàáëèö³ Класи òîìó, ùî
â êëàñ³ ìîæå â÷èòèñÿ áàãàòî ó÷í³â. Ñïðàâä³, ùîá çáåðåãòè â
Рис. 5.2. Зв’язок між сутностями Учень і Клас òàáëèö³ Класи â³äîìîñò³ ïðî íàâ÷àííÿ ó÷í³â ó ïåâíîìó êëàñ³,
у моделі «сутність-зв’язок» äîâåëîñÿ á äëÿ ïåðøîãî ó÷íÿ ñòâîðþâàòè äîäàòêîâå ïîëå
учень1, äëÿ äðóãîãî — учень2 ³ ò. ä. Íååôåêòèâí³ñòü òàêîãî
Çàóâàæòå, ùî äîäàòêîâ³ ïîëÿ, ïðèçíà÷åí³ äëÿ çáåðåæåííÿ ³í- ï³äõîäó î÷åâèäíà, à êîëè âðàõóâàòè òîé ôàêò, ùî ê³ëüê³ñòü
ôîðìàö³¿ ïðî çâ’ÿçêè, íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» íå â³äîáðà- ó÷í³â ó êëàñàõ ìîæå áóòè ð³çíîþ, ðåàë³çóâàòè ïîä³áíå ð³øåííÿ
æàþòüñÿ. Öå ïîÿñíþºòüñÿ òèì, ùî çà äîïîìîãîþ äîäàòêîâèõ âèÿâèòüñÿ âçàãàë³ íåìîæëèâî.
ïîë³â çâ’ÿçêè ðåàë³çóþòü ò³ëüêè â ðåëÿö³éíèõ ÁÄ, à ìîäåëü
Òåïåð ïðèïóñòèìî, ùî òàáëèöÿ Класи ì³ñòèòü ùå àòðèáóò про-
«ñóòí³ñòü-çâ’ÿçîê» â³ä ñïåöèô³êè ìîäåë³ äàíèõ àáñòðàãîâàíà,
філь (çà éîãî äîïîìîãîþ âêàçóþòü, ùî êëàñ ô³ëîëîã³÷íèé, ìà-
âîíà ìîæå âèêîðèñòîâóâàòèñÿ â íåðåëÿö³éíèõ ÁÄ ³ íàâ³òü íå â
áàçàõ äàíèõ âçàãàë³. òåìàòè÷íèé òîùî). Òîä³ ÿê³ çíà÷åííÿ, íàçâè ÷è ïðîô³ë³ êëàñ³â,
ïîòð³áíî ââîäèòè â ïîëå клас òàáëèö³ Учні? Î÷åâèäíî, ùî âñå
îäíî íàçâè, îñê³ëüêè ïðîô³ëü íå ³äåíòèô³êóº êëàñ (íàïðèêëàä,
Äëÿ äîïèòëèâèõ. Çáåðåæåííÿ ³íôîðìàö³¿ ïðî çâ’ÿçêè îá’ºêò³â ÿêùî âêàçàòè, ùî Øïàê Ìàêñèì â÷èòüñÿ ó ìàòåìàòè÷íîìó
ó äîäàòêîâèõ ïîëÿõ º îäí³ºþ ç âèçíà÷àëüíèõ ðèñ, ùî â³äð³ç- êëàñ³, çàëèøèòüñÿ íåçðîçóì³ëèì, ó ÿêîìó ñàìå: äåñÿòîìó, îäè-
íÿþòü ðåëÿö³éí³ ÁÄ â³ä óñ³õ ³íøèõ. Ó ³ºðàðõ³÷íèõ, ìåðåæå- íàäöÿòîìó ÷è ÿêîìóñü ³íøîìó). Íàãàäàºìî, ùî ³äåíòèô³êóâàòè
âèõ òà îá’ºêòíî-îð³ºíòîâàíèõ ÁÄ îá’ºêò «ó÷åíü» ì³ñòèâ áè îá’ºêòè äîçâîëÿþòü çíà÷åííÿ êëþ÷îâèõ ïîë³â ³ ñàìå òîìó, ùî
âêàç³âíèê íà òå ì³ñöå â ïàì’ÿò³, äå çáåð³ãàºòüñÿ îá’ºêò «êëàñ», ïîëå назва º êëþ÷åì ó òàáëèö³ Класи, éîãî çíà÷åííÿ ïîòð³áíî
òîáòî çâ’ÿçêè â öèõ ÁÄ ðåàë³çóþòü ÿâíî. Ó ðåëÿö³éí³é ÁÄ ââîäèòè â äîäàòêîâå ïîëå клас òàáëèö³ Учні.
îá’ºêò «ó÷åíü» ì³ñòèòü ëèøå çíà÷åííÿ 10А, ÿêå áåçïîñåðåäíüî
í³ íà ùî íå âêàçóº; ùîá îòðèìàòè â³äîìîñò³ ïðî òàêèé êëàñ, Ïîëÿ, ùî ì³ñòÿòü çíà÷åííÿ êëþ÷³â ³íøèõ òàáëèöü, íàçèâàþòü
éîãî ïîòð³áíî ùå çíàéòè â òàáëèö³ Класи. Îòæå, â ðåëÿö³éíèõ çîâí³øí³ìè êëþ÷àìè. Íàïðèêëàä, ïîëå клас — öå çîâí³øí³é
ÁÄ çâ’ÿçêè ì³æ îá’ºêòàìè ðåàë³çóþòü íåÿâíî. êëþ÷ òàáëèö³ Учні. Êàæóòü, ùî çîâí³øí³é êëþ÷ ïîñèëàºòüñÿ
íà òàáëèöþ, çíà÷åííÿ êëþ÷à ÿêî¿ â³í ì³ñòèòü. Òàê, çîâí³øí³é

68 Розділ 5. Створення зв’язків між таблицями Створення зв’язку «один-до-багатьох» 69


êëþ÷ клас ïîñèëàºòüñÿ íà òàáëèöþ Класи. Êëþ÷ òàáëèö³ íàçè- Графічне подання зв’язків у Microsoft Access
âàþòü òàêîæ ïåðâèííèì êëþ÷åì, ùîá ï³äêðåñëèòè éîãî â³äì³í-
í³ñòü â³ä çîâí³øíüîãî êëþ÷à. Íà ïàíåë³ ³íñòðóìåíò³â Microsoft Access 2003 òà íà ñòð³÷ö³
Работа с базами данных Access 2007/2010 º êíîïêà (Ñõåìà
äàíèõ), çà äîïîìîãîþ ÿêî¿ ñõåìó áàçè äàíèõ ìîæíà çîáðàçèòè
Çîâí³øí³é êëþ÷ — öå ïîëå àáî íàá³ð ïîë³â, çíà÷åííÿ ÿêèõ ãðàô³÷íî (ÿêùî âè ö³º¿ êíîïêè â Access 2003 íå áà÷èòå, çðîá³òü
ïîâèíí³ íàëåæàòè ìíîæèí³ çíà÷åíü ïåðâèííîãî êëþ÷à äå- àêòèâíèì ãîëîâíå â³êíî ÁÄ). Êîëè âè êëàöíåòå öþ êíîïêó,
ÿêî¿ ³íøî¿ òàáëèö³. áóäå â³äîáðàæåíî òàêå â³êíî, ÿê íà ðèñ. 5.4.

ϳäñóìîâóþ÷è ñêàçàíå, ñôîðìóëþºìî ïðàâèëî ìîäåëþâàííÿ


çâ’ÿçêó «îäèí-äî-áàãàòüîõ» ó ðåëÿö³éí³é áàç³ äàíèõ.
Ùîá ó ðåëÿö³éí³é áàç³ äàíèõ ðåàë³çóâàòè çâ’ÿçîê «îäèí-äî-
áàãàòüîõ», çîáðàæåíèé íà ðèñ. 5.3, à (êîæíîìó îá’ºêòó A ìîæå
â³äïîâ³äàòè áàãàòî îá’ºêò³â B, àëå êîæíîìó îá’ºêòó B — ëè-
øå îäèí îá’ºêò A), ó òàáëèö³ B ïîòð³áíî ñòâîðèòè çîâí³øí³é
êëþ÷, ÿêèé ïîñèëàòèìåòüñÿ íà òàáëèöþ A (ðèñ. 5.3, á).

∞ 1
B A

Рис. 5.4. Вікно Схема данных під час першого використання

Ó â³êí³ Добавление таблицы ïîòð³áíî, óòðèìóþ÷è êëàâ³øó Ctrl


àáî Shift, âèä³ëèòè íàçâè âñ³õ òàáëèöü ³ êëàöíóòè êíîïêó
Добавить. Ó ðåçóëüòàò³ âñ³ òàáëèö³ áóäå â³äîáðàæåíî ó â³êí³
Схема данных. Âì³ñò â³êíà ìîæíà ðåäàãóâàòè: ùîá âèäàëèòè
çîáðàæåííÿ òàáëèö³, êëàöí³òü éîãî ïðàâîþ êíîïêîþ ìèø³ òà
âèáåð³òü ó êîíòåêñòíîìó ìåíþ êîìàíäó Скрыть таблицу, à ùîá
äîäàòè, ñêîðèñòàéòåñÿ êíîïêîþ (³äîáðàçèòè òàáëèöþ).
Çâ’ÿçêè ì³æ òàáëèöÿìè ó â³êí³ Схема данных çîáðàæóþòüñÿ
ç’ºäíóâàëüíèìè ë³í³ÿìè (ðèñ. 5.5, à). Ö³ ë³í³¿ ç’ºäíóþòü íå
б ïðîñòî çîáðàæåííÿ òàáëèöü, à ò³ ïîëÿ, çà äîïîìîãîþ ÿêèõ ðåà-
Рис. 5.3. Зв’язок «один-до-багатьох»: а — зображення в моделі ë³çóºòüñÿ çâ’ÿçîê. ßê âè âæå çíàºòå, çâ’ÿçîê «îäèí-äî-
«сутність-зв’язок»; б — реалізація в базі даних áàãàòüîõ» ðåàë³çóþòü çà äîïîìîãîþ êëþ÷îâîãî ïîëÿ îäí³º¿ òàá-

70 Розділ 5. Створення зв’язків між таблицями Створення зв’язку «один-до-багатьох» 71


ëèö³ òà çîâí³øíüîãî êëþ÷à ³íøî¿. Ñàìå ö³ ïîëÿ ïîòð³áíî çâåðõó ì³ñòÿòüñÿ äâà ñïèñêè: Таблица/запрос òà Связанная
ç’ºäíàòè ë³í³ºþ ó â³êí³ Схема данных. Äëÿ öüîãî ñë³ä êëàöíóòè таблица/запрос. Ó ïåðøîìó â³äîáðàæàþòüñÿ íàçâè êëþ÷îâèõ ïî-
êëþ÷îâå ïîëå (íàçâó òàêîãî ïîëÿ çàïèñàíî æèðíèì øðèôòîì) ³, ë³â òàáëèö³, ùî ïåðåáóâຠíà ê³íö³ çâ’ÿçêó «îäèí» (âîíà íàçè-
íå â³äïóñêàþ÷è ë³âî¿ êíîïêè ìèø³, ïåðåòÿãíóòè éîãî íà çîâí³- âàºòüñÿ ãîëîâíîþ), à â äðóãîìó — çîâí³øí³é êëþ÷ òàáëèö³, ùî
øí³é êëþ÷. ³äêðèºòüñÿ ïîêàçàíå íà ðèñ. 5.5, á â³êíî ïåðåáóâຠíà ê³íö³ çâ’ÿçêó «áàãàòî» (âîíà íàçèâàºòüñÿ çâ’ÿçà-
Изменение связей, ó ÿêîìó äîñòàòíüî ëèøå êëàöíóòè êíîïêó íîþ). Çà ïîòðåáè ïîëÿ, ÷åðåç ÿê³ âñòàíîâëþºòüñÿ çâ’ÿçîê, ìîæ-
Создать — ³ çâ’ÿçîê áóäå â³äîáðàæåíî. íà çì³íèòè, êëàöíóâøè êíîïêó  ñïðàâà â³ä íàçâè êëþ÷îâîãî
ïîëÿ àáî çîâí³øíüîãî êëþ÷à.
Ïàðàìåòðè çâ’ÿçêó ìîæíà çì³íèòè ï³ñëÿ éîãî ñòâîðåííÿ. Äëÿ
öüîãî ñë³ä äâ³÷³ êëàöíóòè ë³í³þ çâ’ÿçêó ³ çàäàòè íåîáõ³äí³ ïà-
ðàìåòðè ó â³êí³ Изменение связей.

Забезпечення цілісності даних


Ó íîâîñòâîðåíå ïîëå клас òàáëèö³ Учні ìè ââîäèëè íàçâè êëà-
ñ³â ç òàáëèö³ Класи, àëå ÑÊÁÄ äîçâîëÿº ââîäèòè â öå ïîëå
ìàéæå áóäü-ÿê³ äàí³, íàâ³òü íàçâó íå³ñíóþ÷îãî ó øêîë³ êëàñó
àáî, ñêàæ³ìî, ñëîâî Привіт. Çâ³ñíî, òàê³ äàí³ áóäóòü íåêîðåêò-
а íèìè, àäæå ó÷åíü íå ìîæå â÷èòèñÿ â 21Ш êëàñ³ àáî ó êëàñ³
Привіт. Ùîá ãàðàíòóâàòè ö³ë³ñí³ñòü äàíèõ (çãàäàéòå ðîçä³ë 1),
ÑÊÁÄ ìຠñòåæèòè çà äîòðèìàííÿì ïðîñòîãî ïðàâèëà: Ó ïîëå
клас òàáëèö³ Учні íåìîæíà ââîäèòè çíà÷åííÿ, ÿêèõ íåìຠó
ïîë³ назва òàáëèö³ Класи.
Ñôîðìóëüîâàíå ïðàâèëî º í³÷èì ³íøèì, ÿê îáìåæåííÿì ö³ë³ñ-
íîñò³: ìè îáìåæóºìî ä³àïàçîí äîïóñòèìèõ äàíèõ ³ òèì ñàìèì
ãàðàíòóºìî ¿õ ö³ë³ñí³ñòü. Íåâàæêî ñôîðìóëþâàòè öå ïðàâèëî ³
â çàãàëüíîìó âèãëÿä³:
Çîâí³øí³é êëþ÷ çâ’ÿçàíî¿ òàáëèö³ íå ìîæå ì³ñòèòè çíà÷åíü,
ÿêèõ íå ì³ñòèòü êëþ÷ ãîëîâíî¿ òàáëèö³.
Ùîá ïðèìóñèòè ÑÊÁÄ ñòåæèòè çà äîòðèìàííÿì öüîãî îáìå-
æåííÿ ö³ë³ñíîñò³, ï³ä ÷àñ ñòâîðåííÿ çâ’ÿçêó ó â³êí³ Изменение
б
связей (äèâ. ðèñ. 5.5, á) ñë³ä âñòàíîâèòè ïðàïîðåöü Обеспечение
Рис. 5.5. Зв’язок «один-до багатьох»: а — позначення зв’язку на схемі целостности данных. ßêùî âè öå çðîáèòå, òî ñïðîáà ââåñòè â
даних; б — створення зв’язку у вікні Изменение связей ïîëå клас òàáëèö³ Учні çíà÷åííÿ íà êøòàëò 21Ш ïðèçâåäå äî
â³äîáðàæåííÿ ïîâ³äîìëåííÿ ïðî ïîìèëêó. Íà ñõåì³ äàíèõ ó
Ïðîàíàë³çóºìî âì³ñò â³êíà Изменение связей äåòàëüí³øå. Ó íè- Microsoft Access ë³í³¿ çâ’ÿçê³â ç ï³äòðèìêîþ ö³ë³ñíîñò³ âèð³ç-
æí³é éîãî ÷àñòèí³ çàçíà÷åíî òèï çâ’ÿçêó (один-ко-многим), à íÿþòüñÿ òèì, ùî á³ëÿ ¿õí³õ ê³íö³â çîáðàæóþòüñÿ ñèìâîëè ìíî-

72 Розділ 5. Створення зв’язків між таблицями Забезпечення цілісності даних 73


æèííîñò³ (1 àáî ∞), òàê ñàìî, ÿê íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» • ÿêùî ï³ä ÷àñ ñòâîðåííÿ çâ’ÿçêó ó â³êí³ Изменение
(ðèñ. 5.6). связей (äèâ. ðèñ. 5.5, á) íå áóëî âñòàíîâëåíî ïðàïî-
ðåöü каскадное обновление связанных полей, çì³íè áó-
äå çàáëîêîâàíî;
• ÿêùî ïðàïîðåöü каскадное обновление связанных
полей âñòàíîâëåíî, ÑÊÁÄ çä³éñíèòü êàñêàäíå îíîâ-
ëåííÿ: çíà÷åííÿ çîâí³øíüîãî êëþ÷à áóäå çì³íåíî
òàê ñàìî, ÿê çì³íèëèñÿ çíà÷åííÿ ïåðâèííîãî êëþ÷à
ãîëîâíî¿ òàáëèö³.
4. ϳñëÿ ñòâîðåííÿ çâ’ÿçêó çàïèñ ãîëîâíî¿ òàáëèö³ âèäàëÿþòü.
Ó öüîìó âèïàäêó ìîæå áóòè çä³éñíåíî êàñêàäíå âèäàëåííÿ
äàíèõ: çàïèñè çâ’ÿçàíî¿ òàáëèö³, ùî â³äïîâ³äàþòü âèäàëå-
íîìó çàïèñó ãîëîâíî¿ òàáëèö³, òàêîæ àâòîìàòè÷íî âèäàëÿ-
òèìóòüñÿ. Êàñêàäíå âèäàëåííÿ çä³éñíþºòüñÿ, ÿêùî ï³ä ÷àñ
Рис. 5.6. Подання на схемі даних зв’язку з підтримкою цілісності ñòâîðåííÿ çâ’ÿçêó ó â³êí³ Изменение связей áóëî âñòàíîâëå-
íî ïðàïîðåöü каскадное удаление связанных полей. ßêùî
ïðàïîðåöü çíÿòî, âèäàëåííÿ áëîêóâàòèìåòüñÿ.
Порушення обмежень цілісності
ϳäòðèìêà ö³ë³ñíîñò³, ç îäíîãî áîêó, ãàðàíòóº êîðåêòí³ñòü äà- Завдання 5.2
íèõ, à ç ³íøîãî, ùî á³ëüøå â ÁÄ îáìåæåíü ö³ë³ñíîñò³, òî ÷àñò³øå
³äîáðàç³òü çâ’ÿçîê ì³æ òàáëèöÿìè Класи òà Учні ó â³êí³
âèíèêàþòü ñèòóàö³¿, êîëè çì³íè äàíèõ ïðèçâîäÿòü äî ïîðóøåííÿ
Схема данных ³ çàáåçïå÷òå ï³äòðèìêó ö³ë³ñíîñò³ äàíèõ.
öèõ îáìåæåíü. Ìîæëèâ³ ÷îòèðè âèïàäêè, ó ÿêèõ ïîðóøóºòüñÿ
îáìåæåííÿ ö³ë³ñíîñò³, íàêëàäåíå çâ’ÿçêîì, ³ äëÿ êîæíîãî ç íèõ
ó ÑÊÁÄ ïåðåäáà÷åíî ìåõàí³çìè âèð³øåííÿ ïðîáëåìè. Створення зв’язку «багато-до-багатьох»
1. Êîëè ñòâîðþþòü çâ’ÿçîê, çíà÷åííÿ çîâí³øíüîãî êëþ÷à âæå Âèùå ìè çàçíà÷àëè, ùî äëÿ ìîäåëþâàííÿ çâ’ÿçêó «ó÷åíü
ïîðóøóþòü îáìåæåííÿ ö³ë³ñíîñò³. Ó öüîìó âèïàäêó Micro- â÷èòüñÿ ó êëàñ³» çîâí³øí³é êëþ÷ íåìîæíà ñòâîðþâàòè â òàáëè-
soft Access íå äîçâîëèòü ñòâîðèòè çâ’ÿçîê, äîêè âè íå óñó- ö³ Класи, îñê³ëüêè êëàñ çâ’ÿçàíèé ç áàãàòüìà ó÷íÿìè. Òîæ ÿê
íåòå ïîðóøåííÿ. áóòè ó âèïàäêó çâ’ÿçêó «áàãàòî-äî-áàãàòüîõ», íàïðèêëàä çâ’ÿç-
2. ϳñëÿ ñòâîðåííÿ çâ’ÿçêó çì³íþþòü çíà÷åííÿ çîâí³øíüîãî êó «ó÷èòåëü âèêëàäຠâ êëàñ³»? Àäæå ïîä³áí³ ì³ðêóâàííÿ ïðè-
êëþ÷à çâ’ÿçàíî¿ òàáëèö³. ßêùî íîâîãî çíà÷åííÿ â êëþ÷³ âîäÿòü äî âèñíîâêó, ùî çîâí³øí³é êëþ÷ íåìîæíà ñòâîðþâàòè â
ãîëîâíî¿ òàáëèö³ íåìàº, ÑÊÁÄ íå äîçâîëèòü âíåñòè òàê³ æîäí³é ç äâîõ òàáëèöü-ó÷àñíèöü çâ’ÿçêó. Íàñïðàâä³ òàê ³ º:
çì³íè, ³íàêøå çì³íè áóäå âíåñåíî ³ çàïèñ çâ’ÿçàíî¿ òàáëèö³ çâ’ÿçîê «áàãàòî-äî-áàãàòüîõ» ìîäåëþþòü çà äîïîìîãîþ äîäàòêî-
â³äïîâ³äàòèìå ³íøîìó çàïèñó ãîëîâíî¿ òàáëèö³. âî¿ òàáëèö³, äå ³ ñòâîðþþòü çîâí³øí³ êëþ÷³.
3. ϳñëÿ ñòâîðåííÿ çâ’ÿçêó çì³íþþòü çíà÷åííÿ êëþ÷à ãîëîâ- Ùîá ó ðåëÿö³éí³é áàç³ äàíèõ çìîäåëþâàòè çâ’ÿçîê «áàãàòî-äî-
íî¿ òàáëèö³. Çîâí³øí³é êëþ÷ çâ’ÿçàíî¿ òàáëèö³ ï³ñëÿ òàêèõ áàãàòüîõ» ì³æ òàáëèöÿìè À ³  (ðèñ. 5.7, à), ïîòð³áíî ñòâî-
çì³í ìîæå ïîðóøóâàòè îáìåæåííÿ ö³ë³ñíîñò³. Microsoft ðèòè äîäàòêîâó òàáëèöþ Ñ, à â í³é — äâà çîâí³øí³õ êëþ÷³,
Access äຠçìîãó âèð³øèòè öþ ïðîáëåìó äâîìà øëÿõàìè: ùî ïîñèëàòèìóòüñÿ íà òàáëèö³ À ³  (ðèñ. 5.7, á).

74 Розділ 5. Створення зв’язків між таблицями Створення зв’язку «багато-до-багатьох» 75


∞ ∞ áàãàòüìà êëàñàìè, à êëàñ — ç áàãàòüìà â÷èòåëÿìè. Ó ï³äñóìêó
B A öå ³ º çâ’ÿçêîì «áàãàòî-äî-áàãàòüîõ» ì³æ òàáëèöÿìè Учителі
òà Класи.

Рис. 5.7. Зв’язок «багато-до-багатьох»: а — зображення в моделі


«сутність-зв’язок»; б — реалізація в базі даних

Íàïðèêëàä, äëÿ ìîäåëþâàííÿ çâ’ÿçêó «ó÷èòåëü âèêëàäຠâ


êëàñ³» ìè ñòâîðèìî òàáëèöþ Викладання ç äâîìà ïîëÿìè: учи-
тель ³ клас. Ïîëå учитель áóäå çîâí³øí³ì êëþ÷åì, ùî ïî- б
ñèëàºòüñÿ íà òàáëèöþ Учителі, à ïîëå клас — çîâí³øí³ì êëþ- Рис. 5.8. Моделювання зв’язку вчителя з класами
÷åì, ùî ïîñèëàºòüñÿ íà òàáëèöþ Класи.
Äëÿ çáåð³ãàííÿ ³íôîðìàö³¿ ïðî òå, ùî â÷èòåëü Ñîøêî Êàòåðèíà Äëÿ äîïèòëèâèõ. Ó òàáëèö³ Викладання, ÿê ³ â áóäü-ÿê³é ³í-
Ìèêîëà¿âíà âèêëàäຠó 10À òà 11À êëàñàõ, ó òàáëèö³ âèêëà- ø³é, âàðòî ñòâîðèòè ïåðâèííèé êëþ÷. Ïîëå учитель íå º
äàííÿ íåîáõ³äíî ñòâîðèòè äâà çàïèñè: â îäíîìó çàçíà÷èòè íî- êëþ÷åì, îñê³ëüêè éîãî çíà÷åííÿ ìîæóòü ïîâòîðþâàòèñÿ. Òå
ìåð ïàñïîðòà ö³º¿ â÷èòåëüêè (CP 652320) òà íàçâó êëàñó 10À, à ñàìå ìîæíà ñêàçàòè ³ ïðî ïîëå клас. Àëå ïàðà çíà÷åíü àòðè-
â ³íøîìó — òîé ñàìèé íîìåð ïàñïîðòà òà íàçâó êëàñó 11À áóò³â учитель, клас ïîâòîðþâàòèñÿ íå ïîâèííà. Îòæå, ó òàá-
(ðèñ. 5.8, à). ëèö³ Викладання êëþ÷ ñêëàäàºòüñÿ ç äâîõ ïîë³â. Ñòâîðåííÿ
öüîãî êëþ÷à ãàðàíòóâàòèìå, ùî ³íôîðìàö³ÿ ïðî âèêëàäàííÿ
Ó òàêèé ñïîñ³á ó òàáëèöþ Викладання ìîæíà ââåñòè ³íôîðìà-
â÷èòåëÿ Õ ó êëàñ³ Y çáåð³ãàòèìåòüñÿ ëèøå â îäíîìó çàïèñ³, ³
ö³þ ïðî âèêëàäàííÿ îäíîãî â÷èòåëÿ â ê³ëüêîõ êëàñàõ. ͳ÷îãî öå óçãîäæóºòüñÿ ç ãîëîâíèì ïðèíöèïîì ñåìàíòè÷íîãî ìîäå-
íàì íå çàâàäèòü ââåñòè â öþ òàáëèöþ é ³íôîðìàö³þ ïðî âè- ëþâàííÿ, ÿêèé ìè ñôîðìóëþâàëè â ðîçä³ë³ 2. Íàãàäàºìî, ùî
êëàäàííÿ â îäíîìó êëàñ³ ê³ëüêîõ ó÷èòåë³â. Íàïðèêëàä, íà äëÿ ñòâîðåííÿ êëþ÷à ç ê³ëüêîõ ïîë³â ïîòð³áíî ó â³êí³ êîíñ-
ðèñ. 5.8, á çîáðàæåíî â³äîìîñò³ ïðî òå, ùî â 10À êëàñ³ âèêëà- òðóêòîðà òàáëèö³ âèä³ëèòè ¿õ óñ³, óòðèìóþ÷è êëàâ³øó Ctrl,
äàþòü â÷èòåë³ ç ïàñïîðòàìè CP 652320 òà ÑÎ 927453. Òàêèì ï³ñëÿ ÷îãî êëàöíóòè êíîïêó .
÷èíîì, äîïîì³æíà òàáëèöÿ äîçâîëèëà íàì çâ’ÿçàòè ó÷èòåëÿ ç

76 Розділ 5. Створення зв’язків між таблицями Створення зв’язку «багато-до-багатьох» 77


Ùîá çîáðàçèòè çâ’ÿçîê «ó÷èòåëü âèêëàäຠó êëàñ³» ãðàô³÷íî, ó ♦ Êîðáóò Âàñèëü Ïåòðîâè÷ âèêëàäຠâ 11À ³ 11Á êëàñàõ;
â³êí³ Схема данных íåîáõ³äíî ç’ºäíàòè êëþ÷³ òàáëèöü Учителі ♦ Òîì÷èøèí ³êòîð Ãåîðã³éîâè÷ âèêëàäຠâ 11À êëàñ³;
òà Класи ³ç â³äïîâ³äíèìè çîâí³øí³ìè êëþ÷àìè òàáëèö³ Викла-
дання. Âàðòî òàêîæ ïîäáàòè ïðî çàáåçïå÷åííÿ ö³ë³ñíîñò³ äàíèõ ♦ Ïåòðîâà ͳíà Âîëîäèìèð³âíà âèêëàäຠâ 10À, 11À ³ 11Á
êëàñàõ.
äëÿ öèõ çâ’ÿçê³â. Ó ðåçóëüòàò³ âè ìàºòå îòðèìàòè ñõåìó, ïîêà-
çàíó íà ðèñ. 5.9. Íîìåðè ïàñïîðò³â ó÷èòåë³â íå ââîäüòå ç êëàâ³àòóðè, à êîï³þéòå
ç òàáëèö³ Учителі.
Çîáðàç³òü çâ’ÿçîê ó â³êí³ Схема данных òà çàáåçïå÷òå ï³äòðèìêó
ö³ë³ñíîñò³ äàíèõ.

Створення зв’язку «один-до-одного»


Çâ’ÿçîê «îäèí-äî-îäíîãî», òàê ñàìî ÿê ³ çâ’ÿçîê «îäèí-äî-
áàãàòüîõ», ñòâîðþþòü ³ç âèêîðèñòàííÿì çîâí³øíüîãî êëþ÷à.
Àëå ó çâ’ÿçêó «îäèí-äî-îäíîãî» çîâí³øí³é êëþ÷ ìຠñïåöèô³÷-
íó âëàñòèâ³ñòü: éîãî çíà÷åííÿ íå ïîâèíí³ ïîâòîðþâàòèñÿ. Ùîá
Рис. 5.9. Зв’язок «багато-до-багатьох» на схемі даних ïîÿñíèòè öþ òåçó, çâåðí³ìîñÿ çíîâó äî ðèñ. 5.1, äå ïðî³ëþñòðî-
âàíî çâ’ÿçîê «îäèí-äî-áàãàòüîõ». Îäèí çàïèñ òàáëèö³ Класи ì³ã
ßê âèäíî ç ðèñ. 5.9, çâ’ÿçîê «áàãàòî-äî-áàãàòüîõ» ôàêòè÷íî
áóòè çâ’ÿçàíèé ç áàãàòüìà çàïèñàìè òàáëèö³ Учні ñàìå òîìó,
ÿâëÿº ñîáîþ äâà çâ’ÿçêè «îäèí-äî-áàãàòüîõ», ó ÿêèõ ç áîêó «áà-
ùî â òàáëèö³ Учні çíà÷åííÿ çîâí³øíüîãî êëþ÷à ìîãëè ïîâòî-
ãàòî» ðîçòàøîâàíî äîïîì³æíó òàáëèöþ. Öå ñïðàâåäëèâî íå ëè-
ðþâàòèñÿ (íàïðèêëàä, çíà÷åííÿ 11Б íà ðèñ. 5.1 ó òàáëèö³ Учні
øå äëÿ çâ’ÿçêó «ó÷èòåëü âèêëàäຠó êëàñ³», à é äëÿ áóäü-ÿêîãî
ìè áà÷èìî äâ³÷³). ßêùî çàáîðîíèòè òàê³ ïîâòîðè, òî êîæåí
çâ’ÿçêó òèïó «áàãàòî-äî-áàãàòüîõ». Îòæå, ñôîðìóëüîâàíå âèùå
êëàñ áóäå çâ’ÿçàíèé íå á³ëüøå, í³æ ç îäíèì ó÷íåì, òîáòî ìè
ïðàâèëî ïîáóäîâè çâ’ÿçêó «áàãàòî-äî-áàãàòüîõ» ìîæíà ïåðåôðà-
ðåàë³çóºìî çâ’ÿçîê «îäèí-äî-îäíîãî».
çóâàòè òàê.
Ùîá ñòâîðèòè ì³æ òàáëèöÿìè À ³  çâ’ÿçîê «áàãàòî-äî-áàãà- ²ñíóº äâà ñïîñîáè ãàðàíòóâàòè çàçíà÷åíó âëàñòèâ³ñòü çîâí³ø-
òüîõ», íåîáõ³äíî ñòâîðèòè äîïîì³æíó òàáëèöþ Ñ ³ ïðèºäíàòè íüîãî êëþ÷à.
äî íå¿ òàáëèö³ À ³  çâ’ÿçêàìè «îäèí-äî-áàãàòüîõ». 1. Ââàæàòè, ùî ïåðâèííèé êëþ÷ º òàêîæ çîâí³øí³ì. Íàãàäà-
ºìî, ùî íåïîâòîðåííÿ çíà÷åíü — öå îñíîâíà âëàñòèâ³ñòü
Завдання 5.3 ïåðâèííîãî êëþ÷à, ³ ÿêùî éîãî ââàæàòè çîâí³øí³ì, îòðè-
ìàºìî ñàìå òå, ùî ïîòð³áíî äëÿ çâ’ÿçêó «îäèí-äî-îäíîãî».
Ïðîìîäåëþéòå â áàç³ äàíèõ школа çâ’ÿçîê «ó÷èòåëü âèêëàäຠâ
êëàñ³»: ñòâîð³òü òàáëèöþ Викладання ç çîâí³øí³ìè êëþ÷àìè 2. Ñòâîðèòè äëÿ çîâí³øíüîãî êëþ÷à äîäàòêîâå ïîëå ³ çðîáèòè
учитель ³ клас, òèïè ÿêèõ ìàþòü áóòè òàêèìè æ, ÿê òèïè éîãî ³íäåêñîâàíèì áåç ïîâòîðåíü. ²íäåêñîâàí³ ïîëÿ — öå
ïåðâèííèõ êëþ÷³â òàáëèöü Учителі ³ Класи. Óâåä³òü òàê³ äàí³: ò³, çà çíà÷åííÿìè ÿêèõ ÑÊÁÄ øóêຠçàïèñè â òàáëèö³.
Ùîá ÑÊÁÄ ìîãëà â³äð³çíèòè îäèí çàïèñ â³ä ³íøîãî, ðîçðîá-
♦ Ñîøêî Êàòåðèíà Ìèêîëà¿âíà âèêëàäຠó 10À òà 11À êëàñàõ; íèêó íàäàíî ìîæëèâ³ñòü çàáîðîíÿòè ïîâòîðåííÿ çíà÷åíü
♦ Ìèõàéëþê Äìèòðî Ñåìåíîâè÷ âèêëàäຠâ 11Á êëàñ³; ³íäåêñîâàíîãî ïîëÿ — ñàìå öèì ìè ³ ñêîðèñòàºìîñÿ.

78 Розділ 5. Створення зв’язків між таблицями Створення зв’язку «один-до-одного» 79


Äëÿ äîïèòëèâèõ. ²íäåêñîâàí³ ïîëÿ, àáî ïîëÿ ç ³íäåêñàìè, —
îäèí ³ç íàéâàæëèâ³øèõ ìåõàí³çì³â ðåëÿö³éíèõ ÑÊÁÄ, ÿêèé
äîçâîëÿº êàðäèíàëüíî ïðèñêîðèòè ïîøóê äàíèõ. ²íäåêñ —
öå â³äñîðòîâàíà ïîñë³äîâí³ñòü çíà÷åíü îäíîãî àáî ê³ëüêîõ ïî-
ë³â. ßêáè ³íäåêñ³â íå áóëî, òî äëÿ ïîøóêó çàäàíîãî çíà÷åííÿ
ó ïåâíîìó ïîë³ ñèñòåì³ äîâåëîñÿ á ïåðåâ³ðÿòè âñþ òàáëèöþ,
ùî íåð³äêî ì³ñòèòü ì³ëüéîíè çàïèñ³â. Àëå â³äñîðòîâàí³ñòü
³íäåêñó äîçâîëÿº çíàõîäèòè çàäàíå çíà÷åííÿ ñåðåä ì³ëüéîíà
³íøèõ óñüîãî çà äîïîìîãîþ 20 îïåðàö³é ïîð³âíÿííÿ.

ϳä ÷àñ ïîáóäîâè çâ’ÿçêó «îäèí-äî-áàãàòüîõ», íàãàäàºìî, çîâ-


í³øí³é êëþ÷ ìè ñòâîðþâàëè â ò³é òàáëèö³, ùî ðîçòàøîâàíà ç
áîêó «áàãàòî». Êîëè æ ³äåòüñÿ ïðî çâ’ÿçîê «îäèí-äî-îäíîãî»,
çîâí³øí³é êëþ÷ ìîæíà ñòâîðþâàòè â áóäü-ÿê³é òàáëèö³.
Ðîçãëÿíåìî çâ’ÿçîê «ó÷èòåëü º êëàñíèì êåð³âíèêîì» ³ ïðèïóñ-
òèìî, ùî çîâí³øí³é êëþ÷ ì³ñòèòèìåòüñÿ â òàáëèö³ Класи. Âè- Рис. 5.10. Визначення параметрів зовнішнього ключа
çíà÷èìî, ó ÿêèé ñïîñ³á éîãî êðàùå ñòâîðèòè: ââàæàòè çîâí³ø- для зв’язку «один-до-одного»
í³ì ïåðâèííèé êëþ÷ (ïîëå назва) ÷è ñòâîðèòè äëÿ íüîãî äîäà- òó òàáëèöþ, íà ÿêó ïåðåòÿãóþòü ïîëå, à ãîëîâíîþ — òó, ç ÿêî¿
òêîâå ïîëå. ßêùî îáðàòè ïåðøèé ñïîñ³á, òî çíà÷åííÿ ç ïîëÿ òÿãíóòü. Òàê, âàì ïîòð³áíî ïåðåòÿãíóòè ïîëå паспорт òàáëèö³
назва ìàþòü ì³ñòèòèñÿ ³ â ïîë³ паспорт òàáëèö³ Учителі, ùî Учителі íà ïîëå класний керівник òàáëèö³ Класи. ßêùî
ñóïåðå÷èòü çäîðîâîìó ãëóçäó. Îòæå, çîâí³øí³é êëþ÷ ìîæå ðîç- âñòàíîâèòè ïðàïîðåöü Обеспечение целостности данных, òî âè
ì³ùóâàòèñÿ ëèøå â äîäàòêîâîìó ïîë³. ïîáà÷èòå á³ëÿ ê³íö³â çâ’ÿçêó ñèìâîëè «1» ³ Microsoft Access
ßêùî çîâí³øí³é êëþ÷ ñòâîðþâàòè â òàáëèö³ Учителі, âèñíîâîê ï³äòðèìóâàòèìå îáìåæåííÿ ö³ë³ñíîñò³, òîáòî íå äîçâîëÿòèìå
áóäå òîé ñàìèé: ïîëå паспорт íå ìîæå ì³ñòèòè íàçâ êëàñ³â, à ââîäèòè â ïîëå класний керівник òàáëèö³ Класи çíà÷åííÿ,
îòæå, áóòè çîâí³øí³ì êëþ÷åì. ÿê³ íå º íîìåðàìè ïàñïîðò³â ó÷èòåë³â, ïðåäñòàâëåíèõ ó òàáëèö³
Учителі. Çàãàëîì ñõåìà äàíèõ íàáóäå òàêîãî âèãëÿäó, ÿê íà
Òàêèì ÷èíîì, äëÿ çîâí³øíüîãî êëþ÷à â îäí³é ³ç òàáëèöü íåîá-
ðèñ. 5.11.
õ³äíî ñòâîðèòè äîäàòêîâå ïîëå. Íåõàé öå áóäå òàáëèöÿ Класи, à
ïîëå íàçèâàòèìåòüñÿ класний керівник. Êîëè âè ñòâîðþâàòè-
ìåòå öå ïîëå â ðåæèì³ êîíñòðóêòîðà òàáëèö³, â îáëàñò³ âëàñòè- Завдання 5.4
âîñòåé ïîëÿ ç³ ñïèñêó Индексированное поле ñë³ä âèáðàòè åëå- Ïðîìîäåëþéòå â áàç³ äàíèõ школа çâ’ÿçîê «ó÷èòåëü º êëàñíèì
ìåíò Да (совпадения не допускаются) — ñàìå öå äîçâîëèòü ñòâî- êåð³âíèêîì», ñòâîðèâøè ó òàáëèö³ Класи çîâí³øí³é êëþ÷ кла-
ðèòè çâ’ÿçîê òèïó «îäèí-äî-îäíîãî» (ðèñ. 5.10). сний керівник òà çðîáèâøè éîãî ³íäåêñîâàíèì ïîëåì áåç ïî-
Êîëè â Microsoft Access íà ñõåì³ äàíèõ â³äîáðàæàþòü çâ’ÿçîê âòîðåíü. Óâåä³òü òàê³ äàí³:
«îäèí-äî-îäíîãî», ïåðâèííèé êëþ÷ ïîòð³áíî ïåðåòÿãóâàòè íà ♦ Ñîøêî Êàòåðèíà Ìèêîëà¿âíà — êëàñíèé êåð³âíèê 10À
çîâí³øí³é, à íå íàâïàêè, îñê³ëüêè ÑÊÁÄ ââàæàòèìå çâ’ÿçàíîþ êëàñó;

80 Розділ 5. Створення зв’язків між таблицями Створення зв’язку «один-до-одного» 81


♦ Ïåòðîâà ͳíà Âîëîäèìèð³âíà — êëàñíèé êåð³âíèê 11À Çàäàìîñÿ ïèòàííÿì: êîëè çàïèñ íå áåðå ó÷àñò³ ó çâ’ÿçêó, ÿêèì
êëàñó; áóäå çíà÷åííÿ çîâí³øíüîãî êëþ÷à â öüîìó çàïèñ³? Î÷åâèäíî,
♦ Êîðáóò Âàñèëü Ïåòðîâè÷ — êëàñíèé êåð³âíèê 11Á êëàñó. ùî âîíî ìຠáóòè ïîðîæí³ì. Îòæå, ùîá çàáåçïå÷èòè îáîâ’ÿç-
êîâ³ñòü ó÷àñò³ çàïèñ³â ïåâíî¿ òàáëèö³ ó çâ’ÿçêó, ñë³ä ãàðàíòóâà-
Çîáðàç³òü çàçíà÷åíèé çâ’ÿçîê ó â³êí³ Схема данных òà çàáåçïå÷-
òè, ùî ¿¿ çîâí³øí³é êëþ÷ íå ì³ñòèòèìå Null-çíà÷åíü. Äëÿ öüîãî
òå ï³äòðèìêó ö³ë³ñíîñò³ äàíèõ.
ïàðàìåòðó Обязательное поле çîâí³øíüîãî êëþ÷à ñë³ä íàäàòè
çíà÷åííÿ Да (â³êíî ïàðàìåòð³â ïîêàçàíî íà ðèñ. 5.10).

Äëÿ äîïèòëèâèõ. ßêùî çâ’ÿçîê «îäèí-äî-îäíîãî» îáîâ’ÿç-


êîâèé ç áîêó ÿêî¿ñü òàáëèö³, òî ñàìå â í³é ïîòð³áíî ñòâîðþ-
âàòè çîâí³øí³é êëþ÷. Íàïðèêëàä, ùîá ó÷àñòü çàïèñ³â òàáëè-
ö³ Клас ó çâ’ÿçêó «ó÷èòåëü º êëàñíèì êåð³âíèêîì» áóëà
îáîâ’ÿçêîâîþ, ó ö³é òàáëèö³ ñë³ä ñòâîðèòè çîâí³øí³é êëþ÷
класний керівник ³ çðîáèòè öå ïîëå îáîâ’ÿçêîâèì — òîä³
éîãî çíà÷åííÿ íå çìîæóòü áóòè ïîðîæí³ìè, à îòæå, êîæåí
êëàñ ïîâèíåí áóäå ìàòè êëàñíîãî êåð³âíèêà. ßêáè ìè ñòâî-
ðþâàëè çîâí³øí³é êëþ÷ ó òàáëèö³ Учителі, òî îáîâ’ÿçêîâîþ
ìîãëè á çðîáèòè ò³ëüêè ó÷àñòü ó çâ’ÿçêó â÷èòåë³â, ùî áóëî á
Рис. 5.11. Схема бази даних школа íåëîã³÷íèì, àäæå íå êîæåí ó÷èòåëü ïîâèíåí áóòè êëàñíèì
êåð³âíèêîì.
Çâ’ÿçêè «îäèí-äî-áàãàòüîõ», çà äîïîìîãîþ ÿêèõ ìîäåëþþòü
Реалізація концепцій поглибленого çâ’ÿçîê «áàãàòî-äî-áàãàòüîõ», âàðòî ðîáèòè îáîâ’ÿçêîâèìè ç
• áîêó äîïîì³æíî¿ òàáëèö³, îñê³ëüêè êîæåí ¿¿ çàïèñ îáîâ’ÿç-
семантичного моделювання êîâî â³äïîâ³äຠäâîì çàïèñàì îñíîâíèõ òàáëèöü.
Ó ðîçä³ë³ 3 ìè ðîçãëÿíóëè òàê³ êîíöåïö³¿, ÿê îáîâ’ÿçêîâ³ñòü
çâ’ÿçê³â, ñëàáê³ ñóòíîñò³, çâ’ÿçêè «º», çâ’ÿçêè ì³æ ê³ëüêîìà
ñóòíîñòÿìè òà çâ’ÿçêè ñóòíîñòåé ñàìèõ ³ç ñîáîþ. Äëÿ ¿õ ðåàë³- Завдання 5.5•
çàö³¿ ó ÑÊÁÄ íå ïîòð³áíî í³ÿêèõ äîäàòêîâèõ çàñîá³â, êð³ì òèõ,
ÿê³ ìè âæå âèâ÷èëè, îäíàê ñïîñ³á ¿õ çàñòîñóâàííÿ ìຠïåâí³ Ó áàç³ äàíèõ школи çàáåçïå÷òå îáîâ’ÿçêîâ³ñòü çâ’ÿçêó «ó÷åíü
îñîáëèâîñò³. â÷èòüñÿ ó êëàñ³» ç áîêó òàáëèö³ Учні òà çâ’ÿçê³â «â÷èòåëü º êëà-
ñíèì êåð³âíèêîì» ³ «øêîëà ì³ñòèòü êëàñ» ç áîêó òàáëèö³ Класи.
Обов’язковість зв’язків•
Слабкі сутності•
Íàãàäàºìî, ùî çâ’ÿçîê íàçèâàºòüñÿ îáîâ’ÿçêîâèì ç áîêó ïåâíî¿
ñóòíîñò³, ÿêùî âñ³ îá’ºêòè ö³º¿ ñóòíîñò³ ïîâèíí³ áðàòè ó÷àñòü ó ßê çàçíà÷àëîñÿ â ðîçä³ë³ 3, ñëàáêîþ íàçèâàºòüñÿ ñóòí³ñòü, ÷àñ-
çâ’ÿçêó. Íàïðèêëàä, ó÷åíü ïîâèíåí â÷èòèñÿ ó äåÿêîìó êëàñ³, à òèíà êëþ÷à ÿêî¿ ñêëàäàºòüñÿ ç àòðèáóò³â ³íøî¿ ñóòíîñò³. Ö³
êëàñ ïîâèíåí ìàòè êëàñíîãî êåð³âíèêà (äèâ. ðèñ. 3.2). àòðèáóòè ïîâòîðþâàòèìóòüñÿ â îáîõ ñóòíîñòÿõ ³, ÿê íåâàæêî


82 Розділ 5. Створення зв’язків між таблицями Реалізація концепцій поглибленого семантичного моделювання 83
ïîì³òèòè, ñòàíîâèòèìóòü çîâí³øí³é êëþ÷ ï³äòðèìóâàëüíîãî Зв’язок «є»•
çâ’ÿçêó ó ñëàáê³é ñóòíîñò³. Îòæå, ñëàáêà ñóòí³ñòü ìຠòàêó âëà-
ñòèâ³ñòü, ùî ÷àñòèíà ¿¿ êëþ÷à º çîâí³øí³ì êëþ÷åì. Òàê, íà Çâ’ÿçîê «º», íàãàäàºìî, ñòâîðþþòü ì³æ ñóòí³ñòþ-çàãàëüíèì
ðèñ. 5.12, à çîáðàæåíî ñëàáêó ñóòí³ñòü Класи òà ï³äòðèìóâàëü- òèïîì ³ ñóòí³ñòþ-ð³çíîâèäîì. Íàïðèêëàä, äèðåêòîð — öå ð³çíî-
íèé çâ’ÿçîê ¿¿ ç ñóòí³ñòþ Школи, à íà ðèñ. 5.12, á — ðåàë³çàö³ÿ âèä ó÷èòåëÿ, à ó÷èòåëü — á³ëüø çàãàëüíèé, í³æ äèðåêòîð, òèï
ö³º¿ êîíñòðóêö³¿ â ñõåì³ äàíèõ. Êëþ÷ ñëàáêî¿ ñóòíîñò³ — öå ïåäàãîã³÷íîãî ïðàö³âíèêà (ðèñ. 5.13, à). Öåé çâ’ÿçîê çàâæäè
ïàðà àòðèáóò³â назва (êëàñó) òà назва школи, à çîâí³øí³é ìຠìíîæèíí³ñòü «îäèí-äî-îäíîãî» ³ îáîâ’ÿçêîâèé ç áîêó ñóòíî-
êëþ÷ — àòðèáóò назва школи. ñò³-ð³çíîâèäó.
Îñíîâíà ïåðåâàãà âèêîðèñòàííÿ çâ’ÿçê³â «º» ïîëÿãຠâ òîìó,
ùî ñóòí³ñòü-ð³çíîâèä àâòîìàòè÷íî «óñïàäêîâóº» âñ³ àòðèáóòè
ñóòíîñò³-çàãàëüíîãî òèïó ³ ¿õ íå ïîòð³áíî âêàçóâàòè â ñóòíîñò³-
1 ∞ ð³çíîâèä³. Ó òàáëèö³, ùî ïðåäñòàâëÿº ñóòí³ñòü-ð³çíîâèä, äîñòàò-
Øêîëà ì³ñòèòü Êëàñ íüî ñòâîðèòè ëèøå êëþ÷, ÿêèé ïîâòîðþâàòèìå êëþ÷ òàáëèö³,
ùî ïðåäñòàâëÿº ñóòí³ñòü-çàãàëüíèé òèï (ðèñ. 5.13, á). Íàïðèê-
íàçâà * íàçâà * ëàä, ó÷èòåëü Ìèõàéëþê Äìèòðî Ñåìåíîâè÷ º äèðåêòîðîì. Ó
òàáëèö³ Директори ìè çàïèñóºìî ò³ëüêè íîìåð éîãî ïàñïîðòà, à
àäðåñà íàçâà øêîëè *
â òàáëèö³ Учителі — ïîâíó ³íôîðìàö³þ. Ôàêòè÷íî çà äîïîìî-
ãîþ òàáëèö³ Директори ìè ëèøå ïîçíà÷àºìî äåÿêèõ ó÷èòåë³â:
а «â³í º äèðåêòîðîì».
Î÷åâèäíî, ùî äëÿ ðåàë³çàö³¿ çâ’ÿçêó «îäèí-äî-îäíîãî» òèïó «º»
ïîòð³áíî ââàæàòè ïåðâèííèé êëþ÷ òàáëèö³-ð³çíîâèäó çîâí³ø-
í³ì êëþ÷åì. À îòæå, ìîäåëþþ÷è öåé çâ’ÿçîê â MS Access, íà
ñõåì³ äàíèõ ñë³ä ïåðåòÿãíóòè êëþ÷ òàáëèö³-çàãàëüíîãî òèïó
(íàïðèêëàä, òàáëèö³ Учителі) íà êëþ÷ òàáëèö³-ð³çíîâèäó (íà-
ïðèêëàä, òàáëèö³ Директори). Íà ñõåì³ äàíèõ çâ’ÿçîê «º» âè-
ãëÿäàòèìå, ÿê ïîêàçàíî íà ðèñ. 5.13, â.
б
Завдання 5.7•
Рис. 5.12. Слабкі сутності: а — на моделі «сутність-зв’язок»;
б — на схемі даних Ó áàç³ äàíèõ школи ñòâîð³òü çâ’ÿçîê ì³æ òàáëèöÿìè Директори
òà Учителі, à òàêîæ Директори ³ Школи (äèâ. ðèñ. 3.11). Âêà-
æ³òü, ùî Ìèõàéëþê Äìèòðî Ñåìåíîâè÷ º äèðåêòîðîì Ñîì³âñü-
Завдання 5.6• êî¿ ã³ìíà糿, à Òîì÷èøèí ³êòîð Ãåîðã³éîâè÷ — äèðåêòîðîì
ÇÎØ ¹77.
Ó áàç³ äàíèõ школи ñòâîð³òü òàêèé çâ’ÿçîê ì³æ òàáëèöÿìè Кла-
си òà Школи, ÿê ïîêàçàíî íà ðèñ. 5.12, á. Äëÿ êîæíîãî êëàñó
Зв’язок між кількома сутностями•
âêàæ³òü, ùî â³í íàëåæèòü îäí³é ç òèõ øê³ë, çàïèñè ÿêèõ âè
ñòâîðþâàëè ó çàâäàíí³ 4.5. Êð³ì òîãî ñòâîð³òü äðóãèé 10À êëàñ, Çâ’ÿçîê ì³æ ê³ëüêîìà ñóòíîñòÿìè çàâæäè ìîäåëþþòü çà äîïî-
ÿêèé ìຠíàëåæàòè ³íø³é øêîë³, í³æ óæå ñòâîðåíèé 10À. ìîãîþ äîïîì³æíî¿ òàáëèö³ íåçàëåæíî â³ä òîãî, ÿêó â³í ìàº


84 Розділ 5. Створення зв’язків між таблицями Реалізація концепцій поглибленого семантичного моделювання 85
1 ìíîæèíí³ñòü. ßê ³ äëÿ çâ’ÿçêó «áàãàòî-äî-áàãàòüîõ», ó ö³é òàá-
1
Ó÷èòåëü º Äèðåêòîð ëèö³ ñòâîðþþòü çîâí³øí³ êëþ÷³ ³ ç’ºäíóþòü ¿¿ á³íàðíèìè
çâ’ÿçêàìè ç òàáëèöÿìè, ùî áåðóòü ó÷àñòü ó çâ’ÿçêó (ðèñ. 5.14).
ïàñïîðò * ßêùî ìíîæèíí³ñòü òåðíàðíîãî çâ’ÿçêó ç óñ³õ áîê³â ñòàíîâèòü
«áàãàòî», òî ïåðâèííèé êëþ÷ äîïîì³æíî¿ òàáëèö³ ñêëàäàòè-
ïð³çâèùå
ìåòüñÿ ç óñ³õ ¿¿ çîâí³øí³õ êëþ÷³â, à á³íàðí³ çâ’ÿçêè, ùî
³ì’ÿ ç’ºäíóþòü ¿¿ ç îñíîâíèìè òàáëèöÿìè, ìàòèìóòü ìíîæèíí³ñòü
«îäèí-äî-áàãàòüîõ» (ðèñ. 5.14). Óñ³ ³íø³ òèïè òåðíàðíèõ
ïî áàòüêîâ³ çâ’ÿçê³â ³ çâ’ÿçê³â âèùèõ ñòåïåí³â ìè íå ðîçãëÿäàòèìåìî, îä-
íàê âè ìîæåòå ïîì³ðêóâàòè íàä ¿õ ìîäåëþâàííÿì ñàìîñò³éíî
ñòàòü (äèâ. ïèòàííÿ äëÿ ðîçäóì³â 5).

ñïåö³àëüí³ñòü

Рис. 5.14. Тернарний зв’язок


б
Завдання 5.8•
Ó áàç³ äàíèõ школи ñòâîð³òü òåðíàðíèé çâ’ÿçîê ì³æ òàáëèöÿìè
Учителі, Предмети òà Класи çã³äíî ç ðèñ. 5.14. Óâåä³òü ³íôîð-
ìàö³þ ïðî òå, ùî êîæåí ó÷èòåëü âèêëàäຠòîé ïðåäìåò, ç ÿêîãî
â³í ìຠñïåö³àëüí³ñòü, ó êëàñàõ, çàçíà÷åíèõ ó çàâäàíí³ 5.3. Êð³ì
òîãî, âêàæ³òü, ùî Ê.Ì. Ñîøêî âèêëàäຠâ 11À êëàñ³ õ³ì³þ.

Зв’язок сутності самої з собою•


ª ê³ëüêà ñïîñîá³â ìîäåëþâàííÿ çâ’ÿçêó ñóòíîñò³ ñàìî¿ ç ñîáîþ ó
в
ÑÊÁÄ, á³ëüø ÷è ìåíø âäàëèõ ç îãëÿäó íà òå, ñê³ëüêè îáìåæåíü
Рис. 5.13. Зв’язок «є»: а — у моделі «сутність-зв’язок»; ö³ë³ñíîñò³ âîíè äîçâîëÿþòü ï³äòðèìóâàòè. Ó ðîçä³ë³ 3 ìè ïîáó-
б — промодельований даними; в — на схемі даних äóâàëè çâ’ÿçîê «øëþá», ÿêèé çîáðàæåíî íà ðèñ. 5.15, à. Ç íèì


86 Розділ 5. Створення зв’язків між таблицями Реалізація концепцій поглибленого семантичного моделювання 87
ïîâ’ÿçàí³ òàê³ îáìåæåííÿ ö³ë³ñíîñò³, ÿê ìíîæèíí³ñòü «îäèí-äî- çàïèñó Í.Â. Ïåòðîâî¿ ââåñòè íîìåð ïàñïîðòà Â.Ï. Êîðáóòà, à
îäíîãî» òà ð³çíà ñòàòü ó÷èòåë³â, ùî áåðóòü ó÷àñòü ó çâ’ÿçêó. ïîëå подружжя Â.Ï. Êîðáóòà — íîìåð ïàñïîðòà Í.Â. Ïåòðîâî¿
(ðèñ. 5.15, â).

1 Ðîçãëÿíóòèé ñïîñ³á ìîäåëþâàííÿ çâ’ÿçêó «øëþá» íå ãàðàíòóº,


îäíàê, ùî ñòàòü ÷îëîâ³êà ³ æ³íêè áóäå ð³çíîþ. Ùîá çàáåçïå÷èòè
Ó÷èòåëü Øëþá äîòðèìàííÿ öüîãî îáìåæåííÿ ö³ë³ñíîñò³, ìîæíà ñòâîðèòè äâ³
òàáëèö³: Учителі-жінки òà Учителі-чоловіки, ç’ºäíàòè ¿õ îäíå
ç îäíèì òà ç òàáëèöåþ ó÷èòåë³â (ðèñ. 5.16). Çâ’ÿçêè ì³æ òàáëè-
1
öÿìè Учителі-жінки ³ Учителі, à òàêîæ Учителі-чоловіки ³
Учителі áóäóòü çâ’ÿçêàìè «º»: ó÷èòåëü-æ³íêà º ó÷èòåëåì, òàê
а б ñàìî, ÿê ³ ó÷èòåëü-÷îëîâ³ê. Çàóâàæòå, ùî ïîëå стать çà òàêî¿
ðåàë³çàö³¿ áóäå çàéâèì, àäæå ñòàòü ó÷èòåëÿ âèçíà÷àòèìåòüñÿ
òèì, ó ÿê³é òàáëèö³ âêàçàíî éîãî ïàñïîðò: ÷îëîâ³ê³â ÷è æ³íîê.

Рис. 5.15. Зв’язок сутності самої з собою: а — у моделі


«сутність-зв’язок»; б — на схемі даних; в — зв’язок між об’єктами

Íàéïðîñò³øèé ñïîñ³á éîãî ðåàë³çàö³¿ — ùå ðàç äîäàòè òàáëèöþ Рис. 5.16. Зв’язок «шлюб», промодельований шляхом створення
Учителі äî ñõåìè äàíèõ (¿¿ äðóãèé åêçåìïëÿð áóäå àâòîìàòè÷íî двох нових сутностей
íàçâàíî Учителі_1) òà çâ’ÿçàòè äâà åêçåìïëÿðè ö³º¿ òàáëèö³
çâ’ÿçêîì «îäèí-äî-îäíîãî». Ó òàáëèö³ Учителі ìîæíà ñòâîðèòè
çîâí³øí³é êëþ÷, íàçâåìî éîãî подружжя, çðîáèòè éîãî ³íäåêñî- Äëÿ äîïèòëèâèõ. Äðóãèé ï³äõ³ä äî ìîäåëþâàííÿ çâ’ÿçêó
«øëþá» òåæ ìຠíåäîë³êè, àäæå, íàïðèêëàä, í³ùî íå çàáî-
âàíèì ïîëåì áåç ïîâòîðåíü òà çâ’ÿçàòè ç ïåðâèííèì êëþ÷åì
ðîíÿº âíåñòè îäíîãî òîãî ñàìîãî â÷èòåëÿ ³ äî òàáëèö³ ÷îëîâ³-
³íøîãî åêçåìïëÿðà ö³º¿ æ òàáëèö³ (ðèñ. 5.15, á). Çàóâàæòå, ùî
ê³â, ³ äî òàáëèö³ æ³íîê âîäíî÷àñ. Ùîáè ïîâí³ñòþ àäåêâàòíî
Учителі_1 — öå íå íîâà òàáëèöÿ, à ïðîñòî íàçâà äðóãîãî ïî-
çìîäåëþâàòè çâ’ÿçîê ñóòíîñò³ ñàìî¿ ç ñîáîþ, ñë³ä ñêîðèñòàòè-
äàííÿ òàáëèö³ Учителі íà ñõåì³ äàíèõ.
ñÿ çàñîáàìè, âèâ÷åííÿ ÿêèõ âèõîäèòü çà ìåæ³ øê³ëüíîãî
Ùîá ïîêàçàòè, ñêàæ³ìî, ùî Ïåòðîâà ͳíà Âîëîäèìèð³âíà º êóðñó ³íôîðìàòèêè.
äðóæèíîþ Êîðáóòà Âàñèëÿ Ïåòðîâè÷à, ñë³ä ó ïîëå подружжя


88 Розділ 5. Створення зв’язків між таблицями Реалізація концепцій поглибленого семантичного моделювання 89
Завдання 5.9• Завдання для самостійного виконання
1. Ó áàç³ äàíèõ школи ñòâîð³òü çâ’ÿçîê «øëþá» ì³æ ó÷èòåëåì Ó áàçàõ äàíèõ, ñòâîðåíèõ âàìè ó çàâäàíí³ äëÿ ñàìîñò³éíîãî
òà ó÷èòåëåì øëÿõîì äîäàâàííÿ äðóãîãî åêçåìïëÿðà òàáëè- âèêîíàííÿ ç ðîçä³ëó 4, ðåàë³çóéòå çâ’ÿçêè ì³æ òàáëèöÿìè â³ä-
ö³ Учителі äî ñõåìè äàíèõ. Âêàæ³òü, ùî Êîðáóò Âàñèëü ïîâ³äíî äî ìîäåëåé «ñóòí³ñòü-çâ’ÿçîê», ñïðîåêòîâàíèõ ó ðîçä³-
Ïåòðîâè÷ îäðóæåíèé íà Ïåòðîâ³é Í³í³ Âîëîäèìèð³âí³. ëàõ 2 ³ 3. Óâåä³òü äàí³ ïðî çâ’ÿçêè ì³æ ê³ëüêîìà îá’ºêòàìè â
2. Ñòâîð³òü êîï³þ áàçè äàíèõ школи, à â í³é — çâ’ÿçîê êîæí³é ÁÄ.
«øëþá» ì³æ ó÷èòåëåì òà ó÷èòåëåì øëÿõîì ñòâîðåííÿ òàá-
ëèöü Учителі-жінки òà Учителі-чоловіки çã³äíî ç ðèñ.
5.16. Âêàæ³òü, ùî Êîðáóò Âàñèëü Ïåòðîâè÷ îäðóæåíèé íà Питання для роздумів
Ïåòðîâ³é Í³í³ Âîëîäèìèð³âí³. 1. Ïðèïóñòèìî, ùî â áàç³ äàíèõ школа ì³ñòÿòüñÿ â³äîìîñò³
ïðî 20 ó÷í³â 11À êëàñó ³ 20 ó÷í³â 11Á êëàñó, àëå íàçâè
Висновки êëàñ³â ïåðåïëóòàëè, ³ âñ³õ ó÷í³â 11À êëàñó çàïèñàëè â 11Á,
à ó÷í³â 11Á êëàñó — â 11À. Âêàæ³òü, ÿê âèïðàâèòè ïîìèë-
♦ Çîâí³øí³é êëþ÷ — öå ïîëå àáî íàá³ð ïîë³â, çíà÷åííÿ ÿêèõ êó, çì³íèâøè äàí³ â çàïèñàõ ëèøå òðè÷³. Ââàæàòèìåìî, ùî
ïîâèíí³ íàëåæàòè ìíîæèí³ çíà÷åíü ïåðâèííîãî êëþ÷à äå- äàíèõ ïðî â÷èòåë³â ó áàç³ íåìàº.
ÿêî¿ ³íøî¿ òàáëèö³. Êàæóòü, ùî çîâí³øí³é êëþ÷ ïîñèëà- 2*. Îïèø³òü àëãîðèòì, ÿêèé äîçâîëÿòèìå çà äîïîìîãîþ 20
ºòüñÿ íà òàáëèöþ, çíà÷åííÿ êëþ÷à ÿêî¿ â³í ì³ñòèòü. Çîâ- îïåðàö³é ïîð³âíÿííÿ çíàéòè çàïèñ ³ç çàäàíèì çíà÷åííÿì
í³øí³ êëþ÷³ âèêîðèñòîâóþòü äëÿ ìîäåëþâàííÿ çâ’ÿçê³â ³íäåêñîâàíîãî ïîëÿ ó òàáëèö³, ùî ì³ñòèòü 1 000 000 çàïè-
ì³æ òàáëèöÿìè òà îêðåìèìè îá’ºêòàìè. ñ³â. Íàãàäàºìî, ùî ³íäåêñ — öå âïîðÿäêîâàíà ïîñë³äîâ-
♦ ßêùî ïåâí³ äâ³ òàáëèö³ ç’ºäíàí³ çâ’ÿçêîì, òî òà, ÿêà ì³ñ- í³ñòü çíà÷åíü ïîëÿ.
òèòü çîâí³øí³é êëþ÷, íàçèâàºòüñÿ çâ’ÿçàíîþ, à ³íøà — ãî- 3*. Çâ’ÿçêè «îäèí-äî-îäíîãî» ìàéæå í³êîëè íå ðîáëÿòü îáî-
ëîâíîþ. â’ÿçêîâèìè ç îáîõ áîê³â. Ïîÿñí³òü, ÷îìó ñàìå. ßê³ íåãàðàç-
♦ Ùîá ðåàë³çóâàòè çâ’ÿçîê «îäèí-äî-áàãàòüîõ» (êîæíîìó îá’ºê- äè ñïðè÷èíèâ áè òàêèé çâ’ÿçîê?
òó A ìîæå â³äïîâ³äàòè áàãàòî îá’ºêò³â B, àëå êîæíîìó îá’ºêòó
4*. Íàâåä³òü ïðèêëàä äâîõ ñóòíîñòåé ç áóäü-ÿêî¿ ïðåäìåòíî¿
B — ëèøå îäèí îá’ºêò A), ïîòð³áíî â òàáëèö³ B ñòâîðèòè çîâ-
îáëàñò³, ì³æ ÿêèìè ³ñíóº çâ’ÿçîê «îäèí-äî-îäíîãî», ùî ðåà-
í³øí³é êëþ÷, ùî ïîñèëàòèìåòüñÿ íà òàáëèöþ A.
ë³çóºòüñÿ çà äîïîìîãîþ ç’ºäíàííÿ ïåðâèííèõ êëþ÷³â, àëå
♦ Ùîá çìîäåëþâàòè ì³æ òàáëèöÿìè À ³  çâ’ÿçîê «áàãàòî-äî- öå íå çâ’ÿçîê «º».
áàãàòüîõ», ïîòð³áíî ñòâîðèòè äîäàòêîâó òàáëèöþ Ñ, à â
5*. Ïðèïóñòèìî, ùî â îäèí äåíü òðàìâàéíèé âàãîí êóðñóº îä-
í³é — äâà çîâí³øí³õ êëþ÷³, ùî ïîñèëàòèìóòüñÿ íà òàáëè-
íèì ìàðøðóòîì, àëå â ð³çí³ äí³ ìîæå êóðñóâàòè ð³çíèìè.
ö³ À ³ Â. ²íàêøå êàæó÷è, äî òàáëèö³ Ñ ñë³ä ïðèºäíàòè òàá-
Òîä³ ì³æ ñóòíîñòÿìè Трамвайний вагон, День ³ Маршрут
ëèö³ À ³ Â çâ’ÿçêàìè «îäèí-äî-áàãàòüîõ».
³ñíóº òåðíàðíèé çâ’ÿçîê. Âèçíà÷òå ìíîæèíí³ñòü öüîãî çâ’ÿç-
♦ Ùîá çìîäåëþâàòè ì³æ òàáëèöÿìè À ³ B çâ’ÿçîê «îäèí-äî- êó ³ ïðîìîäåëþéòå éîãî â áàç³ äàíèõ MS Access íà ñõåì³ äà-
îäíîãî», ïîòð³áíî â îäí³é ç òàáëèöü ñòâîðèòè çîâí³øí³é íèõ òà çà äîïîìîãîþ ñàìèõ äàíèõ.
êëþ÷, ùî ïîñèëàòèìåòüñÿ íà ³íøó òàáëèöþ. Öåé çîâí³øí³é
êëþ÷ ìຠòàêîæ áóòè ïåðâèííèì êëþ÷åì àáî ³íäåêñîâàíèì
ïîëåì, ó ÿêîìó ïîâòîðåííÿ çíà÷åíü íå äîïóñêàºòüñÿ.

90 Розділ 5. Створення зв’язків між таблицями Завдання для самостійного виконання 91


Розділ 6 soft Access, âáóäîâàíî çàñîáè ðîçðîáêè ³íòåðôåéñó êîðèñòóâà÷à
äëÿ ââåäåííÿ, ðåäàãóâàííÿ òà âèâåäåííÿ äàíèõ ç áàçè. Ñüîãîäí³
ìè ïîçíàéîìèìîñÿ ç îäíèì ³ç òàêèõ çàñîá³â, ôîðìàìè — ä³àëî-
Інтерфейс користувача ãîâèìè â³êíàìè, ïðèçíà÷åíèìè äëÿ ââåäåííÿ ³ ðåäàãóâàííÿ
äàíèõ ó òàáëèöÿõ.
бази даних
Створення форм у режимі майстра
Повторення Ó MS Access 2003 äëÿ ñòâîðåííÿ ôîðì, òàê ñàìî, ÿê ³ äëÿ ñòâî-
ðåííÿ ³íøèõ îá’ºêò³â, º äâà àâòîìàòèçîâàí³ çàñîáè: ìàéñòåð òà
♦ ßê ó áàçàõ äàíèõ Microsoft Access ìîäå- êîíñòðóêòîð. Ìîæëèâîñò³ ìàéñòðà âóæ÷³, àëå âèêîðèñòîâóâàòè
ëþþòü çâ’ÿçîê «áàãàòî-äî-áàãàòüîõ» ì³æ éîãî ëåãøå, òîìó íàñàìïåðåä íàâ÷èìîñÿ ïðàöþâàòè ç öèì çàñî-
äâîìà ñóòíîñòÿìè? áîì. Ó MS Access 2007/2010 â îáëàñò³ Формы íà ñòð³÷ö³ Создание
♦ ßêùî ì³æ ñóòíîñòÿìè ³ñíóº çâ’ÿçîê º ùå ê³ëüêà êíîïîê, çà äîïîìîãîþ ÿêèõ ñòâîðþþòü ïðîñò³ ñòàí-
«îäèí-äî-áàãàòüîõ», òî ÿê ìîäåëþþòü äàðòí³ ôîðìè, àëå ñïîñ³á ¿õ âèêîðèñòàííÿ î÷åâèäíèé.
çâ’ÿçîê ì³æ îá’ºêòàìè öèõ ñóòíîñòåé?
♦ ×èì â³äð³çíÿºòüñÿ êîíñòðóêòîð òàáëèö³ Створення форми для введення даних
â³ä ìàéñòðà ñòâîðåííÿ òàáëèö³? в одну таблицю
♦ ßêà òàáëèöÿ íàçèâàºòüñÿ ãîëîâíîþ, à
ÿêà ï³äëåãëîþ? Íàé÷àñò³øå ôîðìó ñòâîðþþòü äëÿ ââåäåííÿ òà ðåäàãóâàííÿ
äàíèõ â îäí³é òàáëèö³. Ùîá ñòâîðèòè òàêó ôîðìó çà äîïîìîãîþ
ìàéñòðà, ó Access 2003 ïîòð³áíî â ãîëîâíîìó â³êí³ áàçè äàíèõ ó
ìåíþ îá’ºêò³â âèáðàòè âêëàäêó Формы, à ïîò³ì äâ³÷³ êëàöíóòè
Äóæå ÷àñòî ìè âèêîðèñòîâóºìî áàçè äàíèõ, íàâ³òü íå ï³äîçðþ- êîìàíäó Создание формы с помощью мастера, à â Access
þ÷è ïðî öå. Íàïðèêëàä, êîëè ìè âõîäèìî äî îáë³êîâîãî çàïèñó 2007/2010 — âèêîíàòè êîìàíäó Мастер форм ç ìåíþ êíîïêè
åëåêòðîííî¿ ïîøòè, ïîøòîâà ñëóæáà çâåðòàºòüñÿ äî ðîçì³ùåíî¿ Другие формы â îáëàñò³ Формы íà ñòð³÷ö³ Создание.
íà ñåðâåð³ ÁÄ, ùîá ïåðåâ³ðèòè, ÷è çá³ãàºòüñÿ çáåðåæåíèé â áàç³
äàíèõ ïàðîëü ç òèì, ÿêèé áóëî ââåäåíî â åêðàííó ôîðìó. Îä- Ó ïåðøîìó â³êí³ ìàéñòðà (ðèñ. 6.1) ç³ ñïèñêó Таблицы и запросы
íàê æîäíèõ îá’ºêò³â áàçè äàíèõ — ïîë³â, çàïèñ³â, òàáëèöü ³ ñë³ä âèáðàòè òàáëèöþ, äëÿ ÿêî¿ ñòâîðþºòüñÿ ôîðìà, ³ âñ³ ïîëÿ
ò. ï. — ï³ä ÷àñ öüîãî ìè íå ïîáà÷èìî, îñê³ëüêè âîíè «ïðèõîâà- òàáëèö³ áóäå â³äîáðàæåíî ó ñïèñêó Доступные поля. Ò³ ïîëÿ, ó
í³» çà ³íòåðôåéñîì ïðèêëàäíî¿ ïðîãðàìè, ó íàøîìó âèïàäêó — ÿê³ ââîäèòèìå äàí³ êîðèñòóâà÷, íåîáõ³äíî ïåðåíåñòè äî ñïèñêó
ñëóæáè âåá-ïîøòè. Òàêèé ï³äõ³ä âèïðàâäàíèé ³ çðîçóì³ëèé: Выбранные поля çà äîïîìîãîþ êíîïîê > (ïåðåíåñòè âèä³ëåíå ïî-
ìîæíà ò³ëüêè óÿâèòè, íàñê³ëüêè íåçðó÷íî áóëî á êîðèñòóâà÷åâ³ ëå) òà >> (ïåðåíåñòè âñ³ ïîëÿ). ßêùî áóäóòü âèáðàí³ çàéâ³ ïîëÿ,
ñàìîìó øóêàòè ïîòð³áíó òàáëèöþ â ÁÄ, ó í³é — «ñâ³é» çàïèñ äëÿ ñêàñóâàííÿ âèáîðó ñë³ä ñêîðèñòàòèñÿ êíîïêîþ < ÷è <<.
òîùî. Íàñïðàâä³ êîðèñòóâà÷ ìàéæå í³êîëè íå îïåðóº ç áàçîþ Íà ðèñ. 6.1 ïîêàçàíî, ÿê ñòâîðþºòüñÿ ôîðìà äëÿ òàáëèö³ Ó÷-
äàíèõ íàïðÿìó, à ïîñëóãîâóºòüñÿ íàòîì³ñòü ³íòåðôåéñîì ïðèê- í³. Ñïî÷àòêó íåîáõ³äíî âèáðàòè âñ³ ïîëÿ, êð³ì ïîëÿ êîä,
ëàäíèõ ïðîãðàì, äå â³í ìîæå ââîäèòè äàí³ ó ñïåö³àëüíî ñêîíñò- îñê³ëüêè éîãî òèï — ë³÷èëüíèê ³ äàí³ â íüîãî êîðèñòóâà÷ íå
ðóéîâàíèõ ä³àëîãîâèõ â³êíàõ. Ó äåÿê³ ÑÊÁÄ, ³ çîêðåìà ó Micro- ââîäèòèìå. Íàéëåãøå öå çðîáèòè, âèáðàâøè ñïî÷àòêó âñ³ ïî-

92 Розділ 6. Інтерфейс користувача бази даних Створення форм у режимі майстра 93


ëÿ çà äîïîìîãîþ êíîïêè >>, à ïîò³ì ñêàñóâàâøè âèá³ð ïîëÿ í³é åëåìåíò³â êåðóâàííÿ. Ó ÷åòâåðòîìó â³êí³ ñë³ä óâåñòè ³ì’ÿ
код êíîïêîþ <. ôîðìè (âîíî ìîæå çá³ãàòèñÿ ç ³ìåíåì òàáëèö³) òà êëàöíóòè
êíîïêó Готово.

Рис. 6.1. Перше вікно майстра створення форми

Äàë³, ó äðóãîìó â³êí³ ìàéñòðà ïîòð³áíî âêàçàòè ñïîñ³á ïîäàí-


íÿ ³íôîðìàö³¿ ó ôîðì³. Íàéá³ëüø ïîøèðåíèìè ââàæàþòü òðè
ñïîñîáè.
♦ В один столбец (â îäèí ñòîâïåöü) — ó â³êí³ ôîðìè â³äîáðà-
а б
æàòèìóòüñÿ äàí³ ëèøå îäíîãî çàïèñó (ðèñ. 6.2, à). Ùîá ïå-
ðåéòè äî íàñòóïíîãî çàïèñó, ñë³ä ñêîðèñòàòèñÿ íàâ³ãàö³é-
íèìè åëåìåíòàìè, ðîçòàøîâàíèìè âíèçó â³êíà ôîðìè ³ äå-
òàëüíî îïèñàíèìè â ðîçä³ë³ 3 (äèâ. ðèñ. 3.10).
♦ Ленточный (ñòð³÷êîâèé) — ó â³êí³ ôîðìè â³äîáðàæàòèìóòü-
ñÿ äàí³ ê³ëüêîõ çàïèñ³â (ðèñ. 6.2, á). Äëÿ ïåðåõîäó äî çàïè-
ñ³â, ÿê³ íå âì³ñòèëèñÿ ó â³êíî ôîðìè, âèêîðèñòîâóþòü íà-
â³ãàö³éí³ åëåìåíòè.
♦ Табличный (òàáëè÷íèé) — ôîðìà í³÷èì íå â³äð³çíÿòèìåòüñÿ
â³ä ñàìî¿ òàáëèö³, çà âèíÿòêîì òîãî, ùî ó í³é ìîæóòü áóòè
в
â³äîáðàæåí³ íå âñ³ ïîëÿ, à ëèøå äåÿê³ (ðèñ. 6.2, â).
Ó òðåòüîìó â³êí³ ìàéñòðà âèáèðàþòü äèçàéí, òîáòî êîë³ðíó Рис. 6.2. Способи відображення інформації у формі:
ãàìó, øðèôòè é ³íø³ ïàðàìåòðè ñàìî¿ ôîðìè òà ðîçì³ùåíèõ íà а — в один стовпець; б — стрічковий; в — табличний

94 Розділ 6. Інтерфейс користувача бази даних Створення форм у режимі майстра 95


MS Access 2007/2010 íó, äå ââåäåíî äàí³ ïðî â÷èòåëÿ, òà ï³äëåãëó, äå âêàçóþòü êëà-
ñè, ó ÿêèõ öåé ó÷èòåëü âèêëàäàº. Êîæíà ç öèõ ôîðì ïîâ’ÿçàíà
Íàéïðîñò³øèé ñïîñ³á ñòâîðåííÿ ôîðìè äëÿ îäí³º¿ òàáëèö³ — ç³ ñâîºþ òàáëèöåþ: ãîëîâíà — ç òàáëèöåþ Учителі, à ï³äëåãëà
âèä³ëèòè òàáëèöþ â îáëàñò³ ïåðåõîä³â ³ êëàöíóòè êíîïêó Фор- — ç òàáëèöåþ Викладання. Êð³ì òîãî, ôîðìè çâ’ÿçàí³ îäíà ç
ма, Разделенная форма àáî Несколько элементов íà ñòð³÷ö³ îäíîþ: ó ï³äëåãëó ôîðìó ââîäÿòü íå äîâ³ëüí³ êëàñè, à êëàñè
Создание. ³äðàçó ï³ñëÿ öüîãî áóäå â³äîáðàæåíî ìàêåò ôîðìè, ñàìå òîãî â÷èòåëÿ, ³íôîðìàö³ÿ ïðî ÿêîãî çáåð³ãàºòüñÿ â ãîëîâ-
ùî ìàòèìå âèãëÿä, ÿê íà îäíîìó ç ðèñ. 6.2, à–â, çàëåæíî â³ä í³é ôîðì³.
òîãî, ÿêó êíîïêó âè êëàöíóëè. Öåé ìàêåò ìîæíà â³äðåäàãóâàòè
ßê âèäíî ç ðèñ. 6.3, ó êîæí³é ³ç öèõ ôîðì (ãîëîâí³é òà ï³äëåã-
â³çóàëüíèìè çàñîáàìè, à ïîò³ì çàêðèòè òà âèêîðèñòîâóâàòè
ë³é) º ñâî¿ íàâ³ãàö³éí³ åëåìåíòè. Ò³, ùî ðîçòàøîâàí³ ó íèæí³é
ñàìó ôîðìó.
÷àñòèí³ ãîëîâíî¿ ôîðìè, äàþòü çìîãó ïåðåõîäèòè â³ä ó÷èòåëÿ äî
Ñòâîðåíà ôîðìà â³äîáðàæóºòüñÿ íà âêëàäö³ Формы ãîëîâíîãî ó÷èòåëÿ, à ò³, ùî ó ï³äëåãë³é, — ïåðåõîäèòè ì³æ êëàñàìè, äå
â³êíà áàçè äàíèõ ó MS Access 2003 ³ â îáëàñò³ ïåðåõîä³â MS âèêëàäຠâ³äîáðàæåíèé ó ãîëîâí³é ôîðì³ â÷èòåëü.
Access 2007/2010. Äâ³÷³ êëàöí³òü ¿¿, ³ ôîðìà â³äîáðàçèòüñÿ ó
âèãëÿä³, ùî çàëåæèòü â³ä îáðàíîãî âàìè ñïîñîáó ïîäàííÿ äàíèõ.
Âè ìîæåòå ââîäèòè äàí³ â ïîëÿ ôîðìè ðåäàãóâàòè ¿õ, ïåðåì³ùó-
âàòèñÿ ì³æ ïîëÿìè (çà äîïîìîãîþ ìèø³ àáî êëàâ³ø³ Tab), òà
çàïèñàìè (ç âèêîðèñòàííÿì íàâ³ãàö³éíèõ åëåìåíò³â), âèäàëÿòè
çàïèñè êíîïêîþ , äîäàâàòè ¿õ êíîïêîþ àáî òîùî.

Завдання 6.1
Ñòâîð³òü ôîðìè äëÿ òàáëèöü Учні òà Класи. Çà äîïîìîãîþ ôîð-
ìè ñòâîð³òü çàïèñ 10Á êëàñó òà ââåä³òü â³äîìîñò³ ïðî ó÷í³â
Ãðèãîðóêà Ïåòðà, 5.05.1997, òà Ðàé÷óê Îëåíó, 13.01.1998, ùî
íàâ÷àþòüñÿ â öüîìó êëàñ³. ³äêðèâøè òàáëèö³, ïåðåêîíàéòåñÿ,
ùî äàí³ ñïðàâä³ äîäàíî.

Створення форми для введення даних Рис. 6.3. Форма для введення даних у таблиці Учителі та Викладання
у кілька таблиць
Êîëè âè ñòâîðþºòå ôîðìó äëÿ ê³ëüêîõ òàáëèöü, ïåðøèé êðîê
²íêîëè çðó÷íî ³ ëîã³÷íî, ùîá ç îäí³º¿ ôîðìè äàí³ ââîäèëèñÿ â ðîáîòè ç ìàéñòðîì áóäå ìàéæå òàêèì ñàìèì, ÿê ó ðàç³ ñòâîðåí-
ê³ëüêà òàáëèöü. Íàïðèêëàä, êîëè ââîäèìî â³äîìîñò³ ïðî â÷èòå- íÿ ôîðìè äëÿ îäí³º¿ òàáëèö³. ³äì³íí³ñòü ëèøå â òîìó, ùî ç³
ëÿ, áóëî á äîðå÷íî ââåñòè â³äðàçó é ³íôîðìàö³þ ïðî òå, ó ÿêèõ ñïèñêó Таблицы и запросы ïîòð³áíî ñïî÷àòêó âèáðàòè îäíó òàá-
êëàñàõ â³í âèêëàäàº, òîáòî ïåðåäáà÷èòè íà îäí³é ôîðì³ ïîëÿ ëèöþ, â³ä³áðàòè ¿¿ ïîëÿ, à ïîò³ì ïîâòîðèòè ò³ ñàì³ ä³¿ äëÿ ³í-
äëÿ ââåäåííÿ äàíèõ ó òàáëèö³ Учителі òà Викладання. Ãîòîâà øèõ òàáëèöü. ßêùî âè ñòâîðþºòå ôîðìó äëÿ òàáëèöü Учителі
ôîðìà â öüîìó âèïàäêó ìîæå âèãëÿäàòè òàê, ÿê ïîêàçàíî íà òà Викладання, ïåðøå â³êíî ìàéñòðà ôîðì ñë³ä çàïîâíèòè òàê,
ðèñ. 6.3. Ôàêòè÷íî â îäíîìó â³êí³ ìè áà÷èìî äâ³ ôîðìè: ãîëîâ- ÿê ïîêàçàíî íà ðèñ. 6.4.

96 Розділ 6. Інтерфейс користувача бази даних Створення форм у режимі майстра 97


âîíà â³äêðèâàòèìåòüñÿ êíîïêîþ íà ãîëîâí³é ôîðì³ ³ íàçèâà-
òèìåòüñÿ çâ’ÿçàíîþ.

Рис. 6.4. Перше вікно майстра створення форми для таблиць


Учителі та Викладання
Рис. 6.5. Друге вікно майстра створення форми для двох таблиць
Âèáðàíî âñ³ ïîëÿ òàáëèö³ Учителі òà ïîëå клас òàáëèö³ Ви-
кладання. Öå îçíà÷àº, ùî â îäíîìó â³êí³ ôîðìè áóäå ââîäè- Òðåòº ³ ÷åòâåðòå â³êíà ìàéñòðà áóäóòü òàêèìè ñàìèìè, ÿê ³ â
òèñÿ âñÿ ³íôîðìàö³ÿ ïðî â÷èòåëÿ, à òàêîæ íàçâè êëàñ³â, ó ðàç³ ñòâîðåííÿ ôîðìè äëÿ îäí³º¿ òàáëèö³.
ÿêèõ â³í âèêëàäàº. Çàóâàæòå, ùî ïîëå учитель òàáëèö³ Ви-
кладання, äå çáåð³ãàþòüñÿ íîìåðè ïàñïîðò³â, íå âèáðàíî. Öå Завдання 6.2
ïîÿñíþºòüñÿ òèì, ùî, óâ³âøè çíà÷åííÿ â ïîëå паспорт òàá-
Ñòâîð³òü ôîðìó äëÿ òàáëèö³ Учителі ³ç âêëàäåíîþ ôîðìîþ äëÿ
ëèö³ Учителі, ìè âæå çíàòèìåìî, ïðî âèêëàäàííÿ ÿêîãî â÷è-
òàáëèö³ Викладання. Çà äîïîìîãîþ ôîðìè äîäàéòå ³íôîðìàö³þ
òåëÿ éäåòüñÿ, òîæ ³ ââîäèòè íîìåð éîãî ïàñïîðòà ùå ê³ëüêà
ðàç³â íåìຠïîòðåáè. ïðî â÷èòåëÿ Ñàâ÷óêà Âàñèëÿ Ñåìåíîâè÷à (ïàñïîðò CH 512840,
÷îëîâ³ê, ìàòåìàòèê), âêàçàâøè, ùî â³í âèêëàäຠó 10À òà 10Á
Íà äðóãîìó êðîö³ ìàéñòðà ñòâîðåííÿ ôîðìè áóäå â³äîáðàæåíî êëàñàõ.
â³êíî, ïîäàíå íà ðèñ. 6.5. Ó íüîìó âè ìàºòå âêàçàòè, ÿê³é ³ç
äâîõ òàáëèöü â³äïîâ³äàòèìå ãîëîâíà ôîðìà, âèáðàâøè öþ òàá- Яку форму варто робити головною
ëèöþ ç³ ñïèñêó â ë³â³é ÷àñòèí³ â³êíà. Ó íàøîìó âèïàäêó ãî-
ëîâíà ôîðìà áóäóâàòèìåòüñÿ çà òàáëèöåþ Учителі. Ïåðåìè- Çàäàìîñÿ ïèòàííÿì: ÷îìó ãîëîâíîþ ìè çðîáèëè ôîðìó ñàìå äëÿ
êà÷ âíèçó â³êíà âèçíà÷ຠñïîñ³á ç’ºäíàííÿ ãîëîâíî¿ ôîðìè ç òàáëèö³ Учителі, à ï³äëåãëîþ — äëÿ òàáëèö³ Викладання, à íå
ï³äëåãëîþ: ÿêùî îáðàíî ïîëîæåííÿ Подчиненные формы, òî íàâïàêè? ³äïîâ³äü çíàéòè íåñêëàäíî, ÿêùî çãàäàòè òèï çâ’ÿç-
ï³äëåãëà ôîðìà â³äîáðàæàòèìåòüñÿ âñåðåäèí³ ãîëîâíî¿, ³íàêøå êó ì³æ öèìè òàáëèöÿìè: îäíîìó çàïèñó â òàáëèö³ Учителі

98 Розділ 6. Інтерфейс користувача бази даних Створення форм у режимі майстра 99


â³äïîâ³äຠáàãàòî çàïèñ³â ó òàáëèö³ Викладання, à îòæå, âèáðà-
Äëÿ äîïèòëèâèõ. ³êíî êîíñòðóêòîðà ôîðìè ïîä³ëåíî íà òðè
âøè ó÷èòåëÿ, çðó÷íî ïåðåãëÿíóòè âñ³ êëàñè, ó÷í³â ÿêèõ â³í
îáëàñò³.
íàâ÷àº. ßêáè ìè â ãîëîâí³é ôîðì³ â³äîáðàçèëè òàáëèöþ Викла-
дання, êîæíîìó ¿¿ çàïèñó â³äïîâ³äàâ áè îäèí ó÷èòåëü, äëÿ ÿêî- ♦  îáëàñò³ äàíèõ â³äîáðàæàþòüñÿ äàí³ ç òàáëèö³ ÁÄ.
Âì³ñò ö³º¿ îáëàñò³ çì³íþºòüñÿ, êîëè âè ïåðåõîäèòå â³ä
ãî ñòâîðþâàòè ï³äëåãëó ôîðìó áóëî á íåäîö³ëüíî.
îäíîãî çàïèñó äî ³íøîãî.
Íàâåäåí³ âèùå ì³ðêóâàííÿ ìîæíà óçàãàëüíèòè: ÿêùî òàáëèö³ ♦ Îáëàñòü çàãîëîâêà ðîçòàøîâàíî íàä îáëàñòþ äàíèõ, à
ç’ºäíàí³ çâ’ÿçêîì «îäèí-äî-áàãàòüîõ», ôîðìó òàáëèö³, ðîçòà- îáëàñòü ïðèì³òîê — ï³ä íåþ.
øîâàíî¿ ç áîêó «áàãàòî» ìîæíà çðîáèòè ï³äëåãëîþ äî ôîðìè
ßêèé áè çàïèñ íå â³äîáðàæàâñÿ ó ôîðì³, âì³ñò öèõ îáëàñòåé
òàáëèö³, ðîçòàøîâàíî¿ ç áîêó «îäèí». çàëèøàºòüñÿ íåçì³ííèì.
Çà óìîâ÷àííÿì îáëàñò³ çàãîëîâêà òà ïðèì³òîê çãîðíóò³: º
Редагування форм у конструкторі ñìóæêè ç íàçâàìè öèõ îáëàñòåé, àëå ñàìèõ îáëàñòåé íå âèä-
íî. Ùîá ðîçãîðíóòè îáëàñòü, ïîòð³áíî âñòàíîâèòè êóðñîð íà
Ç òî÷êè çîðó ðîçðîáíèêà ³íòåðôåéñó ÁÄ ôîðìà ÿâëÿº ñîáîþ íèæíþ ìåæó ñìóæêè òà ïðîòÿãíóòè ¿¿ âíèç.
íàá³ð åëåìåíò³â êåðóâàííÿ — òåêñòîâèõ ïîë³â, íàïèñ³â, ñïèñê³â
³ ò.ï. ¯õ ìîæíà ïåðåì³ùóâàòè, ðîçòÿãóâàòè, ñòèñêàòè, äîäàâàòè,
âèäàëÿòè, çì³íþâàòè ðîçì³ð ³ òèï øðèôò³â òîùî. Ö³ 䳿 âèêî- MS Access 2003
íóþòü ó êîíñòðóêòîð³ ôîðì. Ùîá â³äêðèòè éîãî, ïîòð³áíî ç
Åëåìåíòè êåðóâàííÿ â êîíñòðóêòîð³ ôîðìè âèä³ëÿþòü, êëàöàþ-
êîíòåêñòíîãî ìåíþ çíà÷êà ôîðìè â ãîëîâíîìó â³êí³ áàçè äàíèõ
÷è ¿õ ìèøåþ àáî îáâîäÿ÷è ðàìêîþ âèä³ëåííÿ. Íàâêîëî âèä³ëå-
àáî â îáëàñò³ ïåðåõîä³â âèáðàòè êîìàíäó Конструктор. ³êíî íîãî åëåìåíòà ç’ÿâëÿþòüñÿ ìàðêåðè, ïåðåòÿãóþ÷è ÿê³ ìîæíà
êîíñòðóêòîðà ôîðìè çîáðàæåíî íà ðèñ. 6.6. çì³íþâàòè ðîçì³ðè åëåìåíòà. Êîëè âèä³ëåíî ê³ëüêà åëåìåíò³â,
¿õ ìîæíà àâòîìàòè÷íî âèð³âíÿòè çà äîïîìîãîþ êîìàíäè
Выровнять êîíòåêñòíîãî ìåíþ.
Ìàéñòåð ôîðì äëÿ êîæíîãî ïîëÿ òàáëèö³ ÁÄ ñòâîðþº äâà åëå-
ìåíòè êåðóâàííÿ: ïîëå äëÿ ââåäåííÿ òåêñòó òà íàïèñ ³ç íàçâîþ
ïîëÿ òàáëèö³. Ö³ åëåìåíòè çãðóïîâàí³: êîëè âèä³ëèòè îäèí, àâ-
òîìàòè÷íî âèä³ëèòüñÿ é ³íøèé. ßêùî âè âñòàíîâèòå êóðñîð íà
çãðóïîâàíèõ åëåìåíòàõ áëèæ÷å äî íèæíüî¿ ìåæ³, â³í íàáóäå
âèãëÿäó ðóêè: . Çàõîïèâøè öåé êóðñîð, âè çìîæåòå ïåðåì³ùó-
âàòè åëåìåíòè ðàçîì (ðèñ. 6.7). Ùîá ïåðåì³ñòèòè îêðåìèé åëå-
ìåíò, ñë³ä ñêîðèñòàòèñÿ êóðñîðîì , ÿêèé ç’ÿâëÿºòüñÿ ó ðàç³
âñòàíîâëåííÿ âêàç³âíèêà ìèø³ íà ë³âèé âåðõí³é êóò åëåìåíòà.

Рис. 6.7. Переміщення елементів керування формою


Рис. 6.6. Вікно конструктора форми

100 Розділ 6. Інтерфейс користувача бази даних Редагування форм у конструкторі 101
Ùå îäíà âàæëèâà ä³ÿ — äîäàâàííÿ äî ôîðìè íîâîãî åëåìåíòà ßêùî ìàêåò âèäàëåíî, òî, âèä³ëèâøè ê³ëüêà åëåìåíò³â êåðó-
êåðóâàííÿ. Öå ìîæíà ðîáèòè çà äîïîìîãîþ êîìàíäè âàííÿ, ç íèìè ìîæíà âèêîíàòè ò³ ñàì³ ä³¿, ùî ³ â áóäü-ÿêîìó
ВставкаЭлемент ActiveX àáî ïàíåë³ åëåìåíò³â, äå ç³áðàíî íàé- âåêòîðíîìó ãðàô³÷íîìó ðåäàêòîð³: âèð³âíÿòè, ïåðåì³ñòèòè íà
âàæëèâ³ø³ åëåìåíòè êåðóâàííÿ (ðèñ. 6.8). çàäí³é ÷è ïåðåäí³é ïëàí, çãðóïóâàòè, ïðèâ’ÿçàòè äî ñ³òêè òîùî.
Êíîïêè äëÿ öèõ ä³é ðîçòàøîâàíî íà ñòð³÷ö³ Упорядочить.

Ìàéæå âñ³ 䳿 ç åëåìåíòîì êåðóâàííÿ ìîæíà âèêîíàòè çà äîïî-


ìîãîþ éîãî êîíòåêñòíîãî ìåíþ. Ó ðåçóëüòàò³ âèáîðó êîìàíäè
Рис. 6.8. Панель елементів керування Свойства öüîãî ìåíþ â³äîáðàæàºòüñÿ â³êíî âëàñòèâîñòåé, äå
ìîæíà ââåñòè çíà÷åííÿ âñ³õ ïàðàìåòð³â ó òåêñòîâîìó âèãëÿä³.
Ùîá â³äêðèòè â³êíî âëàñòèâîñòåé âñ³º¿ ôîðìè, ñë³ä êëàöíóòè
ïðàâîþ êíîïêîþ ìèø³ ïîçíà÷êó ó ë³âîìó âåðõíüîìó êóò³
MS Access 2007/2010 ôîðìè òà âèáðàòè ç ìåíþ êîìàíäó Свойства.
Ìè íå ðîçãëÿäàòèìåìî ïàðàìåòð³â åëåìåíò³â êåðóâàííÿ äåòàëü-
Êîëè âè ïðàöþºòå ç êîíñòðóêòîðîì ôîðìè, ç’ÿâëÿþòüñÿ ñòð³÷- íî, à çâåðíåìî óâàãó ëèøå íà íàéâàæëèâ³øèé ç íèõ. Ó â³êí³
êè Конструктор òà Упорядочить. Çà äîïîìîãîþ ñòð³÷êè âëàñòèâîñòåé á³ëüøîñò³ åëåìåíò³â êåðóâàííÿ º âêëàäêà Данные,
Конструктор âè ìîæåòå äîäàâàòè äî ôîðìè íîâ³ åëåìåíòè êåðó- à íà í³é — îäíîéìåííèé ïàðàìåòð. Çíà÷åííÿì öüîãî ïàðàìåòðà
âàííÿ, íàñòðîþâàòè ïàðàìåòðè øðèôò³â òà ³í., à çà äîïîìîãîþ º íàçâà ïîëÿ òàáëèö³ ÁÄ, ç ÿêèì çâ’ÿçàíî åëåìåíò êåðóâàííÿ.
ñòð³÷êè Упорядочить êåðóþòü ñïîñîáîì ðîçòàøóâàííÿ åëåìåíò³â Òåðì³í «çâ’ÿçàíî» òóò îçíà÷àº, ùî äàí³, ââåäåí³ â åëåìåíò êå-
íà ôîðì³. ðóâàííÿ, àâòîìàòè÷íî çàïèñóâàòèìóòüñÿ ó â³äïîâ³äíèé åëåìåíò
Åëåìåíòè êåðóâàííÿ íà ôîðì³ ìîæóòü áóòè ðîçòàøîâàí³ çã³äíî òàáëèö³ ÁÄ. Êëàöíóâøè êíîïêó ñïðàâà â³ä çíà÷åííÿ öüîãî
ç ïåâíèì ìàêåòîì, ÿêèé îáèðàþòü â îáëàñò³ Макет элемента ïàðàìåòðà, åëåìåíò êåðóâàííÿ ìîæíà çâ’ÿçàòè ç ³íøèì ïîëåì.
управления íà ñòð³÷ö³ Упорядочить. Âëàñíå, º äâà ìàêåòè: Ùîá ä³çíàòèñÿ, ÿê âèêîðèñòîâóâàòè êîíñòðóêòîð ôîðì, âèêî-
♦ Табличный — ïîä³áíèé äî åëåêòðîííî¿ òàáëèö³, äå ï³äïèñè íàéòå âïðàâó 6.1.
ðîçòàøîâàíî â îáëàñò³ çàãîëîâêà, à äàí³ — ó ñòîâïöÿõ ï³ä
ï³äïèñàìè; Вправа 6.1
♦ В столбик — ïîëÿ ðîçòàøîâàíî îäíå ï³ä îäíèì, à ï³äïè- Çì³í³òü ôîðìó Учні, çàáåçïå÷èâøè âèá³ð äàòè íàðîäæåííÿ ó÷-
ñè — çë³âà â³ä íèõ. íÿ ç êàëåíäàðÿ.
Ìàéñòåð ðîçì³ùóº åëåìåíòè êåðóâàííÿ íà ôîðì³ çã³äíî ç ìàêå- 1. Êëàöí³òü ïðàâîþ êíîïêîþ ìèø³ ôîðìó Учні â îáëàñò³ ïå-
òîì В столбик. Ùîá åëåìåíòè êåðóâàííÿ â³ëüíî ïåðåì³ùóâàòè ðåõîä³â àáî íà âêëàäö³ Формы ãîëîâíîãî â³êíà áàçè äàíèõ ³
ïî ôîðì³ òà çì³íþâàòè ¿õ ðîçì³ðè, ìàêåò ñë³ä âèäàëèòè, êëàö- âèáåð³òü ç êîíòåêñòíîãî ìåíþ êîìàíäó Конструктор.
íóâøè êíîïêó Удалить â îáëàñò³ Макет элемента управления. 2. Ó â³êí³ êîíñòðóêòîðà ôîðìè âèä³ë³òü òåêñòîâå ïîëå ³ íàïèñ
ßêùî âè öüîãî íå çðîáèòå, åëåìåíòè êåðóâàííÿ ïåðåì³ùóâàòè- дата народження òà âèäàë³òü ¿õ, íàòèñíóâøè êëàâ³øó Del.
ìóòüñÿ ò³ëüêè âñ³ ðàçîì, à ¿õ ðîçì³ðè çì³íþâàòèìóòüñÿ ëèøå
3. Äîäàéòå äî ôîðìè åëåìåíò êåðóâàííÿ Календар. Äëÿ öüîãî
ïðîïîðö³éíî.
ó Access 2003 âèêîíàéòå êîìàíäó ВставкаЭлемент ActiveX,

102 Розділ 6. Інтерфейс користувача бази даних Редагування форм у конструкторі 103
à â Access 2007/2010 êëàöí³òü êíîïêó Элементы ActiveX íà ♦ ßêùî òàáëèö³ ç’ºäíàíî çâ’ÿçêîì «îäèí-äî-áàãàòüîõ», ôîðìó
ñòð³÷ö³ Конструктор. Ó â³êí³, ùî â³äêðèºòüñÿ, âèáåð³òü òàáëèö³, ðîçòàøîâàíî¿ ç áîêó «áàãàòî», ìîæíà çðîáèòè ï³ä-
ïóíêò Елемент керування Календар 11.0, Календар 12.0 àáî ïî- ëåãëîþ äî ôîðìè òàáëèö³, ðîçòàøîâàíî¿ ç áîêó «îäèí».
ä³áíèé (ö³ åëåìåíòè ðîçòàøîâàíî áëèæ÷å äî ê³íöÿ ñïèñêó).
Êàëåíäàð ç’ÿâèòüñÿ ó ôîðì³.
4. Ñêîð³ø çà âñå, êàëåíäàð çàòóëÿòèìå ³íø³ åëåìåíòè êåðó-
âàííÿ. Ùîá óíèêíóòè öüîãî, ðîçøèðòå îáëàñòü äàíèõ ôîð-
ìè, ïåðåòÿãíóâøè âíèç âåðõíþ ìåæó ñìóæêè Примечание
формы, òà ïåðåì³ñò³òü êàëåíäàð íà â³ëüíå ì³ñöå. Ìîæëèâî,
ïîòð³áíî áóäå ïåðåì³ñòèòè é ³íø³ åëåìåíòè êåðóâàííÿ.
5. Íàä êàëåíäàðåì ñòâîð³òü íàïèñ дата народження. Äëÿ
öüîãî íà ïàíåë³ åëåìåíò³â êåðóâàííÿ àáî íà ñòð³÷ö³
Конструктор êëàöí³òü êíîïêó (Íàïèñ), à ïîò³ì êëàöí³òü
ôîðìó òàì, äå íàïèñ ðîçì³ùóâàòèìåòüñÿ, ³ ââåä³òü òåêñò.
6. Çâ’ÿæ³òü êàëåíäàð ³ç ïîëåì дата народження. Äëÿ öüîãî
êëàöí³òü êàëåíäàð ïðàâîþ êíîïêîþ ìèø³, âèáåð³òü ó êîí-
òåêñòíîìó ìåíþ êîìàíäó Свойства, íà âêëàäö³ Данные êëàö-
í³òü ïîëå ñïðàâà â³ä ïàðàìåòðà Данные. Ç’ÿâèòüñÿ êíîïêà
. Êëàöí³òü ¿¿ ³ âèáåð³òü ó ñïèñêó, ùî â³äêðèºòüñÿ, ïîëå
дата народження. Çàêðèéòå â³êíî âëàñòèâîñòåé.
7. Çàêðèéòå â³êíî êîíñòðóêòîðà ôîðìè, çáåð³ãøè âíåñåí³ çì³-
íè. Ãîòîâó ôîðìó ïîêàçàíî íà ðèñ. 6.9. Рис. 6.9. Форма Учні з календарем
8. ³äêðèéòå ôîðìó ³ çì³í³òü äàòó íàðîäæåííÿ îäíîãî ç ó÷í³â,
ñêîðèñòàâøèñü êàëåíäàðåì. ϳñëÿ öüîãî â³äêðèéòå òàáëèöþ
Учні ³ ïåðåêîíàéòåñÿ, ùî äàòó íàðîäæåííÿ ä³éñíî çì³íåíî.
Завдання для самостійного виконання
Ñòâîð³òü ôîðìè äëÿ ââåäåííÿ äàíèõ ó áàçè, ðîçðîáëåí³ ó çàâ-
Висновки äàííÿõ äëÿ ñàìîñò³éíîãî âèêîíàííÿ ç ïîïåðåäí³õ ðîçä³ë³â.
♦ Ôîðìà — öå ä³àëîãîâå â³êíî, ïðèçíà÷åíå äëÿ ââåäåííÿ äà-
íèõ ó òàáëèö³, à òàêîæ äëÿ ¿õ ðåäàãóâàííÿ. Завдання для досліджень
♦ ßê ïðàâèëî, äëÿ îáðîáêè äàíèõ â îäí³é òàáëèö³ ñòâîðþþòü
îäíó ôîðìó. 1. Íàâ÷³òüñÿ â³äîáðàæàòè ìàëþíêè ÿê òëî ôîðìè.
♦ Ìàéñòåð ôîðì äຠçìîãó ñòâîðèòè ôîðìó ç òåêñòîâèìè ïî- 2. ijçíàéòåñÿ, ÿê äîäàâàòè ï³äëåãëó ôîðìó äî âæå ³ñíóþ÷î¿, ³
ëÿìè äëÿ ââåäåííÿ äàíèõ ó ïîëÿ òàáëèö³. äîäàéòå ï³äëåãëó ôîðìó Викладання äî ôîðìè Класи.
♦ Êîíñòðóêòîð ôîðì äîçâîëÿº â³äðåäàãóâàòè íàá³ð åëåìåíò³â 3*. Çðîá³òü òàê, ùîá ñïðîáè ââåñòè â ïîëå стать ó ôîðì³ Учні
êåðóâàííÿ ó ôîðì³ òà ¿õí³ ïàðàìåòðè. áóäü-ÿêèé ñèìâîë, êð³ì «÷» àáî «æ», áëîêóâàëèñÿ.

104 Розділ 6. Інтерфейс користувача бази даних Завдання для самостійного виконання 105
● Äëÿ öüîãî ó ôîðì³ Класи
Розділ 7 (ðèñ. 7.1) âàì íåîáõ³äíî çíà-
éòè çàïèñ 10Á êëàñó ³ ââåñòè
Автоматизація роботи â ïîëå класний керівник
íîìåð ïàñïîðòó öüîãî â÷èòå-
з базою даних Рис. 7.1. Форма Класи ëÿ. Àëå, çâè÷àéíî, êîðèñòó-
без розкривного списку âà÷ áàçè äàíèõ íîìåð³â ïàñ-
ïîðò³â ó÷èòåë³â íå ïàì’ÿòàº,
à îòæå, éîìó ïîòð³áíî â³äêðèòè ôîðìó àáî òàáëèöþ Учителі,
Повторення çíàéòè â÷èòåëÿ Òîì÷èøèíà, ñêîï³þâàòè íîìåð éîãî ïàñïîðòà,
♦ Ùî òàêå çîâí³øí³é êëþ÷? ïîâåðíóòèñÿ äî ôîðìè Класи ³ âñòàâèòè öåé íîìåð â ïîëå клас-
ний керівник. Ïîãîäüòåñÿ, ïðîöåäóðà íåçðó÷íà ³ íàâðÿä ÷è
♦ Äëÿ ÷îãî ïðèçíà÷åíî ôîðìè â áàçàõ äà-
íèõ MS Access? äðóæíº äî êîðèñòóâà÷à ïðîãðàìíå çàáåçïå÷åííÿ çìóøóâàòèìå
éîãî âèêîíóâàòè ö³ 䳿. Ó âäàëî ñïðîåêòîâàíîìó ³íòåðôåéñ³ çà-
♦ ßê³ º ñïîñîáè ïîäàííÿ ³íôîðìàö³¿ ó ôîð- ì³ñòü òåêñòîâîãî ïîëÿ класний керівник íà ôîðì³ Класи ìàâ
ìàõ?
áè áóòè ðîçêðèâíèé ñïèñîê (éîãî íàçèâàþòü ùå ïîëåì ç³ ñïèñ-
♦ Íàçâ³òü ñ³ì íàéïîøèðåí³øèõ åëåìåíò³â êîì), ç ÿêîãî êîðèñòóâà÷ ì³ã áè âèáðàòè ïîòð³áíîãî â÷èòåëÿ. ßê
êåðóâàííÿ. ïåðåòâîðþâàòè òåêñòîâ³ ïîëÿ íà ñïèñêè, îïèñàíî ó âïðàâ³ 7.1.

Вправа 7.1
Ñòâîðþþ÷è ôîðìè, âè ìàëè ïîì³òèòè, ùî íà íèõ ìîæíà ðîç-
ì³ùóâàòè íå ìåíøå äâîõ äåñÿòê³â ð³çíîìàí³òíèõ åëåìåíò³â Çàáåçïå÷òå ìîæëèâ³ñòü âèáîðó êëàñíîãî êåð³âíèêà íà ôîðì³
êåðóâàííÿ. Îäíàê âè ïðàöþâàëè ëèøå ç òðüîìà: òåêñòîâèì Класи ç³ ñïèñêó âñ³õ ó÷èòåë³â.
ïîëåì, íàïèñîì ³ êàëåíäàðåì. Ó öüîìó ðîçä³ë³ ìè îïèøåìî, 1. ³äêðèéòå â ðåæèì³ êîíñòðóêòîðà ôîðìó Класи, ÿêó âè
ÿê âèêîðèñòîâóâàòè ùå äâà âàæëèâèõ åëåìåíòè: ïîëÿ ç³ ñïèñ- ñòâîðþâàëè â çàâäàíí³ 6.1. ßêùî ö³º¿ ôîðìè â áàç³ äàíèõ
êàìè òà êíîïêè. Ïåðø³ çàñòîñîâóþòü ïåðåâàæíî äëÿ ââåäåííÿ школа íåìàº, ñòâîð³òü ¿¿ çà äîïîìîãîþ ìàéñòðà.
³íôîðìàö³¿ ïðî çâ’ÿçêè ì³æ çàïèñàìè, à äðóã³ — äëÿ íàâ³ãàö³¿ 2. Êëàöí³òü ïðàâîþ êíîïêîþ ìèø³ òåêñòîâå ïîëå класний
áàçîþ äàíèõ, òîáòî äëÿ ïåðåõîäó äî ôîðì, òàáëèöü òà ³íøèõ керівник ³ âèáåð³òü ç êîíòåêñòíîãî ìåíþ êîìàíäó
îá’ºêò³â. Преобразовать элемент вПоле со списком.
3. Ïåðåéä³òü ó â³êíî âëàñòèâîñòåé ïîëÿ ç³ ñïèñêîì класний
Інтерфейс для введення інформації керівник, êëàöíóâøè éîãî ïðàâîþ êíîïêîþ ìèø³ òà âèá-
ðàâøè ç êîíòåêñòíîãî ìåíþ êîìàíäó Свойства.
про зв’язки
4. Íà âêëàäö³ Данные â³êíà âëàñòèâîñòåé ïîëÿ ç³ ñïèñêîì
 ³íòåðôåéñ³, ðîçðîáëåíîìó íàìè â ïîïåðåäíüîìó ðîçä³ë³, º íå- âñòàíîâ³òü êóðñîð ó ïîëå Источник строк ³ âèáåð³òü ç ìåíþ
çðó÷í³ñòü, ç ÿêîþ âè ç³òêíåòåñÿ ï³ä ÷àñ ââåäåííÿ ³íôîðìàö³¿ ïðî êíîïêè , ùî â³äîáðàçèòüñÿ ñïðàâà, òàáëèöþ Учителі. Ó
êëàñíîãî êåð³âíèêà. Ïðèïóñòèìî, âàì ïîòð³áíî âêàçàòè, ùî Òîì- òàêèé ñïîñ³á âè âêàæåòå, ùî åëåìåíòè ðîçêðèâíîãî ñïèñêó
÷èøèí ³êòîð Ãåîðã³éîâè÷ º êëàñíèì êåð³âíèêîì 10Á êëàñó. ìàþòü ôîðìóâàòèñÿ ç çàïèñ³â òàáëèö³ Учителі.


106 Розділ 7 . Автоматизація роботи з базою даних Інтерфейс для введення інформації про зв’язки 107
5. Çàêðèéòå â³êíî âëàñòèâîñòåé, à ïîò³ì — â³êíî êîíñòðóêòî-
ðà ôîðìè, çáåð³ãøè ïðè öüîìó çì³íè. ³äêðèéòå ôîðìó ÿê
êîðèñòóâà÷ òà ïåðåâ³ðòå, ÿê ïðàöþº ðîçêðèâíèé ñïèñîê.
ßêùî âè âñå ïðàâèëüíî
çðîáèëè, ó íüîìó â³äî-
áðàæàòèìåòüñÿ ñïèñîê
ïàñïîðò³â ó÷èòåë³â (ðèñ.
7.2). Öå òàêîæ íåçðó÷-
íî, îñê³ëüêè âè íå
ïàì’ÿòàºòå, ÿêèé ïàñ-
ïîðò êîìó íàëåæèòü. Рис. 7.3. Розкривний список зі значеннями з трьох стовпців
Îòæå, ïîòð³áíî çðîáèòè Рис. 7.2. Форма Класи
òàê, ùîá ó ñïèñêó â³äîá- з розкривним списком Ðîçêðèâí³ ñïèñêè ñòâîðþþòü äëÿ ââåäåííÿ çíà÷åíü çîâí³øí³õ
ðàæàëèñÿ ïðèíàéìí³ êëþ÷³â. Åëåìåíòàìè ðîçêðèâíîãî ñïèñêó º çíà÷åííÿ ïåðâèííîãî
íîìåðè ïàñïîðò³â, ïð³çâèùà òà ³ìåíà â÷èòåë³â. êëþ÷à ò³º¿ òàáëèö³, íà ÿêó ïîñèëàºòüñÿ çîâí³øí³é êëþ÷ ³,
6. Ïîâåðí³òüñÿ äî êîíñòðóêòîðà ôîðìè òà çíîâó â³äêðèéòå ìîæëèâî, ùå äåÿêèõ ¿¿ ïîë³â.
â³êíî âëàñòèâîñòåé ïîëÿ ç³ ñïèñêîì. Ïåðåéä³òü íà âêëàäêó ßêùî êåðóâàòèñü öèì ïðàâèëîì, ðîçêðèâí³ ñïèñêè ó ÁÄ школа
Макет ³ â ïîëå Число столбцов óâåä³òü çíà÷åííÿ 3. Öå îçíà- âàðòî ñòâîðèòè ùå äëÿ âèáîðó êëàñó ó ôîðì³ Учні, à òàêîæ
÷àº, ùî â ðîçêðèâíîìó ñïèñêó â³äîáðàæàòèìóòüñÿ çíà÷åí- êëàñó ³ â÷èòåëÿ ó ôîðì³ Викладання. Îäíàê öå íå íàñò³ëüêè
íÿ ç òðüîõ ïåðøèõ ñòîâïö³â òàáëèö³-äæåðåëà, òîáòî òàáëèö³ âàæëèâî, àäæå íàçâó êëàñó ëåãêî ââåñòè ³ â òåêñòîâå ïîëå, à
Учителі. ôîðìó Викладання ìè çðîáèëè ï³äëåãëîþ, ³ â÷èòåëü ï³ä ÷àñ
7. Ùîá ó ñïèñêó â³äîáðàçèëèñÿ çíà÷åííÿ ç òðüîõ ñòîâïö³â, â³í ðîáîòè ç íåþ âèçíà÷àºòüñÿ àâòîìàòè÷íî.
ìຠáóòè øèðîêèì. Òîìó ïîâåðí³òüñÿ ó â³êíî êîíñòðóêòîðà
ôîðìè òà ðîçøèðòå îáëàñòü äàíèõ, ïåðåñóíóâøè âïðàâî ¿¿ Завдання 7.1
ìåæó. Ïîò³ì çá³ëüøòå øèðèíó ñàìîãî ñïèñêó. Çàáåçïå÷òå ìîæëèâ³ñòü âèáðàòè êëàñ íà ôîðì³ Учні ç³ ñïèñêó
8. ³äêðèéòå ôîðìó Класи ÿê êîðèñòóâà÷. Òåïåð ðîçêðèâíèé âñ³õ êëàñ³â.
ñïèñîê ìàòèìå ïðèáëèçíî òàêèé âèãëÿä, ÿê íà ðèñ. 7.3.
Ïåðåéä³òü äî çàïèñó 10Á êëàñó ³ âèáåð³òü ç³ ñïèñêó êëàñíî-
Äëÿ äîïèòëèâèõ. Ìîæíà âèçíà÷àòè íå ëèøå ê³ëüê³ñòü ïîë³â
ãî êåð³âíèêà — Òîì÷èøèíà ³êòîðà.
òàáëèö³, ùî â³äîáðàæàòèìóòüñÿ ó ñïèñêó, àëå é ¿õíþ øèðè-
ϳä³á’ºìî ï³äñóìêè: ìè ñòâîðèëè ðîçêðèâíèé ñïèñîê äëÿ ââå- íó, ïåðåë³÷óþ÷è â³äïîâ³äí³ çíà÷åííÿ ÷åðåç êðàïêó ç êîìîþ â
äåííÿ çíà÷åíü ó ïîëå класний керівник — çîâí³øí³é êëþ÷ ïîë³ Ширина столбцов íà âêëàäö³ Макет â³êíà âëàñòèâîñòåé
òàáëèö³ Класи. Åëåìåíòàìè öüîãî ñïèñêó º çíà÷åííÿ ïåðâèííî- ïîëÿ ç³ ñïèñêîì. Íàïðèêëàä, ÿêùî â ïîëå Число столбцов
ãî êëþ÷à паспорт òàáëèö³ Учителі, íà ÿêó ïîñèëàºòüñÿ çãàäà- óâåñòè ÷èñëî 5, à â ïîëå Ширина столбцов — çíà÷åííÿ
íèé çîâí³øí³é êëþ÷, à òàêîæ ùå äâîõ ïîë³â. Íåâàæêî îïèñàòè 0см;2см;0см;0см;2см, òî â³äîáðàæàòèìóòüñÿ ò³ëüêè äðóãèé
³ çàãàëüíèé âèïàäîê, êîëè ó ôîðìàõ äîö³ëüíî ñòâîðþâàòè ðîç- ³ ï’ÿòèé ñòîâïö³, êîæåí 2 ñì çàâøèðøêè.
êðèâí³ ñïèñêè.


108 Розділ 7 . Автоматизація роботи з базою даних Інтерфейс для введення інформації про зв’язки 109
Навігація базою даних 3. Ó ïåðøîìó â³êí³ ìàéñòðà (ðèñ. 7.4) âêàæ³òü ä³þ, ÿêà âèêî-
íóâàòèìåòüñÿ â ðåçóëüòàò³ êëàöàííÿ êíîïêè. À ñàìå, ó êà-
Âèêîíàâøè âïðàâè ³ çàâäàííÿ öüîãî é ïîïåðåäíüîãî ðîçä³ëó, âè òåãî𳿠Работа с формой âèáåð³òü ä³þ Открыть форму.
ñòâîðèëè äîñòàòíüî çðó÷í³ ôîðìè äëÿ ââåäåííÿ äàíèõ ó áàçó
школа. Îäíàê ùîá â³äêðèòè ö³ ôîðìè, ïîòð³áíî âèêîðèñòîâóâà-
òè ãîëîâíå â³êíî áàçè äàíèõ àáî îáëàñòü ïåðåõîä³â, ó ÿêèõ ì³ñ-
òèòüñÿ áàãàòî ³íøèõ îá’ºêò³â ³ òîìó çíàéòè ïîòð³áíó ôîðìó íå
òàê ïðîñòî. Ùîá çàâåðøèòè ïðîåêòóâàííÿ äðóæíüîãî êîðèñòó-
âà÷åâ³ ³íòåðôåéñó áàçè äàíèõ, ïîòð³áíî ùå ñòâîðèòè ìåíþ àáî
³íø³ çàñîáè ïåðåõîäó ì³æ îá’ºêòàìè áàçè. ²íòåðôåéñ ÁÄ ìàº
áóòè òàêèì, ùîá óñ³ 䳿 ç áàçîþ êîðèñòóâà÷ ì³ã âèêîíóâàòè ÷å-
ðåç íüîãî, íå âçàºìîä³þ÷è áåçïîñåðåäíüî ç ÑÊÁÄ.
Íàéïðîñò³øèé çàñ³á àâòîìàòèçîâàíîãî â³äêðèòòÿ ôîðì, îðãàí³-
çàö³¿ ïåðåõîä³â ì³æ íèìè òà ³íøèìè îá’ºêòàìè áàçè äàíèõ —
åëåìåíò êåðóâàííÿ «êíîïêà», äîáðå â³äîìèé âàì ïî ðîáîò³ ç ÎÑ
Windows òà ïðèêëàäíèìè ïðîãðàìàìè. Êíîïêó ìîæíà ðîçì³ñ-
òèòè íà áóäü-ÿê³é ôîðì³ òàê ñàìî, ÿê ³ ³íø³ åëåìåíòè êåðóâàí-
íÿ. ϳä ÷àñ ðîçì³ùåííÿ áóäå çàïóùåíî ìàéñòåð ñòâîðåííÿ êíîï-
êè, ùî äîçâîëÿº âêàçàòè ä³þ, âèêîíóâàíó êíîïêîþ, òà íàñòðî¿-
òè ¿¿ ïàðàìåòðè.
ßêùî ñòâîðèòè ïîðîæíþ ôîðìó òà ðîçì³ñòèòè íà í³é êíîïêè, Рис. 7.4. Перше вікно майстра створення кнопок
ÿê³ â³äêðèâàþòü óñ³ ³íø³ ôîðìè, îòðèìàºìî ñâîºð³äíå êíîïêîâå
ìåíþ áàçè äàíèõ. Öåé ïðîöåñ ìè îïèøåìî ó âïðàâ³ 7.2. 4. Ó äðóãîìó â³êí³ ìàéñòðà âèáåð³òü ôîðìó, ÿêà â³äêðèâàòè-
ìåòüñÿ êíîïêîþ. Íåõàé öå áóäå ôîðìà Учні.

Вправа 7.2 5. Ó òðåòüîìó â³êí³ âñòàíîâ³òü ïåðåìèêà÷ Открыть форму и


показать все записи.
Ñòâîð³òü ó áàç³ äàíèõ школа ôîðìó-ìåíþ, íà ÿê³é ðîçì³ùóâà-
6. Ó ÷åòâåðòîìó â³êí³ (ðèñ. 7.5) ïîòð³áíî âêàçàòè, ùî â³äî-
òèìóòüñÿ êíîïêè, ùî â³äêðèâàþòü óñ³ ³íø³ ôîðìè.
áðàæàòèìåòüñÿ íà êíîïö³: ðèñóíîê (éîãî ôàéë ñë³ä âèáðàòè
1. Âèêîíàéòå êîìàíäó Создание формы в режиме конструктора çà äîïîìîãîþ êíîïêè Обзор) àáî òåêñò. Âèáåð³òü ïåðåìèêà÷
íà âêëàäö³ Формы ãîëîâíîãî â³êíà áàçè äàíèõ â Access Текст ³ ââåä³òü òåêñò Учні.
2003 àáî êëàöí³òü êíîïêó Конструктор форм íà ñòð³÷ö³
Создание â Access 2007/2010. Áóäå â³äîáðàæåíî ïîðîæíþþ 7. Êëàöí³òü êíîïêó Готово ³ âàøó êíîïêó áóäå ðîçì³ùåíî íà
ôîðìó Форма1 ó â³êí³ êîíñòðóêòîðà. ôîðì³.
2. Âèáåð³òü íà ïàíåë³ åëåìåíò³â àáî íà ñòð³÷ö³ Конструктор 8. Ïîä³áíèì ÷èíîì íà ôîðì³ Форма1 ñòâîð³òü êíîïêè äëÿ â³ä-
åëåìåíò êåðóâàííÿ Кнопка òà êëàöí³òü òå ì³ñöå íà ôîðì³, êðèòòÿ âñ³õ ³íøèõ ôîðì áàçè äàíèõ школа. Êíîïêó äëÿ ôîð-
äå êíîïêà ðîçì³ùóâàòèìåòüñÿ. Áóäå çàïóùåíî ìàéñòåð ñòâî- ìè Викладання ìîæíà íå ñòâîðþâàòè, îñê³ëüêè öÿ ôîðìà º
ðåííÿ êíîïîê. âêëàäåíîþ äî ôîðìè Учителі.


110 Розділ 7 . Автоматизація роботи з базою даних Навігація базою даних 111
êàòîð ïîòî÷íîãî çàïèñó çë³âà òà íàâ³ãàö³éí³ åëåìåíòè çíè-
çó. Ùîá ïðèõîâàòè ¿õ, âèêîíàéòå òàê³ ä³¿:
à) ïåðåéä³òü ó â³êíî âëàñòèâîñòåé ôîðìè, êëàöíóâøè ïðà-
âîþ êíîïêîþ ìèø³ ïîçíà÷êó ó ë³âîìó âåðõíüîìó êóò³
ôîðìè òà âèáðàâøè ç êîíòåêñòíîãî ìåíþ êîìàíäó
Свойства;

á) íà âêëàäö³ Макет â³êíà âëàñòèâîñòåé äëÿ ïàðàìåòð³â


Область выделения òà Кнопки перехода çàäàéòå çíà÷åííÿ
Нет.

Ãîòîâà ôîðìà ìຠâèãëÿäàòè òàê, ÿê íà ðèñ. 7.6, á.

Рис. 7.5. Четверте вікно майстра створення кнопок

9. Çðîá³òü ðîçì³ð óñ³õ êíîïîê îäíàêîâèì. Äëÿ öüîãî âèä³ë³òü


¿õ óñ³, êëàöí³òü ÿêóñü êíîïêó ïðàâîþ êíîïêîþ ìèø³ ³ âè-
áåð³òü ç êîíòåêñòíîãî ìåíþ êîìàíäó Размерпо самому
широкому.
10. Âèð³âíÿéòå óñ³ êíîïêè çë³âà, âèä³ëèâøè ¿õ òà âèêîíàâøè êî-
ìàíäó êîíòåêñòíîãî ìåíþ ВыровнятьСлева àáî Выровнять
по левому краю.
11. Çðîá³òü ³íòåðâàë ì³æ êíîïêàìè îäíàêîâèì: âèä³ë³òü ¿õ óñ³
òà êëàöí³òü êíîïêó (Çðîáèòè ³íòåðâàëè ïî âåðòèêàë³ ð³â-
íèìè) íà ñòð³÷ö³ Упорядочить â Access 2007/2010 àáî âèêî- а б
íàéòå êîìàíäó ФорматИнтервал по вертикалиСделать
равным â Access 2003. Рис. 7.6. Форма-меню: а — з зайвими елементами;
б — у готовому вигляді
12. Äîäàéòå íàä ãðóïîþ êíîïîê íàïèñ Введення даних, ñêîðèñ-
òàâøèñü êíîïêîþ (Íàïèñ).
13. Çàêðèéòå êîíñòðóêòîð ôîðìè, íàäàâøè ¿é íàçâó Меню, ³ Завдання 7.2
ïåðåâ³ðòå ä³þ ñòâîðåíèõ âàìè êíîïîê. Äîäàéòå äî êîæíî¿ ôîðìè ó áàç³ äàíèõ школа êíîïêó Вихід,
14. Ôîðìà âèãëÿäàòèìå òàê, ÿê çîáðàæåíî íà ðèñ. 7.6, à. Âîíà ùî çàêðèâຠôîðìó, òà êíîïêó Меню, ÿêà â³äêðèâຠôîðìó-
ì³ñòèòü çàéâ³ åëåìåíòè, íåïîòð³áí³ äëÿ ôîðìè-ìåíþ: ³íäè- ìåíþ.


112 Розділ 7 . Автоматизація роботи з базою даних Навігація базою даних 113
MS Access 2003

Áóëî á çðó÷íî, ÿêáè ôîðìà-ìåíþ â³äêðèâàëàñÿ àâòîìàòè÷íî


ï³ñëÿ â³äêðèòòÿ ôàéëó áàçè äàíèõ. Ùîá çàáåçïå÷èòè òàêó ïîâå-
ä³íêó, ïîòð³áíî âèêîíàòè êîìàíäó СервисПараметры запуска ³
ó â³êí³ Параметры запуска âèáðàòè ïîòð³áíó ôîðìó ç³ ñïèñêó
Вывод формы/страницы. Ó öüîìó æ â³êí³ ìîæíà ñêàñóâàòè â³äî-
áðàæåííÿ ìåíþ, ïàíåëåé ³íñòðóìåíò³â, â³êíà áàçè äàíèõ òà
³íøèõ åëåìåíò³â ñåðåäîâèùà ÑÊÁÄ òàê, ùî ï³ñëÿ â³äêðèòòÿ
âàøî¿ áàçè äàíèõ â³äîáðàæàòèìóòüñÿ ëèøå ¿¿ êîìïîíåíòè.

Завдання 7.3 (тільки для MS Access 2003)


Çàáåçïå÷òå àâòîìàòè÷íå â³äîáðàæåííÿ ôîðìè Меню ï³ñëÿ â³ä-
êðèòòÿ áàçè äàíèõ школа.

MS Access 2007/2010

Ó MS Access 2007/2010 íå ïåðåäáà÷åíî çàñîá³â äëÿ àâòîìàòè÷- а б


íîãî â³äêðèòòÿ êíîïêîâèõ ìåíþ, îäíàê íàòîì³ñòü º ìîæëèâ³ñòü
êåðóâàòè â³äîáðàæåííÿì îá’ºêò³â â îáëàñò³ ïåðåõîä³â. Ó ö³é
Рис. 7.7. Область переходів: а — у категорії Все объекты Access;
îáëàñò³ îá’ºêòè áàçè äàíèõ ìîæóòü â³äîáðàæàòèñÿ ð³çíèìè ñïî- б — з контекстним меню заголовка
ñîáàìè, àáî, ³íàêøå êàæó÷è, ó ð³çíèõ êàòåãîð³ÿõ. Íàçâà ïîòî÷-
íî¿ êàòåãî𳿠â³äîáðàæàºòüñÿ â çàãîëîâêó îáëàñò³ ïåðåõîä³â. Êîðèñòóâà÷ ìîæå ñòâîðþâàòè âëàñí³ êàòåãîð³¿, à â íèõ — ãðóïè
Îá’ºêòè â êîæí³é êàòåãî𳿠ìîæóòü ïîä³ëÿòèñÿ çà ãðóïàìè, îá’ºêò³â. Äëÿ öüîãî âèêîðèñòîâóþòü â³êíî Параметры переходов,
çàãîëîâêè ÿêèõ íàâåäåíî íà ñèí³õ ñìóæêàõ. Ãðóïà ìîæå áóòè ùî â³äêðèâàºòüñÿ îäíîéìåííîþ êîìàíäîþ êîíòåêñòíîãî ìåíþ
â³äêðèòîþ (òîä³ â³äîáðàæåíî âñ³ ¿¿ îá’ºêòè) àáî çàêðèòîþ (òîä³ çàãîëîâêà îáëàñò³ ïåðåõîä³â. Çîêðåìà ìîæíà ñòâîðèòè êàòåãî-
â³äîáðàæàºòüñÿ ëèøå çàãîëîâîê ãðóïè). Ùîá â³äêðèòè àáî çà- ð³þ Меню, äå â³äîáðàæàòèìóòüñÿ ëèøå ò³ îá’ºêòè, ç ÿêèìè ìàº
êðèòè ãðóïó, ñë³ä êëàöíóòè íà ¿¿ çàãîëîâêó êíîïêó àáî ïðàöþâàòè êîðèñòóâà÷ áàçè äàíèõ. ßê öå çðîáèòè, îïèñàíî ó
â³äïîâ³äíî. Íàïðèêëàä, íà ðèñ. 7.7, à çîáðàæåíî îáëàñòü ïåðå- âïðàâ³ 7.3.
õîä³â ó êàòåãî𳿠Все объекты Access, ùî ì³ñòèòü òðè ãðóïè
îá’ºêò³â: â³äêðèò³ Таблицы òà Формы ³ çàêðèòó Запросы.
Вправа 7.3 (тільки для MS Access 2007/2010)
Âèáðàòè ³íøó êàòåãîð³þ ïîäàííÿ îá’ºêò³â, à òàêîæ â³äîáðàçèòè
äåÿê³ ÷è âñ³ ãðóïè â êàòåãî𳿠ìîæíà çà äîïîìîãîþ êíîïêè , Ñòâîð³òü â îáëàñò³ ïåðåõîä³â áàçè äàíèõ школа êàòåãîð³þ Меню
ðîçì³ùåíî¿ â çàãîëîâêó îáëàñò³ ïåðåõîä³â ñïðàâà. Íà ðèñ. 7.7, á ç îäí³ºþ ãðóïîþ Форми, ùî ì³ñòèòèìå ôîðìè Учні, Учителі
çîáðàæåíî ìåíþ, ùî â³äêðèâàºòüñÿ ö³ºþ êíîïêîþ. Ó éîãî âåðõ- òà Класи.
í³é ÷àñòèí³ âèáèðàþòü êàòåãîð³þ, à â íèæí³é — â³äîáðàæóâàíó
1. Êëàöí³òü ïðàâîþ êíîïêîþ ìèø³ çàãîëîâîê îáëàñò³ ïåðåõî-
ãðóïó îá’ºêò³â.
ä³â ³ âèáåð³òü ç êîíòåêñòíîãî ìåíþ êîìàíäó Параметры


114 Розділ 7 . Автоматизація роботи з базою даних Навігація базою даних 115
переходов. Áóäå â³äîáðàæåíî â³êíî Параметры переходов 6. Ïðèõîâàéòå ãðóïó Неназначенные
(ðèñ. 7.8). объекты: êëàöí³òü ¿¿ çàãîëîâîê ïðà-
âîþ êíîïêîþ ìèø³ é âèáåð³òü ç
êîíòåêñòíîãî ìåíþ êîìàíäó Скрыть.
Îáëàñòü ïåðåõîä³â ìຠíàáóòè òàêî-
ãî âèãëÿäó, ÿê íà ðèñ. 7.9.
ßêùî âè çàêðèºòå òà çíîâó â³äêðèºòå Рис. 7.9. Область
áàçó äàíèõ школа, îáëàñòü ïåðåõîä³â переходів з меню
ì³ñòèòèìå ñòâîðåíå âàìè ìåíþ ôîðì.

Завдання 7.4 (тільки для MS Access 2007/2010)


Äîäàéòå äî êàòåãî𳿠Меню ãðóïó Викладання, ó ÿê³é çáåð³òü âñ³
ôîðìè ³ òàáëèö³, ùî ñòîñóþòüñÿ â÷èòåë³â.

Висновки
♦ Ðîçêðèâí³ ñïèñêè ó ôîðìàõ ñòâîðþþòü äëÿ ââåäåííÿ çíà-
÷åíü çîâí³øí³õ êëþ÷³â. Åëåìåíòàìè ðîçêðèâíîãî ñïèñêó º
çíà÷åííÿ ïåðâèííîãî êëþ÷à ò³º¿ òàáëèö³, íà ÿêó ïîñèëàºòü-
ñÿ çîâí³øí³é êëþ÷ ³, ìîæëèâî, ùå äåÿêèõ ¿¿ ïîë³â.
Рис. 7.8. Вікно Параметри переходов
♦ Äëÿ øâèäêîãî äîñòóïó äî ïîòð³áíèõ êîðèñòóâà÷åâ³ îá’ºêò³â
2. Ùîá äîäàòè íîâó êàòåãîð³þ, ó ë³â³é ÷àñòèí³ â³êíà êëàöí³òü áàçè äàíèõ ³ ïðèõîâàííÿ ³íøèõ îá’ºêò³â ó MS Access 2003
êíîïêó Добавить элемент ³ ââåä³òü ³ì’ÿ êàòåãî𳿠— Меню. íà îêðåì³é ôîðì³ ñòâîðþþòü ìåíþ ç êíîïîê, ÿêå àâòîìà-
3. Ó êàòåãî𳿠Меню ñòâîðèìî îäíó ãðóïó. Âèä³ë³òü ó ë³â³é ÷àñ- òè÷íå â³äîáðàæàºòüñÿ ï³ñëÿ â³äêðèòòÿ áàçè äàíèõ.
òèí³ â³êíà öþ êàòåãîð³þ, à â ïðàâ³é êëàöí³òü êíîïêó ♦ Ó MS Access 2007/2010 äëÿ îðãàí³çàö³¿ ìåíþ êîðèñòóâà÷à
Добавить группу é óâåä³òü ³ì’ÿ ãðóïè — Введення даних. ³- ñòâîðþþòü âëàñí³ êàòåãî𳿠³ ãðóïè îá’ºêò³â â îáëàñò³ ïå-
äîáðàæàòèìåòüñÿ òàêîæ ñòàíäàðòíà ãðóïà Неназначенные ðåõîä³â.
объекты — âîíà ì³ñòèòü îá’ºêòè, ÿê³ âè çìîæåòå äîäàâàòè
äî âëàñíî¿ ãðóïè. Завдання для самостійного виконання
4. Êëàöí³òü êíîïêó OK ³ êàòåãîð³þ áóäå ñòâîðåíî. ³äîáðàç³òü 1. Ó áàç³ äàíèõ школи ñòâîð³òü ôîðìó äëÿ ââåäåííÿ äàíèõ ó
¿¿ â îáëàñò³ ïåðåõîä³â çà äîïîìîãîþ êíîïêè . òàáëèöþ Директори, à íà í³é — ðîçêðèâíèé ñïèñîê äëÿ
5. Ó ñòâîðåí³é âàìè êàòåãî𳿠âè ïîáà÷èòå äâ³ ãðóïè: ïîðîæ- âèáîðó äèðåêòîðà ñåðåä ó÷èòåë³â. Çðîá³òü òàê, ùîá ó ñïèñ-
íþ ãðóïó Введення даних òà ñòàíäàðòíó ãðóïó Неназна- êó â³äîáðàæàëîñÿ ò³ëüêè ïð³çâèùå òà ³ì’ÿ ó÷èòåëÿ.
ченные объекты, ùî ì³ñòèòü âñ³ îá’ºêòè áàçè äàíèõ. Óòðè- 2. Äëÿ áàç äàíèõ, ñòâîðåíèõ ó çàâäàíí³ äëÿ ñàìîñò³éíîãî âè-
ìóþ÷è êëàâ³øó Ctrl, âèä³ë³òü çíà÷êè ôîðì Учні, Учителі êîíàííÿ ç ïîïåðåäíüîãî ðîçä³ëó, âèçíà÷òå, ó ÿê³ ïîëÿ äî-
òà Класи ó ãðóï³ Неназначенные объекты ³ ïåðåòÿãí³òü ¿õ íà ö³ëüíî ââîäèòè äàí³ çà äîïîìîãîþ ðîçêðèâíèõ ñïèñê³â.
çàãîëîâîê ãðóïè Введення даних. Ñòâîð³òü äâà òàêèõ ñïèñêè.


116 Розділ 7 . Автоматизація роботи з базою даних Висновки 117
3. Íà áóäü-ÿê³é ôîðì³ ó áàç³ äàíèõ школа ñòâîð³òü êíîïêó äëÿ
äóáëþâàííÿ çàïèñ³â òà àïðîáóéòå ¿¿ ä³þ.
Розділ 8

Завдання для досліджень


Вибирання даних
1. Ïåðåñòàâòå êëþ÷îâå ïîëå паспорт ó òàáëèö³ Учителі ç ïåðøî-
ãî ì³ñöÿ íà ÿêåñü ³íøå, ï³ñëÿ ÷îãî àïðîáóéòå ä³þ ñïèñêó, Повторення
ïðèçíà÷åíîãî äëÿ âèáîðó êëàñíîãî êåð³âíèêà. ³í íå ïðàöþ- ♦ Íàçâ³òü îñíîâí³ ôóíêö³¿ ñèñòåì êåðó-
âàòèìå êîðåêòíî. Ç’ÿñóéòå ïðè÷èíó ïîìèëêè òà âèïðàâòå ¿¿. âàííÿ áàçàìè äàíèõ.
ÂÊÀDzÂÊÀ. Ñêîðèñòàéòåñÿ ïàðàìåòðîì Присоединенный ♦ ßê³ îïåðàö³¿ ç íàáîðàìè îäíîòèïíèõ
столбец íà âêëàäö³ Данные â³êíà âëàñòèâîñòåé ñïèñêó. îá’ºêò³â äຠçìîãó âèêîíóâàòè òàáëè÷-
2. Ó ñïèñêàõ ìîæóòü â³äîáðàæàòèñÿ íå ëèøå äàí³ ç òàáëèöü, íèé ïðîöåñîð?
àëå ³ ô³êñîâàí³ íàáîðè çíà÷åíü, íàïðèêëàä íàçâè äí³â òèæ- ♦ Äëÿ ÷îãî ïðèçíà÷åí³ ³ ÿêèé ôîðìàò ìà-
íÿ. Íàâ÷³òüñÿ ñòâîðþâàòè òàê³ ñïèñêè é âèêîðèñòîâóâàòè þòü ôóíêö³¿ äëÿ ðîáîòè ç áàçîþ äàíèõ
¿õ äëÿ ââåäåííÿ äàíèõ ó òàáëèö³. ó ñåðåäîâèù³ òàáëè÷íîãî ïðîöåñîðà?
*
3 . Ó áàç³ äàíèõ школи ñòâîð³òü ôîðìó äëÿ òàáëèö³ Школи, à â ♦ ßê ó òàáëè÷íîìó ïðîöåñîð³ ñòâîðþþòü
í³é — ðîçêðèâíèé ñïèñîê äëÿ âèáîðó äèðåêòîðà. Ó ñïèñêó ðîçøèðåíèé ô³ëüòð?
ìàþòü â³äîáðàæàòèñÿ ïð³çâèùà, ³ìåíà òà ïî áàòüêîâ³ âñ³õ
äèðåêòîð³â.
Çãàäàºìî òàáëè÷íèé ïðîöåñîð. Ðîçãëÿäàþ÷è òàáëèö³ ÿê íàáîðè
îäíîòèïíèõ îá’ºêò³â, ìè çàñòîñîâóâàëè äî íèõ òàê³ îïåðàö³¿, ÿê
Питання для роздумів ô³ëüòðóâàííÿ ðÿäê³â, ñîðòóâàííÿ, îá÷èñëåííÿ ï³äñóìêîâèõ õà-
Íèæ÷å îïèñàíî ôðàãìåíòè ïðåäìåòíèõ îáëàñòåé. ßêèì ³ç íèõ ðàêòåðèñòèê äëÿ ãðóï îá’ºêò³â òîùî. Óñ³ ö³ îïåðàö³¿ íàñïðàâä³ º
â³äïîâ³äàþòü áàçè äàíèõ, äå ìàþòü âèêîðèñòîâóâàòèñÿ ñïèñêè? «ð³äíèìè» äëÿ ñèñòåì êåðóâàííÿ ðåëÿö³éíèìè áàçàìè äàíèõ,
Äëÿ ââåäåííÿ ÿêèõ ñàìå äàíèõ ¿õ ïîòð³áíî çàñòîñîâóâàòè? çâ³äêè âîíè é áóëè «çàïîçè÷åí³» òàáëè÷íèì ïðîöåñîðîì. Ñüîãîä-
í³ ìè ðîçïî÷íåìî çíàéîìñòâî ç ìåõàí³çìàìè îáðîáêè äàíèõ,
à) Çáåð³ãàþòüñÿ â³äîìîñò³ ïðî ïîãîäí³ ÿâèùà ³ äí³, êîëè âîíè
ðåàë³çîâàíèìè â ÑÊÁÄ Microsoft Access.
ñïîñòåð³ãàëèñÿ.
á) ª äàí³ ïðî á³áë³îòå÷í³ ôîíäè. Äëÿ êîæíî¿ êíèæêè â³äîìà ¿¿
íàçâà, øèôð, ê³ìíàòà òà øàôà, äå âîíà çáåð³ãàºòüñÿ. Вибирання даних з однієї таблиці
â) Ó áàç³ äàíèõ ì³ñòèòüñÿ ³íôîðìàö³ÿ ïðî ëþäåé. Ïîòð³áíî Íàä äàíèìè â îäí³é òàáëèö³ ðåëÿö³éí³ ÑÊÁÄ äàþòü çìîãó âè-
çáåð³ãàòè â³äîìîñò³ ïðî òå, õòî º ÷è¿ìè áàòüêàìè. êîíóâàòè ìàéæå ò³ ñàì³ îïåðàö³¿, ùî é òàáëè÷íèé ïðîöåñîð.
Íàñàìïåðåä öå ñîðòóâàííÿ, ô³ëüòðàö³ÿ, à òàêîæ ïîøóê ³ çàì³íà
ã) ª â³äîìîñò³ ïðî ëåêñè÷íèé ñêëàä ïåâíî¿ ìîâè. Ùîäî êîæ-
äàíèõ. Ìîæíà òàêîæ îá÷èñëþâàòè ï³äñóìêîâ³ õàðàêòåðèñòèêè
íîãî ñëîâà ïîòð³áíî çáåð³ãàòè â³äîìîñò³ ïðî òå, äî ÿêî¿ ÷àñ-
äëÿ ãðóï çàïèñ³â, àëå â Microsoft Access öþ ôóíêö³þ ðåàë³çó-
òèíè ìîâè âîíî íàëåæèòü, ÿê³ ìຠñóô³êñè, ïðåô³êñè, ãðà-
þòü çà äîïîìîãîþ çàñîá³â, ÿê³ ìè îïèøåìî â íàñòóïíèõ ðîçä³-
ìàòè÷í³ ôîðìè òîùî.
ëàõ. Çàðàç æå ðîçãëÿíåìî òðè îïåðàö³¿, ÿê³ âèêîíóþòü â ðåæè-
ì³ ââåäåííÿ òà ðåäàãóâàííÿ äàíèõ ó òàáëèö³.


118 Розділ 7 . Автоматизація роботи з базою даних Вибирання даних з однієї таблиці 119
Сортування Äëÿ äîïèòëèâèõ. Çãàäàéòå, ÿê ó òàáëè÷íîìó ïðîöåñîð³ ìè
Ñîðòóâàííÿì íàçèâàþòü ðîçòàøóâàííÿ çàïèñ³â òàáëèö³ â ïî- ñîðòóâàëè òàáëèöþ çà çíà÷åííÿìè ê³ëüêîõ ïîë³â: ñïî÷àòêó
ðÿäêó çðîñòàííÿ ÷è ñïàäàííÿ çíà÷åíü ïåâíîãî ïîëÿ. Ñîðòóâàí- çàïèñè âïîðÿäêîâóâàëèñÿ â ïîðÿäêó çðîñòàííÿ ÷è ñïàäàííÿ
íÿ, íàãàäàºìî, íàé÷àñò³øå çàñòîñîâóþòü ó âèïàäêàõ, êîëè: çíà÷åíü îäíîãî ïîëÿ, à ïîò³ì êîæíà ãðóïà çàïèñ³â ç îäíàêî-
♦ íåîáõ³äíî ä³çíàòèñÿ, ÿê³ îá’ºêòè ìàþòü ìàë³, âåëèê³, íàé- âèì çíà÷åííÿì öüîãî ïîëÿ ñîðòóâàëàñÿ çà çíà÷åííÿìè ³íøî-
ìåíø³ àáî íàéá³ëüø³ çíà÷åííÿ òèõ ÷è ³íøèõ ïàðàìåòð³â ãî ïîëÿ. Òàê ñàìî ó Microsoft Access òàáëèöþ ìîæíà â³äñîð-
(àäæå ï³ñëÿ ñîðòóâàííÿ òàê³ îá’ºêòè ðîçì³ùóâàòèìóòüñÿ íà òóâàòè çà çíà÷åííÿìè ê³ëüêîõ ñóì³æíèõ ïîë³â, âèä³ëèâøè
ïî÷àòêó òàáëèö³); ¿õ, à ïîò³ì êëàöíóâøè êíîïêó ñîðòóâàííÿ. Ïåðøèì ïîëåì
♦ ïîòð³áíî çãðóïóâàòè îá’ºêòè çà ïåâíèì ïàðàìåòðîì, òîáòî ñîðòóâàííÿ áóäå òå, ÿêå ðîçòàøîâàíå ë³â³øå.
ðîçòàøóâàòè ïîðÿä îá’ºêòè ç îäíàêîâèìè ÷è áëèçüêèìè
éîãî çíà÷åííÿìè.
Ùîá â³äñîðòóâàòè çàïèñè òàáëèö³ çà çðîñòàííÿì àáî ñïàäàííÿì Фільтрація
çíà÷åíü ÿêîãîñü ïîëÿ, ïîòð³áíî âñòàíîâèòè êóðñîð ó öüîìó ïîë³
òà êëàöíóòè êíîïêó (Ñîðòóâàííÿ çà çðîñòàííÿì) àáî (Ñîð- ßê ³ â òàáëè÷íîìó ïðîöåñîð³, ô³ëüòðàö³ÿ â ÑÊÁÄ Microsoft
òóâàííÿ çà ñïàäàííÿì). Íà ðèñ. 8.1, à çîáðàæåíî òàáëèöþ Уч- Access äîçâîëÿº â³äîáðàçèòè ò³ëüêè ò³ çàïèñè òàáëèö³, ùî çàäî-
ні, â³äñîðòîâàíó çà çðîñòàííÿì ³ìåí â àëôàâ³òíîìó ïîðÿäêó, à âîëüíÿþòü ïåâíó óìîâó. Ùîá âèêîíàòè ô³ëüòðàö³þ, ñë³ä â³äê-
íà ðèñ. 8.1, á — çà ñïàäàííÿì äàòè íàðîäæåííÿ. ðèòè òàáëèöþ ³ êëàöíóòè êíîïêó (Çì³íèòè ô³ëüòð), ùî ðîç-
òàøîâàíà íà ïàíåë³ ³íñòðóìåíò³â ó MS Access 2003. Ó MS
Access 2007/2010 àíàëîã³÷íó êîìàíäó ðîçì³ùåíî íà ñòð³÷ö³
Главная â îáëàñò³ Сортировка и фильтр ó ìåíþ êíîïêè
Дополнительно.
Ó ðåçóëüòàò³ áóäå â³äêðèòî â³êíî ô³ëüòðà (ðèñ. 8.2) ç âêëàä-
êàìè Найти òà Или. Ìîæëèâîñò³ öüîãî çàñîáó ô³ëüòðàö³¿ òàê³
ñàì³, ÿê ³ â ðîçøèðåíîãî ô³ëüòðà â Microsoft Excel, àëå ñïî-
ñ³á çàïèñó óìîâè ô³ëüòðàö³¿ äåùî ³íøèé. ×àñòèíè óìîâè, ùî
а ç’ºäíàí³ ñïîëó÷íèêîì «³», çàïèñóþòü â îäíîìó ðÿäêó, à ç’ºä-
íàí³ ñïîëó÷íèêîì «àáî» — íà ð³çíèõ âêëàäêàõ â³êíà ô³ëüò-
ðà. Íàïðèêëàä, íà ðèñ. 8.2 çîáðàæåíî äâ³ âêëàäêè îäíîãî
â³êíà ô³ëüòðà, ùî ðåàë³çóþòü, ðàçîì óçÿò³, òàêó óìîâó: ó÷í³,
ùî â÷àòüñÿ â 10À êëàñ³ àáî â÷àòüñÿ â 11Á êëàñ³ ³ íàðîäèëè-
ñÿ ï³ñëÿ 1.01.1996.
Êîëè óìîâó ô³ëüòðàö³¿ ââåäåíî, ñë³ä íàòèñíóòè êíîïêó
Применить фильтр, ³ ô³ëüòð ïî÷íå ä³ÿòè. Òàê, íà ðèñ. 8.3 ïîêà-
б çàíî ðåçóëüòàò çàñòîñóâàííÿ äî òàáëèö³ Учні óìîâ ô³ëüòðàö³¿,
Рис. 8.1. Сортування таблиці Учні: а — за зростанням імен, çîáðàæåíèõ íà ðèñ. 8.2. Ùîá ïîáà÷èòè òàáëèöþ ó ïî÷àòêîâîìó
б — за спаданням дати народження âèãëÿä³, öþ êíîïêó ïîòð³áíî â³äòèñíóòè.

120 Розділ 8. Вибирання даних Вибирання даних з однієї таблиці 121


þòüñÿ ò³ çàïèñè, ÿê³ ì³ñòÿòü ó ïîë³ ô³ëüòðàö³¿ òàêå ñàìå çíà-
÷åííÿ-çðàçîê àáî ïîä³áíå äî íüîãî.
Öåé ô³ëüòð ó MS Access 2003 ³ MS Access 2007/2010 çàñòîñîâó-
þòü äåùî ïî-ð³çíîìó.

MS Access 2003

Äëÿ òîãî, ùîá çàñòîñóâàòè ô³ëüòð çà âèä³ëåíèì, äîñèòü êëàöíó-


òè êíîïêó . Áóäå â³äîáðàæåíî âñ³ çàïèñè, ùî ì³ñòÿòü â ïîë³
ô³ëüòðàö³¿ çíà÷åííÿ-çðàçîê. Ìîæíà âçÿòè çà çðàçîê çíà÷åííÿ ç
ê³ëüêîõ ïîë³â, âèä³ëèâøè ñóì³æí³ êë³òèíêè òàáëèö³ çà äîïîìî-
ãîþ òàáëè÷íîãî êóðñîðó .
Рис. 8.2. Вікно фільтра

MS Access 2007/2010

Ïðèïóñòèìî, ó ïåâí³é êë³òèíö³


ì³ñòèòüñÿ çíà÷åííÿ-çðàçîê, à âàì
ïîòð³áíî â³äîáðàçèòè çàïèñè, ÿê³ â
òîìó æ ïîë³ ì³ñòÿòü òàêå ñàìå
çíà÷åííÿ àáî çíà÷åííÿ, á³ëüø³ ÷è
ìåíø³ çà íüîãî, òàê³, ùî âêëþ÷à-
Рис. 8.3. Результат фільтрації þòü çíà÷åííÿ-çðàçîê òîùî. Òîä³
ñë³ä óñòàíîâèòè êóðñîð íà çíà÷åí-
 óìîâàõ ô³ëüòðàö³¿ ìîæíà âèêîðèñòîâóâàòè ñèìâîëè ï³äñòàíî- Рис. 8.4. Меню кнопки íÿ-çðàçîê ³ ç ìåíþ êíîïêè
âêè. Íàïðèêëàä, ÿêùî ââåñòè â ïîëå клас â³êíà ô³ëüòðà òàá- Выделение Выделение âèáðàòè îäèí ç³ ñïîñî-
ëèö³ Учні òåêñò 11*, òî áóäå â³äîáðàæåíî â³äîìîñò³ ïðî ó÷í³â á³â ïîð³âíÿííÿ øóêàíîãî çíà÷åí-
óñ³õ îäèíàäöÿòèõ êëàñ³â — ÿê 11À, òàê ³ 11Á. íÿ ç³ çíà÷åííÿì-çðàçêîì (ðèñ. 8.4).
Ùîá î÷èñòèòè óìîâó ô³ëüòðàö³¿, ïîòð³áíî êëàöíóòè â³êíî ô³ëüò-
ðà ïðàâîþ êíîïêîþ ìèø³ ³ â ìåíþ, ùî ç’ÿâèòüñÿ, âèáðàòè êî- Пошук і заміна
ìàíäó Очистить бланк. Çà äîïîìîãîþ êîìàíäè Удалить вкладку
Çàñ³á àâòîìàòèçîâàíîãî ïîøóêó òà çàì³íè äàíèõ ó Microsoft
ìîæíà âèäàëèòè ëèøå ïîòî÷íó âêëàäó â³êíà ô³ëüòðà, òîáòî ÷àñ-
Access äóæå ïîä³áíèé äî àíàëîã³÷íîãî çàñîáó òàáëè÷íîãî ïðîöå-
òèíó óìîâè, ç’ºäíàíó ç ³íøèìè ÷àñòèíàìè ñïîëó÷íèêîì «àáî».
ñîðà Microsoft Excel. Éîãî â³äêðèâàþòü íàòèñêàííÿì êëàâ³ø
Íàéïðîñò³øèé òèï ô³ëüòðà — öå ô³ëüòð çà âèä³ëåíèì. ϳä ÷àñ Ctr+F (ïîøóê) ÷è Ctrl+H (çàì³íà). Âèêîðèñòîâóþ÷è åëåìåíòè êå-
éîãî çàñòîñóâàííÿ çíà÷åííÿ â êë³òèíö³, äå âñòàíîâëåíî êóðñîð, ðóâàííÿ çîáðàæåíîãî íà ðèñ. 8.5 â³êíà Поиск и замена, âè ìîæåòå
ââàæàºòüñÿ çíà÷åííÿì-çðàçêîì, à ïîëå, äå âñòàíîâëåíî êóð- øóêàòè çíà÷åííÿ âñüîãî ïîëÿ àáî éîãî ÷àñòèíè, ç óðàõóâàííÿì
ñîð, — ïîëåì ô³ëüòðàö³¿. Ó ðåçóëüòàò³ ô³ëüòðàö³¿ â³äîáðàæà- ðåã³ñòðà ë³òåð àáî áåç, â îêðåìîìó ïîë³ àáî â óñ³é òàáëèö³ òîùî.

122 Розділ 8. Вибирання даних Вибирання даних з однієї таблиці 123


Схема роботи з запитом
Ðîáîòó ç áóäü-ÿêèì çàïèòîì ìîæíà ïîä³ëèòè íà òðè îñíîâí³
åòàïè:
♦ ñïî÷àòêó çàïèò ôîðìóëþþòü, òîáòî îïèñóþòü ñëîâåñíî;
♦ äàë³ çàïèò ñòâîðþþòü, àáî ðåàë³çóþòü ó ÑÊÁÄ — «ïåðåê-
ëàäàþòü» òåêñò çàïèòó ìîâîþ SQL àáî ââîäÿòü éîãî â åê-
ðàííó ôîðìó;
♦ íàðåøò³ çàïèò âèêîíóþòü, òîáòî äàþòü ÑÊÁÄ êîìàíäó
îòðèìàòè ðîçâ’ÿçîê çàäà÷³ ç îáðîáêè äàíèõ.
Çàïèò ñòâîðþþòü îäèí ðàç, à âèêîíóþòü áàãàòîðàçîâî. Êîæåí
ðàç ðåçóëüòàòè âèêîíàííÿ ìîæóòü áóòè ð³çíèìè, çàëåæíî â³ä
Рис. 8.5. Вікно Поиск и замена òîãî, ÿê³ äàí³ ââåäåíî â òàáëèö³, ùî íèìè îïåðóº çàïèò.
Çàçíà÷èìî, ùî ðåçóëüòàòîì âèêîíàííÿ çàïèòó â ðåëÿö³éí³é ÁÄ
Завдання 8.1 òàêîæ º òàáëèöÿ. Îäíàê öå íå îäíà ç òèõ òàáëèöü, ÿê³ âõîäÿòü
äî ñêëàäó ÁÄ. Öå òàê çâàíà â³ðòóàëüíà òàáëèöÿ, ùî ³ñíóº íå-
Çà äîïîìîãîþ ô³ëüòðàö³¿ â³äîáðàç³òü â³äîìîñò³ ïðî âñ³õ ó÷í³â òðèâàëèé ÷àñ, à ñàìå ñò³ëüêè, ñê³ëüêè ïîòð³áíî ê볺íòó, àëå íå
10À êëàñó ³ òèõ ó÷í³â 11Á êëàñó, ÿê³ íàðîäèëèñÿ ï³ñëÿ äîâøå, í³æ ïðîòÿãîì îäíîãî ñåàíñó ðîáîòè ç ÑÊÁÄ. Öÿ òàáëè-
1.01.1996. Ñïî÷àòêó ñôîðìóëþéòå óìîâó ô³ëüòðàö³¿, ÿê³é ìຠöÿ çáåð³ãàºòüñÿ ëèøå â îïåðàòèâí³é ïàì’ÿò³, ³ êîëè âè çàâåð-
â³äïîâ³äàòè îêðåìèé ó÷åíü. øóºòå ðîáîòó ç ÑÊÁÄ, óñ³ â³ðòóàëüí³ òàáëèö³ âèäàëÿþòüñÿ, ïðî-
òå çáåð³ãàþòüñÿ SQL-òåêñòè çàïèò³â ³ äëÿ îòðèìàííÿ â³ðòóàëü-
íî¿ òàáëèö³ ï³ä ÷àñ íàñòóïíîãî ñåàíñó ðîáîòè ç ÑÊÁÄ äîñòàòíüî
Вибирання даних з кількох таблиць ïðîñòî âèêîíàòè çàïèò.
Ê볺íòè áàç äàíèõ — ëþäè àáî ïðîãðàìè — ÷àñòî ïîòðåáóþòü
³íôîðìàö³¿, ÿêó íåìîæëèâî çíàéòè â ÿê³éñü îäí³é òàáëèö³. Äëÿ äîïèòëèâèõ. Òîé ôàêò, ùî ðåçóëüòàò âèêîíàííÿ çàïèòó
Ïðèïóñòèìî, ïîòð³áíî ä³çíàòèñÿ ïð³çâèùà òà ³ìåíà â÷èòåë³â, º òàáëèöåþ, — âêðàé âàæëèâèé, àäæå öå îçíà÷àº, ùî îäí³
ÿê³ âèêëàäàþòü â 11À êëàñ³. Î÷åâèäíî, ùî öþ ³íôîðìàö³þ íå çàïèòè ìîæíà âèêîðèñòîâóâàòè ÿê ïàðàìåòðè ³íøèõ, òîáòî
âäàñòüñÿ â³äîáðàçèòè çà äîïîìîãîþ ô³ëüòðà, çàñòîñîâàíîãî äî áóäóâàòè çàïèòè íà îñíîâ³ çàïèò³â, à íå òàáëèöü. ²íàêøå
òàáëèö³ â÷èòåë³â, àäæå â í³é íåìຠæîäíî¿ ³íôîðìàö³¿ ïðî êëà- êàæó÷è, ÿê â³ðòóàëüí³ òàáëèö³, òàê ³ ò³, ùî çáåð³ãàþòüñÿ â
ñè. Ç ³íøîãî áîêó, ó òàáëèöÿõ Класи òà Викладання íåìຠ³í- ÁÄ ïîñò³éíî, ìîæíà ââàæàòè îäíàêîâèìè ç òî÷êè çîðó êîíñ-
ôîðìàö³¿ ïðî ïð³çâèùà òà ³ìåíà â÷èòåë³â, òîìó ô³ëüòðàö³ÿ öèõ òðóþâàííÿ çàïèò³â. Ó òåî𳿠ðåëÿö³éíèõ áàç äàíèõ òàêà âëàñ-
òàáëèöü òàêîæ íå äîïîìîæå. Ó ïîä³áíèõ âèïàäêàõ ñòàíóòü ó òèâ³ñòü ìîâ ìàí³ïóëþâàííÿ äàíèìè íàçèâàºòüñÿ ðåëÿö³éíîþ
íàãîä³ çàïèòè — óí³âåðñàëüíèé çàñ³á âèêîíàííÿ ìàéæå áóäü- çàìêíåí³ñòþ.
ÿêèõ çàâäàíü ç îáðîáêè äàíèõ ó ÁÄ. Ñëîâîì «çàïèò» íàçèâàþòü
òàêîæ ñàìó çàäà÷ó íà êøòàëò «âèçíà÷èòè, ÿê³ â÷èòåë³ âèêëà-
äàþòü â 11À êëàñ³»; ðåçóëüòàòîì ¿¿ ðîçâ’ÿçàííÿ áóäå ñïèñîê Створення запитів у СКБД Microsoft Access
ó÷èòåë³â, à òàêîæ òåêñò ðîçâ’ÿçàííÿ, çàïèñàíèé ìîâîþ SQL àáî Ó Microsoft Access ïåðåäáà÷åíî äâà çàñîáè àâòîìàòèçîâàíîãî
ïîäàíèé ó ñïåö³àëüí³é åêðàíí³é ôîðì³. ñòâîðåííÿ çàïèò³â: ìàéñòåð ³ êîíñòðóêòîð. Ìîæëèâîñò³ ïåðøîãî

124 Розділ 8. Вибирання даних Вибирання даних з кількох таблиць 125


³ç íèõ âêðàé îáìåæåí³, òîìó ìè ðîçãëÿäàòèìåìî ò³ëüêè äðóãèé êëàñè çâ’ÿçàí³ ç ó÷èòåëÿìè ÷åðåç òàáëèöþ Викладання, ÿêó
³ çðîáèìî öå íà ïðèêëàä³ çàïèòó âèçíà÷èòè ïð³çâèùà òà ³ìåíà äîâåäåòüñÿ äîäàâàòè âñå îäíî.
â÷èòåë³â, ÿê³ âèêëàäàþòü â 11À êëàñ³. Ó âåðõí³é ÷àñòèí³ â³êíà êîíñòðóêòîðà çàïèòó â³äîáðàæàºòüñÿ
Îòæå, äëÿ ñòâîðåííÿ çàïèòó ó MS Access 2003 íåîáõ³äíî ó ãîëî- ôðàãìåíò ñõåìè ÁÄ, ùî ì³ñòèòü ò³ òàáëèö³, ÿê³ âèêîðèñòîâóþòü-
âíîìó â³êí³ áàçè äàíèõ âèáðàòè â ìåíþ îá’ºêò³â ïóíêò Запросы ³ ñÿ â çàïèò³ (ðèñ. 8.7). Ó íèæí³é ÷àñòèí³ â³êíà ðîçì³ùåíî áëàíê
äâ³÷³ êëàöíóòè ïîñèëàííÿ Создание запроса в режиме конструкто- çàïèòó — ïðîòîòèï òàáëèö³, ÿêà â³äîáðàæàòèìåòüñÿ â ðåçóëüòà-
ра, à â MS Access 2007/2010 — êëàöíóòè êíîïêó Конструктор ò³ âèêîíàííÿ çàïèòó (ðèñ. 8.7). Ó ñòîâïöÿõ ö³º¿ òàáëèö³ ðîçì³ùó-
запросов â îáëàñò³ Другие íà âêëàäö³ Создание. Áóäå â³äîáðàæåíî þòü ïîëÿ, ïåðåòÿãóþ÷è ¿õ ç âåðõíüî¿ ÷àñòèíè, à òàêîæ çàäàþòü
â³êíî êîíñòðóêòîðà çàïèòó, ùî íàçèâàºòüñÿ Запрос 1: запрос на ïàðàìåòðè â³äîáðàæåííÿ ïîë³â òà óìîâè â³äáîðó ¿õí³õ çíà÷åíü.
выборку, à òàêîæ â³êíî Добавление таблицы (ðèñ. 8.6).

Рис. 8.7. Вікно конструктора запиту «Визначити прізвища та імена


вчителів, які викладають в 11А класі»

Ïðèçíà÷åííÿ ðÿäê³â áëàíêà çàïèòó òàêå:


Рис. 8.6. Створення запиту ♦ Поле — íàçâà ïîëÿ, ùî â³äîáðàæàòèìåòüñÿ â òàáëèö³-ðåçóëü-
òàò³ çàïèòó àáî çíà÷åííÿ ÿêîãî ìàþòü çàäîâîëüíÿòè óìîâó;
Ó â³êí³ Добавление таблицы ïîòð³áíî, óòðèìóþ÷è êëàâ³øó Ctrl,
âèáðàòè íàçâè òàáëèöü, äàí³ ç ÿêèõ âèêîðèñòîâóâàòèìóòüñÿ â ♦ Имя таблицы — íàçâà òàáëèö³, ó ÿê³é ì³ñòèòüñÿ ïîëå;
çàïèò³, êëàöíóòè êíîïêó Добавить, à ïîò³ì — Закрыть. Äëÿ ♦ Сортировка — âèçíà÷åííÿ ñïîñîáó ñîðòóâàííÿ ðÿäê³â ó òàá-
íàøîãî çàïèòó äîñòàòíüî äâîõ òàáëèöü, Учителі òà Викладан- ëèö³-ðåçóëüòàò³;
ня, îñê³ëüêè íàçâè êëàñ³â ì³ñòÿòüñÿ â òàáëèö³ Викладання, à ♦ Вывод на экран — ïðàïîðåöü, ÿêèé ñë³ä âñòàíîâèòè, ÿêùî
ïð³çâèùà òà ³ìåíà â÷èòåë³â, ÿê³ â öèõ êëàñàõ âèêëàäàþòü, — ó ïîëå â³äîáðàæàòèìåòüñÿ â òàáëèö³-ðåçóëüòàò³;
òàáëèö³ Учителі. ßêùî äîäàòè òàáëèöþ Класи, öå íå áóäå ïî- ♦ Условие отбора — óìîâà, ÿêó ìàþòü çàäîâîëüíÿòè çíà÷åííÿ
ìèëêîþ, àëå ïðèçâåäå äî çàéâîãî óñêëàäíåííÿ çàïèòó, îñê³ëüêè ïîë³â;

126 Розділ 8. Вибирання даних Вибирання даних з кількох таблиць 127


♦ или — ÷àñòèíà óìîâè, ç’ºäíàíà ç ³íøèìè ÷àñòèíàìè ñïîëó÷- Редагування запитів
íèêîì «àáî».
ßêùî â ãîëîâíîìó â³êí³ áàçè äàíèõ Access 2003 âèáðàòè â ìå-
Áëàíê íàøîãî çàïèòó ìຠâèãëÿäàòè òàê, ÿê íà ðèñ. 8.7: â³äî- íþ îá’ºêò³â êîìàíäó Запросы, ó ïðàâ³é ÷àñòèí³ öüîãî â³êíà â³-
áðàæàþòüñÿ ïîëÿ прізвище òà ім’я òàáëèö³ Учителі, à çíà-
äîáðàçÿòüñÿ âñ³ íàÿâí³ â áàç³ çàïèòè. Ó MS Access 2007/2010
÷åííÿì ïîëÿ клас òàáëèö³ Викладання ìຠáóòè 11А.
óñ³ çàïèòè ìîæíà ïîáà÷èòè â ãðóï³ Запросы êàòåãî𳿠Все
Ùîá âèêîíàòè öåé çàïèò, ïîòð³áíî êëàöíóòè êíîïêó (Çà- объекты Access â îáëàñò³ ïåðåõîä³â. Çà ïîòðåáè çì³íèòè ÿêèéñü
ïóñê) íà ïàíåë³ ³íñòðóìåíò³â. ßêèì ìຠáóòè ðåçóëüòàò, ïîêà- çàïèò êëàöí³òü éîãî ïðàâîþ êíîïêîþ ìèø³ òà âèáåð³òü ç êîí-
çàíî íà ðèñ. 8.8. òåêñòíîãî ìåíþ êîìàíäó Конструктор. ³äêðèºòüñÿ çíàéîìå âàì
ϳñëÿ òîãî ÿê âè ïåðåãëÿíåòå ðåçóëüòàòè çàïèòó, â³êíî òàáëèö³ â³êíî êîíñòðóêòîðà çàïèòó, ó ÿêîìó ìîæíà çì³íèòè ÿê íàá³ð
ðåçóëüòàò³â ïîòð³áíî çàêðèòè êíîïêîþ . Áóäå â³äîáðàæåíî òàáëèöü, ùî âèêîðèñòîâóþòüñÿ â çàïèò³, òàê ³ éîãî áëàíê.
çàïèòàííÿ, ÷è çáåð³ãàòè çì³íè ìàêåòó àáî ñòðóêòóðè îá’ºêòà
♦ Ùîá âèäàëèòè ç çàïèòó òàáëèöþ, êëàöí³òü ¿¿ ó âåðõí³é ÷àñ-
Запрос 1. Êëàöí³òü êíîïêó Да ³ ó â³êí³, ùî ç’ÿâèòüñÿ, ââåä³òü
òèí³ â³êíà êîíñòðóêòîðà ïðàâîþ êíîïêîþ òà âèáåð³òü ó
íàçâó çàïèòó, íàïðèêëàä Учителі 11А. Êîëè âè êëàöíåòå êíîï-
êó OK, çàïèò â³äîáðàçèòüñÿ â ðîçä³ë³ çàïèò³â ó ãîëîâíîìó â³êí³ êîíòåêñòíîìó ìåíþ êîìàíäó Удалить таблицу.
áàçè äàíèõ (ðèñ. 8.9) àáî â êàòåãî𳿠Все объекты Access â îáëà- ♦ Ùîá äîäàòè ïåâíó òàáëèöþ, ñêîðèñòàéòåñÿ êíîïêîþ
ñò³ ïåðåõîä³â. (³äîáðàçèòè òàáëèöþ).
♦ Äëÿ âèäàëåííÿ ç çàïèòó çâ’ÿçêà ì³æ òàáëèöÿìè éîãî ïîò-
ð³áíî êëàöíóòè ïðàâîþ êíîïêîþ ìèø³ òà âèáðàòè ç ìåíþ,
ùî ç’ÿâèòüñÿ, êîìàíäó Удалить.
♦ ßêùî çíàäîáèòüñÿ âèäàëèòè ç áëàíêà çàïèòó ïîëå, êëàö-
í³òü éîãî çàãîëîâîê (òîíêó ñ³ðó ñìóæêó íàä íàçâîþ ïîëÿ)
ïðàâîþ êíîïêîþ ìèø³ òà âèáåð³òü ç ìåíþ, ùî â³äêðèºòüñÿ,
êîìàíäó Вырезать.

Рис. 8.8. Результат виконання запиту


♦ Ùîá çì³íèòè ïàðàìåòðè ïîë³â ó áëàíêó, ââåä³òü ïîòð³áí³
çíà÷åííÿ ç êëàâ³àòóðè àáî âèáåð³òü ¿õ ç³ ñïèñêó, ùî ðîç-
êðèâàºòüñÿ êíîïêîþ ó êë³òèíêàõ ðÿäê³â Поле, Имя
таблицы, Сортировка.

Завдання 8.2
Ñòâîð³òü òà âèêîíàéòå çàïèò «Âèçíà÷èòè ïð³çâèùà òà ³ìåíà
â÷èòåë³â, ÿê³ âèêëàäàþòü â 11À êëàñ³».

Завдання 8.3
Ñòâîð³òü òà âèêîíàéòå çàïèò «Âèçíà÷èòè ïð³çâèùå òà ñïåö³àëü-
Рис. 8.9. Відображення запиту в головному вікні бази даних í³ñòü êëàñíîãî êåð³âíèêà 11Á êëàñó».

128 Розділ 8. Вибирання даних Вибирання даних з кількох таблиць 129


Приклади запитів

Приклад 1
Ðîçãëÿíåìî òðîõè ñêëàäí³øèé çàïèò: âèçíà÷èòè ³ìåíà òà ïð³-
çâèùà ó÷í³â, ÿêèì âèêëàäຠÑîøêî Êàòåðèíà Ìèêîëà¿âíà. Ó
öüîìó çàïèò³ ïîòð³áíî âèêîðèñòàòè âñ³ ÷îòèðè òàáëèö³, ÿê³ º â
áàç³ äàíèõ школа: ç òàáëèö³ Учні âçÿòè ïð³çâèùà òà ³ìåíà, íà
çíà÷åííÿ ïîë³â òàáëèö³ Учителі íàêëàñòè óìîâó прізвище =
Сошко, ім’я = Катерина, по батькові = Миколаївна, à ñêî-
ðèñòàâøèñü òàáëèöÿìè Викладання òà Класи, ç’ºäíàòè â÷èòåëÿ
ç ó÷íÿìè.
ßêèé âèãëÿä ìàòèìå â³êíî êîíñòðóêòîðà öüîãî çàïèòó, ïîêàçà-
íî íà ðèñ. 8.10. Çàóâàæòå, ùî çâ’ÿçîê «îäèí-äî-îäíîãî» ì³æ
òàáëèöÿìè Класи òà Учителі áóëî âèäàëåíî, îñê³ëüêè éîãî
çì³ñò — «ó÷èòåëü º êëàñíèì êåð³âíèêîì» — í³ÿê íå â³äîáðà-
æàºòüñÿ â óìîâ³ çàïèòó. ßêáè ìè öåé çâ’ÿçîê çàëèøèëè, òî Рис. 8.10. Вікно конструктора запиту «визначити імена та прізвища
ðåàë³çóâàëè á ³íøèé çàïèò, à ñàìå «Âèçíà÷èòè ³ìåíà òà ïð³- учнів, у яких викладає Сошко Катерина Миколаївна»
çâèùà ó÷í³â, ó ÿêèõ âèêëàäຠòà º êëàñíèì êåð³âíèêîì Ñîøêî
Êàòåðèíà Ìèêîëà¿âíà». Íàãàäàºìî, ùî çâ’ÿçîê ç áëàíêà çàïèòó
âèäàëÿþòü òàê ñàìî, ÿê ³ ç³ ñõåìè ÁÄ: íà çâ’ÿçêó ïîòð³áíî
êëàöíóòè ïðàâîþ êíîïêîþ ìèø³ òà âèáðàòè ó ìåíþ, ùî
ç’ÿâèòüñÿ, êîìàíäó Удалить.
ßêùî âè ïðàâèëüíî ðåàë³çóâàëè öåé çàïèò ³ ââåëè â áàçó äàí³,
âêàçàí³ ó çàâäàííÿõ äî ðîçä³ë³â 4 ³ 5, òî â ðåçóëüòàò³ éîãî âè-
êîíàííÿ ìàºòå îòðèìàòè Максим Шпак òà Хоменко Ірина.

Приклад 2
Âèçíà÷èòè, ó ÿêèõ êëàñàõ íàâ÷àþòüñÿ õëîïö³, ùî íàðîäèëèñÿ
ó 1996 ðîö³.
Äëÿ ñòâîðåííÿ öüîãî çàïèòó äîñòàòíüî îäí³º¿ òàáëèö³ — Учні, ó
ÿê³é ì³ñòèòüñÿ ³íôîðìàö³ÿ ³ ïðî êëàñè. Òîìó öåé çàïèò çàãàëîì
ìîæíà ðåàë³çóâàòè çà äîïîìîãîþ ô³ëüòðà. Ùîïðàâäà, íàì ïîò-
ð³áíî â³äîáðàçèòè çíà÷åííÿ îäíîãî ïîëÿ — класи, à ï³ñëÿ ô³ëü-
òðàö³¿ â³äîáðàæàòèìóòüñÿ âñ³ ïîëÿ. ³êíî êîíñòðóêòîðà öüîãî Рис. 8.11. Вікно конструктора запиту «Визначити, у яких класах
çàïèòó íàâåäåíî íà ðèñ. 8.11. навчаються хлопці, що народилися у 1996 році»

130 Розділ 8. Вибирання даних Вибирання даних з кількох таблиць 131


Çâåðí³òü óâàãó íà òàê³ îáñòàâèíè: ² â öüîìó çàïèò³ âàðòî çâåðíóòè óâàãó íà äâ³ îáñòàâèíè: «Âñþ
♦ Íà çàïèñè òàáëèö³ Учні íàêëàäåíî äâ³ óìîâè, ç’ºäíàí³ ñïî- ³íôîðìàö³þ» îçíà÷ຠ«çíà÷åííÿ âñ³õ ïîë³â», àëå íà áëàíêó çà-
ëó÷íèêîì «³»: ñòàòü ìຠáóòè ÷îëîâ³÷îþ ³ äàòà íàðîäæåí- ïèòó âñ³ ïîëÿ òàáëèö³ Учителі ïåðåë³÷óâàòè íå ïîòð³áíî. Çà-
íÿ — 1996 ð³ê. Òîìó ö³ óìîâè ðîçì³ùåíî â îäíîìó ðÿäêó ì³ñòü öüîãî äîñòàòíüî çàïèñàòè â ³ìåí³ ïîëÿ ñèìâîë *, ÿêèé ³
Условие отбора. îçíà÷ຠ«âñ³ ïîëÿ».
♦ Óìîâó «íàðîäèëèñÿ ó 1996 ðîö³» çàïèñàíî ÿê *1996. Áóê- Óìîâó çàïèòó ìîæíà ïåðåôîðìóëþâàòè òàê: «Â³äîáðàçèòè âñþ
âàëüíî öåé çàïèñ ìîæíà ³íòåðïðåòóâàòè òàê: çíà÷åííÿ ïî- ³íôîðìàö³þ ïðî â÷èòåë³â, ÿê³ º êëàñíèìè êåð³âíèêàìè 10À àáî
ëÿ дата народження çàê³í÷óºòüñÿ ÷èñëîì 1996. Ñèìâîë 11Á êëàñó». Òîáòî, õî÷à â óìîâ³ âæèòî ñïîëó÷íèê òà, íàñïðàâ-
«*» òóò º çíàêîì ï³äñòàíîâêè, ùî ïîçíà÷ຠäîâ³ëüíèé íàá³ð ä³ ¿¿ ÷àñòèíè ç’ºäíàí³ ñïîëó÷íèêîì àáî ³ òîìó çàïèñàí³ â ð³çíèõ
ñèìâîë³â. ðÿäêàõ: Условие отбора òà или.

Приклад 3 Завдання 8.4


³äîáðàçèòè âñþ ³íôîðìàö³þ ïðî êëàñíèõ êåð³âíèê³â 10À òà Ñòâîð³òü òà âèêîíàéòå çàïèò «Îòðèìàòè âñþ ³íôîðìàö³þ ïðî
11Á êëàñ³â. â÷èòåë³â, ÿê³ âèêëàäàþòü ó÷íÿì, ùî íàðîäèëèñÿ ï³ñëÿ 1 ñ³÷íÿ
Äëÿ ðåàë³çàö³¿ öüîãî çàïèòó çíàäîáëÿòüñÿ òàáëèö³ Класи òà 1996 ðîêó».
Учителі, à òàáëèöÿ Викладання áóäå çàéâîþ, îñê³ëüêè ïðî âè-
êëàäàííÿ â óìîâ³ çàïèòó íå éäåòüñÿ. ³êíî êîíñòðóêòîðà çàïè- Äëÿ äîïèòëèâèõ. ²ñíóþòü çàñîáè àâòîìàòèçîâàíîãî ñòâîðåííÿ
òó çîáðàæåíî íà ðèñ. 8.12.
çàïèò³â, çíà÷íî ïîòóæí³ø³, í³æ êîíñòðóêòîð ó ÑÊÁÄ
Microsoft Access. Òàê, ó ÑÊÁÄ Paradox ðåàë³çîâàíî ãðàô³÷íó
ìîâó ìàí³ïóëþâàííÿ äàíèìè, ùî íàçèâàºòüñÿ QBE (Query by
Example — çàïèò çà çðàçêîì). ¯¿ ìîæëèâîñò³ íàâ³òü øèðø³ çà
ìîæëèâîñò³ ìîâè SQL.

Висновки
♦ ϳä ñîðòóâàííÿì ðîçóì³þòü ðîçòàøóâàííÿ çàïèñ³â òàáëèö³
ó ïîðÿäêó çðîñòàííÿ ÷è ñïàäàííÿ çíà÷åíü ÿêîãîñü ïîëÿ.
♦ Ô³ëüòðàö³ÿ äຠçìîãó â³äîáðàçèòè ò³ëüêè ò³ çàïèñè òàáëèö³,
ùî çàäîâîëüíÿþòü ïåâíó óìîâó.
♦ Çàïèòè — óí³âåðñàëüíèé çàñ³á âèêîíàííÿ ìàéæå áóäü-ÿêèõ
çàâäàíü ç îáðîáêè äàíèõ ó ÁÄ.
♦ Çàïèò ñïî÷àòêó ôîðìóëþþòü, òîáòî îïèñóþòü ñëîâåñíî, ïî-
ò³ì ñòâîðþþòü, àáî ðåàë³çóþòü, ó ÑÊÁÄ — «ïåðåêëàäàþòü»
òåêñò çàïèòó ìîâîþ SQL àáî ââîäÿòü éîãî â åêðàííó ôîðìó,
Рис. 8.12. Вікно конструктора запиту «Відобразити всю інформацію ³, íàðåøò³ âèêîíóþòü, òîáòî äàþòü ÑÊÁÄ êîìàíäó îòðèìà-
про класних керівників 10А та 11Б класів» òè ðîçâ’ÿçîê çàäà÷³ ç îáðîáêè äàíèõ.

132 Розділ 8. Вибирання даних Висновки 133


♦ Ðåçóëüòàòîì âèêîíàííÿ çàïèòó â ðåëÿö³éí³é ÁÄ º â³ðòóàëü- 2*. ×èì â³äð³çíÿºòüñÿ çàïèò «Âèçíà÷èòè êëàñè, ó ÿêèõ íå âè-
íà òàáëèöÿ, ÿêà ³ñíóº ñò³ëüêè, ñê³ëüêè ïîòð³áíî ê볺íòó. êëàäຠÑîøêî Êàòåðèíà Ìèêîëà¿âíà» â³ä çàïèòó «Âèçíà÷è-
♦ Ñòâîðþþ÷è çàïèò, ó â³êí³ êîíñòðóêòîðà íåîáõ³äíî âêàçàòè òè êëàñè, ó ÿêèõ âèêëàäຠíå Ñîøêî Êàòåðèíà Ìèêîëà¿â-
òàáëèö³, äàí³ ç ÿêèõ âèêîðèñòîâóâàòèìóòüñÿ, ïîëÿ, çíà÷åí- íà»? Íàâåä³òü ïðèêëàäè äàíèõ, íà ÿêèõ ö³ çàïèòè äàâàòè-
íÿ ÿêèõ ïîòð³áíî â³äîáðàçèòè íà åêðàí³, òà óìîâè, ÿêèì ìóòü ð³çí³ ðåçóëüòàòè.
ìàþòü â³äïîâ³äàòè çíà÷åííÿ öèõ àáî ³íøèõ ïîë³â.
Завдання для досліджень
Завдання для самостійного виконання 1. Íàâ÷³òüñÿ âèêîðèñòîâóâàòè ìàéñòåð ïîáóäîâè çàïèò³â ó
1. Çà äîïîìîãîþ ô³ëüòðàö³¿ â³äîáðàç³òü â³äîìîñò³ ëèøå ïðî òèõ Microsoft Access òà âèçíà÷òå, ÿê³ ð³çíîâèäè çàïèò³â â³í äî-
ó÷èòåë³â, ÿê³ ìàþòü ïàñïîðò ñå𳿠CO òà âèêëàäàþòü ô³çèêó çâîëÿº ñòâîðþâàòè. Íàâåä³òü ïðèêëàä çàïèòó, ÿêèé íåìîæ-
ëèâî ñòâîðèòè çà äîïîìîãîþ ìàéñòðà, àëå ìîæíà ðåàë³çóâà-
àáî ìàòåìàòèêó.
òè â êîíñòðóêòîð³ çàïèò³â.
2. Ðåàë³çóéòå òà âèêîíàéòå òàê³ çàïèòè: *
2 . Ñôîðìóëþéòå äëÿ áàçè äàíèõ школа çàïèò, ÿêèé íåìîæëè-
• ³äîáðàçèòè âñ³ äàí³ ïðî ó÷í³â, ó ÿêèõ êëàñíèé êå- âî ðåàë³çóâàòè çàñîáàìè êîíñòðóêòîðà çàïèò³â.
ð³âíèê — Êîðáóò Âàñèëü Ïåòðîâè÷.
• Âèçíà÷èòè ñïåö³àëüíîñò³ â÷èòåë³â, ÿê³ âèêëàäàþòü â
11 êëàñàõ.
3. Äëÿ êîæíî¿ ç áàç äàíèõ, ñòâîðåíèõ ó çàâäàííÿõ äëÿ ñàìîñ-
ò³éíîãî âèêîíàííÿ ç ïîïåðåäí³õ ðîçä³ë³â, ñôîðìóëþéòå, ðå-
àë³çóéòå òà âèêîíàéòå ïî îäíîìó çàïèòó, ó ÿêîìó âèêîðèñ-
òîâóºòüñÿ á³ëüøå îäí³º¿ òàáëèö³.
4*. Ðåàë³çóéòå òà âèêîíàéòå òàê³ çàïèòè:
• Âèçíà÷èòè ïð³çâèùà òà äàòè íàðîäæåííÿ ó÷í³â,
ÿêèì âèêëàäຠÊîðáóò Âàñèëü Ïåòðîâè÷ àáî Ñîøêî
Êàòåðèíà Ìèêîëà¿âíà.
• Âèçíà÷èòè ïð³çâèùà òà äàòè íàðîäæåííÿ ó÷í³â,
ÿêèì âèêëàäàþòü Êîðáóò Âàñèëü Ïåòðîâè÷ òà Ñîøêî
Êàòåðèíà Ìèêîëà¿âíà.
• Âèçíà÷èòè ïð³çâèùà òà äàòè íàðîäæåííÿ ó÷í³â,
ÿêèì íå âèêëàäຠÊîðáóò Âàñèëü Ïåòðîâè÷.

Питання для роздумів


1. ×îìó ìîæëèâîñò³ âèáèðàííÿ äàíèõ ó ÑÊÁÄ ïîòóæí³ø³,
í³æ ó òàáëè÷íîìó ïðîöåñîð³?

134 Розділ 8. Вибирання даних Завдання для досліджень 135


● ³äì³ííîþ ðèñîþ öüîãî òèïó çàïèò³â º òå, ùî âîíè íå çì³íþþòü
Розділ 9 äàí³ â áàç³, à ëèøå âèáèðàþòü ¿õ ç òàáëèöü çà ïåâíèìè óìîâà-
ìè. Ðåçóëüòàòîì âèêîíàííÿ áóäü-ÿêîãî âèá³ðêîâîãî çàïèòó,
Основи мови запитів íàãàäàºìî, º â³ðòóàëüíà òàáëèöÿ, ùî ³ñíóº íåòðèâàëèé ÷àñ,
ïîêè âè ¿¿ íå çàêðèºòå.
Çðîçóì³òè ñòðóêòóðó âèá³ðêîâîãî SQL-çàïèòó íàéëåãøå íà êîí-
Повторення êðåòíîìó ïðèêëàä³, ðîçãëÿíóòîìó ó âïðàâ³ 9.1.

♦ Ùî òàêå ìîâà ìàí³ïóëþâàííÿ äàíèìè?


Вправа 9.1
♦ ßêà ìîâà ìàí³ïóëþâàííÿ äàíèìè íàé-
á³ëüø ïîøèðåíà â ðåëÿö³éí³é ìîäåë³? Çàïèø³òü ìîâîþ SQL ³ âèêîíàéòå çàïèò âèçíà÷èòè ïð³çâèùà
♦ ßêèé âèãëÿä ìຠâ³êíî êîíñòðóêòîðà òà ³ìåíà ó÷í³â-õëîïö³â.
çàïèò³â? 1. ³äêðèéòå êîíñòðóêòîð çàïèò³â. Ó â³êí³ Добавление табли-
♦ Ùî òàêå â³ðòóàëüíà òàáëèöÿ? цы âèáåð³òü òàáëèöþ Учні, îñê³ëüêè çàïèò ñòîñóºòüñÿ ó÷-
í³â, ï³ñëÿ ÷îãî êëàöí³òü êíîïêó Добавить ³ çàêðèéòå öå
â³êíî.
ßê ìè âæå çàçíà÷àëè, ïðàêòè÷íî â óñ³õ ðåëÿö³éíèõ ÑÊÁÄ äëÿ
2. Ó Access 2003 êëàöí³òü ïðàâîþ êíîïêîþ ìèø³ áóäü-ÿêå
ìàí³ïóëþâàííÿ äàíèìè çàñòîñîâóþòü ìîâó SQL (àíãë. Structu-
ì³ñöå â³êíà êîíñòðóêòîðà, êð³ì áëàíêà çàïèòó, é âèáåð³òü ç
red Query Language — ìîâà ñòðóêòóðîâàíèõ çàïèò³â), à òàê³
êîíòåêñòíîãî ìåíþ êîìàíäó Режим SQL, à â Access
àâòîìàòèçîâàí³ çàñîáè ñòâîðåííÿ çàïèò³â, ÿê ìè ðîçãëÿäàëè â
2007/2010 ç ìåíþ êíîïêè Режим íà ñòð³÷ö³ Конструктор âè-
ïîïåðåäíüîìó ðîçä³ë³, ïðåäñòàâëåí³ ëèøå â ïîîäèíîêèõ ñèñòå-
áåð³òü êîìàíäó Режим SQL. Áóäå â³äîáðàæåíî çàãîòîâêó
ìàõ êåðóâàííÿ áàçàìè äàíèõ. Òîáòî îñíîâíèé ñïîñ³á êîíñòðóþ-
SQL-êîäó çàïèòó:
âàííÿ çàïèò³â äî áàç äàíèõ — öå ¿õ çàïèñ ó òåêñòîâîìó âèãëÿä³,
÷èìîñü ïîä³áíèé äî íàïèñàííÿ íåâåëè÷êèõ ïðîãðàì. Îäíàê SELECT
ìîâà SQL íå º ìîâîþ ïðîãðàìóâàííÿ, âîíà äåêëàðàòèâíà, òîáòî FROM Учні;
äîçâîëÿº êîðèñòóâà÷ó îïèñàòè, ùî â³í õî÷å îòðèìàòè, íå îïè-
ñóþ÷è, ÿê ñàìå êîìï’þòåð ìຠîá÷èñëèòè ïîòð³áíèé ðåçóëüòàò. Ó ö³é çàãîòîâö³ âè áà÷èòå äâà êëþ÷îâèõ ñëîâà: SELECT ³
Òîìó ïèñàòè çàïèòè ìîâîþ SQL çíà÷íî ëåãøå, í³æ ïðîãðàìè FROM. ϳñëÿ ñëîâà FROM âêàçóþòü íàçâè òàáëèöü, ç ÿêèõ
áóäü-ÿêîþ ìîâîþ ïðîãðàìóâàííÿ. Çàãàëîì º ê³ëüêà ð³çíîâèä³â âèáèðàòèìóòüñÿ äàí³. Ó íàøîìó âèïàäêó öå áóäå òàáëèöÿ
çàïèò³â: íà âèáèðàííÿ äàíèõ, ¿õ äîäàâàííÿ, âèäàëåííÿ, îíîâ- Учні; ¿¿ íàçâó âæå ââåäåíî àâòîìàòè÷íî.
ëåííÿ òà äåÿê³ ³íø³. Ñüîãîäí³ âè íàâ÷èòåñÿ îïèñóâàòè ìîâîþ
3. ϳñëÿ ñëîâà SELECT ÷åðåç êîìó çàïèø³òü íàçâè ïîë³â, çíà-
SQL íåñêëàäí³ çàïèòè íà âèáèðàííÿ äàíèõ.
÷åííÿ ÿêèõ â³äîáðàæàòèìóòüñÿ. Ó äàíîìó çàïèò³ öå ïîëÿ
прізвище òà ім'я. Îñê³ëüêè íàçâà ïîëÿ ім'я ì³ñòèòü ñèì-
Загальна структура SQL-запиту âîë àïîñòðîôà, ¿¿ ïîòð³áíî âçÿòè ó êâàäðàòí³ äóæêè:

Âè âæå â쳺òå ñòâîðþâàòè çàïèòè íà âèáèðàííÿ äàíèõ, àáî âè- SELECT прізвище,[ім'я]
á³ðêîâ³ çàïèòè çà äîïîìîãîþ êîíñòðóêòîðà çàïèò³â MS Access. FROM Учні;


136 Розділ 9 . Основи мови запитів Загальна структура SQL-запиту 137
Çàçíà÷èìî, ùî ó êâàäðàòí³ äóæêè áåðóòüñÿ òàêîæ íàçâè,
ÿê³ ì³ñòÿòü ïðîá³ë. Äëÿ äîïèòëèâèõ. ßêùî çàïèò ³ç âïðàâè 9.1 ñêëàñòè â êîíñ-
òðóêòîð³, à ïîò³ì ïåðåéòè â ðåæèì SQL, òî ìè ïîáà÷èìî òà-
4.  ê³íö³ çàïèòó (àëå äî ñèìâîëó ;) çàïèø³òü êëþ÷îâå ñëîâî êèé òåêñò, àâòîìàòè÷íî ñêîíñòðóéîâàíèé ÑÊÁÄ:
WHERE, à ï³ñëÿ íüîãî — óìîâó â³äáîðó çàïèñ³â (ñåðåä óñ³õ
ó÷í³â íàì ïîòð³áíî â³ä³áðàòè õëîïö³â). Îñòàòî÷íèé âèãëÿä SELECT Учні.прізвище, Учні.[ім'я]
çàïèòó áóäå òàêèì: FROM Учні
WHERE (((Учні.стать)=″ч″));
SELECT прізвище,[ім'я]
FROM Учні Çà çì³ñòîì â³í í³÷èì íå â³äð³çíÿºòüñÿ â³ä òåêñòó, çàïèñàíî-
WHERE стать=″ч″; ãî íàìè â SQL-ðåäàêòîð³, àëå âèãëÿäຠñêëàäí³øèì ÷åðåç
òå, ùî ï³ä ÷àñ àâòîìàòè÷íî¿ ïîáóäîâè SQL-âèðàç³â MS Ac-
5. Çàïóñò³òü çàïèò íà âèêîíàííÿ êíîïêîþ (Âèêîíàòè) òà cess ââîäèòü äåÿê³ çàéâ³ ïîçíà÷åííÿ. Òàê, ï³ñëÿ ñëîâà
ïåðåêîíàéòåñÿ, ùî â òàáëèö³ ðåçóëüòàò³â º â³äîìîñò³ ò³ëüêè WHERE ïîñòàâëåíî íåïîòð³áí³ äóæêè, à ïåðåä íàçâàìè àòðè-
ïðî õëîïö³â. áóò³â çàïèñàíî íàçâó òàáëèö³ ç ñèìâîëîì êðàïêè. Âèðàç
Учні.прізвище ìîæíà ÷èòàòè ÿê «ïîëå прізвище òàáëèö³
6. Çàêðèéòå â³êíî çàïèòó, çáåð³ãøè éîãî ï³ä ³ìåíåì учні-
Учні». Ïðîòå ÿêùî ó çàïèò³ âñüîãî îäíà òàáëèöÿ, òî ïîëå
хлопці.
прізвище í³ÿê³é ³íø³é òàáëèö³ íå ìîæå íàëåæàòè ³ òîìó
Çàãàëîì âèá³ðêîâèé SQL-çàïèò ìຠòàêèé ôîðìàò: ñïåöèô³êàòîð Учні. ìîæíà îïóñòèòè.

SELECT список полів, значення яких потрібно отримати


FROM список таблиць, з яких вибираються дані
WHERE умова, яку мають задовольняти записи, Завдання 9.1
що вибираються
Çàïèø³òü ìîâîþ SQL çàïèò âèçíà÷èòè ïð³çâèùà òà íîìåðè
ïàñïîðò³â ó÷èòåë³â-ìàòåìàòèê³â. ßê ïåðåéòè â ðåæèì óâå-
Çàçíà÷èìî, ùî âèðàçè, ÿê³ ïî÷èíàþòüñÿ ç êëþ÷îâèõ ñë³â, ÷àñòî
äåííÿ SQL-êîäó, îïèñàíî ó âïðàâ³ 9.1.
íàçèâàþòü ôðàçàìè, íàïðèêëàä ôðàçà SELECT. Ðåã³ñòð êëþ÷î-
âèõ ñë³â íåâàæëèâèé, àëå ¿õ ïðèéíÿòî çàïèñóâàòè âåëèêèìè
ë³òåðàìè. З’єднання таблиць
Çàóâàæèìî òàêîæ, ùî ìîâà SQL àíãë³çîâàíà, òîáòî ¿¿ âèðàçè
Ðîçãëÿíåìî çàïèò âèçíà÷èòè ïð³çâèùà òà ³ìåíà â÷èòåë³â, ùî
äåùî íàãàäóþòü àíãë³éñüê³ ðå÷åííÿ. Ñëîâî SELECT ïåðåêëàäà-
âèêëàäàþòü â 11À êëàñ³, ÿêèé ìè âæå ðåàë³çîâóâàëè çà äîïî-
ºòüñÿ ÿê «âèáðàòè», ñëîâî FROM — «ç», à WHERE — «äå», àáî
ìîãîþ êîíñòðóêòîðà çàïèò³â (äèâ. ðèñ. 8.7). ßêùî ñòâîðèòè öåé
«äëÿ ÿêèõ». Ó ö³ëîìó ïðîñòèé SQL-çàïèò ïîòð³áíî ÷èòàòè çà
çàïèò ó êîíñòðóêòîð³, à ïîò³ì â³äîáðàçèòè éîãî SQL-êîä òà âè-
òàêîþ ñõåìîþ.
äàëèòè çàéâ³ äóæêè ³ ñïåöèô³êàòîðè, ðåçóëüòàò áóäå òàêèì:

Çàïèò SELECT x FROM y WHERE z ñë³ä ³íòåðïðåòóâàòè òàê: SELECT прізвище,[ім'я]


«âèáðàòè ïîëÿ x òèõ çàïèñ³â òàáëèö³ y, ÿê³ çàäîâîëüíÿþòü FROM Учителі INNER JOIN Викладання ON
Учителі.паспорт = Викладання.учитель
óìîâó z».
WHERE клас=″11А″


138 Розділ 9 . Основи мови запитів З’єднання таблиць 139
Ó ôðàç³ FROM ìè áà÷èìî íå íàçâó òàáëèö³ ³ íå ñïèñîê íàçâ, à
îïåðàòîð INNER JOIN (ó ïåðåêëàä³ ç àíãë³éñüêî¿ — âíóòð³øíº
ç’ºäíàííÿ), ïðèçíà÷åíèé äëÿ ç’ºäíàííÿ òàáëèöü. Çàãàëüíèé
ñèíòàêñèñ öüîãî îïåðàòîðà òàêèé:

Таблиця1 INNER JOIN Таблиця2 ON умова

Óìîâà çàçâè÷àé ñòîñóºòüñÿ îáîõ òàáëèöü, âêàçàíèõ äî ³ ï³ñëÿ


ñë³â INNER JOIN (ó ïðèêëàä³ âèùå — òàáëèöü Учителі òà Ви-
кладання). Îïåðàòîð «ç÷³ïëþº» ò³ çàïèñè òàáëèö³ 1 ³ òàáëèö³ 2,
ÿê³, ðàçîì óçÿò³, â³äïîâ³äàþòü óìîâ³. Ó ðåçóëüòàò³ ç òàêèõ ç÷³- а
ïîê ôîðìóºòüñÿ íîâà òàáëèöÿ, äî ÿêî¿ âæå çàñòîñîâóºòüñÿ â³ä-
á³ð ðÿäê³â çã³äíî ç ôðàçîþ WHERE, à ïîò³ì — â³äá³ð ñòîâïö³â
çã³äíî ç ôðàçîþ SELECT.
Îïèøåìî äåòàëüí³øå àëãîðèòì, çà ÿêèì ÑÊÁÄ âèêîíóº çàïèò.
1. Âèêîíóºòüñÿ îïåðàòîð INNER JOIN ó ôðàç³ FROM. À ñàìå,
ç÷³ïëþþòüñÿ âñ³ òàê³ ïàðè çàïèñ³â ç òàáëèöü Учителі òà
Викладання, äëÿ ÿêèõ âèêîíóºòüñÿ ð³âí³ñòü Учителі.
паспорт = Викладання.учитель, òîáòî çíà÷åííÿ ïîëÿ
паспорт ó òàáëèö³ Учителі çá³ãàºòüñÿ ç³ çíà÷åííÿì ïîëÿ
учитель ó òàáëèö³ Викладання (ðèñ. 9.1, à). Ó ðåçóëüòà-
ò³ îòðèìóºìî òàáëèöþ, ùî ì³ñòèòü óñ³ òàê³ ç÷³ïêè (ðèñ.
9.1, á).
Îñê³ëüêè ó çâ’ÿçêó ì³æ òàáëèöÿìè Учителі òà Викладання
òàáëèöÿ Учителі º ãîëîâíîþ, à Викладання — ï³äëåãëîþ, б
òî îïåðàòîð Учителі INNER JOIN Викладання ìîæíà ³í-
Рис. 9.1. З’єднання таблиць Учителі та Викладання:
òåðïðåòóâàòè òàê: «äî êîæíîãî â÷èòåëÿ äîïèñàòè ³íôîðìà-
а — зчеплення записів; б — результат з’єднання
ö³þ ïðî éîãî âèêëàäàííÿ».
2. Ç òàáëèö³, çîáðàæåíî¿ íà ðèñ. 9.1, á â³äáèðàþòüñÿ çàïèñè
çà óìîâîþ клас="11А", òîáòî ò³ çàïèñè, ÿê³ â ïîë³ клас
ì³ñòÿòü çíà÷åííÿ 11А. Ó ðåçóëüòàò³ îòðèìóºìî òàáëèöþ,
çîáðàæåíó íà ðèñ. 9.2.
3. Ó òàáëèö³, çîáðàæåí³é íà ðèñ. 9.2, çàëèøàþòüñÿ ò³ëüêè äâà
ïîëÿ, âêàçàí³ ï³ñëÿ ñëîâà SELECT: прізвище òà ім'я.
Îòðèìóºìî òàáëèöþ, çîáðàæåíó íà ðèñ. 9.3, — öå ³ º îñòà-
òî÷íèé ðåçóëüòàò âèêîíàííÿ çàïèòó. Рис. 9.2. Відбір записів зі з’єднаної таблиці


140 Розділ 9 . Основи мови запитів З’єднання таблиць 141
а

Рис. 9.3. Проекція таблиці на поля, вказані після слова SELECT

Ó çàãàëüíîìó âèïàäêó SQL-çàïèò âèêîíóºòüñÿ òàê:


1. Âèêîíóºòüñÿ îïåðàö³ÿ ç’ºäíàííÿ òàáëèöü ³ç ôðàçè FROM.
2. Äî îòðèìàíî¿ òàáëèö³ çàñòîñîâóºòüñÿ îïåðàö³ÿ âèá³ðêè: â³ä-
áèðàþòüñÿ ò³ çàïèñè, ùî çàäîâîëüíÿþòü óìîâó, âêàçàíó ó
ôðàç³ WHERE.
3. Òàáëèöÿ, îòðèìàíà íà ïîïåðåäíüîìó êðîö³, ïðîåêòóºòüñÿ б
íà ïîëÿ, âêàçàí³ ó ôðàç³ SELECT, òîáòî ö³ ïîëÿ çàëèøàþòü-
ñÿ, à âñ³ ³íø³ â³äêèäàþòüñÿ. Рис. 9.4. З’єднання таблиць
Á³ëüø³ñòü âèá³ðêîâèõ çàïèò³â äî ðåëÿö³éíèõ áàç äàíèõ (àëå íå
âñ³) âèêîíóþòüñÿ ñàìå çà ö³ºþ ñõåìîþ: ç’ºäíàííÿ òàáëèöü —
Завдання 9.3
âèá³ðêà çàïèñ³â — ïðîåêö³ÿ íà ïîëÿ. Ðåàë³çóéòå ìîâîþ SQL çàïèò âèçíà÷èòè, ó ÿêîìó êëàñ³ êëàñ-
íèì êåð³âíèêîì º Ñîøêî Êàòåðèíà Ìèêîëà¿âíà.
Äëÿ äîïèòëèâèõ. Ç’ºäíàííÿ, âèá³ðêà ³ ïðîåêö³ÿ — òðè ç âî-
ñüìè îïåðàö³é ðåëÿö³éíî¿ àëãåáðè Êîääà. ßê óæå çãàäóâàëîñÿ Äëÿ äîïèòëèâèõ. Ç’ºäíóâàòè òàáëèö³ ìîæíà ³ áåç îïåðàòîðà
â ðîçä³ë³ 1, ðåëÿö³éíà àëãåáðà — öå ìîâà ìàí³ïóëþâàííÿ INNER JOIN. Äëÿ öüîãî ñë³ä ïåðåë³÷èòè ¿õí³ íàçâè ÷åðåç
äàíèìè, çàïðîïîíîâàíà àâòîðîì ðåëÿö³éíî¿ ìîäåë³ Å. Êîä- êîìó ó ôðàç³ FROM, à ó ôðàç³ WHERE çàïèñàòè óìîâó ç’ºäíàí-
äîì. Áàãàòî ¿¿ ðèñ óâ³áðàëà â ñåáå ìîâà SQL. íÿ çàïèñ³â, äîëó÷èâøè ¿¿ äî ³íøèõ óìîâ ñïîëó÷íèêîì AND.
Íàïðèêëàä, çàïèò âèçíà÷èòè ïð³çâèùà òà ³ìåíà â÷èòåë³â,
ùî âèêëàäàþòü â 11À êëàñ³ ìîæíà ðåàë³çóâàòè òàê:
Завдання 9.2 SELECT прізвище,[ім'я]
FROM Учителі, Викладання
Çàïèø³òü îïåðàòîðè INNER JOIN, ÿê³ äîçâîëÿòü îòðèìàòè â áàç³ WHERE клас=″11А″ AND Учителі.паспорт =
äàíèõ школа òàê³ ç’ºäíàííÿ òàáëèöü, ÿê ïîêàçàíî íà ðèñ. 9.4, Викладання.учитель
à–á.


142 Розділ 9 . Основи мови запитів З’єднання таблиць 143
Підзапити 2. Ïåðåáèðàºìî âñ³ çàïèñè òàáëèö³ Учителі, ïåðåâ³ðÿþ÷è äëÿ
êîæíîãî, ÷è âèêîíóºòüñÿ óìîâà, âêàçàíà ï³ñëÿ ñëîâà
Ó ïîïåðåäíüîìó ðîçä³ë³ ìè çãàäóâàëè ïðî âëàñòèâ³ñòü ðåëÿö³é- WHERE. Öÿ ïåðåâ³ðêà çä³éñíþºòüñÿ â äâà åòàïè.
íî¿ çàìêíåíîñò³ ìîâè SQL. Âîíà ïîëÿãຠâ òîìó, ùî ðåçóëüòà- 2à. Âèêîíóºìî ï³äçàïèò. Éîãî ðåçóëüòàò — öå íàá³ð íîìå-
òîì áóäü-ÿêîãî çàïèòó º òàáëèöÿ, à îòæå, îäí³ çàïèòè ìîæíà ð³â ïàñïîðò³â ó÷èòåë³â 11À êëàñó (çãàäàéòå ñòðóêòóðó
ï³äñòàâëÿòè â ³íø³ çàì³ñòü òàáëèöü. Çàãàëîì º äâà ñïîñîáè ï³ä- òàáëèö³ Викладання).
ñòàíîâêè îäíîãî çàïèòó â ³íøèé: 2á. Ïåðåâ³ðÿºìî, ÷è íàëåæèòü çíà÷åííÿ ïîëÿ паспорт ç
♦ çàì³ñòü ³ìåí³ òàáëèö³ â çàïèò³ âêàçóþòü ³ì’ÿ ³íøîãî çàïèòó; ïîòî÷íîãî çàïèñó òàáëèö³ Учителі íàáîðó çíà÷åíü,
♦ â îäíîìó çàïèò³ çàïèñóþòü ïîâíèé òåêñò ³íøîãî çàïèòó, îòðèìàíîìó íà êðîö³ 2à. ßêùî íàëåæèòü, òî çàïèñ ó
âçÿòèé ó êðóãë³ äóæêè. òàáëèö³ Учителі çàëèøàºìî, ³íàêøå — â³äêèäàºìî.

ϳäñòàíîâêó ìîæíà çä³éñíþâàòè ó ôðàçàõ FROM òà WHERE. Îñîá- 3. Ïðîåêòóºìî îòðèìàíó íà êðîö³ 2 òàáëèöþ çà ïîëÿìè прі-
звище òà ім'я, òîáòî ö³ ïîëÿ çàëèøàºìî, à âñ³ ³íø³ — â³ä-
ëèâî âàæëèâèé ³ ö³êàâèé òîé âèïàäîê, êîëè ó ôðàç³ WHERE îä-
êèäàºìî.
íîãî çàïèòó çàïèñóþòü ïîâíèé òåêñò ³íøîãî çàïèòó. Ðîçãëÿíå-
ìî öåé âèïàäîê äåòàëüíî, ðåàë³çóâàâøè çàïèò âèçíà÷èòè ïð³ç- Òàêèì ÷èíîì, îïåðàòîð IN äຠçìîãó ïåðåâ³ðèòè, ÷è íàëåæèòü
âèùà òà ³ìåíà â÷èòåë³â, ùî âèêëàäàþòü â 11À êëàñ³, ç âèêî- çíà÷åííÿ ìíîæèí³ ðåçóëüòàò³â ï³äçàïèòó. Çàçíà÷èìî, ùî ó
ôðàçó WHERE ï³äçàïèò ìîæíà âñòàâëÿòè ëèøå çà äîïîìîãîþ
ðèñòàííÿì ï³äçàïèòó. SQL-òåêñò çàïèòó áóäå òàêèì:
ëîã³÷íîãî îïåðàòîðà, ôîðìóþ÷è âèðàç, çíà÷åííÿ ÿêîãî ³ñòèííå
SELECT прізвище,[ім'я] àáî õèáíå. Îäíàê öå íå îáîâ’ÿçêîâî ìຠáóòè îïåðàòîð IN; º ùå
FROM Учителі îïåðàòîðè EXISTS (àíãë. «³ñíóº»), ANY (àíãë. «áóäü-ÿêèé»), ALL
WHERE паспорт IN (SELECT учитель FROM Викладання (óñ³). Òàê, çíà÷åííÿ âèðàçó EXISTS(підзапит) áóäå ³ñòèííèì,
WHERE клас="11А") ÿêùî ðåçóëüòàò ï³äçàïèòó ì³ñòèòü õî÷à á îäèí çàïèñ, ³ õèáíèì,
ÿêùî ðåçóëüòàò ï³äçàïèòó ïîðîæí³é.
Ó ôðàç³ WHERE öüîãî çàïèòó âæèòî îïåðàòîð IN (àíãë. «â»,
«íàëåæèòü»). Éîãî çàãàëüíèé ôîðìàò òàêèé: Завдання 9.4
значення IN (підзапит) Âèêîðèñòîâóþ÷è ï³äçàïèò â îïåðàòîð³ IN, ðåàë³çóéòå ìîâîþ
SQL çàïèò âèçíà÷èòè êëàñè, ó ÿêèõ âèêëàäàþòü â÷èòåë³ íà
Ðåçóëüòàòîì ï³äçàïèòó ìຠáóòè òàáëèöÿ ç îäíèì ñòîâïöåì. ßê- ³ì’ÿ Ïåòðî.
ùî âêàçàíå ïåðåä ñëîâîì IN çíà÷åííÿ â öüîìó ñòîâïö³ º, òî âåñü
âèðàç значення IN (підзапит) ââàæàºòüñÿ ³ñòèííèì, ³íàê-
øå — õèáíèì. Ùîá êðàùå çðîçóì³òè ïðèíöèï 䳿 îïåðàòîðà IN,
Віднімання множин записів
ðîçãëÿíåìî êðîê çà êðîêîì âèêîíàííÿ çàïèòó âèçíà÷èòè ïð³ç- Ìîæëèâîñò³ ìîâè SQL çíà÷íî øèðø³ çà ìîæëèâîñò³ êîíñòðóê-
âèùà òà ³ìåíà â÷èòåë³â, ùî âèêëàäàþòü â 11À êëàñ³ ç òî÷êè òîðà çàïèò³â MS Access ³ òîìó äàëåêî íå êîæåí SQL-çàïèò ìîæå
çîðó ÑÊÁÄ. áóòè ñòâîðåíèé ó â³êí³ êîíñòðóêòîðà. Çàðàç ìè ðîçãëÿíåìî
íàéïðîñò³øèé ð³çíîâèä çàïèò³â, ÿê³ íå ìîæóòü áóòè ñòâîðåí³ çà
1. Âèêîíóºìî ôðàçó FROM. Îñê³ëüêè â í³é âêàçàíî ëèøå îäíó äîïîìîãîþ êîíñòðóêòîðà. Öå çàïèòè ç çàïåðå÷åííÿì, íàïðèê-
òàáëèöþ Учителі, òî íà ïåðøîìó êðîö³ ìè ïðîñòî «áåðå- ëàä âèçíà÷èòè ïð³çâèùà òà ³ìåíà â÷èòåë³â, ÿê³ íå âèêëàäà-
ìî» öþ òàáëèöþ äëÿ ïîäàëüøèõ îïåðàö³é. þòü â 11À êëàñ³. Öåé çàïèò â³äð³çíÿºòüñÿ â³ä òîãî, ÿêèé ìè


144 Розділ 9 . Основи мови запитів Віднімання множин записів 145
ðîçãëÿäàëè ðàí³øå, íàÿâí³ñòþ ÷àñòêè «íå». ßêáè ¿¿ íå áóëî, ìè ³ñòèííèì, ÿêùî çíà÷åííÿ íàëåæèòü ìíîæèí³ çíà÷åíü,
áè ïðîñòî ç’ºäíàëè òàáëèöþ â÷èòåë³â ³ç òàáëèöåþ âèêëàäàííÿ, îòðèìàí³é ó ðåçóëüòàò³ âèêîíàííÿ ï³äçàïèòó, òà õèáíèì â
â³ä³áðàëè ò³ çàïèñè, ÿê³ â³äïîâ³äàþòü 10À êëàñó, òà ñïðîåêòó- ³íøîìó âèïàäêó.
âàëè ðåçóëüòàò íà ïîëÿ прізвище òà ім’я. Àëå â çàïèò³ ³ç ÷àñ-
♦ Çàïèòè, ó ÿêèõ ïåðåä 䳺ñëîâîì ðîçòàøîâàíî ÷àñòêó «íå»,
òêîþ «íå» íàì ïîòð³áí³ íå ö³, à ÿêðàç âñ³ ³íø³ â÷èòåë³. Òîáòî ðåàë³çóþòü çà äîïîìîãîþ îïåðàòîðà NOT IN ó ôðàç³ WHERE.
â³ä ìíîæèíè âñ³õ ó÷èòåë³â íàì ïîòð³áíî â³äíÿòè òèõ, ÿê³ âè-
Âèðàç значення NOT IN (підзапит) ââàæàºòüñÿ ³ñòèí-
êëàäàþòü ó 10À êëàñ³. Íàéëåãøå öå çðîáèòè çà äîïîìîãîþ îïå-
íèì, ÿêùî çíà÷åííÿ íå íàëåæèòü ìíîæèí³ çíà÷åíü, îòðè-
ðàòîðà NOT IN (àíãë. «íå íàëåæèòü»):
ìàí³é ó ðåçóëüòàò³ âèêîíàííÿ ï³äçàïèòó, òà õèáíèì â ³í-
SELECT прізвище,[ім'я] øîìó âèïàäêó.
FROM Учителі
WHERE паспорт NOT IN (SELECT учитель FROM Викладання
WHERE клас="11А")
Завдання для самостійного виконання
Ðåàë³çóéòå ìîâîþ SQL òàê³ çàïèòè.
Áóêâàëüíî çàïèò ÷èòàºòüñÿ òàê: «âèáðàòè ïð³çâèùà òà ³ìåíà
1. ³äîáðàçèòè âñþ ³íôîðìàö³þ ïðî ó÷í³â, ÿêèõ íàâ÷àþòü
òèõ ó÷èòåë³â, ÿê³ íå належать ìíîæèí³ â÷èòåë³â, ùî âèêëàäà-
ó÷èòåë³-÷îëîâ³êè.
þòü â 11À êëàñ³».
2. Äëÿ êîæíîãî â÷èòåëÿ â³äîáðàçèòè âñþ ³íôîðìàö³þ ïðî ó÷-
Завдання 9.5 í³â, ÿêèõ â³í íàâ÷àº.
3. ³äîáðàçèòè ïð³çâèùà òà ³ìåíà âñ³õ ó÷í³â, êð³ì òèõ, ÿê³
Ðåàë³çóéòå ìîâîþ SQL çàïèò âèçíà÷èòè íàçâè êëàñ³â, ó ÿêèõ â÷àòüñÿ â 11 êëàñàõ.
íå â÷èòüñÿ æîäíî¿ ä³â÷èíè.
4. Âèçíà÷èòè ïð³çâèùà òà ³ìåíà ó÷í³â, ÿêèõ íå íàâ÷ຠÂà-
ñèëü Ïåòðîâè÷ Êîðáóò.
Висновки 5. Âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³ âèêëàäàþòü íå ò³ëüêè â
♦ Âèá³ðêîâèé çàïèò ó ìîâ³ SQL ìຠòàêèé ôîðìàò: 11 êëàñàõ (çàóâàæòå, ùî âîíè ìîæóòü íå âèêëàäàòè â 11
êëàñàõ âçàãàë³).
SELECT список полів, значення яких потрібно отримати *
FROM список таблиць, з яких вибираються дані 6 . Äëÿ êîæíîãî â÷èòåëÿ â³äîáðàçèòè âñþ ³íôîðìàö³þ ïðî ó÷-
WHERE умова, яку мають задовольняти записи, í³â, ÿêèõ â³í íå íàâ÷àº.
що вибираються 7*. Âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³ âèêëàäàþòü ïðèíàéìí³ â
îäíîìó òîìó æ êëàñ³, ùî ³ Ñîøêî Êàòåðèíà Ìèêîëà¿âíà.
♦ Çàïèò SELECT x FROM y WHERE z ñë³ä ³íòåðïðåòóâàòè òàê: *
8 . Âèçíà÷èòè ïàðè ïð³çâèù ó÷èòåë³â, ÿê³ âèêëàäàþòü ò³ëüêè
«âèáðàòè ïîëÿ x òèõ çàïèñ³â òàáëèö³ y, ÿê³ çàäîâîëüíÿþòü â ð³çíèõ êëàñàõ (òîáòî â÷èòåëü 1 íå âèêëàäຠâ æîäíîìó ç
óìîâó z». òèõ êëàñ³â, äå âèêëàäຠâ÷èòåëü 2, ³ íàâïàêè).
♦ Îïåðàòîð a INNER JOIN b ON c âèêîðèñòîâóºòüñÿ ó ôðàç³
FROM ³ âèêîíóº ç’ºäíàííÿ òàáëèöü. Â³í «ç÷³ïëþº» ò³ çàïèñè
òàáëèöü a ³ b, ÿê³, ðàçîì óçÿò³, â³äïîâ³äàþòü óìîâ³ c. Питання для роздумів
♦ Îïåðàòîð IN äຠçìîãó ñêîíñòðóþâàòè ó ôðàç³ WHERE óìîâó 1. Íèæ÷å íàâåäåíî ôîðìóëþâàííÿ òà ðåàë³çàö³¿ ÷îòèðüîõ çà-
ç ï³äçàïèòîì. Âèðàç значення IN (підзапит) ââàæàºòüñÿ ïèò³â. Âèçíà÷òå, ÿêà ðåàë³çàö³ÿ ÿêîìó çàïèòó â³äïîâ³äàº.


146 Розділ 9 . Основи мови запитів Завдання для самостійного виконання 147
Формулювання SELECT прізвище --Г
FROM Учителі
I. Âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³ âèêëàäàþòü ïðè- WHERE NOT EXISTS (SELECT * FROM Викладання
íàéìí³ â îäíîìó 11 êëàñ³. WHERE клас Like "*11" AND
II. Âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³ âèêëàäàþòü â óñ³õ клас IN (SELECT клас
11 êëàñàõ. FROM Викладання
III. Âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³ âèêëàäàþòü íå â WHERE учитель=
óñ³õ 11 êëàñàõ. Учителі.паспорт))
IV. Âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³ íå âèêëàäàþòü 2. Ïðèïóñòèìî, ùî ïðåäìåòíîþ îáëàñòþ áàçè äàíèõ º ìåõàí³÷-
ïðèíàéìí³ â îäíîìó 11 êëàñ³. í³ äåòàë³. Áàçà ì³ñòèòü ëèøå îäíó òàáëèöþ, ó ÿê³é º äâà
ïîëÿ: № деталі òà № складової. Ó ö³é òàáëèö³ çáåð³ãà-
Реалізації þòüñÿ â³äîìîñò³ ïðî òå, ÿê³ äåòàë³ ç ÿêèõ ñêëàäàþòüñÿ. Íà-
ïðèêëàä, ç ïîäàíî¿ òàáëèö³ âèäíî, ùî äåòàëü 1 ñêëàäàºòüñÿ
SELECT прізвище --А ç äåòàëåé 2 ³ 3, à äåòàëü 3 — ç äåòàëåé 4 ³ 5.
FROM Учителі
WHERE NOT EXISTS (SELECT * FROM Викладання ¹ äåòàë³ ¹ ñêëàäîâî¿
WHERE клас Like "*11" AND 1 2
клас NOT IN (SELECT клас
FROM Викладання 1 3
WHERE учитель= 3 4
Учителі.паспорт))
3 5

SELECT прізвище --Б Ñôîðìóëþéòå äëÿ ö³º¿ áàçè äàíèõ çàïèòè, ÿê³:
FROM Учителі à) íåìîæëèâî ðåàë³çóâàòè çà äîïîìîãîþ êîíñòðóêòîðà çà-
WHERE EXISTS (SELECT * FROM Викладання ïèò³â;
WHERE клас Like "*11" AND
клас NOT IN (SELECT клас á*) íåìîæëèâî ðåàë³çóâàòè çàñîáàìè ìîâè SQL.
FROM Викладання
WHERE учитель= Завдання для досліджень
Учителі.паспорт))
1. Ðåàë³çóéòå çàâäàííÿ 9.3 òà çàâäàííÿ äëÿ ñàìîñò³éíîãî âè-
êîíàííÿ 1–2 ìîâîþ SQL, àëå áåç îïåðàòîðà INNER JOIN.
SELECT прізвище --В
2*. Ç’ÿñóéòå, ÿêèé ñèíòàêñèñ ìຠòà ÿê âèêîðèñòîâóºòüñÿ îïå-
FROM Учителі
WHERE EXISTS (SELECT * FROM Викладання ðàòîð EXISTS. Ðåàë³çóéòå çà äîïîìîãîþ îïåðàòîð³â EXISTS
WHERE клас Like "*11" AND ³ NOT IN çàïèò âèçíà÷èòè íàçâè êëàñ³â, ó ÿêèõ ïðèíàéìí³
клас IN (SELECT клас îäèí â÷èòåëü íå âèêëàäàº.
*
FROM Викладання 3 . Ðåàë³çóéòå çà äîïîìîãîþ îïåðàòîð³â NOT EXISTS ³ NOT IN
WHERE учитель= çàïèò âèçíà÷èòè íàçâè êëàñ³â, ó ÿêèõ âèêëàäàþòü óñ³
Учителі.паспорт)) â÷èòåë³.


148 Розділ 9 . Основи мови запитів Завдання для досліджень 149
Розділ 10 Групові операції в запитах
Óâàæíî ðîçãëÿíüòå òàáëèöþ 10.1. Öå òàáëèöÿ Учні, â³äñîðòî-
Групування даних âàíà çà çíà÷åííÿìè ïîëÿ клас. Îäèí ³ç ðåçóëüòàò³â ñîðòóâàííÿ
ïîëÿãຠâ òîìó, ùî çàïèñè ó÷í³â, ÿê³ íàâ÷àþòüñÿ â îäíîìó êëà-
ñ³, ðîçòàøîâàíî ïîðó÷. ²íàêøå êàæó÷è, òàáëèöþ çãðóïîâàíî çà
ïîëåì клас: ñïî÷àòêó ðîçòàøîâàíî ãðóïó ó÷í³â 10À êëàñó, ïî-
Повторення ò³ì —10Á, 11À, ³ íàðåøò³ — 11Á êëàñó.

♦ Ùî îçíà÷ຠ«çãðóïóâàòè ðÿäêè åëåêò- код прізвище ім'я дата народження стать клас
ðîííî¿ òàáëèö³ çà çíà÷åííÿìè ïåâíîãî
ïàðàìåòðà»? 1 Шпак Максим 11.12.1996 ч 10А
♦ ßê³ îïåðàö³¿ ìîæíà âèêîíóâàòè íàä
çãðóïîâàíèìè ðÿäêàìè åëåêòðîííî¿ 5 Григорук Петро 05.05.1997 ч 10Б
òàáëèö³?
6 Райчук Олена 12.01.1998 ж 10Б
♦ Îïèø³òü àëãîðèòì, çà ÿêèì âèêîíóºòü-
ñÿ ôóíêö³ÿ DSUM (ðîñ. ÁÄÑÓÌÌ) òàá- 2 Хоменко Ірина 09.09.1995 ж 11А
ëè÷íîãî ïðîöåñîðà?
♦ Îïèø³òü çàãàëüíó ñòðóêòóðó âèá³ðêîâî- 3 Недригайло Петро 01.07.1995 ч 11Б
ãî çàïèòó SQL.
4 Буджак Оксана 14.01.1996 ж 11Б

Табл. 10.1. Таблиця Учні, відсортована за полем клас


Íà ïîïåðåäíüîìó çàíÿòò³ ìè âèáèðàëè â òàáëèöÿõ çàïèñè, ùî
çàäîâîëüíÿþòü ïåâí³ êðèòåð³¿. Àëå â áàãàòüîõ âèïàäêàõ âèáðà- Ó ö³é òàáëèö³ ëåãêî îá÷èñëþâàòè ï³äñóìêîâ³ ïîêàçíèêè äëÿ
òè çàïèñè — çíà÷èòü çðîáèòè ò³ëüêè ïîëîâèíó ñïðàâè, àäæå ãðóï çàïèñ³â. Íàïðèêëàä, ó òàáë. 10.2 ïîêàçàíî ðåçóëüòàò îá-
÷àñòî ç íèìè ïîòð³áíî âèêîíàòè ÿê³ñü ï³äñóìêîâ³ îïåðàö³¿: ï³ä- ÷èñëåííÿ äëÿ êîæíîãî êëàñó ê³ëüêîñò³ ó÷í³â ³ äàòè íàðîäæåííÿ
ðàõóâàòè ¿õ ê³ëüê³ñòü, ï³äñóìóâàòè çíà÷åííÿ òîãî ÷è ³íøîãî íàéìîëîäøîãî ç íèõ.
ïîëÿ òîùî. ϳäñóìêîâó îïåðàö³þ, íàïðèêëàä îá÷èñëåííÿ ñåðåä- Ãðóïóâàííÿ øëÿõîì ñîðòóâàííÿ ìè âèêîíóâàëè â òàáëè÷íî-
íüîãî â³êó ó÷í³â ó êîæíîìó êëàñ³ àáî âèçíà÷åííÿ ê³ëüêîñò³ ìó ïðîöåñîð³ Microsoft Excel. Ó ÑÊÁÄ Microsoft Access äëÿ
êëàñ³â, ó ÿêèõ âèêëàäຠêîæåí ó÷èòåëü, ÷àñòî âèêîíóþòü â³ä- ãðóïóâàííÿ çàïèñ³â ñîðòóâàòè òàáëèöþ íå ïîòð³áíî. Ãðóïó-
ðàçó íàä áàãàòüìà ãðóïàìè çàïèñ³â. Ó òàáëè÷íîìó ïðîöåñîð³ âàííÿ ³ îá÷èñëåííÿ ï³äñóìêîâèõ îïåðàö³é çä³éñíþþòü çà äî-
äëÿ âèêîíàííÿ òàêèõ çàâäàíü, íàãàäàºìî, âèêîðèñòîâóþòü ïðî- ïîìîãîþ êîíñòðóêòîðà çàïèò³â. Ó â³êí³ êîíñòðóêòîðà ïîòð³á-
ì³æí³ ï³äñóìêè òà çâåäåí³ òàáëèö³, à â ÑÊÁÄ çàñòîñîâóþòü ñïå- íî êëàöíóòè ïðàâîþ êíîïêîþ ìèø³ ïîëå, çà çíà÷åííÿìè
ö³àëüí³ ð³çíîâèäè çàïèò³â. Êð³ì òîãî, ó ÑÊÁÄ Microsoft Access ÿêîãî áóäóòü âèä³ëÿòèñÿ ãðóïè, ³ âèáðàòè ó êîíòåêñòíîìó
çàñîáîì â³äîáðàæåííÿ íà àðêóøàõ äðóêîâàíîãî ôîðìàòó ï³äñóì- ìåíþ êîìàíäó Групповые операции (Ãðóïîâ³ îïåðàö³¿). ϳñëÿ
êîâèõ õàðàêòåðèñòèê äëÿ ãðóï çàïèñ³â º çâ³òè. Ö³ çàñîáè ìè öüîãî â áëàíê çàïèòó áóäå äîäàíî ðÿäîê Групповая операция
ðîçãëÿíåìî íà ñüîãîäí³øíüîìó óðîö³. (ðèñ. 10.1, à).

150 Розділ 10. Групування даних Групові операції в запитах 151


дата
код прізвище ім'я народження стать клас
1 Шпак Максим 11.12.1996 ч 10А
Дата народження 11.12.1996
наймолодшого учня
Кількість 1
учнів
5 Григорук Петро 05.05.1997 ч 10Б
6 Райчук Олена 12.01.1998 ж 10Б
Дата народження 12.01.1998
наймолодшого учня
Кількість 2
учнів
2 Хоменко Ірина 09.09.1995 ж 11А
Дата народження 09.09.1995
наймолодшого учня а
Кількість 1
учнів
3 Недригайло Петро 01.07.1995 ч 11Б
4 Буджак Оксана 14.01.1996 ж 11Б
Дата народження 14.01.1996
наймолодшого учня
Кількість 2
учнів
б
Табл. 10.2. Обчислення підсумкових показників для груп записів
у табличному процесорі Рис. 10.1. Групування таблиці: а — бланк запиту; б — результат виконання
запиту
Ç ðèñ. 10.1, á âèäíî, ùî ðåçóëüòàòè ãðóïóâàííÿ ðÿäê³â òàáëèö³
â òàáëè÷íîìó ïðîöåñîð³ òà â ÑÊÁÄ äåùî â³äì³íí³. Ó ÑÊÁÄ ðå-
çóëüòàòîì çàïèòó ç ãðóïóâàííÿì º òàáëèöÿ, äå êîæíà ãðóïà Ãðóïà — öå íàá³ð çàïèñ³â ç îäíàêîâèì çíà÷åííÿì ïåâíîãî
çàïèñ³â ïî÷àòêîâî¿ òàáëèö³ «çãîðòàºòüñÿ» â îäèí çàïèñ (íàïðèê- ïîëÿ. ϳä ãðóïóâàííÿì ðîçóì³þòü ïðîöåñ îá’ºäíàííÿ ãðóïè
ëàä, íà ðèñ. 10.1, á çàì³ñòü äâîõ çàïèñ³â «10Á» ìè áà÷èìî çàïèñ³â â îäèí; ïîëå, çíà÷åííÿ ÿêîãî îäíàêîâ³, íàçèâàºòüñÿ
îäèí). Âëàñíå îá’ºäíàííÿ ê³ëüêîõ çàïèñ³â â îäèí â ðåëÿö³éíèõ ïîëåì ãðóïóâàííÿ.
áàçàõ äàíèõ ³ íàçèâàºòüñÿ ãðóïóâàííÿì.

152 Розділ 10. Групування даних Групові операції в запитах 153


Îäíàê ³ç ñàìîãî ôàêòó çãîðòàííÿ ê³ëüêîõ çàïèñ³â â îäèí ìàëî ïîäàí³ íà ðèñ. 10.2 áëàíê ³ ðåçóëüòàò âèêîíàííÿ çàïèòó «Âè-
çèñêó. Ãðóïóâàííÿ ñòຠñïðàâä³ êîðèñíèì, ÿêùî äî ãðóï çàïè- çíà÷èòè êëàñè, âñ³ ó÷í³ ÿêèõ íàðîäèëèñÿ äî 1 ñ³÷íÿ 1998 ðî-
ñ³â çàñòîñîâóþòü ïåâíó ï³äñóìêîâó îïåðàö³þ. Íàéóæèâàí³øèìè êó». ÑÊÁÄ âèêîíóº çàïèò çà òàêèì àëãîðèòìîì.
ï³äñóìêîâèìè îïåðàö³ÿìè ââàæàþòüñÿ: 1. Òàáëèöÿ ó÷í³â ãðóïóºòüñÿ: äî îäí³º¿ ãðóïè ïîòðàïëÿþòü
♦ âèçíà÷åííÿ ê³ëüêîñò³ çàïèñ³â (Count); çàïèñè ó÷í³â, ÿê³ íàâ÷àþòüñÿ â îäíîìó êëàñ³.
♦ îá÷èñëåííÿ ñóìàðíîãî çíà÷åííÿ (Sum); 2. Äëÿ êîæíî¿ ãðóïè îá÷èñëþºòüñÿ ìàêñèìàëüíà äàòà íàðîä-
♦ îá÷èñëåííÿ ñåðåäíüîãî çíà÷åííÿ (Avg); æåííÿ ó÷íÿ.
♦ îá÷èñëåííÿ ìàêñèìóìó (Max); 3. Äëÿ êîæíî¿ ãðóïè ñòâîðþºòüñÿ îäèí çàïèñ ó òàáëèö³ ðå-
♦ îá÷èñëåííÿ ì³í³ìóìó (Min). çóëüòàò³â. Ó öüîìó çàïèñ³ äâà çíà÷åííÿ: íàçâà êëàñó òà ìàê-
ñèìàëüíà äàòà íàðîäæåííÿ éîãî ó÷í³â.
Óñ³ îïåðàö³¿, êð³ì âèçíà÷åííÿ ê³ëüêîñò³ çàïèñ³â, âèêîíóþòü íàä
4. Ó òàáëèö³ ðåçóëüòàò³â çàëèøàþòüñÿ ò³ëüêè ò³ çàïèñè, äëÿ
çíà÷åííÿìè ïåâíîãî ïîëÿ ï³äñóìê³â. Çàóâàæòå, ùî öå íå ïîëå
ÿêèõ ìàêñèìàëüíà äàòà íàðîäæåííÿ ìåíøà çà 1 ñ³÷íÿ 1998
ãðóïóâàííÿ, à ÿêåñü ³íøå ïîëå ÷èñëîâîãî òèïó, ãðîøîâîãî òèïó
ðîêó.
àáî òèïó äàòà/÷àñ. Íà ðèñ. 10.1 ïîëåì ãðóïóâàííÿ º клас,
ïîëåì ï³äñóìê³â — дата народження, à ï³äñóìêîâîþ îïåðà-
ö³ºþ — îá÷èñëåííÿ ìàêñèìóìó (ó íàéìîëîäøîãî ó÷íÿ äàòà
íàðîäæåííÿ ìàêñèìàëüíà). Òèï ï³äñóìêîâî¿ îïåðàö³¿ âèáèðà-
þòü ç³ ñïèñêó, ùî ðîçêðèâàºòüñÿ êíîïêîþ , ðîçòàøîâàíîþ â
êë³òèíêàõ ðÿäêà Групповая операция ñïðàâà.
Çàçíà÷èìî, ùî êîëè ï³äñóìêîâà îïåðàö³ÿ ïîëÿãຠó âèçíà÷åíí³
ê³ëüêîñò³ çàïèñ³â ó ãðóï³, òî â êîíñòðóêòîð³ çàïèò³â ìè òàêîæ
ìàºìî âèáðàòè ïåâíå ïîëå ï³äñóìê³â, àëå íåâàæëèâî, ÿêå ñàìå.
Ñïðàâä³, ê³ëüê³ñòü ðÿäê³â íå çàëåæèòü â³ä òîãî, çà ÿêèì ñòîâï- а б
öåì ìè ¿¿ ï³äðàõîâóºìî. Рис. 10.2. Запит «Визначити класи, всі учні яких народилися
до 1 січня 1998 року»: а — бланк запиту; б — результат виконання
Äëÿ äîïèòëèâèõ. ßê ïîë³â ãðóïóâàííÿ, òàê ³ ïîë³â ï³äñóìê³â
Çàïèòè ç ãðóïóâàííÿì ìîæíà ñòâîðþâàòè íå çà îäí³ºþ, à çà
ó çàïèò³ ìîæå áóòè ê³ëüêà. ßêùî âèêîðèñòîâóþòü ê³ëüêà ïî-
ê³ëüêîìà òàáëèöÿìè, ç’ºäíóþ÷è ¿õ òàê ñàìî, ÿê ³ â çàïèòàõ áåç
ë³â ãðóïóâàííÿ, òî äî îäí³º¿ ãðóïè â³äíîñÿòü çàïèñè, ÿê³ â
ãðóïóâàííÿ. Ïðèêëàäè ê³ëüêàòàáëè÷íèõ çàïèò³â ³ç ãðóïóâàí-
óñ³õ öèõ ïîëÿõ ìàþòü îäíàêîâ³ çíà÷åííÿ.
íÿì áóäå ðîçãëÿíóòî äàë³.

Завдання 10.1 Äëÿ äîïèòëèâèõ. Ó çàïèòàõ ³ç ãðóïóâàííÿì ìîæíà âêàçóâàòè


ëèøå ïîëÿ ãðóïóâàííÿ òà ï³äñóìê³â, àäæå ò³ëüêè âîíè ìàþòü
Ó áàç³ äàíèõ школа ñòâîð³òü ³ âèêîíàéòå çàïèò âèçíà÷èòè äàòó
îäíå çíà÷åííÿ äëÿ êîæíî¿ ãðóïè ³ òîìó ìîæóòü áóòè ïîäàí³
íàðîäæåííÿ íàéìîëîäøîãî ó÷íÿ â êîæíîìó êëàñ³.
ó âèãëÿä³ îäíîãî çàïèñó. «Çâè÷àéíîãî» ïîëÿ íå ìîæå áóòè,
Ïîëå ï³äñóìê³â ìîæíà âèêîðèñòîâóâàòè â óìîâàõ â³äáîðó òàê îñê³ëüêè â êîæí³é ãðóï³ éîãî çíà÷åíü áàãàòî ³ íåçðîçóì³ëî,
ñàìî, ÿê ³ áóäü-ÿêå ³íøå ïîëå. Ñàì³ óìîâè çàïèñóþòü ó ðÿäêó ÿêå ç íèõ â³äîáðàçèòè â òàáëèö³ ðåçóëüòàò³â.
Условие отбора êîíñòðóêòîðà çàïèò³â. ßê ïðèêëàä ðîçãëÿíåìî

154 Розділ 10. Групування даних Групові операції в запитах 155


Завдання 10.2 Приклад 2
Ïðèïóñòèìî, ùî äî òàáëèö³ ó÷í³â äîäàíî ïîëå успішність, ó
Ñòâîð³òü ³ âèêîíàéòå çàïèò âèçíà÷èòè êëàñè, âñ³ ó÷í³ ÿêèõ
ÿêîìó çáåð³ãàºòüñÿ ñåðåäí³é áàë â òàáåë³ çà ìèíóëèé íàâ÷àëü-
íàðîäèëèñÿ äî 1 ñ³÷íÿ 1998 ðîêó.
íèé ð³ê. Çàïèò º òàêèì: âèçíà÷èòè ïð³çâèùà êëàñíèõ êåð³âíè-
ê³â òèõ êëàñ³â, ñåðåäíÿ óñï³øí³ñòü ó ÿêèõ íèæ÷à çà 8 áàë³â.
Приклади запитів
³êíî êîíñòðóêòîðà çàïèòó çîáðàæåíî íà ðèñ. 10.4. Ó çàïèò³
äâà ïîëÿ ãðóïóâàííÿ: ïð³çâèùå â÷èòåëÿ òà íàçâà êëàñó. Ãðóïó-
Приклад 1 âàòè çàïèñè çà íàçâîþ êëàñó ïîòð³áíî òîìó, ùî ñàìå äëÿ âñ³õ
Äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè, ñê³ëüêîõ ó÷í³â â³í íàâ÷àº. ó÷í³â êîæíîãî êëàñó îá÷èñëþºòüñÿ ñåðåäíÿ óñï³øí³ñòü, à çà
ïð³çâèùåì â÷èòåëÿ — òîìó, ùî çíà÷åííÿ öüîãî ïîëÿ â³äîáðà-
³êíî êîíñòðóêòîðà çàïèòó çîáðàæåíî íà ðèñ. 10.3. Ïð³çâèùà
òà ïàñïîðòè â÷èòåë³â áåðåìî ç òàáëèö³ Учителі, ÿêó ç’ºäíàíî ç æàºòüñÿ. Ïîÿñíèìî äðóãå òâåðäæåííÿ. Ó çàïèò³ ç ãðóïóâàííÿì,
òàáëèöåþ Викладання, ¿¿ — ç òàáëèöåþ êëàñ³â, à âæå òàáëèöþ íàãàäàºìî, áóäü-ÿêå ïîëå ìຠáóòè ïîëåì ãðóïóâàííÿ àáî ï³ä-
ñóìê³â. Ïð³çâèùå â÷èòåëÿ — öå íå ï³äñóìêîâå çíà÷åííÿ, à îò-
êëàñ³â — ç òàáëèöåþ ó÷í³â. Çàóâàæòå, ùî ïðÿìèé çâ’ÿçîê ì³æ
æå, â³äïîâ³äíå ïîëå ìຠáóòè ïîëåì ãðóïóâàííÿ, à íå ï³äñóìê³â.
òàáëèöåþ êëàñ³â òà â÷èòåë³â âèäàëåíî, îñê³ëüêè â³í âèçíà÷àº,
õòî º êëàñíèì êåð³âíèêîì, à öå çà óìîâîþ çàïèòó íå ïîòð³áíî.
Ïîëÿìè ãðóïóâàííÿ º ïàñïîðò òà ïð³çâèùå â÷èòåëÿ. Ïîëå ï³ä-
ñóìê³â ìîæå áóòè áóäü-ÿêèì, îñê³ëüêè ï³äñóìêîâà îïåðàö³ÿ —
îá÷èñëåííÿ ê³ëüêîñò³ çàïèñ³â.

Рис. 10.4. Вікно конструктора запиту «Визначити прізвища класних


керівників тих класів, середня успішність у яких нижча за 8 балів»

Çàóâàæòå òàêîæ, ùî â öüîìó çàïèò³ íà ðåçóëüòàò ï³äñóìêîâî¿


Рис. 10.3. Вікно конструктора запиту «Для кожного вчителя визначити, îïåðàö³¿ íàêëàäåíî óìîâó â³äáîðó (ñåðåäíÿ óñï³øí³ñòü íèæ÷à 8
скількох учнів він навчає» áàë³â). Çðîçóì³ëî, ùî öÿ óìîâà ïåðåâ³ðÿòèìåòüñÿ äëÿ âæå çãðó-

156 Розділ 10. Групування даних Групові операції в запитах 157


ïîâàíî¿ òàáëèö³, òîáòî â³äïîâ³äàòè ÷è íå â³äïîâ³äàòè ¿é áóäóòü Завдання 10.4
ö³ë³ êëàñè.
Ðåàë³çóéòå òàê³ çàïèòè â áàç³ äàíèõ школа (äî òàáëèö³ ó÷í³â
Приклад 3 äîäàíî ïîëå успішність).
Âèçíà÷èòè ñåðåäíþ óñï³øí³ñòü ó÷í³â, ÿêèõ íàâ÷ຠÑîøêî Êà- à) Âèçíà÷èòè íàéâèùó óñï³øí³ñòü ó÷í³â 11À êëàñó.
òåðèíà.
á) Äëÿ êîæíîãî êëàñó âèçíà÷èòè, ñê³ëüêè ìàòåìàòèê³â ó íüî-
³êíî êîíñòðóêòîðà çàïèòó çîáðàæåíî íà ðèñ. 10.5. Ó öüîìó ìó âèêëàäàº.
çàïèò³ óìîâó â³äáîðó (ó÷èòåëü — Ñîøêî Êàòåðèíà) íàêëàäåíî
â) Âèçíà÷èòè, ó ñê³ëüêîõ ó÷í³â, ìîëîäøèõ çà 16 ðîê³â, âè-
íà ïîëå ãðóïóâàííÿ. Ìîæíà ââàæàòè, ùî çàïèò âèêîíóºòüñÿ
êëàäຠÏåòðîâà ͳíà Âîëîäèìèð³âíà. (Ïîäóìàéòå, ÿêå îá-
òàê: ï³ñëÿ ç’ºäíàííÿ òàáëèöü â³äáèðàþòüñÿ çàïèñè, ùî ñòîñó-
ìåæåííÿ ïîòð³áíî íàêëàñòè íà äàòó íàðîäæåííÿ ó÷íÿ.)
þòüñÿ Ñîøêî Êàòåðèíè, à ïîò³ì îá÷èñëþºòüñÿ ñåðåäíº çíà÷åííÿ
ïîëÿ успішність â îòðèìàí³é òàáëèö³.
Групування в мові SQL•
³äîáðàç³òü çàïèò, ñòâîðåíèé ó çàâäàíí³ 10.1 (âèçíà÷èòè äàòó
íàðîäæåííÿ íàéìîëîäøîãî ó÷íÿ â êîæíîìó êëàñ³), ó ðåæèì³
SQL. Éîãî òåêñò ìຠáóòè òàêèì.
SELECT Учні.клас, Max(Учні.[дата народження]) AS
[Max-дата народження]
FROM Учні
GROUP BY Учні.клас;

Íîâå äëÿ âàñ êëþ÷îâå ñëîâî — GROUP BY, çà äîïîìîãîþ ÿêîãî,


âëàñíå, ³ ðåàë³çóþòü ãðóïóâàííÿ. Íàçâè ïîë³â ãðóïóâàííÿ ïåðå-
ë³÷óþòü ï³ñëÿ öüîãî ñëîâà, ðîçä³ëÿþ÷è êîìàìè, ÿêùî òàêèõ
ïîë³â ê³ëüêà. Ôðàçó GROUP BY çàïèñóþòü ï³ñëÿ ôðàçè WHERE
àáî ï³ñëÿ ôðàçè FROM, ÿêùî ôðàçà WHERE â³äñóòíÿ.
Çâåðí³ìî óâàãó íà îñîáëèâîñò³ ôðàçè SELECT çàïèòó ç ãðóïó-
âàííÿì.
1. Ó ö³é ôðàç³ âêàçóþòü õî÷à á îäíå ïîëå ãðóïóâàííÿ. (ßêùî
Рис. 10.5. Вікно конструктора запиту «визначити середню успішність учнів,
æîäíîãî ïîëÿ ãðóïóâàííÿ ó ôðàç³ SELECT íå âêàçàòè, ó ðåçó-
яких навчає Сошко Катерина»
ëüòàò³ çàïèòó ìè íå ïîáà÷èìî ãðóï ³ çàïèò ñòàíå áåçãëóçäèì.)
2. Êð³ì ïîëÿ ãðóïóâàííÿ ó ôðàç³ SELECT ìîæíà çàçíà÷àòè
Завдання 10.3 ï³äñóìêîâ³ ôóíêö³¿, ïåðåë³÷åí³ âèùå. Àðãóìåíò òàêî¿
Ðåàë³çóéòå çàïèòè, ðîçãëÿíóò³ â ïðèêëàäàõ 1–3. Äëÿ ñòâîðåííÿ ôóíêö³¿ — íàçâà ïîëÿ ï³äñóìê³â, ÿêó çàïèñóþòü ó äóæ-
çàïèò³â ç ïðèêëàä³â 2 ³ 3 äîäàéòå äî òàáëèö³ Учні ïîëå успіш- êàõ. Íàïðèêëàä, ó íàøîìó çàïèò³ ôóíêö³ÿ íàçèâàºòüñÿ
ність. Max, à ¿¿ àðãóìåíò — Учні.[дата народження].


158 Розділ 10. Групування даних Групування в мові SQL 159
3. Ïîëþ, äå â³äîáðàæàþòüñÿ ï³äñóìêè, ìîæíà íàäàòè íàçâó, Ó íüîìó º íîâå äëÿ âàñ êëþ÷îâå ñëîâî HAVING. ϳñëÿ öüîãî
çàïèñàâøè ¿¿ ï³ñëÿ êëþ÷îâîãî ñëîâà AS. Çàçíà÷èìî, ùî çà ñëîâà çàïèñóþòü óìîâó â³äáîðó ãðóï çàïèñ³â, òîáòî ôðàçà
äîïîìîãîþ öüîãî ñëîâà ìîæíà ïåðåéìåíîâóâàòè áóäü-ÿê³ HAVING â³äãðຠäëÿ ãðóï çàïèñ³â òó ñàìó ðîëü, ùî ³ ôðàçà
ïîëÿ â òàáëèö³ ðåçóëüòàò³â çàïèòó. WHERE äëÿ îêðåìèõ çàïèñ³â. Ó ö³ëîìó íàâåäåíèé çàïèò ÑÊÁÄ
âèêîíóº òàê:
4. Êð³ì ïîë³â ãðóïóâàííÿ òà ï³äñóìêîâèõ ôóíêö³é ó ôðàç³
SELECT çàïèòó ç ãðóïóâàííÿì íåìîæíà âêàçóâàòè æîäíèõ 1. Òàáëèöÿ Учні ãðóïóºòüñÿ çà ïîëåì клас: äî îäí³º¿ ãðóïè
³íøèõ ïîë³â. Ùîá çðîçóì³òè, ÷îìó òàê, ïðèïóñòèìî, ùî â â³äíîñÿòüñÿ çàïèñè ó÷í³â îäíîãî êëàñó.
ðîçãëÿíóòîìó ùîéíî çàïèò³ ìè â³äîáðàæóºìî ùå ïð³çâèùå 2. Äëÿ êîæíî¿ ãðóïè ïåðåâ³ðÿºòüñÿ óìîâà Max(Учні.[дата
ó÷íÿ: народження])<#1/1/1998#, òîáòî ÷è íàðîäèâñÿ íàéìîëîä-
øèé ó÷åíü äî 1 ñ³÷íÿ 1998 ðîêó.
SELECT Учні.клас, Учні.прізвище,…
3. Çíà÷åííÿ ïîëÿ клас òèõ ãðóï, äëÿ ÿêèõ óìîâà âèêîíóºòü-
… ñÿ, â³äîáðàæóºòüñÿ â òàáëèö³ ðåçóëüòàò³â.
GROUP BY Учні.клас

Îñê³ëüêè äëÿ êîæíî¿ ãðóïè (ó äàíîìó âèïàäêó — êëàñó) â
Завдання 10.6
òàáëèö³ ðåçóëüòàò³â â³äâîäèòüñÿ îäèí ðÿäîê (äèâ. ðèñ. 10.1, Ðåàë³çóéòå ìîâîþ SQL çàïèò âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³
á), à â êëàñ³ ìîæå áóòè ê³ëüêà ó÷í³â, òî ¿õ ïð³çâèùà ïðîñòî âèêëàäàþòü á³ëüøå, í³æ â îäíîìó êëàñ³.
íå âì³ñòÿòüñÿ â îäí³é êë³òèíö³ (íàãàäàºìî, ùî êîæíà êë³-
òèíêà ðåëÿö³éíî¿ ÁÄ ì³ñòèòü ò³ëüêè îäíå çíà÷åííÿ). Ñàìå
òîìó òàêà êîíñòðóêö³ÿ íåïðèïóñòèìà. Звіти
ϳä³á’ºìî ïåâí³ ï³äñóìêè. Ó ðåëÿö³éí³é áàç³ äàíèõ ìîæíà ñòâî-

Завдання 10.5 ðþâàòè çàïèòè äâîõ ð³çíîâèä³â: ³ç ãðóïóâàííÿì òà áåç íüîãî. Ó
çàïèòàõ ³ç ãðóïóâàííÿì óñ³ çàïèñè â êîæí³é ãðóï³ îá’ºäíóþòüñÿ
Ðåàë³çóéòå ìîâîþ SQL çàïèò âèçíà÷èòè, ñê³ëüêè ó÷í³â íàâ÷à- â îäèí, à ðåçóëüòàò çàïèòó áåç ãðóïóâàííÿ — öå òàáëèöÿ, ó
ºòüñÿ â êîæíîìó êëàñ³. Äëÿ îá÷èñëåííÿ ê³ëüêîñò³ âèêîðèñòàé- ÿê³é â³äîáðàæåíî çíà÷åííÿ âñ³õ ïîë³â óñ³õ çàïèñ³â (ðèñ. 10.6,
òå ôóíêö³þ Count. ¯¿ àðãóìåíòîì ìîæå áóòè * (ñèìâîë, ùî ïîç- à). Îäíàê ó äåÿêèõ âèïàäêàõ äëÿ êîðèñòóâà÷à íåçðó÷íà í³ ïåð-
íà÷ຠáóäü-ÿêå ïîëå), òîìó ùî, ÿê çàçíà÷àëîñÿ âèùå, íåâàæëè- øà, í³ äðóãà ôîðìà ïîäàííÿ ³íôîðìàö³¿. Ñêàæ³ìî, ó çàïèò³ áåç
âî, çà ÿêèì ïîëåì ðàõóâàòè ê³ëüê³ñòü çàïèñ³â. ãðóïóâàííÿ «Äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè ïð³çâèùà òà ³ìå-
íà ó÷í³â, ÿêèõ â³í íàâ÷ົ, ðåçóëüòàò âèêîíàííÿ ÿêîãî çîáðà-
Òåïåð ðîçãëÿíåìî SQL-òåêñò çàïèòó, ñòâîðåíîãî ó çàâäàíí³ 10.2: æåíî íà ðèñ. 10.6, à, äîðå÷íî áóëî á âèêîíàòè «ì’ÿêå» ãðóïó-
âèçíà÷èòè êëàñè, âñ³ ó÷í³ ÿêèõ íàðîäèëèñÿ äî 1 ñ³÷íÿ âàííÿ, â³äîáðàçèâøè ïî îäíîìó ðàçó ïð³çâèùå, ³ì’ÿ òà ïî áàòü-
1998 ðîêó. êîâ³ êîæíîãî â÷èòåëÿ, à ï³ä íèì — ñïèñîê óñ³õ éîãî ó÷í³â (ðèñ.
10.6, á). Ó Microsoft Access ïîäàòè äàí³ â òàêèé ñïîñ³á äîçâî-
SELECT Учні.клас ëÿþòü çâ³òè (ðîñ. Отчеты). Çâ³òè — öå åêðàíí³ ôîðìè, ùî ïðèç-
FROM Учні íà÷åí³ íàñàìïåðåä äëÿ ïîäàëüøîãî äðóêó íà ïàïåð³, ³ òîìó
GROUP BY Учні.клас íàé÷àñò³øå âîíè ïîäàþòüñÿ ó âèãëÿä³ àðêóø³â ïàïåðó ôîðìà-
HAVING Max(Учні.[дата народження])<#1/1/1998#; òó À4.

160 Розділ 10. Групування даних Звіти 161


 îäíîìó çâ³ò³ ìîæå â³äîáðàæàòèñÿ ³íôîðìàö³ÿ ç îäí³º¿ àáî ê³ëü-
êîõ òàáëèöü àáî çàïèò³â. Ñòâîðþâàòè çâ³òè, ÿê ³ ³íø³ îá’ºêòè
ÁÄ, ìîæíà â ðåæèì³ ìàéñòðà àáî çà äîïîìîãîþ êîíñòðóêòîðà.
Çàóâàæèìî, ùî êîëè ó çâ³ò³ â³äîáðàæàþòüñÿ äàí³ ç ê³ëüêîõ òàá-
ëèöü, êðàùå ñïî÷àòêó ñòâîðèòè çàïèò, äå ö³ òàáëèö³ ç’ºäíó-
þòüñÿ, à âæå ïîò³ì, íà îñíîâ³ öüîãî çàïèòó, — çâ³ò.
Ïîä³áíî äî ôîðì, çâ³òè íàéçðó÷í³øå ñòâîðþâàòè â ðåæèì³ ìàé-
ñòðà. Ðîçãëÿíåìî äåòàëüíî âñ³ êðîêè ìàéñòðà íà ïðèêëàä³ çâ³òó
çà òàêèì çàïèòîì.
Äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè êëàñè, ó ÿêèõ â³í âèêëàäàº, à
òàêîæ ïð³çâèùà, ³ìåíà òà ñåðåäíþ óñï³øí³ñòü ó÷í³â öèõ êëàñ³â.

Попередній крок
Ñòâîðþºìî çàïèò, óìîâó ÿêîãî ìè ùîéíî ñôîðìóëþâàëè. ³êíî
êîíñòðóêòîðà çàïèòó ïîêàçàíî íà ðèñ. 10.7. Çàóâàæòå, ùî ïðÿ-
а ìèé çâ’ÿçîê ì³æ òàáëèöåþ êëàñ³â òà â÷èòåë³â âèäàëåíî, îñê³ëü-
êè â³í âèçíà÷àº, õòî º êëàñíèì êåð³âíèêîì, à çà óìîâîþ çàïèòó
íàì òàêà ³íôîðìàö³ÿ íå ïîòð³áíà. Çáåð³ãàºìî çàïèò ï³ä íàçâîþ
Учителі_класи_учні.

б
Рис. 10.7. Вікно конструктора запиту «Для кожного вчителя визначити
Рис. 10.6. Подання результатів запиту: а — в табличній формі; класи, у яких він викладає, а також прізвища, імена та середню успішність
б — у формі звіту учнів цих класів»

162 Розділ 10. Групування даних Звіти 163


Крок 1
Çàïóñêàºìî ìàéñòåð çâ³ò³â, êëàöíóâøè êíîïêó Создание отчета
с помощью мастера (Ñòâîðåííÿ çâ³òó çà äîïîìîãîþ ìàéñòðà) íà
âêëàäö³ Отчеты ãîëîâíîãî â³êíà áàçè äàíèõ. Ïåðøèé êðîê ìàé-
ñòðà çâ³ò³â òàêèé ñàìèé, ÿê ³ ìàéñòð³â ôîðì òà çàïèò³â. Íà
íüîìó ïîòð³áíî âèáðàòè ïîëÿ, äàí³ ç ÿêèõ â³äîáðàæàòèìóòüñÿ ó
çâ³ò³. Ó íàøîìó âèïàäêó ç³ ñïèñêó Таблицы и запросы ñë³ä âèá-
ðàòè çàïèò Учителі_класи_учні, à ïîò³ì çà äîïîìîãîþ êíîïêè
» — óñ³ éîãî ïîëÿ (ðèñ. 10.8).

Рис. 10.9. Визначення головної та підлеглої таблиць

Крок 3
Íà òðåòüîìó êðîö³ ìàéñòðà ìîæíà çàäàòè ïîëÿ, çà ÿêèìè âèêî-
íóâàòèìåòüñÿ äîäàòêîâå áàãàòîð³âíåâå ãðóïóâàííÿ. Ó íàøîìó
ïðèêëàä³ ãðóïóâàííÿ ïåðøîãî ð³âíÿ çä³éñíþºòüñÿ çà â÷èòåëÿìè,
à ó÷í³â, ÿê³ â³äïîâ³äàþòü îäíîìó â÷èòåëþ, ìîæíà ùå ïîä³ëèòè
çà êëàñàìè — öå áóäå ãðóïóâàííÿ äðóãîãî ð³âíÿ (ðèñ. 10.10).
Äîäàòêîâ³ ïîëÿ äëÿ ãðóïóâàííÿ âèáèðàþòü çà äîïîìîãîþ êíîïêè
>, à ð³âåíü ãðóïè çì³íþþòü çà äîïîìîãîþ êíîïîê òà .
Рис. 10.8. Визначення полів, що відображатимуться у звіті Крок 4
Íà öüîìó êðîö³ âèçíà÷àþòü ïîëÿ, çíà÷åííÿ ÿêèõ ñîðòóâàòèìóòü-
Крок 2 ñÿ. Êð³ì òîãî, ÿêùî ñåðåä ïîë³â çâ³òó º ÷èñëîâ³, ãðîøîâ³ àáî ïî-
Íà äðóãîìó êðîö³ âèçíà÷àºìî, ÿêà òàáëèöÿ áóäå ãîëîâíîþ, à ÿêà ëÿ äàòè/÷àñó, òî ó â³êí³ ìàéñòðà ç’ÿâëÿºòüñÿ êíîïêà Итоги (ϳä-
— ï³äëåãëîþ, ÿê ìè öå ðîáèëè ï³ä ÷àñ ïîáóäîâè ôîðìè çà ê³ëüêî- ñóìêè), çà äîïîìîãîþ ÿêî¿ ìîæíà çàäàòè ï³äñóìêîâó îïåðàö³þ
ìà òàáëèöÿìè. Ãîëîâíîþ òàáëèöåþ º òà, çà çíà÷åííÿìè ïîë³â ÿêî¿ äëÿ òàêèõ ïîë³â. Íàïðèêëàä, ó íàøîìó çàïèò³ ìîæíà îá÷èñëèòè
ïðîâîäèòèìåòüñÿ ãðóïóâàííÿ, à ï³äëåãëîþ — òà, çíà÷åííÿ ïîë³â ñåðåäíþ óñï³øí³ñòü ó÷í³â êîæíîãî êëàñó (ðèñ. 10.11). Çàëåæíî
ÿêî¿ â³äîáðàæàòèìóòüñÿ â ãðóïàõ. Ó íàøîìó çâ³ò³ ãîëîâíîþ áóäå â³ä òîãî, ÿêèé ïåðåìèêà÷ âñòàíîâëåíî ó ãðóï³ Показать, â³äîáðà-
òàáëèöÿ â÷èòåë³â, à ï³äëåãëîþ — òàáëèöÿ ó÷í³â, îñê³ëüêè äëÿ æàòèìóòüñÿ àáî ò³ëüêè ðåçóëüòàòè ï³äñóìêîâèõ îïåðàö³é (только
êîæíîãî â÷èòåëÿ ìè âèä³ëÿòèìåìî ãðóïó ó÷í³â (ðèñ. 10.9). итоги), àáî ³ ï³äñóìêîâ³ çíà÷åííÿ, ³ ñàì³ äàí³ (данные и итоги).

164 Розділ 10. Групування даних Звіти 165


Кроки 5–7
Íà ï’ÿòîìó êðîö³ âèáèðàþòü ñïîñ³á ðîçòàøóâàííÿ òà âèð³âíþ-
âàííÿ äàíèõ ó çâ³ò³. ßêùî ìຠâ³äîáðàæàòèñÿ áàãàòî ïîë³â,
êðàùå îáðàòè àëüáîìíó îð³ºíòàö³þ àðêóøà. Íà øîñòîìó êðî-
ö³ ñë³ä çàäàòè ñòèëü îôîðìëåííÿ çâ³òó, à íà ñüîìîìó — éîãî
³ì’ÿ.
Ãîòîâèé çâ³ò (ðèñ. 10.12) ìîæíà ïåðåãëÿíóòè, äâ³÷³ êëàöíóâøè
éîãî çíà÷îê, òà â³äðåäàãóâàòè çà äîïîìîãîþ êîíñòðóêòîðà. Äëÿ
öüîãî çâ³ò ïîòð³áíî âèä³ëèòè â ãîëîâíîìó â³êí³ áàçè äàíèõ ³
êëàöíóòè êíîïêó Конструктор, ùîá ïåðåéòè ó â³êíî êîíñò-
ðóêòîðà çâ³ò³â. Íàé÷àñò³øå ðåæèì êîíñòðóêòîðà âèêîðèñòîâó-
þòü äëÿ ðîçøèðåííÿ ³ ðåäàãóâàííÿ íàïèñ³â.

Рис. 10.10. Додаткове групування у звітах

Рис. 10.12. Визначення способу розташування


й вирівнювання даних у звіті

Завдання 10.7
Ñêîíñòðóþéòå çâ³ò çà çàïèòîì äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè
Рис. 10.11. Виконання підсумкових операцій у звітах êëàñè, ó ÿêèõ â³í âèêëàäàº, òà ïð³çâèùà é ³ìåíà ó÷í³â, ÿêèõ

166 Розділ 10. Групування даних Звіти 167


â³í íàâ÷àº, âèêîíàâøè êðîêè, îïèñàí³ âèùå. ³äîáðàç³òü òàêîæ ♦ Çàãàëüíèé ñèíòàêñèñ SQL-çàïèòó ç ãðóïóâàííÿì òàêèé:
ñåðåäíþ óñï³øí³ñòü ó÷í³â êîæíîãî êëàñó.
SELECT список полів, значення яких потрібно отримати
FROM список таблиць, з яких вибираються дані
Äëÿ äîïèòëèâèõ. ßêùî âè ïîáóäóâàëè çâ³ò íà îñíîâ³ ÿêîãîñü WHERE умова, яку мають задовольняти записи, що вибираються
çàïèòó, à ïîò³ì öåé çàïèò çì³íèëè, íà çâ³ò³ ö³ çì³íè í³ÿê íå GROUP BY список полів групування
â³ä³á’þòüñÿ. Ùîá ä³éñíî çì³íèòè íàá³ð äàíèõ, ÿê³ â³äîáðà- HAVING умова, яку мають задовольняти групи записів
æàþòüñÿ ó çâ³ò³, ïîòð³áíî êëàöíóòè ïðàâîþ êíîïêîþ ìèø³
³íäèêàòîð â ë³âîìó âåðõíüîìó êóò³ â³êíà êîíñòðóêòîðà ♦ Çâ³òè — öå åêðàíí³ ôîðìè, ùî ïîäàþòüñÿ ó âèãëÿä³ àðêó-
çâ³òó, âèáðàòè ç êîíòåêñòíîãî ìåíþ êîìàíäó Свойства ³ íà ø³â ïàïåðó ³ ïðèçíà÷åí³ íàñàìïåðåä äëÿ ïîäàëüøîãî äðóêó.
âêëàäö³ Данные â³êíà âëàñòèâîñòåé çâ³òó êëàöíóòè êíîïêó Çà äîïîìîãîþ çâ³ò³â ìîæíà â³çóàëüíî ãðóïóâàòè çàïèñè, íå
, ðîçòàøîâàíó ñïðàâà â³ä ïîëÿ Источник записей. Ó ðåçóëü- îá’ºäíóþ÷è ¿õ.
òàò³ âè ïåðåéäåòå çíàéîìå â³êíî êîíñòðóêòîðà çàïèòó. Àëå öå
áóäå òîé çàïèò, ÿêèé ñïðàâä³ ïîâ’ÿçàíèé ç³ çâ³òîì (â îáëàñò³
çàïèò³â ãîëîâíîãî â³êíà áàçè äàíèõ éîãî íåìàº). Завдання для самостійного виконання
1. Ðåàë³çóéòå òàê³ çàïèòè.
Завдання 10.8 à) Âèçíà÷èòè íàçâè êëàñ³â, ó ÿêèõ íàâ÷àºòüñÿ á³ëüøå 2
ó÷í³â.
Ñòâîð³òü çâ³ò, ó ÿêîìó äëÿ êîæíîãî êëàñó â³äîáðàæàòèìóòüñÿ
á) Âèçíà÷èòè ïð³çâèùà â÷èòåë³â, ÿê³ âèêëàäàþòü á³ëüø,
ïð³çâèùà, ³ìåíà òà ñïåö³àëüíîñò³ â÷èòåë³â, ùî â íüîìó âèêëà-
í³æ â îäíîìó êëàñ³.
äàþòü, à òàêîæ ê³ëüê³ñòü òàêèõ ó÷èòåë³â.
â) Âèçíà÷èòè äàòó íàðîäæåííÿ íàéìîëîäøîãî ó÷íÿ.
Висновки ã) Âèçíà÷èòè ê³ëüê³ñòü ó÷èòåë³â, ùî º êëàñíèìè êåð³â-
íèêàìè.
♦ Ãðóïà — öå íàá³ð çàïèñ³â ç îäíàêîâèì çíà÷åííÿì ïåâíîãî
ïîëÿ. ϳä ãðóïóâàííÿì ðîçóì³þòü ïðîöåñ îá’ºäíàííÿ ãðóïè ä) Äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè ìàêñèìàëüíó óñï³ø-
çàïèñ³â â îäèí; ïîëå, çíà÷åííÿ ÿêîãî îäíàêîâ³, íàçèâàºòüñÿ í³ñòü éîãî ó÷í³â (âèêîðèñòàéòå ïîëå успішність).
ïîëåì ãðóïóâàííÿ. å*) Âèçíà÷èòè ïð³çâèùå íàéìîëîäøîãî ó÷íÿ.
♦ ϳäñóìêîâà îïåðàö³ÿ ïîëÿãຠâ îá÷èñëåíí³ â êîæí³é ãðóï³ º*) Âèçíà÷èòè ñïåö³àëüíîñò³, çà ÿêèìè ïðàöþþòü ò³ëüêè
çàïèñ³â ïåâíî¿ ï³äñóìêîâî¿ õàðàêòåðèñòèêè, íàïðèêëàä,
â÷èòåë³-æ³íêè.
ìàêñèìóìó, ñóìè, ñåðåäíüîãî. ϳäñóìêîâó îïåðàö³þ âè-
êîíóþòü íàä çíà÷åííÿìè ÿêîãîñü ïîëÿ, ùî íàçèâàºòüñÿ 2. Ñòâîð³òü çâ³òè çà îïèñàíèìè äàë³ çàïèòàìè. Ïåðåäáà÷òå
ïîëåì ï³äñóìê³â. ãðóïóâàííÿ, äå öå äîðå÷íî.
♦ Ïîëå ï³äñóìê³â ïîâèííî ìàòè ÷èñëîâèé òèï, ãðîøîâèé òèï à) Äëÿ êîæíîãî êëàñó âèçíà÷èòè ïð³çâèùà òà ³ìåíà ó÷í³â,
àáî òèï äàòè/÷àñó ³ áóòè íå òèì ïîëåì, çà ÿêèì çä³éñ- ùî â íüîìó íàâ÷àþòüñÿ, à òàêîæ ¿õ íàéâèùó òà íàé-
íþâàëîñÿ ãðóïóâàííÿ. íèæ÷ó óñï³øí³ñòü.
♦ Îïåðàö³þ âèçíà÷åííÿ ê³ëüêîñò³ çàïèñ³â ìîæíà âèêîíóâàòè á) Äëÿ êîæíî¿ ñïåö³àëüíîñò³ âèçíà÷èòè â÷èòåë³â, ùî ¿¿
íàä çíà÷åííÿìè áóäü-ÿêîãî ïîëÿ; ¿¿ ðåçóëüòàò â³ä âèáîðó ìàþòü, ê³ëüê³ñòü òàêèõ ó÷èòåë³â òà êëàñè, ó ÿêèõ âîíè
ïîëÿ íå çàëåæèòü. âèêëàäàþòü.

168 Розділ 10. Групування даних Завдання для самостійного виконання 169
Питання для роздумів êîâà îïåðàö³ÿ. Ñïðîáóéòå ðåàë³çóâàòè çàïèò ç ïðèêëàäó 3
ìîâîþ SQL, âèêîðèñòàâøè ò³ëüêè ôðàçè SELECT, FROM ³
1. Ñôîðìóëþéòå çàïèòè, ðåàë³çàö³þ ÿêèõ ïîêàçàíî íà ðèñ. WHERE. Ó ôðàç³ SELECT ñë³ä çàñòîñóâàòè àãðåãàòíó
10.13, à–â. ôóíêö³þ.
2•. Çàïèø³òü SQL-òåêñò çàïèò³â, â³êíà êîíñòðóêòîðà ÿêèõ çîá- 4*. ×îìó ó çàïèò³, ðîçãëÿíóòîìó â ïðèêëàä³ 1, ïîëÿìè ãðóïó-
ðàæåíî íà ðèñ. 10.13, à–â. âàííÿ º паспорт ³ прізвище, à íå ò³ëüêè прізвище? Íàâå-
ä³òü ïðèêëàä äàíèõ, êîëè ãðóïóâàííÿ ëèøå çà ïîëåì прі-
звище äàâàëî á íåêîðåêòíèé ðåçóëüòàò.
5*. Ïðèïóñòèìî, ùî äî áàçè äàíèõ школа äîäàíî òàáëèöþ Пре-
дмет, ÿêó ç’ºäíàíî ç òàáëèöÿìè â÷èòåë³â ³ êëàñ³â ÷åðåç
òàáëèöþ Викладання. ×îìó äëÿ òàêî¿ áàçè ðåàë³çàö³ÿ çà-
ïèòó «äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè, ñê³ëüêîõ ó÷í³â â³í
íàâ÷ົ, çîáðàæåíà íà ðèñ. 10.3, áóäå íåêîðåêòíîþ?

Завдання для досліджень


1. Ç’ÿñóéòå, äëÿ ÷îãî ïðèçíà÷åíèé ïåðåõðåñíèé çàïèò ³ ÿê éî-
ãî êîíñòðóþâàòè. Äîäàéòå äî áàçè äàíèõ школа òàáëèöþ
а б Предмет ç ïîëÿìè назва òà кількість уроків на тиж-
день ³ ç’ºäíàéòå ¿¿ çâ’ÿçêîì ç òàáëèöåþ Викладання (âè-
çíà÷òå ñàìîñò³éíî ìíîæèíí³ñòü çâ’ÿçêó òà ñòâîð³òü çîâí³ø-
í³é êëþ÷, ïîòð³áíèé äëÿ éîãî ìîäåëþâàííÿ). Ïîáóäóéòå
ïåðåõðåñíèé çàïèò âèçíà÷èòè, ñê³ëüêè ïðåäìåò³â âèêëà-
äຠêîæåí ó÷èòåëü êîæíîìó ó÷íåâ³.
2. Äî çâ³òó, ñòâîðåíîãî â çàâäàíí³ äëÿ ñàìîñò³éíîãî âèêîíàííÿ
2á ç öüîãî ðîçä³ëó, äîäàéòå ïîëå, äå â³äîáðàæàòèìåòüñÿ ñå-
ðåäíÿ óñï³øí³ñòü ó÷í³â, ùî íàâ÷àþòüñÿ ó â÷èòåë³â êîæíî¿
ñïåö³àëüíîñò³.

в
Рис. 10.13. Вікна конструктора запитів

3•. Ïðî÷èòàéòå óâàæíî êîìåíòàð äî ïðèêëàäó 3, ðîçãëÿíóòîãî


â öüîìó ðîçä³ë³. Çàóâàæòå, ùî ôàêòè÷íî ãðóïóâàííÿ äàíèõ
â öüîìó çàïèò³ íå â³äáóâàºòüñÿ, õî÷à é âèêîíóºòüñÿ ï³äñóì-

170 Розділ 10. Групування даних Завдання для досліджень 171



Розділ 11 Видалення даних
Ðîçãëÿíåìî äåòàëüí³øå çàäà÷ó îíîâëåííÿ áàçè äàíèõ школа

Автоматизоване видалення, ï³ñëÿ çàâåðøåííÿ íàâ÷àëüíîãî ðîêó. Âîíà ñêëàäàºòüñÿ ç ê³ëü-


êîõ äð³áí³øèõ ï³äçàäà÷, à ñàìå:
оновлення і додавання даних 1. Âèäàëèòè çàïèñè, ùî ñòîñóþòüñÿ îäèíàäöÿòèêëàñíèê³â,
îñê³ëüêè âîíè á³ëüøå íå º ó÷íÿìè.
2. Çì³íèòè çàïèñè âñ³õ ³íøèõ ó÷í³â: ó ïîë³ клас çàì³ñòü 10À
çàïèñàòè 11À, çàì³ñòü 10Á — 11Á, çàì³ñòü 9À — 10À ³ ò.ä.
Повторення 3. Çì³íèòè â³äîìîñò³ ïðî âèêëàäàííÿ ³ êëàñíå êåð³âíèöòâî:
♦ Íàçâ³òü îñíîâí³ ôóíêö³¿ ñèñòåì êåðóâàí- ÿêùî ïåâíèé ó÷èòåëü âèêëàäàâ ó 10À êëàñ³, òåïåð â³í,
íÿ áàçàìè äàíèõ. ñêîð³ø çà âñå, âèêëàäàòèìå â 11À, ÿêùî â³í áóâ êëàñíèì
êåð³âíèêîì 9Á, òî ñòàíå êåð³âíèêîì 10Á òîùî.
♦ ßê³ îïåðàö³¿ ç ðåäàãóâàííÿ äàíèõ ìîæ-
íà âèêîíóâàòè â ÑÊÁÄ MS Access? Çâè÷àéíî, öèì ñïèñêîì îíîâëåííÿ, ÿê³ ïîòð³áíî âèêîíàòè â
áàç³ äàíèõ íàïðèê³íö³ íàâ÷àëüíîãî ðîêó, íå îáìåæóþòüñÿ.
♦ Îïèø³òü çàãàëüíó ñòðóêòóðó òà ñïîñ³á
³íòåðïðåòàö³¿ âèá³ðêîâîãî çàïèòó SQL. ßêèéñü ó÷èòåëü ìîæå ïîì³íÿòèñÿ, ÿêèéñü — çâ³ëüíèòèñÿ,
ó÷åíü ìîæå ïåðåâåñòèñÿ â ³íøèé êëàñ àáî øêîëó òîùî. Ïðîòå
♦ Ùî òàêå êàñêàäíå îíîâëåííÿ òà êàñêàä-
çàçíà÷åí³ çì³íè ëîêàëüí³, âîíè ñòîñóþòüñÿ îêðåìèõ çàïèñ³â ³
íå âèäàëåííÿ äàíèõ?
òîìó ¿õ ìîæíà âíîñèòè âðó÷íó, â òîé ÷àñ ÿê òðè ïåðåë³÷åíèõ
âèùå çàâäàííÿ âàðòî âèêîíóâàòè àâòîìàòèçîâàíî íàä áàãàòüìà
çàïèñàìè â³äðàçó.
³äêðèâøè òàáëèöþ, âè ìîæåòå íå ëèøå ââîäèòè äî íå¿ íîâ³ Ïî÷íåìî ç àâòîìàòèçîâàíîãî âèäàëåííÿ çàïèñ³â îäèíàäöÿòè-
çàïèñè, àëå é çì³íþâàòè àáî âèäàëÿòè íàÿâí³. Ïðîòå â ðåæè- êëàñíèê³â. Éîãî çä³éñíþþòü çà äîïîìîãîþ çàïèòó íà âèäà-
ì³ ðåäàãóâàííÿ òàáëèö³ öå çðó÷íî ðîáèòè ò³ëüêè òîä³, êîëè ëåííÿ äàíèõ, ïîðÿäîê ñòâîðåííÿ òà âèêîíàííÿ ÿêîãî îïèñàíî
ïîòð³áíî çì³íèòè ÷è âèäàëèòè íåâåëèêó ê³ëüê³ñòü çàïèñ³â. ó âïðàâ³ 11.1.
Íàïðèêëàä, ÿêùî ÿêèéñü ó÷åíü ïåðåéøîâ ³ç 10À êëàñó äî
10Á, ñë³ä â³äêðèòè òàáëèöþ Учні, çíàéòè â³äïîâ³äíèé çàïèñ Çàïèò íà âèäàëåííÿ äàíèõ ïðèçíà÷åíî äëÿ âèäàëåííÿ ç òàá-
òà ââåñòè íîâå çíà÷åííÿ â ïîëå клас. Àëå ÿêùî â áàç³ äàíèõ ëèö³ çàïèñ³â, ùî çàäîâîëüíÿþòü ïåâíó óìîâó.
º ê³ëüêà òèñÿ÷ çàïèñ³â ùîäî ó÷í³â áàãàòüîõ øê³ë, òî íàïðè-
ê³íö³ íàâ÷àëüíîãî ðîêó, êîëè âîíè ïåðåõîäÿòü ó íàñòóïíèé
êëàñ, çì³íþâàòè âñ³ ¿õí³ çàïèñè âðó÷íó áóäå âêðàé ïðîáëåìà- Вправа 11.1
òè÷íî. Àâòîìàòèçóâàòè ïîä³áí³ îïåðàö³¿ äîçâîëÿº ñïåö³àëü-
íèé ð³çíîâèä çàïèò³â — çàïèòè íà îíîâëåííÿ äàíèõ. Òå ñàìå Ñòâîð³òü ³ âèêîíàéòå çàïèò âèäàëèòè ç òàáëèö³ Учні çàïèñè,
ìîæíà ñêàçàòè ³ ïðî äîäàâàííÿ òà âèäàëåííÿ çàïèñ³â. Çàïèòè ùî ñòîñóþòüñÿ îäèíàäöÿòèêëàñíèê³â.
íà äîäàâàííÿ, îíîâëåííÿ òà âèäàëåííÿ äàíèõ ìè âèâ÷àòèìå- 1. Ñòâîð³òü êîï³þ ôàéëó áàçè äàíèõ школа, íàçâàâøè ¿¿
ìî ñüîãîäí³. школа_кінець_року. Íàäàë³ ïðàöþéòå ç ö³ºþ êîﳺþ.


172 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Видалення даних 173
2. ³äêðèéòå êîíñòðóêòîð çàïèò³â. Ó â³êí³ Добавление таблицы Ïîÿñíèìî ïðèíöèï 䳿 çàïèòó. ϳä ÷àñ éîãî âèêîíàííÿ âèäà-
âèáåð³òü òàáëèöþ Учні, îñê³ëüêè çàïèò ñòîñóºòüñÿ ó÷í³â, ï³- ëÿþòüñÿ ò³ çàïèñè, ÿê³ çàäîâîëüíÿþòü óìîâó â³äáîðó, íàêëàäå-
ñëÿ ÷îãî êëàöí³òü êíîïêó Добавить ³ çàêðèéòå öå â³êíî. íó íà çíà÷åííÿ îäíîãî àáî ê³ëüêîõ ïîë³â. Öþ óìîâó çàäàþòü ó
3. Çàäàéòå òèï çàïèòó. ßêùî âè ïðàöþºòå â Access 2003, ó áëàíêó çàïèòó òàê ñàìî, ÿê ³ â çàïèò³ íà âèá³ðêó äàíèõ: ó ðÿä-
ìåíþ Запрос âèáåð³òü êîìàíäó Удаление, à ÿêùî â Access êó Поле ñë³ä âêàçàòè íàçâó ïîëÿ, à â ðÿäêó Условие отбора —
2007/2010 — êëàöí³òü êíîïêó Удаление íà ñòð³÷ö³ óìîâó, ÿêó ìàþòü çàäîâîëüíÿòè çíà÷åííÿ öüîãî ïîëÿ. Ó öüîìó
Конструктор. ϳñëÿ âèêîíàííÿ ö³º¿ êîìàíäè áëàíê çàïèòó çàïèò³ óìîâà ìຠâèãëÿä Like ″11*″. ßê âè âæå çíàºòå, öå
çì³íèòüñÿ: çàì³ñòü ðÿäê³â Сортировка òà Вывод на экран îçíà÷ຠ«âñ³ çíà÷åííÿ, ùî ïî÷èíàþòüñÿ ç ñèìâîë³â 11», òîáòî
ç’ÿâèòüñÿ ðÿäîê Удаление. çíà÷åííÿ, ùî â³äïîâ³äàþòü îäèíàäöÿòèêëàñíèêàì.
4. Óâåä³òü ó áëàíê çàïèòó äàí³ çà çðàçêîì, ïîêàçàíèì íà ðèñ. Ó ìîâ³ SQL çàïèò íà âèäàëåííÿ äàíèõ ìຠäóæå ïðîñòó ñòðóê-
11.1. Ïîëå клас ïåðåòÿãí³òü ç âåðõíüî¿ ÷àñòèíè â³êíà òóðó:
êîíñòðóêòîðà, à óìîâó â³äáîðó ââåä³òü óðó÷íó.
DELETE *
FROM ім’я таблиці
WHERE умова відбору записів

Íàïðèêëàä, SQL-òåêñò çàïèòó, ñòâîðåíîãî ó âïðàâ³ 11.1, âèãëÿ-


äàòèìå òàê:
DELETE *
FROM Учні
WHERE клас Like ″11*″

Ñëîâî DELETE ó ïåðåêëàä³ ç àíãë³éñüêî¿ îçíà÷ຠ«âèäàëèòè», à


â ö³ëîìó îñòàíí³é çàïèò ñë³ä ÷èòàòè òàê: «âèäàëèòè ç òàáëèö³
Учні çàïèñè, ó ÿêèõ çíà÷åííÿ ïîëÿ клас ïî÷èíàºòüñÿ ç ñèìâî-
ë³â 11». Ñèìâîë * ï³ñëÿ ñëîâà DELETE îçíà÷ຠ«âñ³ ïîëÿ»: êîëè
ìè âèäàëÿºìî òîé ÷è ³íøèé çàïèñ, âèäàëÿþòüñÿ âñ³ éîãî ïîëÿ.

Завдання 11.1
Ñòâîð³òü ³ âèêîíàéòå çàïèòè íà âèäàëåííÿ ç òàáëèö³ Викладан-
Рис. 11.1. Бланк запиту на видалення даних ня âñ³õ çàïèñ³â, ùî ñòîñóþòüñÿ âèêëàäàííÿ â 11 êëàñàõ, à ïî-
ò³ì — íà âèäàëåííÿ ç òàáëèö³ Класи âñ³õ çàïèñ³â ïðî 11 êëàñè.
5. Çàïóñò³òü çàïèò íà âèêîíàííÿ êíîïêîþ . Áóäå â³äîáðà-
æåíî â³êíî ç ïðîõàííÿì ï³äòâåðäèòè âèäàëåííÿ 3 çàïèñ³â. Çàóâàæòå, ùî ÿêáè ï³ä ÷àñ ñòâîðåííÿ çâ’ÿçê³â ì³æ òàáëèöÿìè
Êëàöí³òü ó íüîìó êíîïêó Да. Класи òà Учні, à òàêîæ Класи ³ Викладання áóëî çàäàíî ðå-
6. ³äêðèéòå òàáëèöþ Учні ³ ïåðåêîíàéòåñÿ, ùî â³äîìîñòåé æèì êàñêàäíîãî âèäàëåííÿ äàíèõ, âèäàëÿòè âñ³ â³äîìîñò³ ïðî
ïðî îäèíàäöÿòèêëàñíèê³â òåïåð ó í³é íåìàº. 11 êëàñè áóëî á ïðîñò³øå. À ñàìå, äîñòàòíüî áóëî á âèäàëèòè


174 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Видалення даних 175
çàïèñè ïðî 11 êëàñè ç òàáëèö³ Класи, à çàïèñè ïðî îäèíàäöÿ- Вправа 11.2
òèêëàñíèê³â ³ âèêëàäàííÿ â 11 êëàñàõ âèäàëèëèñÿ á ïðè öüîìó
àâòîìàòè÷íî. Îíîâ³òü ñõåìó äàíèõ школа_кінець_року çã³äíî ç ðèñ. 11.2. Âàì
ïîòð³áíî çàì³íèòè ïîëå назва ó òàáëèö³ Класи äâîìà ³íøèìè
ïîëÿìè, ñòâîðèòè ó ö³é òàáëèö³ ñêëàäåíèé êëþ÷ ³ çì³íèòè â³ä-
Äëÿ äîïèòëèâèõ. Ó ôðàç³ WHERE çàïèòó íà âèäàëåííÿ ìîæíà ïîâ³äíèì ÷èíîì ¿¿ çâ’ÿçêè ç òàáëèöÿìè Викладання òà Учні.
âèêîðèñòîâóâàòè ëîã³÷íó çâ’ÿçêó AND, îïåðàòîð IN òà âñ³ Ïîä³áí³ ä³¿ âè âæå âèêîíóâàëè ï³ä ÷àñ ðîáîòè ç ðîçä³ëîì 5.
³íø³ çàñîáè, ÿê³ âèêîðèñòîâóþòü ó ôðàç³ WHERE âèá³ðêîâîãî
çàïèòó. Öå äຠçìîãó êîíñòðóþâàòè äîñòàòíüî ñêëàäí³ óìîâè
â³äáîðó çàïèñ³â, ùî âèäàëÿòèìóòüñÿ. Íàïðèêëàä, çàïèò âè-
äàëèòè â³äîìîñò³ ïðî â÷èòåë³â, ùî âèêëàäàþòü â 11 êëà-
ñàõ, âèãëÿäàòèìå òàê:
DELETE *
FROM Учителі
WHERE паспорт IN (SELECT учитель FROM Викладання
WHERE клас Like ″11*″)

Рис. 11.2. Оновлена схема бази даних школа

Оновлення даних 1. ³äêðèéòå â³êíî Схема данных, ñêîðèñòàâøèñü êíîïêîþ


íà ïàíåë³ ³íñòðóìåíò³â ó Access 2003 àáî íà ñòð³÷ö³ Работа
Êîëè ï³ñëÿ çàâåðøåííÿ íàâ÷àëüíîãî ðîêó äàí³ ïðî îäèíàäöÿò³ с базами данных â Access 2007/2010, òà âèäàë³òü çâ’ÿçêè
êëàñè âèäàëåíî, ó÷í³â óñ³õ ³íøèõ êëàñ³â ïîòð³áíî ïåðåâåñòè äî ì³æ òàáëèöÿìè Класи òà Учні, à òàêîæ Класи òà Викла-
íàñòóïíîãî êëàñó: ó÷í³â 9À êëàñó — äî 10À, ó÷í³â 10Á — äî дання. Ùîá âèäàëèòè çâ’ÿçîê, ïîòð³áíî âèä³ëèòè éîãî,
11Á òîùî. Öå ìè çðîáèìî çà äîïîìîãîþ çàïèòó íà îíîâëåííÿ êëàöíóâøè ë³í³þ çâ’ÿçêó ë³âîþ êíîïêîþ ìèø³, à ïîò³ì íà-
äàíèõ, îäíàê ñïî÷àòêó, ùîá ïîëåãøèòè çàâäàííÿ, âíåñåìî çì³- òèñíóòè êëàâ³øó Del òà ï³äòâåðäèòè âèäàëåííÿ.
íè â ñõåìó äàíèõ. 2. Çì³í³òü ñòðóêòóðó òàáëèö³ Класи. Äëÿ öüîãî ïåðåéä³òü â
ðåæèì êîíñòðóêòîðà ö³º¿ òàáëèö³ ³ âèêîíàéòå òàê³ ä³¿.
Оновлення схеми даних à) Äîäàéòå íîâå ïîëå ïåðåä ïîëåì назва, êëàöíóâøè éîãî
ïðàâîþ êíîïêîþ ìèø³ é âèáðàâøè ç êîíòåêñòíîãî ìåíþ
Ó áàç³ äàíèõ школа_кінець_року âèä³ëèìî îêðåìå ïîëå äëÿ íî- êîìàíäó Добавить строки.
ìåðà, àáî ïàðàëåë³ êëàñó (íàïðèêëàä, 10,11) òà îêðåìå ïîëå äëÿ
áóêâè (íàïðèêëàä, À,Á). Ö³ çì³íè çîáðàæåíî íà ðèñ. 11.2. Çà- á) Äàéòå íîâîìó ïîëþ íàçâó паралель òà âèáåð³òü òèï
óâàæòå, ùî òåïåð êëþ÷ òàáëèö³ êëàñ³â ñêëàäàòèìåòüñÿ ç äâîõ Числовой, à ïîëå назва ïåðåéìåíóéòå íà буква.
àòðèáóò³â, ÿê³ îáèäâà ïîòð³áíî âèêîðèñòîâóâàòè ó çâ’ÿçêàõ ç â) Ñòâîð³òü ñêëàäåíèé êëþ÷ ç ïîë³â паралель òà буква:
òàáëèöÿìè Викладання òà Учні, â³äïîâ³äíèì ÷èíîì çì³íèâøè êëàöí³òü ³íäèêàòîðè öèõ ïîë³â, óòðèìóþ÷è êëàâ³øó
â íèõ çîâí³øí³ êëþ÷³. Ó âïðàâ³ 11.2 îïèøåìî äåòàëüíî, ÿê Ctrl, à ïîò³ì êëàöí³òü êíîïêó . Íà ³íäèêàòîðàõ îáîõ
îíîâèòè ñõåìó äàíèõ. ïîë³â ìຠç’ÿâèòèñÿ ïîçíà÷êà ó âèãëÿä³ êëþ÷à.


176 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Оновлення даних 177
3. Äîäàéòå ÷èñëîâ³ ïîëÿ паралель äî òàáëèöü Викладання òà
Учні, à ïîëÿ клас â öèõ òàáëèöÿõ ïåðåéìåíóéòå íà буква. Çàïèò íà îíîâëåííÿ äàíèõ ïðèçíà÷åíî äëÿ àâòîìàòè÷íîãî
çì³íåííÿ çíà÷åíü â óñ³õ àáî äåÿêèõ çàïèñàõ ïåâíî¿ òàáëèö³.
4. Çì³í³òü äàí³ ó òàáëèöÿõ Класи, Учні òà Викладання, ïîä³- Ñïîñ³á çì³íåííÿ âèçíà÷àºòüñÿ îêðåìîþ ôîðìóëîþ äëÿ êîæ-
ëèâøè íàçâè êëàñ³â íà äâ³ ÷àñòèíè. Íàïðèêëàä, çàì³ñòü íîãî ïîëÿ, çíà÷åííÿ ÿêîãî îíîâëþºòüñÿ.
çíà÷åííÿ 10А â ïîë³ назва çàïèø³òü 10 ó ïîë³ паралель ³
А â ïîë³ буква.
5. Ñòâîð³òü çâ’ÿçîê ì³æ òàáëèöÿìè Класи òà Учні. Äëÿ öüîãî Вправа 11.3
ó â³êí³ ñõåìè äàíèõ, óòðèìóþ÷è êëàâ³øó Ctrl, âèä³ë³òü ó
òàáëèö³ Класи ïîëÿ паралель òà буква ³ ïåðåòÿãí³òü ¿õ íà Ñòâîð³òü ³ âèêîíàéòå çàïèò çá³ëüøèòè íà 1 çíà÷åííÿ ïîëÿ па-
òàáëèöþ Учні. Ó â³êí³ Изменение связей çàäàéòå òàê³ ралель ó âñ³õ çàïèñàõ òàáëèö³ Учні.
çâ’ÿçêè, ÿê ïîêàçàíî íà ðèñ. 11.3. ϳñëÿ öüîãî ñõåìà äàíèõ 1. ³äêðèéòå êîíñòðóêòîð çàïèò³â. Ó â³êí³ Добавление таблицы
ìຠíàáóòè òàêîãî âèãëÿäó, ÿê íà ðèñ. 11.2. âèáåð³òü òàáëèöþ Учні, îñê³ëüêè çàïèò ñòîñóºòüñÿ ó÷í³â,
ï³ñëÿ ÷îãî êëàöí³òü êíîïêó Добавить ³ çàêðèéòå öå â³êíî.
2. Ó ìåíþ Запрос âèáåð³òü êîìàíäó Обновление àáî êëàöí³òü
êíîïêó Обновление íà ñòð³÷ö³ Конструктор — òàê âè çàäàñòå
òèï çàïèòó. ϳñëÿ âèêîíàííÿ ö³º¿ êîìàíäè áëàíê çàïèòó
çì³íèòüñÿ: çàì³ñòü ðÿäê³â Сортировка òà Вывод на экран
ç’ÿâèòüñÿ ðÿäîê Обновление, ó ÿêîìó ïîòð³áíî ââåñòè ôîð-
ìóëè äëÿ îá÷èñëåííÿ íîâèõ çíà÷åíü. Ðÿäêà Вывод на экран
íå áóäå, îñê³ëüêè çàïèò íà îíîâëåííÿ äàíèõ í³ÿêî¿ ³íôîð-
ìàö³¿ íà åêðàí³ íå â³äîáðàæóº.
3. Óâåä³òü ó áëàíê çàïèòó äàí³ çà çðàçêîì, ïîêàçàíèì íà
ðèñ. 11.4.

Рис. 11.3. Створення зв’язку зі складеним ключем у вікні


Изменение связей

6. Ñòâîð³òü çâ’ÿçîê ì³æ òàáëèöÿìè Класи òà Викладання.


Рис. 11.4. Бланк запиту, що збільшує на 1 значення
поля паралель у всіх записах таблиці Учні
Запити на оновлення даних
Ïîâåðí³ìîñÿ äî íàøîãî çàâäàííÿ: àâòîìàòè÷íî çá³ëüøèòè íà 1 4. Çàïóñò³òü çàïèò íà âèêîíàííÿ êíîïêîþ ³ ï³äòâåðäüòå
çíà÷åííÿ ïîëÿ паралель ó âñ³õ çàïèñàõ òàáëèö³ Учні. Äëÿ öüî- îíîâëåííÿ çàïèñ³â.
ãî ñòâîðèìî ³ âèêîíàºìî çàïèò íà îíîâëåííÿ äàíèõ. ßê öå çðî- 5. ³äêðèéòå òàáëèöþ Учні ³ ïåðåêîíàéòåñÿ, ùî âñ³ çíà÷åííÿ
áèòè, îïèñàíî ó âïðàâ³ 11.3. ïîëÿ паралель çá³ëüøåíî íà 1.


178 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Оновлення даних 179
Ó çàïèò³ íà îíîâëåííÿ äàíèõ íå îáîâ’ÿçêîâî îíîâëþâàòè âñ³ UPDATE Учні
çàïèñè ÿêî¿ñü òàáëèö³. Ìîæíà çàäàòè óìîâó â³äáîðó òèõ çàïè- SET буква="А"
ñ³â, ùî îíîâëþâàòèìóòüñÿ. Íàïðèêëàä, ðîçãëÿíåìî òàêó ñèòóà- WHERE паралель=10 AND буква="Б"
ö³þ: ³ç 10Á êëàñó âèáóëî áàãàòî ó÷í³â ³ êåð³âíèöòâî øêîëè
âèð³øèëî îá’ºäíàòè éîãî ç 10À, çàëèøèâøè äëÿ îá’ºäíàíîãî
êëàñó íàçâó 10À. Òîä³ â òàáëèö³ Учні ïîòð³áíî çì³íèòè ò³ëüêè
Завдання 11.2
çàïèñè ó÷í³â 10Á, íàäàâøè ïîëþ буква öèõ çàïèñ³â çíà÷åííÿ Ðåàë³çóéòå òà âèêîíàéòå çàïèò ïåðåâåñòè âñ³õ ó÷í³â 10Á êëàñó
А. Áëàíê çàïèòó ïåðåâåñòè âñ³õ ó÷í³â 10Á êëàñó äî 10À âèãëÿ- äî 10À. Ñòâîð³òü êîï³þ ôàéëó áàçè äàíèõ школа_кінець_року, ó
äຠòàê, ÿê íà ðèñ. 11.5. ÿê³é ³ âèêîíàéòå çàâäàííÿ.

Додавання даних
Êîëè áàçà äàíèõ ³íòåíñèâíî åêñïëóàòóºòüñÿ, äàí³ â íå¿ äîäà-
þòüñÿ ùîäíÿ ³ âè çíàºòå, ÿê öå ðîáèòè â ðåæèì³ ðåäàãóâàííÿ
òàáëèöü àáî çà äîïîìîãîþ ôîðì. Îäíàê çàðàç íàñ ö³êàâèòü òîé
âèïàäîê, êîëè ïîòð³áíî äîäàòè â³äðàçó áàãàòî çàïèñ³â ³ ðîáèòè
Рис. 11.5. Бланк запиту «перевести всіх учнів 10Б класу до 10А» öå âðó÷íó çàíàäòî äîâãî. Äâ³ íàéïîøèðåí³ø³ ñèòóàö³¿, êîëè
íåîáõ³äíî äîäàâàòè âåëèê³ ìàñèâè çàïèñ³â, òàê³:
ßê âèäíî ç ðèñ. 11.5, â îäíîìó ñòîâïö³ áëàíêà çàïèòó ââåäåíî
ôîðìóëó îíîâëåííÿ ïîëÿ буква (ôîðìóëà ñêëàäàºòüñÿ ç îäíîãî ♦ áàçó äàíèõ ðåñòðóêòóðèçóþòü, âíàñë³äîê ÷îãî ñòâîðþþòüñÿ
ñèìâîëó «À» — öå íîâå çíà÷åííÿ ïîëÿ) òà óìîâó â³äáîðó çàïè- íîâ³ òàáëèö³, ó ÿê³ ïîòð³áíî äîäàâàòè äàí³ ç íàÿâíèõ
ñ³â — ð³âí³ñòü ïîëÿ буква ñèìâîëó «Á», à â ³íøîìó — ò³ëüêè òàáëèöü;
óìîâó â³äáîðó (ð³âí³ñòü ïîëÿ паралель ÷èñëó 10). ♦ ó áàçó ³ìïîðòóþòü äàí³ ç çîâí³øí³õ äæåðåë (³íøèõ áàç äà-
Çàãàëüíà ñòðóêòóðà çàïèòó íà îíîâëåííÿ äàíèõ ìîâîþ SQL òàêà: íèõ, åëåêòðîííèõ òàáëèöü òîùî).
Ó ïåðøîìó âèïàäêó â MS Access ñòâîðþþòü çàïèò íà äîäàâàí-
UPDATE ім’я таблиці íÿ äàíèõ, à â äðóãîìó çàñòîñîâóþòü ìàéñòåð ³ìïîðòó äàíèõ.
SET поле1 = вираз1, поле2 = вираз2, …
Ðîçãëÿíåìî îáèäâà ö³ âèïàäêè äåòàëüí³øå.
WHERE умова відбору записів

Îòæå, ó ôðàç³ UPDATE âêàçóþòü íàçâó òàáëèö³, çíà÷åííÿ â ÿê³é Додавання даних всередині бази
îíîâëþâàòèìóòüñÿ, ó ôðàç³ WHERE — óìîâó, çà ÿêîþ â³äáèðà-
Ïîâåðí³ìîñÿ äî áàçè äàíèõ школа, ó ÿê³é ùå íå âèäàëÿëè â³äî-
þòüñÿ îíîâëþâàí³ çàïèñè, à ó ôðàç³ SET — ñïèñîê ïðèñâîºíü. Ó
ìîñòåé ïðî îäèíàäöÿòèêëàñíèê³â, òà çàñòîñóºìî äî âèïóñêíèê³â
ë³â³é ÷àñòèí³ êîæíîãî ïðèñâîºííÿ (äî ñèìâîëó =) çàïèñóþòü
³íøèé ï³äõ³ä. À ñàìå, ¿õí³ çàïèñè ìè íå âèäàëÿòèìåìî, à ïåðå-
³ì’ÿ îíîâëþâàíîãî ïîëÿ, à â ïðàâ³é — àðèôìåòè÷íèé âèðàç, çà íåñåìî äî òàáëèö³ Випускники. Öÿ òàáëèöÿ ì³ñòèòèìå âñ³ àòðè-
ÿêèì îá÷èñëþºòüñÿ éîãî íîâå çíà÷åííÿ. áóòè òàáëèö³ Учні, êð³ì àòðèáóòà клас, ÿêèé áóäå çàì³íåíî
SQL-òåêñò çàïèò ïåðåâåñòè âñ³õ ó÷í³â 10Á êëàñó äî 10À ìàòèìå àòðèáóòîì ВНЗ äëÿ çàçíà÷åííÿ, äî ÿêîãî âèùîãî íàâ÷àëüíîãî
òàêèé âèãëÿä: çàêëàäó ïîñòóïèâ âèïóñêíèê.


180 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Додавання даних 181
Äëÿ ïåðåíåñåííÿ äàíèõ ç îäí³º¿ òàáëèö³ â ³íøó â ìåæàõ îäí³º¿ Çàóâàæòå, ùî â ðÿäêó Поле âêàçàíî íàçâè ïîë³â
áàçè äàíèõ ïîòð³áíî ñòâîðèòè äâà çàïèòè: çà äîïîìîãîþ çàïèòó âèõ³äíî¿ òàáëèö³ (Учні), à â ðÿäêó Добавление — íàç-
íà äîäàâàííÿ äàí³ áóäå ñêîï³éîâàíî â ö³ëüîâó òàáëèöþ, à çà âè â³äïîâ³äíèõ ïîë³â ö³ëüîâî¿ òàáëèö³ (Випускники).
äîïîìîãîþ çàïèòó íà âèäàëåííÿ — âèäàëåíî ç âèõ³äíî¿. ßê Îñê³ëüêè ïîëÿ клас ó ö³ëüîâ³é òàáëèö³ íåìàº, ðÿäîê
ðåàë³çóâàòè öåé ï³äõ³ä íà ïðàêòèö³, îïèñàíî ó âïðàâ³ 11.4. Добавление ó â³äïîâ³äíîìó ñòîâïö³ ïîðîæí³é, àëå íà-
òîì³ñòü ñë³ä çàïîâíèòè ðÿäîê Условие отбора, àäæå
Çàïèò íà äîäàâàííÿ äàíèõ ïðèçíà÷åíî äëÿ êîï³þâàííÿ äà- ñàìå çà óìîâîþ, íàêëàäåíîþ íà çíà÷åííÿ ïîëÿ клас,
íèõ ç îäí³º¿ òàáëèö³ â ³íøó. Ó çàïèò³ ìîæíà âêàçàòè, ç ÿêèõ â³äáèðàòèìóòüñÿ çàïèñè ó÷í³â äëÿ ïîäàëüøîãî êîï³þ-
ïîë³â ó ÿê³ êîï³þâàòèìóòüñÿ äàí³, à òàêîæ ÿê³é óìîâ³ ìàþòü âàííÿ.
â³äïîâ³äàòè çàïèñè, çâ³äêè äàí³ êîï³þâàòèìóòüñÿ.

Вправа 11.4
Ñòâîð³òü òàáëèöþ Випускники òà ïåðåíåñ³òü äî íå¿ â³äîìîñò³
ïðî âñ³õ îäèíàäöÿòèêëàñíèê³â.
Рис. 11.6. Бланк запиту на додавання даних
1. Ñòâîð³òü êîï³þ ôàéëó áàçè äàíèõ школа, íàçâàâøè ¿¿
школа_додані_дані. Íàäàë³ ïðàöþéòå ç ö³ºþ êîﳺþ.
4. Çàïóñò³òü çàïèò íà âèêîíàííÿ êíîïêîþ ³ ï³äòâåðäüòå
2. Ñòâîð³òü òàáëèöþ Випускники ç àòðèáóòàìè код, прізвище, äîäàâàííÿ çàïèñ³â.
ім’я, дата народження, стать, успішність òà ВНЗ. Äëÿ
àòðèáóòà код îáåð³òü ÷èñëîâèé òèï ³ çàäàéòå ðîçì³ð ïîëÿ 5. ³äêðèéòå òàáëèöþ Випускники ³ ïåðåêîíàéòåñÿ, ùî âñ³
Длинное целое, àòðèáóò ВНЗ çðîá³òü òåêñòîâèì, à âñ³ ³íø³ — çàïèñè îäèíàäöÿòèêëàñíèê³â ó íå¿ ñêîï³éîâàíî.
òàêèìè ñàìèìè, ÿê ³ â òàáëèö³ Учні.
6. Âèäàë³òü çàïèñè ïðî îäèíàäöÿòèêëàñíèê³â ç òàáëèö³ Уч-
3. Ñòâîð³òü çàïèò íà äîäàâàííÿ â³äîìîñòåé ïðî îäèíàäöÿòèê- ні, ñòâîðèâøè äëÿ öüîãî çàïèò íà âèäàëåííÿ äàíèõ (çãà-
ëàñíèê³â ç òàáëèö³ Учні äî òàáëèö³ Випускники. äàéòå âïðàâó 11.1).
à) Çàïóñò³òü êîíñòðóêòîð çàïèò³â ³ ó â³êí³ Добавление
таблицы âèáåð³òü òàáëèöþ Учні (òó, ç ÿêî¿ äîäàâàòè- Íàâåäåìî çàãàëüíó ñòðóêòóðó ïðîñòîãî SQL-çàïèòó íà äîäàâàí-
ìóòüñÿ çàïèñè). íÿ äàíèõ:
á) Ó ìåíþ Запрос àáî íà ñòð³÷ö³ Конструктор âèáåð³òü òèï INSERT INTO ім’я цільової таблиці
çàïèòó — Добавление. Áóäå â³äîáðàæåíî â³êíî Добав- (список полів цільової таблиці)
ление, ó ÿêîìó ç³ ñïèñêó имя таблицы ïîòð³áíî âèáðàòè SELECT список полів вихідної таблиці
òàáëèöþ Випускники (òó, â ÿêó äîäàâàòèìóòüñÿ çàïèñè) FROM ім’я вихідної таблиці
³ êëàöíóòè êíîïêó OK. WHERE умова відбору записів
â) Ñôîðìóéòå áëàíê çàïèòó òàêîãî âèãëÿäó, ÿê íà
ðèñ. 11.6, ïåðåòÿãóþ÷è ó éîãî ñòîâïö³ ïîëÿ òàáëèö³ Çîêðåìà SQL-òåêñò çàïèòó, ñòâîðåíîãî ó âïðàâ³ 11.4, áóäå
Учні. òàêèì:


182 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Додавання даних 183
INSERT INTO Випускники (код, прізвище, [ім'я], êíîïêó OK, à ïîò³ì, ó â³êí³ Сохранение шагов экспорта,
[дата народження], стать, успішність) — êíîïêó Закрыть.
SELECT код, прізвище, [ім'я], [дата народження],
стать, успішність â) Çàêðèéòå òàáëèöþ Учні.
FROM Учні
ã) ³äêðèéòå åëåêòðîííó êíèãó Учні.xls ³ çàëèøòå â
WHERE клас Like "11*"
òàáëèö³ íà àðêóø³ Учні ðÿäîê çàãîëîâê³â òà òðè ðÿäêè
äàíèõ. ßêùî äàí³ äåÿêèõ ñòîâïö³â ó êë³òèíêè íå
Завдання 11.3 âì³ùóþòüñÿ (ïðî öå ñâ³ä÷àòü ñèìâîëè ########),
ðîçøèðòå ö³ ñòîâïö³. Çì³í³òü êîä, ïð³çâèùå, ³ì’ÿ òà
Ñòâîð³òü òàáëèöþ Математики òàêî¿ ñàìî¿ ñòðóêòóðè, ÿê ³ òàá- äàòó íàðîäæåííÿ ó÷í³â, à òàêîæ óâåä³òü êëàñ — 9À
ëèöÿ Учителі, à òàêîæ çàïèò, ùî êîï³þâàòèìå â³äîìîñò³ ïðî (ðèñ. 11.7). Ñòåæòå çà òèì, ùîá íîâîââåäåíèõ êîä³â íå
âñ³õ ìàòåìàòèê³â ç òàáëèö³ Учителі â òàáëèöþ Математики. áóëî â òàáëèö³ Учні, àäæå çíà÷åííÿ ïîëÿ код ìàþòü
áóòè óí³êàëüíèìè. Çáåðåæ³òü òà çàêðèéòå åëåêòðîííó
Імпорт даних êíèãó.

Ïðèïóñòèìî, ñòâîðþºòüñÿ íîâà áàçà äàíèõ øêîëè ³ äèðåêòîð


ïîïðîñèâ óñ³õ êëàñíèõ êåð³âíèê³â íàäàòè îïåðàòîðó áàçè äàíèõ
ñïèñêè ó÷í³â â åëåêòðîííèõ òàáëèöÿõ ò³º¿ ñàìî¿ ñòðóêòóðè, ùî
é òàáëèöÿ Учні. Ïåðåä îïåðàòîðîì ïîñòຠçàâäàííÿ ³ìïîðòóâà-
òè äàí³ ç åëåêòðîííèõ òàáëèöü ó òàáëèöþ ÁÄ. Éîãî âèêîíóþòü
çà äîïîìîãîþ ìàéñòðà ³ìïîðòó äàíèõ, ðîáîòó ç ÿêèì äîêëàäíî
îïèñàíî ó âïðàâ³ 11.5. Рис. 11.7. Електронна таблиця з відомостями про учнів

Вправа 11.5 2. ²ìïîðòóéòå â³äîìîñò³ ç åëåêòðîííî¿ êíèãè â áàçó äàíèõ.


²ìïîðòóéòå äàí³ ç åëåêòðîííî¿ òàáëèö³ â òàáëèöþ Учні.
MS Access 2003
1. Ñòâîð³òü åëåêòðîííó òàáëèöþ ç â³äîìîñòÿìè ïðî òðüîõ ó÷-
í³â 9À êëàñó. Ùîá íå ïîìèëèòèñÿ ï³ä ÷àñ óâåäåííÿ äàíèõ, à) Âèêîíàéòå êîìàíäó ФайлВнешние данныеИмпорт,
åêñïîðòóéòå òàáëèöþ Учні ó ôàéë MS Excel, à ïîò³ì çì³- âèáåð³òü ó â³êí³ Импорт òèï ôàéëó Microsoft Excel (*.xls), à
í³òü ó íüîìó äàí³ çà äîïîìîãîþ òàáëè÷íîãî ïðîöåñîðà. ïîò³ì ñàì ôàéë Учні.xls ³ êëàöí³òü êíîïêó Импорт. Áóäå
çàïóùåíî ìàéñòåð ³ìïîðòó äàíèõ.
à) ³äêðèéòå òàáëèöþ Учні ³ âèêîíàéòå êîìàíäó Файл
Экспорт â Access 2003 àáî êëàöí³òü êíîïêó Excel â îá- á) Ó ïåðøèõ äâîõ â³êíàõ ìàéñòðà ìîæíà êëàöíóòè êíîïêó
ëàñò³ Экспорт íà ñòð³÷ö³ Внешние данные â Access 2007. Далее.
â) Ó òðåòüîìó â³êí³ ìàéñòðà âñòàíîâ³òü ïåðåìèêà÷ в
á) Ó â³êí³ Экспорт объекта ç³ ñïèñêó ôîðìàòó ôàéëó
существующеей таблице òà âêàæ³òü òàáëèöþ, äå
âèáåð³òü Microsoft Excel 97–2003, ó ïîëå имя файла ââåä³òü
çáåð³ãàòèìóòüñÿ äàí³, à â ÷åòâåðòîìó â³êí³ êëàöí³òü
ñëîâî Учні. ϳñëÿ öüîãî ó Access 2003 çàëèøèòüñÿ
êíîïêó Готово.
êëàöíóòè êíîïêó Экспорт всех, à â Access 2007/2010 —


184 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Додавання даних 185
MS Access 2007/2010 Завдання для самостійного виконання
à) Êëàöí³òü êíîïêó Excel â îáëàñò³ Импорт íà ñòð³÷ö³ 1. Ðåàë³çóéòå ³ âèêîíàéòå çàïèòè íà âèäàëåííÿ äàíèõ. Äëÿ
Внешние данные. âèêîíàííÿ çàâäàíü ñòâîð³òü êîï³þ áàçè äàíèõ школа.
á) Ó â³êí³ âèáîðó äæåðåëà äàíèõ çà äîïîìîãîþ êíîïêè à) Âèäàëèòè â³äîìîñò³ ïðî õëîïö³â-äåñÿòèêëàñíèê³â, ÷èÿ
Обзор âèáåð³òü ôàéë åëåêòðîííî¿ êíèãè, óñòàíîâ³òü
óñï³øí³ñòü íèæ÷à çà 6 áàë³â.
ïåðåìèêà÷ Добавить копию записей в конец таблицы òà á*) Âèäàëèòè â³äîìîñò³ ïðî òå, ó ÿêèõ êëàñàõ âèêëàäàº
âêàæ³òü ó ñïèñêó ïðàâîðó÷ â³ä íüîãî òàáëèöþ Учні. Êîðáóò Âàñèëü Ïåòðîâè÷.
*
â) Êëàöí³òü êíîïêó OK, à ïîò³ì — êíîïêó Готово. â ) Âèäàëèòè â³äîìîñò³ ïðî êëàñè, ó ÿêèõ íå âèêëàäàº
æîäíîãî â÷èòåëÿ-ìàòåìàòèêà.
3. ³äêðèéòå òàáëèöþ Учні ³ ïåðåêîíàéòåñÿ, ùî â³äîìîñò³ ïðî 2. Ðåàë³çóéòå ³ âèêîíàéòå çàïèòè íà îíîâëåííÿ äàíèõ. Äëÿ
íîâèõ ó÷í³â áóëî ³ìïîðòîâàíî óñï³øíî. âèêîíàííÿ çàâäàíü ñòâîð³òü êîï³þ áàçè äàíèõ школа.
à) Ïåðåðàõóâàòè óñï³øí³ñòü îäèíàäöÿòèêëàñíèê³â ç 12-
áàëüíî¿ øêàëè íà 100-áàëüíó, ïîìíîæèâøè çíà÷åííÿ
Висновки ïîëÿ успішність íà êîåô³ö³ºíò 100/12.
♦ Çàïèòè íà äîäàâàííÿ, âèäàëåííÿ ³ îíîâëåííÿ äàíèõ çàñòî- á*) Çàì³íèòè ñïåö³àëüí³ñòü óñ³õ ô³çèê³â, ÿê³ âèêëàäàþòü ó
ñîâóþòü òîä³, êîëè ïîòð³áíî ñêîï³þâàòè, ïåðåì³ñòèòè, äî- 10 àáî 11 êëàñàõ, íà «ô³çèêà/ìàòåìàòèêà».
äàòè, âèäàëèòè àáî çì³íèòè â³äðàçó áàãàòî çàïèñ³â ÿêî¿ñü *
â ) Çàì³íèòè ñïåö³àëüí³ñòü êëàñíèõ êåð³âíèê³â, ÿê³ íå
òàáëèö³. âèêëàäàþòü ó 10 òà 11 êëàñàõ, íà «êëàñíèé êåð³âíèê».
♦ Çàïèò íà âèäàëåííÿ äàíèõ ïðèçíà÷åíî äëÿ âèäàëåííÿ ç
òàáëèö³ çàïèñ³â, ùî çàäîâîëüíÿþòü ïåâíó óìîâó.
♦ Çàïèò íà îíîâëåííÿ äàíèõ ïðèçíà÷åíî äëÿ àâòîìàòè÷íîãî Питання для роздумів
çì³íåííÿ çíà÷åíü â óñ³õ àáî äåÿêèõ çàïèñàõ ïåâíî¿ òàáëèö³. 1. Ìîäåëþþ÷è îíîâëåííÿ áàçè äàíèõ ï³ñëÿ çàâåðøåííÿ íà-
Ñïîñ³á çì³íåííÿ âèçíà÷àºòüñÿ îêðåìîþ ôîðìóëîþ äëÿ êîæ- â÷àëüíîãî ðîêó, ìè ñïî÷àòêó âèäàëÿëè çàïèñè îäèíàäöÿ-
íîãî ïîëÿ, çíà÷åííÿ ÿêîãî îíîâëþºòüñÿ. òèêëàñíèê³â, à ïîò³ì çá³ëüøóâàëè íà 1 ïàðàëåëü âñ³õ ³í-
♦ Çàïèò íà äîäàâàííÿ äàíèõ ïðèçíà÷åíî äëÿ êîï³þâàííÿ äà- øèõ ó÷í³â. Ïîÿñí³òü, ÷îìó íå ìîæíà âèêîíóâàòè 䳿 ó çâî-
íèõ ç îäí³º¿ òàáëèö³ â ³íøó. Ó çàïèò³ ìîæíà âêàçàòè, ç ðîòíîìó ïîðÿäêó: ñïî÷àòêó çá³ëüøèòè íà 1 ïàðàëåëü âñ³õ
ÿêèõ ïîë³â ó ÿê³ êîï³þâàòèìóòüñÿ äàí³, à òàêîæ ÿê³é óìîâ³ ó÷í³â, êð³ì îäèíàäöÿòèêëàñíèê³â, à ïîò³ì îäèíàäöÿòèêëà-
ìàþòü â³äïîâ³äàòè çàïèñè, çâ³äêè äàí³ êîï³þâàòèìóòüñÿ. ñíèê³â âèäàëèòè?
♦ Ùîá ïåðåì³ñòèòè äàí³ ç âèõ³äíî¿ òàáëèö³ â ö³ëüîâó, ïîòð³á- 2. Ñôîðìóëþéòå íàâåäåí³ íèæ÷å SQL-çàïèòè äî áàçè äàíèõ
íî ñïî÷àòêó âèêîíàòè çàïèò íà äîäàâàííÿ, ÿêèé ñêîï³þº школа ó ñëîâåñíîìó âèãëÿä³.
äàí³ ó ö³ëüîâó òàáëèöþ, à ïîò³ì — çàïèò íà âèäàëåííÿ, à) INSERT INTO Викладання (учитель, клас)
ÿêèé âèäàëèòü ¿õ ç âèõ³äíî¿ òàáëèö³. SELECT паспорт, клас
♦ Äîäàòè äàí³ ç çîâí³øí³õ äæåðåë, çîêðåìà ³íøèõ áàç äà- FROM Учителі, Класи
íèõ òà åëåêòðîííèõ êíèã, ìîæíà çà äîïîìîãîþ ìàéñòðà WHERE Класи.[класний керівник] =
³ìïîðòó. Учителі.паспорт


186 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Завдання для самостійного виконання 187
á) DELETE *
FROM Учителі
Додаток
WHERE паспорт NOT IN
(SELECT учитель FROM Викладання) Опис предметних областей
â) UPDATE Класи
SET класний керівник =
для навчальних проектів
(SELECT паспорт FROM Учителі
WHERE прізвище="Сошко" AND Варіант 1. Футбол
ім’я="Катерина") Êîæíèé ôóòáîëüíèé êëóá ìຠíàçâó, ð³ê çàñíóâàííÿ ³ ðîçòàøî-
WHERE клас = "11Б" âóºòüñÿ â ïåâíîìó íàñåëåíîìó ïóíêò³ ïåâíî¿ êðà¿íè. Ó êëóáà º
áàãàòî ãðàâö³â ³ îäèí ãîëîâíèé òðåíåð. ³äîì³ ïð³çâèùà, ³ìåíà ³
äàòè íàðîäæåííÿ òðåíåð³â ³ ãðàâö³â. Êð³ì òîãî, ïðî êîæíîãî
Завдання для досліджень ãðàâöÿ â³äîìî, ÿêå àìïëóà â³í âèêîíóº íà ôóòáîëüíîìó ïîë³.
Êëóáè ç êëóáàìè ãðàþòü ìàò÷³, ÿê³ ïðîõîäÿòü ó ïåâíèé äåíü íà
1. ijçíàéòåñÿ, ÿê ïðàöþº çàïèò íà îá’ºäíàííÿ òàáëèöü, ñôîð-
ïåâíîìó ñòàä³îí³ ³ çàâåðøóþòüñÿ ç ïåâíèì ðàõóíêîì. Ïîòð³áíî
ìóëþéòå, ðåàë³çóéòå òà âèêîíàéòå îäèí òàêèé çàïèò. Äëÿ
òàêîæ çáåð³ãàòè â³äîìîñò³ ïðî òå, ÿêèé ç êëóá³â áóâ ãîñïîäàðåì
òîãî, ùîá ñòâîðèòè òàêèé çàïèò, áàçó äàíèõ школа ñë³ä äå-
ïîëÿ, à ÿêèé — ãîñòåì ó êîæíîìó ìàò÷³.
ùî ìîäèô³êóâàòè.
2. ijçíàéòåñÿ, ùî òàêå ðåïë³êàö³ÿ áàçè äàíèõ, ÷èì âîíà â³ä- Варіант 2. Вступ до ВНЗ
ð³çíÿºòüñÿ â³ä ðåçåðâíîãî êîï³þâàííÿ, êîëè çàñòîñîâóºòüñÿ Ïðî êîæíîãî àá³òóð³ºíòà â³äîì³ éîãî ïð³çâèùå, ³ì’ÿ, ñòàòü ³
³ ÿê ðåàë³çóºòüñÿ â MS Access. Ñòâîð³òü ðåïë³êó áàçè äàíèõ äàòà íàðîäæåííÿ. Àá³òóð³ºíò ìîæå çäàâàòè ÇÍÎ ç ê³ëüêîõ ïðå-
школа ³ ïðîäåìîíñòðóéòå ðîáîòó ç ðåïë³êîþ. äìåò³â ³ îòðèìóâàòè ç êîæíîãî ç íèõ ïåâíèé áàë. Âèù³ íàâ÷à-
ëüí³ çàêëàäè çä³éñíþþòü ï³äãîòîâêó çà ê³ëüêîìà íàïðÿìàìè ³ ç
êîæíîãî ç íèõ º ïåðåë³ê ïðåäìåò³â äëÿ àá³òóð³ºíò³â òà ïðîõ³ä-
íèõ áàë³â ÇÍÎ ç êîæíîãî òàêîãî ïðåäìåòó. Àá³òóð³ºíò ìîæå
ïîäàâàòè äîêóìåíòè íà âñòóï äî ê³ëüêîõ ÂÍÇ, ïðè÷îìó íà ê³-
ëüêà ñïåö³àëüíîñòåé ó êîæíîìó, àëå çàðàõîâàíèé íà íàâ÷àííÿ
ìîæå áóòè ò³ëüêè â îäèí ÂÍÇ.
Варіант 3. Державний устрій
Ïðî äåðæàâè â³äîì³ ¿õí³ íàçâè òà ôîðìè äåðæàâíîãî óñòðîþ
(äåìîêðàò³ÿ, ìîíàðõ³ÿ òîùî). Ñë³ä çáåð³ãàòè â³äîìîñò³ ïðî ïð³-
çâèùå, ³ì’ÿ òà ïîñàäó ãîëîâè êîæíî¿ äåðæàâè, ïð³çâèùà, ³ìåíà
òà ïîñàäè ÷ëåí³â óðÿäó, à òàêîæ ïð³çâèùà òà ³ìåíà âñ³õ ãðîìà-
äÿí. Ëþäèíà ìîæå áóòè ãðîìàäÿíèíîì ê³ëüêîõ äåðæàâ.
Варіант 4. Мобільний зв’язок
Êîæåí íîìåð ìîá³ëüíîãî òåëåôîíó íàëåæèòü ïåâíîìó îïåðàòî-
ðó, ïðè÷îìó çà ïåðøèìè òðüîìà öèôðàìè íîìåðà îïåðàòîðà


188 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Додаток. Опис предметних областей для навчальних проектів 189
ìîæíà âèçíà÷èòè îäíîçíà÷íî. Ïîòð³áíî çáåð³ãàòè â³äîìîñò³ ïðî
òå, ç ÿêèõ íîìåð³â íà ÿê³ áóëî çä³éñíåíî òåëåôîíí³ äçâ³íêè,
Зміст
ÿêèé ÷àñ ïî÷àòêó ³ òðèâàë³ñòü êîæíîãî äçâ³íêà. Êð³ì òîãî, êî- Розділ 1. Основи баз даних ....................................................................... 5
æåí íîìåð â³äïîâ³äຠïåâíîìó òàðèôíîìó ïëàíó, ùî âñòàíîâ- Поняття бази даних – Системи керування базами даних – Моделі даних
ëþºòüñÿ îïåðàòîðîì. Áóäåìî ââàæàòè, ùî êîæåí òàðèôíèé Розділ 2. Модель «сутність-зв’язок» ....................................................... 16
ïëàí, êð³ì íàçâè, õàðàêòåðèçóºòüñÿ òðüîìà ïàðàìåòðàìè: âàð- Об’єкти, сутності, зв’язки – Графічні позначення в моделі «сутність-
ò³ñòþ äçâ³íêà, âàðò³ñòþ ÑÌÑ òà âàðò³ñòþ õâèëèíè ðîçìîâè. зв’язок» – Різновиди зв’язків – Ключові атрибути – Побудова моделі
«сутність-зв’язок» – Головний принцип семантичного моделювання
Варіант 5. Музика ●
Розділ 3 . Поглиблене семантичне моделювання................................. 31
ª â³äîìîñò³ ïðî ìóçè÷í³ ãóðòè, ¿õ ó÷àñíèê³â, äèñêîãðàô³þ òà Обов’язковість зв’язків – Слабкі сутності – Зв’язок «є» – Зв’язок між
îêðåì³ êîìïîçèö³¿. Ùîäî êîæíîãî ãóðòó â³äîìèé ð³ê éîãî çà- кількома сутностями – Зв’язок сутності самої з собою
ñíóâàííÿ òà ìóçè÷íèé ñòèëü, à ùîäî êîæíîãî ó÷àñíèêà — Розділ 4. Операції з таблицями............................................................... 47
ïð³çâèùå, ³ì’ÿ, ð³ê íàðîäæåííÿ òà ðîëü ó ãóðò³. Ãóðòè âèïóñ- Створення бази даних у СКБД MS Access – Основні об’єкти бази даних
êàþòü àëüáîìè, â³äîì³ ¿õí³ íàçâè òà ðîêè âèïóñêó. Àëüáîìè Microsoft Access – Створення таблиць – Операції з наявними таблиця-
ñêëàäàþòüñÿ ç êîìïîçèö³é, ùî õàðàêòåðèçóþòüñÿ íàçâîþ ³ òðè- ми – Уведення та редагування даних – Збереження та відкриття бази
даних
âàë³ñòþ. Îäíà êîìïîçèö³ÿ ìîæå âõîäèòè äî ñêëàäó ê³ëüêîõ
àëüáîì³â. Ó ãóðòó ìîæå áóòè ë³äåð. Ìóçèêàíò ìîæå áóòè ë³äå- Розділ 5. Створення зв’язків між таблицями .......................................... 66
ðîì ò³ëüêè îäíîãî ãóðòó. Створення зв’язку «один-до-багатьох» – Забезпечення цілісності да-
них – Створення зв’язку «багато-до-багатьох» – Створення зв’язку
● «один-до-одного» – Реалізація концепцій поглибленого семантичного
Варіант 6 . Програмне забезпечення моделювання

Ùîäî êîæíî¿ ïðîãðàìè â³äîìà ¿¿ íàçâà, à òàêîæ º òåêñò, ùî Розділ 6. Інтерфейс користувача бази даних ........................................ 92
îïèñóº ¿¿ ïðèçíà÷åííÿ. Ïðîãðàìà ìຠâåðñ³¿, êîæíà ç ÿêèõ õà- Створення форм у режимі майстра – Редагування форм у конструкторі
ðàêòåðèçóºòüñÿ íîìåðîì ³ äàòîþ âèïóñêó. Ïðîãðàìà ìîæå âõî- ●
Розділ 7 . Автоматизація роботи з базою даних.................................. 106
äèòè äî ñêëàäó ïðîãðàìíîãî ïàêåòó ³ ïðàöþâàòè íà ïëàòôîðì³ Інтерфейс для введення інформації про зв’язки – Навігація базою даних
îäí³º¿ àáî ê³ëüêîõ îïåðàö³éíèõ ñèñòåì. Îïåðàö³éí³ ñèñòåìè
Розділ 8. Вибирання даних .................................................................... 119
ìàþòü âñ³ âëàñòèâîñò³ ïðîãðàì ³, êð³ì òîãî, õàðàêòåðèçóþòüñÿ
Вибирання даних з однієї таблиці – Вибирання даних з кількох таблиць
ðîçðÿäí³ñòþ, òèïîì ³íòåðôåéñó, ìîæóòü áóòè îäíîçàäà÷íèìè ÷è ●
áàãàòîçàäà÷íèìè. Розділ 9 . Основи мови запитів ............................................................. 136
Загальна структура SQL-запиту – З’єднання таблиць – Підзапити – Від-

Варіант 7 . Водні ресурси німання множин записів
Розділ 10. Групування даних ................................................................. 150
Êîæíà ð³êà õàðàêòåðèçóºòüñÿ íàçâîþ, äîâæèíîþ ³ ïëîùåþ áà- ●
Групові операції в запитах – Групування в мові SQL – Звіти
ñåéíó, à ìîðå — ïëîùåþ âîäíî¿ ïîâåðõí³. Ïîòð³áíî çáåð³ãàòè ●
â³äîìîñò³ ïðî òå, òåðèòîð³ºþ ÿêèõ äåðæàâ ïðîò³êຠð³êà, à òà- Розділ 11 . Автоматизоване видалення, оновлення
êîæ ó ÿêó âîäîéìó (ìîðå ÷è ³íøó ð³êó) âîíà âïàäàº. Øòó÷í³ і додавання даних .................................................................................. 172
ìîðÿ (âîäîñõîâèùà) òàêîæ õàðàêòåðèçóþòüñÿ ïëîùåþ âîäíî¿ Видалення даних – Оновлення даних – Додавання даних
ïîâåðõí³ ³ â íèõ òàêîæ ìîæóòü âïàäàòè ð³êè, îäíàê êîæíå âî- Додаток. Опис предметних областей для навчальних
äîñõîâèùå, íà â³äì³íó â³ä ïðèðîäíîãî ìîðÿ, ðîçòàøîâàíå íà проектів ................................................................................................... 189
ïåâí³é ð³ö³.

190 Додаток. Опис предметних областей для навчальних проектів Зміст 191
Äëÿ çàìîâëåííÿ êíèã çâåðòàéòåñü çà
òåë. 050-648-05-00
åë. ïîøòà ihorza@gmail.com
ñàéò http://zavadsky.at.ua

Íàâ÷àëüíå âèäàííÿ

²ãîð Îëåêñàíäðîâè÷ Çàâàäñüêèé


ÎÑÍÎÂÈ ÁÀÇ ÄÀÍÈÕ

Êîìï’þòåðíà âåðñòêà Î.Ì. Ëåâ÷åíêî


Êîðåêòîð Â.Â. Çàâàäñüêà

ÔÎÏ ².Î. Çàâàäñüêèé


Ñâ³äîöòâî ïðî âíåñåííÿ ñóá’ºêòà âèäàâíè÷î¿ ñïðàâè
äî Äåðæàâíîãî ðåºñòðó âèäàâö³â, âèãîò³âíèê³â
³ ðîçïîâñþäæóâà÷³â âèäàâíè÷î¿ ïðîäóêö³¿
ñåð³ÿ ʲ ¹ 151 â³ä 07.07.2011

ϳäïèñàíî äî äðóêó 3.08.11. Ôîðìàò 60×84/16


Óì. äðóê. àðêóø³â 12

³ääðóêîâàíî íà ÄÏ
«Â³ííèöüêà êàðòîãðàô³÷íà ôàáðèêà»
21100, ì. ³ííèöÿ, âóë. 600-ð³÷÷ÿ, 19

Ñâ³äîöòâî ïðî âíåñåííÿ ñóá’ºêòà âèäàâíè÷î¿ ñïðàâè


äî Äåðæàâíîãî ðåºñòðó âèäàâö³â, âèãîò³âíèê³â
³ ðîçïîâñþäæóâà÷³â âèäàâíè÷î¿ ïðîäóêö³¿
ÄÊ ¹ 869 â³ä 26.03.2002 ð.

Вам также может понравиться