ÇÀÂÀÄÑÜÊÈÉ
Êè¿â
ÏÏ ².Î. Çàâàäñüêèé
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). Ö³
çâ’ÿçêè. Íàïðèêëàä âèñë³â «ëþäèíà ìຠñîáàêó» â³äîáðàæàº ïðàâèëà îäíàêîâ³ ÿê äëÿ ëþäåé, òàê ³ äëÿ ïðîãðàì.
♦ Ñòàí ÷îãî â³äîáðàæóº áàçà äàíèõ? Îá’ºêòè, ùî íàëåæàòü äî îäí³º¿ ñóòíîñò³, ìàþòü íå ëèøå îäíà-
♦ Ç ÷îãî ñêëàäàºòüñÿ ïðåäìåòíà îáëàñòü? êîâèé íàá³ð ïàðàìåòð³â, à é îäíîòèïí³ çâ’ÿçêè ç îá’ºêòàìè ³í-
♦ ×èì â³äð³çíÿºòüñÿ ñõåìà áàçè äàíèõ â³ä øèõ ñóòíîñòåé. Íàïðèêëàä, áóäü-ÿêèé êëàñ ìîæå áóòè çâ’ÿçà-
¿¿ íàïîâíåííÿ? íèé ç ó÷íåì çâ’ÿçêîì «ó÷åíü â÷èòüñÿ ó êëàñ³», à ç ó÷èòåëåì —
♦ Ùî òàêå ö³ë³ñí³ñòü äàíèõ? çâ’ÿçêîì «ó÷èòåëü âèêëàäຠó êëàñ³». Òîìó ìîæíà êàçàòè, ùî
çâ’ÿçêè âëàñòèâ³ íå ëèøå îá’ºêòàì, à ³ ñóòíîñòÿì. Òâåðäæåííÿ
«ó÷åíü â÷èòüñÿ ó êëàñ³» òà «ó÷èòåëü íàâ÷ຠêëàñ» — ïðèêëàäè
²ç ïîïåðåäíüîãî ðîçä³ëó âè çíàºòå, ùî áàçà äàíèõ â³äîáðàæàº çâ’ÿçê³â ñàìå ì³æ ñóòíîñòÿìè. (Ïðèêëàäîì çâ’ÿçêó ì³æ îá’ºê-
ñòàí îá’ºêò³â ïåâíî¿ ïðåäìåòíî¿ îáëàñò³ òà çâ’ÿçêè ì³æ íèìè. òàìè º òâåðäæåííÿ «ó÷åíü Øïàê Ìàêñèì â÷èòüñÿ ó 10À êëà-
Ðîçðîáíèê áàçè äàíèõ, ïðîåêòóþ÷è ¿¿ ñõåìó, âñòàíîâëþº, ÿê³ ñ³».) Òàê ñàìî ìîæíà êàçàòè, ùî íå ëèøå îá’ºêò, à é ñàìà ñóò-
ïàðàìåòðè ìàþòü ö³ îá’ºêòè. Êð³ì òîãî, â³í ìຠâèçíà÷èòè, ÿê³ í³ñòü ìຠïåâíèé íàá³ð ïàðàìåòð³â. Íàïðèêëàä, ñóòí³ñòü
çâ’ÿçêè ìîæóòü ³ñíóâàòè ì³æ îá’ºêòàìè. ²íàêøå êàæó÷è, ðîç- «ó÷åíü» ìຠòàê³ ïàðàìåòðè, ÿê ïð³çâèùå, ³ì’ÿ, ñòàòü, çð³ñò,
ðîáíèê áóäóº ìîäåëü ïðåäìåòíî¿ îáëàñò³, ÿêó â òåî𳿠áàç äàíèõ äàòó íàðîäæåííÿ òîùî.
íàçèâàþòü ìîäåëëþ «ñóòí³ñòü-çâ’ÿçîê». Öå íàéïåðøå çàâäàí- Òåïåð ìè ãîòîâ³ òî÷íî âèçíà÷èòè ïðèçíà÷åííÿ ìîäåë³ «ñóòí³ñòü-
íÿ, ÿêå âèêîíóþòü ùå äî òîãî, ÿê ñõåìà áàçè äàíèõ áóäå ñòâî- çâ’ÿçîê».
ðåíà â ÑÊÁÄ, ³ ñàìå íàä íèì ìè ïðàöþâàòèìåìî ñüîãîäí³.
Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ïðèçíà÷åíî äëÿ ãðàô³÷íîãî çîá-
Об’єкти, сутності, зв’язки ðàæåííÿ ñóòíîñòåé ïåâíî¿ ïðåäìåòíî¿ îáëàñò³, ¿õ ïàðàìåòð³â
òà çâ’ÿçê³â ì³æ íèìè.
ßê óæå íàãîëîøóâàëîñÿ, áóäü-ÿêà ïðåäìåòíà îáëàñòü ì³ñòèòü
îá’ºêòè. Íàïðèêëàä, ó ïðåäìåòí³é îáëàñò³ «øêîëà» îá’ºêòàìè
ìîæóòü áóòè ó÷èòåë³ Ìèõàéëþê Äìèòðî Ñåìåíîâè÷ òà Ïåòðîâà Äëÿ äîïèòëèâèõ. Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» íàçèâàþòü òà-
ͳíà Âîëîäèìèð³âíà, êëàñè 10À ³ 11Á òîùî. Ïðè öüîìó êëàñè êîæ ER-ìîäåëëþ (â³ä àíãë. Entity-Relashionship), à ïðîöåñ ¿¿
10À ³ 11Á º îäíîòèïíèìè îá’ºêòàìè (îñê³ëüêè âîíè îáèäâà º ïîáóäîâè — ER-ìîäåëþâàííÿì, àáî ñåìàíòè÷íèì ìîäåëþ-
êëàñàìè), à êëàñ 10À ³ ó÷èòåëü Ìèõàéëþê Äìèòðî Ñåìåíî- âàííÿì. «Ñåìàíòè÷íèé» îçíà÷ຠ«çì³ñòîâèé», ³ öå ñëîâî ï³ä-
âè÷ — îá’ºêòàìè ð³çíîãî òèïó. Çàì³ñòü ôðàçè «îäíîòèïí³ êðåñëþº, ùî ï³ä ÷àñ ER-ìîäåëþâàííÿ ìè âèÿâëÿºìî çì³ñò
îá’ºêòè» êàæóòü òàêîæ, ùî îá’ºêòè íàëåæàòü äî îäíàêîâî¿ ñóòíîñòåé ó ïðåäìåòí³é îáëàñò³ òà çâ’ÿçê³â ì³æ íèìè.
ñóòíîñò³, íàïðèêëàä ó÷èòåë³ Ìèõàéëþê Äìèòðî Ñåìåíîâè÷ òà
Ïîñòàâèìî ïðîñòå çàïèòàííÿ: ñê³ëüêè ó÷í³â ìîæå áóòè â îäíî- Çàãàëîì çâ’ÿçêè ì³æ ñóòíîñòÿìè áóâàþòü òðüîõ òèï³â:
ìó êëàñ³? Î÷åâèäíî, â³äïîâ³äü íà íüîãî — «áàãàòî». Òåïåð ïî- ♦ «îäèí-äî-áàãàòüîõ»;
♦ Õîëîäèëüíèê (ìîäåëü, îá’ºì, ð³ê âèïóñêó, ñåð³éíèé íîìåð). Ó÷èòåëü Êëàñ Ó÷åíü
∞ ∞
♦ гêà (íàçâà, äîâæèíà). ïàñïîðò * íàçâà * êîä *
♦ ̳ñòî (íàçâà, ê³ëüê³ñòü íàñåëåííÿ, ð³ê çàñíóâàííÿ, îáëàñòü, íàâ÷àº
ïð³çâèùå ïð³çâèùå
äåðæàâà).
♦ Àâ³àðåéñ (àåðîïîðò â³äëüîòó, àåðîïîðò ïîñàäêè, äàòà â³ä- ³ì’ÿ ³ì’ÿ
ëüîòó). ïî áàòüêîâ³ äàòà
íàðîäæåííÿ
ñòàòü
Побудова моделі «сутність-зв’язок» ñïåö³àëüí³ñòü
ñòàòü
Обов’язковість зв’язків
Çãàäàºìî ïîïåðåäí³é ðîçä³ë: ùîá âèçíà÷èòè ìíîæèíí³ñòü çâ’ÿç-
êó, ïîòð³áíî áóëî â³äïîâ³ñòè íà çàïèòàííÿ: «Ç³ ñê³ëüêîìà îá’ºê-
òàìè ñóòíîñò³ À ìîæå áóòè çâ’ÿçàíèé îá’ºêò ñóòíîñò³ Â?». Ñëî-
àäðåñà
Слабкі сутності
Ðîçøèðèìî ïðåäìåòíó îáëàñòü ç îäí³º¿ øêîëè íà âñ³ øêîëè Рис. 3.3. Відображення сутності Школа на моделі «сутність-зв’язок»
ïåâíîãî ì³ñòà ÷è ðàéîíó. Òîä³ ó ïðåäìåòí³é îáëàñò³ ç’ÿâèòüñÿ
ñóòí³ñòü Школа. ¯¿ àòðèáóòàìè ìîæóòü áóòè íàçâà òà àäðåñà,
Завдання 3.1
ïðè÷îìó íàçâà º êëþ÷åì, îñê³ëüêè â îäíîìó íàñåëåíîìó ïóíêò³
÷è ðàéîí³ íàçâè øê³ë íå ìîæóòü ïîâòîðþâàòèñÿ. Çàóâàæòå, ùî Ïîÿñí³òü, ÷îìó â³äîáðàæåííÿ íà ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê» çâ’ÿç-
êîëè ìè ðîçãëÿäàëè îäíó øêîëó, âîíà áóëà íå ñóòí³ñòþ ïðåä- ê³â «ó÷åíü â÷èòüñÿ ó øêîë³» òà «â÷èòåëü ïðàöþº ó øêîë³» ïî-
●
32 Розділ 3 . Поглиблене семантичне моделювання Слабкі сутності 33
ðóøóº ãîëîâíèé ïðèíöèï ñåìàíòè÷íîãî ìîäåëþâàííÿ. ßêùî âàì ìè òà ÿêèìè àòðèáóòàìè ñë³ä ö³ ñóòíîñò³ äîïîâíèòè, ùîá ñôîð-
âàæêî âèêîíàòè çàâäàííÿ, ïðî÷èòàéòå óâàæíî òåêñò ï³ñëÿ îçíà- ìóâàòè ¿õí³ êëþ÷³.
÷åííÿ ãîëîâíîãî ïðèíöèïó â ïîïåðåäíüîìó ðîçä³ë³.
³ì’ÿ
1 ∞
Øêîëà ì³ñòèòü Êëàñ Рис. 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. Ієрархічне дерево зв’язків «є»
●
38 Розділ 3 . Поглиблене семантичне моделювання Зв’язок між кількома сутностями 39
â÷èòåëåì á³îëî㳿 òà õ³ì³¿, àëå â 10À êëàñ³ âîíà âèêëàäຠò³ëüêè
á³îëîã³þ ³ öåé ôàêò íàì ïîòð³áíî çáåð³ãàòè â áàç³ äàíèõ. Çâ’ÿçîê
∞ íàâ÷ຠ∞
«ó÷èòåëü âèêëàäຠïðåäìåò» äຠçìîãó âêàçàòè, ùî öÿ â÷èòåëüêà Ó÷èòåëü Êëàñ
âèêëàäຠá³îëîã³þ òà õ³ì³þ, çâ’ÿçîê «êëàñ âèâ÷ຠïðåäìåò» — ∞ ∞
òå, ùî 10À êëàñ âèâ÷ຠá³îëîã³þ, õ³ì³þ òà ³íø³ ïðåäìåòè, à çâ’ÿ-
çîê «ó÷èòåëü íàâ÷ຠêëàñ» — òå, ùî Ê.Ì. Ñîøêî âåäå çàíÿòòÿ â
10À òà ³íøèõ êëàñàõ. ×è âèïëèâຠç öèõ òðüîõ ôàêò³â òå, ùî ∞ ∞
Êàòåðèíà Ìèêîëà¿âíà Ñîøêî âèêëàäຠá³îëîã³þ 10À êëàñó? Ïî- âèêëàäຠÏðåäìåò âèâ÷àº
ì³ðêóéòå äîáðå íàä öèì çàïèòàííÿì. ³äïîâ³äü áóäå íåãàòèâíîþ,
îñê³ëüêè æîäåí ôàêò íå âêàçóº íà òå, ùî â÷èòåëüêà Ñîøêî âè-
êëàäຠ10À êëàñó ñàìå á³îëîã³þ, à íå õ³ì³þ. а
Òàêèì ÷èíîì, äëÿ àäåêâàòíîãî â³äîáðàæåííÿ ïðåäìåòíî¿ îáëàñ-
ò³ íåäîñòàòíüî òðüîõ çâ’ÿçê³â, êîæåí ç ÿêèõ ç’ºäíóº äâ³ ñóòíîñ- Ó÷èòåëü Êëàñ
ò³ (ðèñ. 3.9, à). Çâ’ÿçîê «â÷èòåëü âèêëàäຠïðåäìåò ó êëàñ³»
∞ ∞
ìຠ璺äíóâàòè â³äðàçó òðè ñóòíîñò³ ³ çîáðàæóºòüñÿ â³í òàê, ÿê âèêëà-
ïîêàçàíî íà ðèñ. 3.9, á. Çàçíà÷èìî, ùî çâ’ÿçêè, ÿê³ ç’ºäíóþòü äàííÿ
òðè ñóòíîñò³, íàçèâàþòüñÿ òåðíàðíèìè, à ò³, ÿê³ ç’ºäíóþòü ëè-
øå äâ³ ñóòíîñò³, — á³íàðíèìè.
Òåðíàðíèé çâ’ÿçîê õàðàêòåðèçóºòüñÿ òðüîìà ìíîæèííîñòÿìè, ³ ∞
ùîá âèçíà÷èòè ¿õ, ïîòð³áíî äàòè â³äïîâ³ä³ íà òðè çàïèòàííÿ, ó Ïðåäìåò
íàøîìó ïðèêëàä³ òàê³.
♦ Ñê³ëüêè êëàñ³â ìîæå â³äïîâ³äàòè êîæí³é ïàð³ «ó÷èòåëü + б
ïðåäìåò»? Î÷åâèäíî, ùî áàãàòî, àäæå òîé ñàìèé ó÷èòåëü
ìîæå âèêëàäàòè òîé ñàìèé ïðåäìåò ó áàãàòüîõ êëàñàõ. Îò- Рис. 3.9. Зображення зв’язку між учителем, предметом і класом:
æå, á³ëÿ äóæêè, ùî ç’ºäíóº ðîìá òåðíàðíîãî çâ’ÿçêó ç ïðÿ- а — недосконала модель; б — правильна модель
ìîêóòíèêîì ñóòíîñò³ Клас, ñòàâèìî ñèìâîë «∞».
♦ Ñê³ëüêè ïðåäìåò³â ìîæå â³äïîâ³äàòè êîæí³é ïàð³ «êëàñ + Òåðíàðí³ çâ’ÿçêè ñë³ä ñòâîðþâàòè ç âåëèêîþ îáåðåæí³ñòþ, îñ-
ó÷èòåëü», òîáòî ñê³ëüêè ïðåäìåò³â ìîæå ÷èòàòè ó÷èòåëü â ê³ëüêè äóæå ÷àñòî âèñòà÷ຠäâîõ á³íàðíèõ çâ’ÿçê³â òàì, äå, çäà-
îäíîìó êëàñ³? ³äïîâ³äü — áàãàòî, òîìó ùî, ñêàæ³ìî, Êà- ºòüñÿ, ³ñíóº çâ’ÿçîê ì³æ òðüîìà ñóòíîñòÿìè. Íàïðèêëàä, ìàê-
òåðèíà Ìèêîëà¿âíà Ñîøêî ó äåÿêîìó êëàñ³ ìîæå ÷èòàòè ³ ëåðè êóïëÿþòü àêö³¿ êîìïàí³é íà á³ðæ³. Ìîæå çäàòèñÿ, ùî
á³îëîã³þ, ³ õ³ì³þ. Ñèìâîë «∞» çàïèñóºìî á³ëÿ ñóòíîñò³ âèñë³â «ìàêëåð êóïëÿº àêö³þ êîìïàí³¿» â³äïîâ³äຠòåðíàðíîìó
Предмет. çâ’ÿçêó (ðèñ. 3.10, à). Îäíàê íàñïðàâä³ äîñòàòíüî ëèøå äâîõ
♦ Ñê³ëüêè â÷èòåë³â ìîæå â³äïîâ³äàòè êîæí³é ïàð³ «êëàñ + á³íàðíèõ çâ’ÿçê³â (ðèñ. 3.10, á), îñê³ëüêè êîæíà àêö³ÿ íàëå-
ïðåäìåò»? ³äïîâ³äü òàêîæ «áàãàòî», îñê³ëüêè äåÿê³ ïðåä- æèòü ò³ëüêè îäí³é êîìïàí³¿ ³ ä³çíàâøèñü, ÿêó àêö³þ ïðèäáàâ
ìåòè, íàïðèêëàä ³íîçåìíó ìîâó, â òîìó ñàìîìó êëàñ³ ìîæå ìàêëåð, ìè àâòîìàòè÷íî ä³çíàºìîñü ³ ïðî êîìïàí³þ, àêö³ÿ ÿêî¿
÷èòàòè äåê³ëüêà â÷èòåë³â. Òàêèì ÷èíîì, ñèìâîë «∞» ñë³ä áóëà êóïëåíà. Òåðíàðíèé çâ’ÿçîê ó äàíîìó âèïàäêó ïîìèëêî-
çàïèñàòè ³ á³ëÿ ñóòíîñò³ Учитель. âèé, àäæå äîçâîëÿº îäíó òó ñàìó àêö³þ çâ’ÿçóâàòè ç ð³çíèìè
●
40 Розділ 3 . Поглиблене семантичне моделювання Зв’язок між кількома сутностями 41
êîìïàí³ÿìè â êîíòåêñò³ ð³çíèõ ïîêóïîê. Çâè÷àéíî, öåé çâ’ÿçîê âèðîáëÿþòü (äëÿ êîæíîãî òîâàðó º ëèøå îäèí âèðîáíèê).
ïîðóøóº ³ ãîëîâíèé ïðèíöèï ñåìàíòè÷íîãî ìîäåëþâàííÿ, äî- Êð³ì òîãî, º äàí³ ïðî ïîêóïö³â, ÿê³ óêëàäàþòü óãîäè ç âè-
çâîëÿþ÷è áàãàòîðàçîâî çáåð³ãàòè â³äîìîñò³ ïðî òå, ÿê³é êîìïà- ðîáíèêàìè íà çàêóï³âëþ ¿õí³õ òîâàð³â. Îäíà óãîäà ìîæå
í³¿ íàëåæèòü àêö³ÿ. ñòîñóâàòèñÿ ëèøå îäíîãî òîâàðó.
á) Ïðåäìåòíà îáëàñòü «ïðîãðàìóâàííÿ». Ïðîãðàì³ñòè áåðóòü
Ìàêëåð Àêö³ÿ ó÷àñòü ó ïðîåêòàõ ç ðîçðîáêè ïðîãðàìíîãî çàáåçïå÷åííÿ. Â
∞ îäíîìó ïðîåêò³ ìîæå âèêîðèñòîâóâàòèñÿ ê³ëüêà ìîâ ïðî-
∞
ïî- ãðàìóâàííÿ, àëå êîæíèì ïðîãðàì³ñòîì — îäíà. Ó ð³çíèõ
êóïêà ïðîåêòàõ ïðîãðàì³ñò ìîæå ïðîãðàìóâàòè ð³çíèìè ìîâàìè.
êóï- ∞
Ìàêëåð
∞
ëÿº Àêö³ÿ Зв’язок сутності самої з собою
∞ Ïðèïóñòèìî, ùî íàì ïîòð³áíî çáåð³ãàòè â³äîìîñò³ ïðî ïîäðóæí³
çâ’ÿçêè ì³æ ó÷èòåëÿìè. Äëÿ öüîãî ñë³ä ñòâîðèòè çâ’ÿçîê
íàëåæèòü «øëþá» ì³æ ó÷èòåëåì òà ó÷èòåëåì (ðèñ. 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
MS Access 2007/2010
Рис. 4.3. Область завдань Новая база данных
Äëÿ ñòâîðåííÿ áàçè äàíèõ âèêîðèñòîâóþòü çíà÷îê Новая база
данных ó â³êí³ Приступая к работе àáî êîìàíäó Создать êíîïêè Завдання 4.1
Office. ϳñëÿ âèêîíàííÿ ö³º¿ êîìàíäè áóäå â³äîáðàæåíî îá-
Ñòâîð³òü ó âêàçàí³é â÷èòåëåì ïàïö³ áàçó äàíèõ школа.
ëàñòü çàâäàíü Новая база данных (ðèñ. 4.3), äå ïîòð³áíî ââåñòè
³ì’ÿ ôàéëó ó â³äïîâ³äíå ïîëå òà êëàöíóòè êíîïêó Создать. ϳñ-
ëÿ ñòâîðåííÿ ÁÄ áóäå â³äðàçó ñòâîðåíî òà â³äêðèòî òàáëèöþ, Основні об’єкти бази даних Microsoft Access
ÿêà ìຠñòàíäàðòíó íàçâó Таблица1. Ôàéë áàçè äàíèõ ìຠðîç-
øèðåííÿ accdb. Óñüîãî â áàçàõ äàíèõ Microsoft Access º ñ³ì îñíîâíèõ ð³çíîâè-
ä³â îá’ºêò³â, ç ÷îòèðìà ç ÿêèõ ìè ïðàöþâàòèìåìî.
Способи створення таблиць Äëÿ äîïèòëèâèõ. Ó á³ëüøîñò³ ÑÊÁÄ íåìຠæîäíîãî ç³ ùîéíî
çãàäàíèõ ñïîñîá³â ñòâîðåííÿ òàáëèöü. Çàì³ñòü íèõ çàñòîñî-
âóþòü êîìàíäó 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, … . Ïîëÿ-ë³÷èëüíèêè, ÿê
♦ Êíîïêó Шаблони таблиц ïðèçíà÷åíî äëÿ ñòâîðåííÿ òàáëèö³ ïðàâèëî, º êëþ÷îâèìè. ¯õ âèêîðèñòîâóþòü äëÿ ñòâîðåííÿ äîïî-
ñòàíäàðòíîãî òèïó, íàïðèêëàä ñïèñêó êîíòàêò³â.
ì³æíèõ êîä³â, ùî ³äåíòèô³êóþòü çàïèñè, ó òîìó âèïàäêó, êîëè
Завдання 4.2
Ñòâîð³òü ó áàç³ äàíèõ школа òàáëèö³ Учні, Класи òà Учителі,
ÿê³ â³äïîâ³äàòèìóòü ìîäåë³ «ñóòí³ñòü-çâ’ÿçîê», çîáðàæåí³é íà
ðèñ. 2.8. Âèçíà÷òå ñàìîñò³éíî, ÿê³ òèïè ïîâèíí³ ìàòè ïîëÿ
öèõ òàáëèöü. Äëÿ ïîëÿ стать çàäàéòå ðîçì³ð 1 ñèìâîë («÷»
àáî «æ»).
Завдання 4.3•
Ïåðåéìåíóéòå áàçó äàíèõ школа íà школи òà ñòâîð³òü ó í³é òàá-
ëèö³ Предмети, Школи, Директори â³äïîâ³äíî äî ìîäåë³ «ñóò-
í³ñòü-çâ’ÿçîê», çîáðàæåíî¿ íà ðèñ. 3.10. Ó òàáëèö³ Директори
ñòâîð³òü ò³ëüêè îäíå ïîëå — паспорт, ³ çðîá³òü éîãî êëþ÷îâèì.
б
Рис. 4.8. Введення даних у таблицю Учні: а — порожня таблиця; б — б
таблиця з інформацією про чотири об’єкти Рис. 4.9. Повідомлення про помилку: а — невідповідність значення
типу поля; б — повторення значень ключа
Óâåäåííÿ äàíèõ ó êîæíå ïîëå âàðòî çàâåðøóâàòè íàòèñêàííÿì
êëàâ³ø³ Enter — òîä³ êóðñîð áóäå ïåðåâåäåíî äî íàñòóïíîãî ïî-
ëÿ öüîãî æ çàïèñó, à ç îñòàííüîãî ïîëÿ — äî ïåðøîãî ïîëÿ Null-значення
íàñòóïíîãî çàïèñó. ϳä ÷àñ óâåäåííÿ äàíèõ ó òàáëèöþ äåÿê³ êë³òèíêè ìîæíà çà-
Çàçíà÷èìî, ùî ó â³êí³ ââåäåííÿ äàíèõ çë³âà â³ä êîæíîãî çàïèñó ëèøàòè ïîðîæí³ìè. Ïîòðåáà â öüîìó ìîæå âèíèêíóòè ç ê³ëü-
ðîçì³ùåíî éîãî ³íäèêàòîð — êâàäðàò, íà ÿêîìó ìîæóòü çî- êîõ ïðè÷èí, ñêàæ³ìî òîìó, ùî âè íå çíàºòå, êîëè íàðîäèâñÿ
áðàæóâàòèñÿ ð³çí³ ïîçíà÷êè, à âíèçó â³êíà — íàâ³ãàö³éí³ åëå- òîé ÷è ³íøèé ó÷åíü ³ â³äêëàäàºòå ââåäåííÿ ö³º¿ ³íôîðìàö³¿ íà
таблицями òî íåìຠêóäè ââîäèòè: ïîëÿ прізвище, ім’я àáî дата наро-
дження òàáëèö³ Учні íå ïðèçíà÷åíî äëÿ çáåð³ãàííÿ öèõ äàíèõ,
òàê ñàìî ÿê ³ ïîëå назва òàáëèö³ Класи. ßê æå íàì âèéòè ç
ö³º¿ ñèòóàö³¿? Àäæå â³äîìîñò³ ïðî òå, õòî â ÿêîìó êëàñ³ â÷èòü-
Повторення ñÿ, âàæëèâ³ ³, î÷åâèäíî, äåñü ìàþòü çáåð³ãàòèñÿ. Òåîð³ÿ ðåëÿ-
ö³éíèõ áàç äàíèõ ïðîïîíóº äîâîë³ ïðîñòå ð³øåííÿ: ó òàáëèö³
♦ ßê³ ð³çíîâèäè çâ’ÿçê³â ³ñíóþòü ì³æ ñóò- Учні ïîòð³áíî ñòâîðèòè äîäàòêîâå ïîëå клас, ó ÿêå ³ ââåñòè
íîñòÿìè ïðåäìåòíî¿ îáëàñò³? íàçâó êëàñó êîæíîãî ó÷íÿ.
♦ ßê âèçíà÷èòè ð³çíîâèä çâ’ÿçêó?
Ïðèïóñòèìî, ùî íàø³ ó÷í³ â÷àòüñÿ ó òàêèõ êëàñàõ:
♦ Ùî òàêå îáìåæåííÿ ö³ë³ñíîñò³?
♦ Ñôîðìóëþéòå ãîëîâíèé ïðèíöèï ñåìàí- ♦ Øïàê Ìàêñèì — ó 10À;
òè÷íîãî ìîäåëþâàííÿ. ♦ Õîìåíêî ²ðèíà — â 11À;
♦ Íåäðèãàéëî Ïåòðî — â 11Á;
♦ Áóäæàê Îêñàíà — â 11Á.
Ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ñêëàäàºòüñÿ ç òàêèõ îñíîâíèõ åëåìåí-
ò³â, ÿê ñóòíîñò³ ³ çâ’ÿçêè. Ñóòíîñòÿì ó áàç³ äàíèõ â³äïîâ³äàþòü ϳñëÿ âíåñåííÿ íåîáõ³äíèõ çì³í òàáëèö³ Учні òà Класи ìàþòü
òàáëèö³, ÿê³ âè íàâ÷èëèñÿ ñòâîðþâàòè íà ïîïåðåäíüîìó óðîö³. íàáóòè òàêîãî âèãëÿäó, ÿê ïîêàçàíî íà ðèñ. 5.1.
Ñüîãîäí³ âè ä³çíàºòåñÿ, ÿê ñòâîðþâàòè çâ’ÿçêè ì³æ òàáëèöÿìè.
Îòæå, îïðàöþâàâøè ìàòåð³àë öüîãî ðîçä³ëó, âè âì³òèìåòå â³äî-
áðàæàòè â áàç³ äàíèõ ìîäåëü «ñóòí³ñòü-çâ’ÿçîê» ó ö³ëîìó.
∞ 1
B A
•
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).
ñïåö³àëüí³ñòü
•
86 Розділ 5. Створення зв’язків між таблицями Реалізація концепцій поглибленого семантичного моделювання 87
ïîâ’ÿçàí³ òàê³ îáìåæåííÿ ö³ë³ñíîñò³, ÿê ìíîæèíí³ñòü «îäèí-äî- çàïèñó Í.Â. Ïåòðîâî¿ ââåñòè íîìåð ïàñïîðòà Â.Ï. Êîðáóòà, à
îäíîãî» òà ð³çíà ñòàòü ó÷èòåë³â, ùî áåðóòü ó÷àñòü ó çâ’ÿçêó. ïîëå подружжя Â.Ï. Êîðáóòà — íîìåð ïàñïîðòà Í.Â. Ïåòðîâî¿
(ðèñ. 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 íà ñõåì³ äà-
îäíîãî», ïîòð³áíî â îäí³é ç òàáëèöü ñòâîðèòè çîâí³øí³é íèõ òà çà äîïîìîãîþ ñàìèõ äàíèõ.
êëþ÷, ùî ïîñèëàòèìåòüñÿ íà ³íøó òàáëèöþ. Öåé çîâí³øí³é
êëþ÷ ìຠòàêîæ áóòè ïåðâèííèì êëþ÷åì àáî ³íäåêñîâàíèì
ïîëåì, ó ÿêîìó ïîâòîðåííÿ çíà÷åíü íå äîïóñêàºòüñÿ.
Завдання 6.1
Ñòâîð³òü ôîðìè äëÿ òàáëèöü Учні òà Класи. Çà äîïîìîãîþ ôîð-
ìè ñòâîð³òü çàïèñ 10Á êëàñó òà ââåä³òü â³äîìîñò³ ïðî ó÷í³â
Ãðèãîðóêà Ïåòðà, 5.05.1997, òà Ðàé÷óê Îëåíó, 13.01.1998, ùî
íàâ÷àþòüñÿ â öüîìó êëàñ³. ³äêðèâøè òàáëèö³, ïåðåêîíàéòåñÿ,
ùî äàí³ ñïðàâä³ äîäàíî.
Створення форми для введення даних Рис. 6.3. Форма для введення даних у таблиці Учителі та Викладання
у кілька таблиць
Êîëè âè ñòâîðþºòå ôîðìó äëÿ ê³ëüêîõ òàáëèöü, ïåðøèé êðîê
²íêîëè çðó÷íî ³ ëîã³÷íî, ùîá ç îäí³º¿ ôîðìè äàí³ ââîäèëèñÿ â ðîáîòè ç ìàéñòðîì áóäå ìàéæå òàêèì ñàìèì, ÿê ó ðàç³ ñòâîðåí-
ê³ëüêà òàáëèöü. Íàïðèêëàä, êîëè ââîäèìî â³äîìîñò³ ïðî â÷èòå- íÿ ôîðìè äëÿ îäí³º¿ òàáëèö³. ³äì³íí³ñòü ëèøå â òîìó, ùî ç³
ëÿ, áóëî á äîðå÷íî ââåñòè â³äðàçó é ³íôîðìàö³þ ïðî òå, ó ÿêèõ ñïèñêó Таблицы и запросы ïîòð³áíî ñïî÷àòêó âèáðàòè îäíó òàá-
êëàñàõ â³í âèêëàäàº, òîáòî ïåðåäáà÷èòè íà îäí³é ôîðì³ ïîëÿ ëèöþ, â³ä³áðàòè ¿¿ ïîëÿ, à ïîò³ì ïîâòîðèòè ò³ ñàì³ ä³¿ äëÿ ³í-
äëÿ ââåäåííÿ äàíèõ ó òàáëèö³ Учителі òà Викладання. Ãîòîâà øèõ òàáëèöü. ßêùî âè ñòâîðþºòå ôîðìó äëÿ òàáëèöü Учителі
ôîðìà â öüîìó âèïàäêó ìîæå âèãëÿäàòè òàê, ÿê ïîêàçàíî íà òà Викладання, ïåðøå â³êíî ìàéñòðà ôîðì ñë³ä çàïîâíèòè òàê,
ðèñ. 6.3. Ôàêòè÷íî â îäíîìó â³êí³ ìè áà÷èìî äâ³ ôîðìè: ãîëîâ- ÿê ïîêàçàíî íà ðèñ. 6.4.
100 Розділ 6. Інтерфейс користувача бази даних Редагування форм у конструкторі 101
Ùå îäíà âàæëèâà ä³ÿ — äîäàâàííÿ äî ôîðìè íîâîãî åëåìåíòà ßêùî ìàêåò âèäàëåíî, òî, âèä³ëèâøè ê³ëüêà åëåìåíò³â êåðó-
êåðóâàííÿ. Öå ìîæíà ðîáèòè çà äîïîìîãîþ êîìàíäè âàííÿ, ç íèìè ìîæíà âèêîíàòè ò³ ñàì³ ä³¿, ùî ³ â áóäü-ÿêîìó
ВставкаЭлемент ActiveX àáî ïàíåë³ åëåìåíò³â, äå ç³áðàíî íàé- âåêòîðíîìó ãðàô³÷íîìó ðåäàêòîð³: âèð³âíÿòè, ïåðåì³ñòèòè íà
âàæëèâ³ø³ åëåìåíòè êåðóâàííÿ (ðèñ. 6.8). çàäí³é ÷è ïåðåäí³é ïëàí, çãðóïóâàòè, ïðèâ’ÿçàòè äî ñ³òêè òîùî.
Êíîïêè äëÿ öèõ ä³é ðîçòàøîâàíî íà ñòð³÷ö³ Упорядочить.
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. Ó äðóãîìó â³êí³ ìàéñòðà âèáåð³òü ôîðìó, ÿêà â³äêðèâàòè-
ìåòüñÿ êíîïêîþ. Íåõàé öå áóäå ôîðìà Учні.
●
110 Розділ 7 . Автоматизація роботи з базою даних Навігація базою даних 111
êàòîð ïîòî÷íîãî çàïèñó çë³âà òà íàâ³ãàö³éí³ åëåìåíòè çíè-
çó. Ùîá ïðèõîâàòè ¿õ, âèêîíàéòå òàê³ ä³¿:
à) ïåðåéä³òü ó â³êíî âëàñòèâîñòåé ôîðìè, êëàöíóâøè ïðà-
âîþ êíîïêîþ ìèø³ ïîçíà÷êó ó ë³âîìó âåðõíüîìó êóò³
ôîðìè òà âèáðàâøè ç êîíòåêñòíîãî ìåíþ êîìàíäó
Свойства;
●
112 Розділ 7 . Автоматизація роботи з базою даних Навігація базою даних 113
MS Access 2003
MS Access 2007/2010
●
114 Розділ 7 . Автоматизація роботи з базою даних Навігація базою даних 115
переходов. Áóäå â³äîáðàæåíî â³êíî Параметры переходов 6. Ïðèõîâàéòå ãðóïó Неназначенные
(ðèñ. 7.8). объекты: êëàöí³òü ¿¿ çàãîëîâîê ïðà-
âîþ êíîïêîþ ìèø³ é âèáåð³òü ç
êîíòåêñòíîãî ìåíþ êîìàíäó Скрыть.
Îáëàñòü ïåðåõîä³â ìຠíàáóòè òàêî-
ãî âèãëÿäó, ÿê íà ðèñ. 7.9.
ßêùî âè çàêðèºòå òà çíîâó â³äêðèºòå Рис. 7.9. Область
áàçó äàíèõ школа, îáëàñòü ïåðåõîä³â переходів з меню
ì³ñòèòèìå ñòâîðåíå âàìè ìåíþ ôîðì.
Висновки
♦ Ðîçêðèâí³ ñïèñêè ó ôîðìàõ ñòâîðþþòü äëÿ ââåäåííÿ çíà-
÷åíü çîâí³øí³õ êëþ÷³â. Åëåìåíòàìè ðîçêðèâíîãî ñïèñêó º
çíà÷åííÿ ïåðâèííîãî êëþ÷à ò³º¿ òàáëèö³, íà ÿêó ïîñèëàºòü-
ñÿ çîâí³øí³é êëþ÷ ³, ìîæëèâî, ùå äåÿêèõ ¿¿ ïîë³â.
Рис. 7.8. Вікно Параметри переходов
♦ Äëÿ øâèäêîãî äîñòóïó äî ïîòð³áíèõ êîðèñòóâà÷åâ³ îá’ºêò³â
2. Ùîá äîäàòè íîâó êàòåãîð³þ, ó ë³â³é ÷àñòèí³ â³êíà êëàöí³òü áàçè äàíèõ ³ ïðèõîâàííÿ ³íøèõ îá’ºêò³â ó MS Access 2003
êíîïêó Добавить элемент ³ ââåä³òü ³ì’ÿ êàòåãî𳿠— Меню. íà îêðåì³é ôîðì³ ñòâîðþþòü ìåíþ ç êíîïîê, ÿêå àâòîìà-
3. Ó êàòåãî𳿠Меню ñòâîðèìî îäíó ãðóïó. Âèä³ë³òü ó ë³â³é ÷àñ- òè÷íå â³äîáðàæàºòüñÿ ï³ñëÿ â³äêðèòòÿ áàçè äàíèõ.
òèí³ â³êíà öþ êàòåãîð³þ, à â ïðàâ³é êëàöí³òü êíîïêó ♦ Ó MS Access 2007/2010 äëÿ îðãàí³çàö³¿ ìåíþ êîðèñòóâà÷à
Добавить группу é óâåä³òü ³ì’ÿ ãðóïè — Введення даних. ³- ñòâîðþþòü âëàñí³ êàòåãî𳿠³ ãðóïè îá’ºêò³â â îáëàñò³ ïå-
äîáðàæàòèìåòüñÿ òàêîæ ñòàíäàðòíà ãðóïà Неназначенные ðåõîä³â.
объекты — âîíà ì³ñòèòü îá’ºêòè, ÿê³ âè çìîæåòå äîäàâàòè
äî âëàñíî¿ ãðóïè. Завдання для самостійного виконання
4. Êëàöí³òü êíîïêó OK ³ êàòåãîð³þ áóäå ñòâîðåíî. ³äîáðàç³òü 1. Ó áàç³ äàíèõ школи ñòâîð³òü ôîðìó äëÿ ââåäåííÿ äàíèõ ó
¿¿ â îáëàñò³ ïåðåõîä³â çà äîïîìîãîþ êíîïêè . òàáëèöþ Директори, à íà í³é — ðîçêðèâíèé ñïèñîê äëÿ
5. Ó ñòâîðåí³é âàìè êàòåãî𳿠âè ïîáà÷èòå äâ³ ãðóïè: ïîðîæ- âèáîðó äèðåêòîðà ñåðåä ó÷èòåë³â. Çðîá³òü òàê, ùîá ó ñïèñ-
íþ ãðóïó Введення даних òà ñòàíäàðòíó ãðóïó Неназна- êó â³äîáðàæàëîñÿ ò³ëüêè ïð³çâèùå òà ³ì’ÿ ó÷èòåëÿ.
ченные объекты, ùî ì³ñòèòü âñ³ îá’ºêòè áàçè äàíèõ. Óòðè- 2. Äëÿ áàç äàíèõ, ñòâîðåíèõ ó çàâäàíí³ äëÿ ñàìîñò³éíîãî âè-
ìóþ÷è êëàâ³øó Ctrl, âèä³ë³òü çíà÷êè ôîðì Учні, Учителі êîíàííÿ ç ïîïåðåäíüîãî ðîçä³ëó, âèçíà÷òå, ó ÿê³ ïîëÿ äî-
òà Класи ó ãðóï³ Неназначенные объекты ³ ïåðåòÿãí³òü ¿õ íà ö³ëüíî ââîäèòè äàí³ çà äîïîìîãîþ ðîçêðèâíèõ ñïèñê³â.
çàãîëîâîê ãðóïè Введення даних. Ñòâîð³òü äâà òàêèõ ñïèñêè.
●
116 Розділ 7 . Автоматизація роботи з базою даних Висновки 117
3. Íà áóäü-ÿê³é ôîðì³ ó áàç³ äàíèõ школа ñòâîð³òü êíîïêó äëÿ
äóáëþâàííÿ çàïèñ³â òà àïðîáóéòå ¿¿ ä³þ.
Розділ 8
●
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. Ùîá ïîáà÷èòè òàáëèöþ ó ïî÷àòêîâîìó
б — за спаданням дати народження âèãëÿä³, öþ êíîïêó ïîòð³áíî â³äòèñíóòè.
MS Access 2003
MS Access 2007/2010
Завдання 8.2
Ñòâîð³òü òà âèêîíàéòå çàïèò «Âèçíà÷èòè ïð³çâèùà òà ³ìåíà
â÷èòåë³â, ÿê³ âèêëàäàþòü â 11À êëàñ³».
Завдання 8.3
Ñòâîð³òü òà âèêîíàéòå çàïèò «Âèçíà÷èòè ïð³çâèùå òà ñïåö³àëü-
Рис. 8.9. Відображення запиту в головному вікні бази даних í³ñòü êëàñíîãî êåð³âíèêà 11Á êëàñó».
Приклад 1
Ðîçãëÿíåìî òðîõè ñêëàäí³øèé çàïèò: âèçíà÷èòè ³ìåíà òà ïð³-
çâèùà ó÷í³â, ÿêèì âèêëàäຠÑîøêî Êàòåðèíà Ìèêîëà¿âíà. Ó
öüîìó çàïèò³ ïîòð³áíî âèêîðèñòàòè âñ³ ÷îòèðè òàáëèö³, ÿê³ º â
áàç³ äàíèõ школа: ç òàáëèö³ Учні âçÿòè ïð³çâèùà òà ³ìåíà, íà
çíà÷åííÿ ïîë³â òàáëèö³ Учителі íàêëàñòè óìîâó прізвище =
Сошко, ім’я = Катерина, по батькові = Миколаївна, à ñêî-
ðèñòàâøèñü òàáëèöÿìè Викладання òà Класи, ç’ºäíàòè â÷èòåëÿ
ç ó÷íÿìè.
ßêèé âèãëÿä ìàòèìå â³êíî êîíñòðóêòîðà öüîãî çàïèòó, ïîêàçà-
íî íà ðèñ. 8.10. Çàóâàæòå, ùî çâ’ÿçîê «îäèí-äî-îäíîãî» ì³æ
òàáëèöÿìè Класи òà Учителі áóëî âèäàëåíî, îñê³ëüêè éîãî
çì³ñò — «ó÷èòåëü º êëàñíèì êåð³âíèêîì» — í³ÿê íå â³äîáðà-
æàºòüñÿ â óìîâ³ çàïèòó. ßêáè ìè öåé çâ’ÿçîê çàëèøèëè, òî Рис. 8.10. Вікно конструктора запиту «визначити імена та прізвища
ðåàë³çóâàëè á ³íøèé çàïèò, à ñàìå «Âèçíà÷èòè ³ìåíà òà ïð³- учнів, у яких викладає Сошко Катерина Миколаївна»
çâèùà ó÷í³â, ó ÿêèõ âèêëàäຠòà º êëàñíèì êåð³âíèêîì Ñîøêî
Êàòåðèíà Ìèêîëà¿âíà». Íàãàäàºìî, ùî çâ’ÿçîê ç áëàíêà çàïèòó
âèäàëÿþòü òàê ñàìî, ÿê ³ ç³ ñõåìè ÁÄ: íà çâ’ÿçêó ïîòð³áíî
êëàöíóòè ïðàâîþ êíîïêîþ ìèø³ òà âèáðàòè ó ìåíþ, ùî
ç’ÿâèòüñÿ, êîìàíäó Удалить.
ßêùî âè ïðàâèëüíî ðåàë³çóâàëè öåé çàïèò ³ ââåëè â áàçó äàí³,
âêàçàí³ ó çàâäàííÿõ äî ðîçä³ë³â 4 ³ 5, òî â ðåçóëüòàò³ éîãî âè-
êîíàííÿ ìàºòå îòðèìàòè Максим Шпак òà Хоменко Ірина.
Приклад 2
Âèçíà÷èòè, ó ÿêèõ êëàñàõ íàâ÷àþòüñÿ õëîïö³, ùî íàðîäèëèñÿ
ó 1996 ðîö³.
Äëÿ ñòâîðåííÿ öüîãî çàïèòó äîñòàòíüî îäí³º¿ òàáëèö³ — Учні, ó
ÿê³é ì³ñòèòüñÿ ³íôîðìàö³ÿ ³ ïðî êëàñè. Òîìó öåé çàïèò çàãàëîì
ìîæíà ðåàë³çóâàòè çà äîïîìîãîþ ô³ëüòðà. Ùîïðàâäà, íàì ïîò-
ð³áíî â³äîáðàçèòè çíà÷åííÿ îäíîãî ïîëÿ — класи, à ï³ñëÿ ô³ëü-
òðàö³¿ â³äîáðàæàòèìóòüñÿ âñ³ ïîëÿ. ³êíî êîíñòðóêòîðà öüîãî Рис. 8.11. Вікно конструктора запиту «Визначити, у яких класах
çàïèòó íàâåäåíî íà ðèñ. 8.11. навчаються хлопці, що народилися у 1996 році»
Висновки
♦ ϳä ñîðòóâàííÿì ðîçóì³þòü ðîçòàøóâàííÿ çàïèñ³â òàáëèö³
ó ïîðÿäêó çðîñòàííÿ ÷è ñïàäàííÿ çíà÷åíü ÿêîãîñü ïîëÿ.
♦ Ô³ëüòðàö³ÿ äຠçìîãó â³äîáðàçèòè ò³ëüêè ò³ çàïèñè òàáëèö³,
ùî çàäîâîëüíÿþòü ïåâíó óìîâó.
♦ Çàïèòè — óí³âåðñàëüíèé çàñ³á âèêîíàííÿ ìàéæå áóäü-ÿêèõ
çàâäàíü ç îáðîáêè äàíèõ ó ÁÄ.
♦ Çàïèò ñïî÷àòêó ôîðìóëþþòü, òîáòî îïèñóþòü ñëîâåñíî, ïî-
ò³ì ñòâîðþþòü, àáî ðåàë³çóþòü, ó ÑÊÁÄ — «ïåðåêëàäàþòü»
òåêñò çàïèòó ìîâîþ SQL àáî ââîäÿòü éîãî â åêðàííó ôîðìó,
Рис. 8.12. Вікно конструктора запиту «Відобразити всю інформацію ³, íàðåøò³ âèêîíóþòü, òîáòî äàþòü ÑÊÁÄ êîìàíäó îòðèìà-
про класних керівників 10А та 11Б класів» òè ðîçâ’ÿçîê çàäà÷³ ç îáðîáêè äàíèõ.
Âè âæå â쳺òå ñòâîðþâàòè çàïèòè íà âèáèðàííÿ äàíèõ, àáî âè- 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-çàïèò ìຠòàêèé ôîðìàò: ñïåöèô³êàòîð Учні. ìîæíà îïóñòèòè.
●
138 Розділ 9 . Основи мови запитів З’єднання таблиць 139
Ó ôðàç³ FROM ìè áà÷èìî íå íàçâó òàáëèö³ ³ íå ñïèñîê íàçâ, à
îïåðàòîð INNER JOIN (ó ïåðåêëàä³ ç àíãë³éñüêî¿ — âíóòð³øíº
ç’ºäíàííÿ), ïðèçíà÷åíèé äëÿ ç’ºäíàííÿ òàáëèöü. Çàãàëüíèé
ñèíòàêñèñ öüîãî îïåðàòîðà òàêèé:
●
140 Розділ 9 . Основи мови запитів З’єднання таблиць 141
а
●
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Б
•
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.
Попередній крок
Ñòâîðþºìî çàïèò, óìîâó ÿêîãî ìè ùîéíî ñôîðìóëþâàëè. ³êíî
êîíñòðóêòîðà çàïèòó ïîêàçàíî íà ðèñ. 10.7. Çàóâàæòå, ùî ïðÿ-
а ìèé çâ’ÿçîê ì³æ òàáëèöåþ êëàñ³â òà â÷èòåë³â âèäàëåíî, îñê³ëü-
êè â³í âèçíà÷àº, õòî º êëàñíèì êåð³âíèêîì, à çà óìîâîþ çàïèòó
íàì òàêà ³íôîðìàö³ÿ íå ïîòð³áíà. Çáåð³ãàºìî çàïèò ï³ä íàçâîþ
Учителі_класи_учні.
б
Рис. 10.7. Вікно конструктора запиту «Для кожного вчителя визначити
Рис. 10.6. Подання результатів запиту: а — в табличній формі; класи, у яких він викладає, а також прізвища, імена та середню успішність
б — у формі звіту учнів цих класів»
Крок 3
Íà òðåòüîìó êðîö³ ìàéñòðà ìîæíà çàäàòè ïîëÿ, çà ÿêèìè âèêî-
íóâàòèìåòüñÿ äîäàòêîâå áàãàòîð³âíåâå ãðóïóâàííÿ. Ó íàøîìó
ïðèêëàä³ ãðóïóâàííÿ ïåðøîãî ð³âíÿ çä³éñíþºòüñÿ çà â÷èòåëÿìè,
à ó÷í³â, ÿê³ â³äïîâ³äàþòü îäíîìó â÷èòåëþ, ìîæíà ùå ïîä³ëèòè
çà êëàñàìè — öå áóäå ãðóïóâàííÿ äðóãîãî ð³âíÿ (ðèñ. 10.10).
Äîäàòêîâ³ ïîëÿ äëÿ ãðóïóâàííÿ âèáèðàþòü çà äîïîìîãîþ êíîïêè
>, à ð³âåíü ãðóïè çì³íþþòü çà äîïîìîãîþ êíîïîê òà .
Рис. 10.8. Визначення полів, що відображатимуться у звіті Крок 4
Íà öüîìó êðîö³ âèçíà÷àþòü ïîëÿ, çíà÷åííÿ ÿêèõ ñîðòóâàòèìóòü-
Крок 2 ñÿ. Êð³ì òîãî, ÿêùî ñåðåä ïîë³â çâ³òó º ÷èñëîâ³, ãðîøîâ³ àáî ïî-
Íà äðóãîìó êðîö³ âèçíà÷àºìî, ÿêà òàáëèöÿ áóäå ãîëîâíîþ, à ÿêà ëÿ äàòè/÷àñó, òî ó â³êí³ ìàéñòðà ç’ÿâëÿºòüñÿ êíîïêà Итоги (ϳä-
— ï³äëåãëîþ, ÿê ìè öå ðîáèëè ï³ä ÷àñ ïîáóäîâè ôîðìè çà ê³ëüêî- ñóìêè), çà äîïîìîãîþ ÿêî¿ ìîæíà çàäàòè ï³äñóìêîâó îïåðàö³þ
ìà òàáëèöÿìè. Ãîëîâíîþ òàáëèöåþ º òà, çà çíà÷åííÿìè ïîë³â ÿêî¿ äëÿ òàêèõ ïîë³â. Íàïðèêëàä, ó íàøîìó çàïèò³ ìîæíà îá÷èñëèòè
ïðîâîäèòèìåòüñÿ ãðóïóâàííÿ, à ï³äëåãëîþ — òà, çíà÷åííÿ ïîë³â ñåðåäíþ óñï³øí³ñòü ó÷í³â êîæíîãî êëàñó (ðèñ. 10.11). Çàëåæíî
ÿêî¿ â³äîáðàæàòèìóòüñÿ â ãðóïàõ. Ó íàøîìó çâ³ò³ ãîëîâíîþ áóäå â³ä òîãî, ÿêèé ïåðåìèêà÷ âñòàíîâëåíî ó ãðóï³ Показать, â³äîáðà-
òàáëèöÿ â÷èòåë³â, à ï³äëåãëîþ — òàáëèöÿ ó÷í³â, îñê³ëüêè äëÿ æàòèìóòüñÿ àáî ò³ëüêè ðåçóëüòàòè ï³äñóìêîâèõ îïåðàö³é (только
êîæíîãî â÷èòåëÿ ìè âèä³ëÿòèìåìî ãðóïó ó÷í³â (ðèñ. 10.9). итоги), àáî ³ ï³äñóìêîâ³ çíà÷åííÿ, ³ ñàì³ äàí³ (данные и итоги).
Завдання 10.7
Ñêîíñòðóþéòå çâ³ò çà çàïèòîì äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè
Рис. 10.11. Виконання підсумкових операцій у звітах êëàñè, ó ÿêèõ â³í âèêëàäàº, òà ïð³çâèùà é ³ìåíà ó÷í³â, ÿêèõ
168 Розділ 10. Групування даних Завдання для самостійного виконання 169
Питання для роздумів êîâà îïåðàö³ÿ. Ñïðîáóéòå ðåàë³çóâàòè çàïèò ç ïðèêëàäó 3
ìîâîþ SQL, âèêîðèñòàâøè ò³ëüêè ôðàçè SELECT, FROM ³
1. Ñôîðìóëþéòå çàïèòè, ðåàë³çàö³þ ÿêèõ ïîêàçàíî íà ðèñ. WHERE. Ó ôðàç³ SELECT ñë³ä çàñòîñóâàòè àãðåãàòíó
10.13, à–â. ôóíêö³þ.
2•. Çàïèø³òü SQL-òåêñò çàïèò³â, â³êíà êîíñòðóêòîðà ÿêèõ çîá- 4*. ×îìó ó çàïèò³, ðîçãëÿíóòîìó â ïðèêëàä³ 1, ïîëÿìè ãðóïó-
ðàæåíî íà ðèñ. 10.13, à–â. âàííÿ º паспорт ³ прізвище, à íå ò³ëüêè прізвище? Íàâå-
ä³òü ïðèêëàä äàíèõ, êîëè ãðóïóâàííÿ ëèøå çà ïîëåì прі-
звище äàâàëî á íåêîðåêòíèé ðåçóëüòàò.
5*. Ïðèïóñòèìî, ùî äî áàçè äàíèõ школа äîäàíî òàáëèöþ Пре-
дмет, ÿêó ç’ºäíàíî ç òàáëèöÿìè â÷èòåë³â ³ êëàñ³â ÷åðåç
òàáëèöþ Викладання. ×îìó äëÿ òàêî¿ áàçè ðåàë³çàö³ÿ çà-
ïèòó «äëÿ êîæíîãî â÷èòåëÿ âèçíà÷èòè, ñê³ëüêîõ ó÷í³â â³í
íàâ÷ົ, çîáðàæåíà íà ðèñ. 10.3, áóäå íåêîðåêòíîþ?
в
Рис. 10.13. Вікна конструктора запитів
●
172 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Видалення даних 173
2. ³äêðèéòå êîíñòðóêòîð çàïèò³â. Ó â³êí³ Добавление таблицы Ïîÿñíèìî ïðèíöèï 䳿 çàïèòó. ϳä ÷àñ éîãî âèêîíàííÿ âèäà-
âèáåð³òü òàáëèöþ Учні, îñê³ëüêè çàïèò ñòîñóºòüñÿ ó÷í³â, ï³- ëÿþòüñÿ ò³ çàïèñè, ÿê³ çàäîâîëüíÿþòü óìîâó â³äáîðó, íàêëàäå-
ñëÿ ÷îãî êëàöí³òü êíîïêó Добавить ³ çàêðèéòå öå â³êíî. íó íà çíà÷åííÿ îäíîãî àáî ê³ëüêîõ ïîë³â. Öþ óìîâó çàäàþòü ó
3. Çàäàéòå òèï çàïèòó. ßêùî âè ïðàöþºòå â Access 2003, ó áëàíêó çàïèòó òàê ñàìî, ÿê ³ â çàïèò³ íà âèá³ðêó äàíèõ: ó ðÿä-
ìåíþ Запрос âèáåð³òü êîìàíäó Удаление, à ÿêùî â Access êó Поле ñë³ä âêàçàòè íàçâó ïîëÿ, à â ðÿäêó Условие отбора —
2007/2010 — êëàöí³òü êíîïêó Удаление íà ñòð³÷ö³ óìîâó, ÿêó ìàþòü çàäîâîëüíÿòè çíà÷åííÿ öüîãî ïîëÿ. Ó öüîìó
Конструктор. ϳñëÿ âèêîíàííÿ ö³º¿ êîìàíäè áëàíê çàïèòó çàïèò³ óìîâà ìຠâèãëÿä Like ″11*″. ßê âè âæå çíàºòå, öå
çì³íèòüñÿ: çàì³ñòü ðÿäê³â Сортировка òà Вывод на экран îçíà÷ຠ«âñ³ çíà÷åííÿ, ùî ïî÷èíàþòüñÿ ç ñèìâîë³â 11», òîáòî
ç’ÿâèòüñÿ ðÿäîê Удаление. çíà÷åííÿ, ùî â³äïîâ³äàþòü îäèíàäöÿòèêëàñíèêàì.
4. Óâåä³òü ó áëàíê çàïèòó äàí³ çà çðàçêîì, ïîêàçàíèì íà ðèñ. Ó ìîâ³ SQL çàïèò íà âèäàëåííÿ äàíèõ ìຠäóæå ïðîñòó ñòðóê-
11.1. Ïîëå клас ïåðåòÿãí³òü ç âåðõíüî¿ ÷àñòèíè â³êíà òóðó:
êîíñòðóêòîðà, à óìîâó â³äáîðó ââåä³òü óðó÷íó.
DELETE *
FROM ім’я таблиці
WHERE умова відбору записів
Завдання 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*″)
●
176 Розділ 11 . Автоматизоване видалення, оновлення і додавання даних Оновлення даних 177
3. Äîäàéòå ÷èñëîâ³ ïîëÿ паралель äî òàáëèöü Викладання òà
Учні, à ïîëÿ клас â öèõ òàáëèöÿõ ïåðåéìåíóéòå íà буква. Çàïèò íà îíîâëåííÿ äàíèõ ïðèçíà÷åíî äëÿ àâòîìàòè÷íîãî
çì³íåííÿ çíà÷åíü â óñ³õ àáî äåÿêèõ çàïèñàõ ïåâíî¿ òàáëèö³.
4. Çì³í³òü äàí³ ó òàáëèöÿõ Класи, Учні òà Викладання, ïîä³- Ñïîñ³á çì³íåííÿ âèçíà÷àºòüñÿ îêðåìîþ ôîðìóëîþ äëÿ êîæ-
ëèâøè íàçâè êëàñ³â íà äâ³ ÷àñòèíè. Íàïðèêëàä, çàì³ñòü íîãî ïîëÿ, çíà÷åííÿ ÿêîãî îíîâëþºòüñÿ.
çíà÷åííÿ 10А â ïîë³ назва çàïèø³òü 10 ó ïîë³ паралель ³
А â ïîë³ буква.
5. Ñòâîð³òü çâ’ÿçîê ì³æ òàáëèöÿìè Класи òà Учні. Äëÿ öüîãî Вправа 11.3
ó â³êí³ ñõåìè äàíèõ, óòðèìóþ÷è êëàâ³øó Ctrl, âèä³ë³òü ó
òàáëèö³ Класи ïîëÿ паралель òà буква ³ ïåðåòÿãí³òü ¿õ íà Ñòâîð³òü ³ âèêîíàéòå çàïèò çá³ëüøèòè íà 1 çíà÷åííÿ ïîëÿ па-
òàáëèöþ Учні. Ó â³êí³ Изменение связей çàäàéòå òàê³ ралель ó âñ³õ çàïèñàõ òàáëèö³ Учні.
çâ’ÿçêè, ÿê ïîêàçàíî íà ðèñ. 11.3. ϳñëÿ öüîãî ñõåìà äàíèõ 1. ³äêðèéòå êîíñòðóêòîð çàïèò³â. Ó â³êí³ Добавление таблицы
ìຠíàáóòè òàêîãî âèãëÿäó, ÿê íà ðèñ. 11.2. âèáåð³òü òàáëèöþ Учні, îñê³ëüêè çàïèò ñòîñóºòüñÿ ó÷í³â,
ï³ñëÿ ÷îãî êëàöí³òü êíîïêó Добавить ³ çàêðèéòå öå â³êíî.
2. Ó ìåíþ Запрос âèáåð³òü êîìàíäó Обновление àáî êëàöí³òü
êíîïêó Обновление íà ñòð³÷ö³ Конструктор — òàê âè çàäàñòå
òèï çàïèòó. ϳñëÿ âèêîíàííÿ ö³º¿ êîìàíäè áëàíê çàïèòó
çì³íèòüñÿ: çàì³ñòü ðÿäê³â Сортировка òà Вывод на экран
ç’ÿâèòüñÿ ðÿäîê Обновление, ó ÿêîìó ïîòð³áíî ââåñòè ôîð-
ìóëè äëÿ îá÷èñëåííÿ íîâèõ çíà÷åíü. Ðÿäêà Вывод на экран
íå áóäå, îñê³ëüêè çàïèò íà îíîâëåííÿ äàíèõ í³ÿêî¿ ³íôîð-
ìàö³¿ íà åêðàí³ íå â³äîáðàæóº.
3. Óâåä³òü ó áëàíê çàïèòó äàí³ çà çðàçêîì, ïîêàçàíèì íà
ðèñ. 11.4.
●
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). Ñòåæòå çà òèì, ùîá íîâîââåäåíèõ êîä³â íå
âñ³õ ìàòåìàòèê³â ç òàáëèö³ Учителі â òàáëèöþ Математики. áóëî â òàáëèö³ Учні, àäæå çíà÷åííÿ ïîëÿ код ìàþòü
áóòè óí³êàëüíèìè. Çáåðåæ³òü òà çàêðèéòå åëåêòðîííó
Імпорт даних êíèãó.
●
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
Íàâ÷àëüíå âèäàííÿ
³ääðóêîâàíî íà ÄÏ
«Â³ííèöüêà êàðòîãðàô³÷íà ôàáðèêà»
21100, ì. ³ííèöÿ, âóë. 600-ð³÷÷ÿ, 19