| ||||||
|
| |||||
Òåìà 5
Ìîäåëü "ñóùíîñòü-ñâÿçü"
Ìîäåëèðîâàíèå ñòðóêòóðû áàçû äàííûõ ïðè ïîìîùè àëãîðèòìà íîðìàëèçàöèè, îïèñàííîãî â ïðåäûäóùèõ ãëàâàõ, èìååò ñåðüåçíûå íåäîñòàòêè:
1. Ïåðâîíà÷àëüíîå ðàçìåùåíèå âñåõ àòðèáóòîâ â îäíîì îòíîøåíèè ÿâëÿåòñÿ î÷åíü íååñòåñòâåííîé îïåðàöèåé. Èíòóèòèâíî ðàçðàáîò÷èê ñðàçó ïðîåêòèðóåò íåñêîëüêî îòíîøåíèé â ñîîòâåòñòâèè ñ îáíàðóæåííûìè ñóùíîñòÿìè. Äàæå åñëè ñîâåðøèòü íàñèëèå íàä ñîáîé è ñîçäàòü îäíî èëè íåñêîëüêî îòíîøåíèé, âêëþ÷èâ â íèõ âñå ïðåäïîëàãàåìûå àòðèáóòû, òî ñîâåðøåííî íåÿñåí ñìûñë ïîëó÷åííîãî îòíîøåíèÿ. 2. Íåâîçìîæíî ñðàçó îïðåäåëèòü ïîëíûé ñïèñîê àòðèáóòîâ. Ïîëüçîâàòåëè èìåþò ïðèâû÷êó íàçûâàòü ðàçíûìè èìåíàìè îäíè è òå æå âåùè èëè íàîáîðîò, íàçûâàòü îäíèìè èìåíàìè ðàçíûå âåùè. 3. Äëÿ ïðîâåäåíèÿ ïðîöåäóðû íîðìàëèçàöèè íåîáõîäèìî âûäåëèòü çàâèñèìîñòè àòðèáóòîâ, ÷òî òîæå î÷åíü íåëåãêî, ò.ê. íåîáõîäèìî ÿâíî âûïèñàòü âñå çàâèñèìîñòè, äàæå òå, êîòîðûå ÿâëÿþòñÿ î÷åâèäíûìè.
 ðåàëüíîì ïðîåêòèðîâàíèè ñòðóêòóðû áàçû äàííûõ ïðèìåíÿþòñÿ äðóãîé ìåòîä - òàê íàçûâàåìîå, ñåìàíòè÷åñêîå ìîäåëèðîâàíèå. Ñåìàíòè÷åñêîå ìîäåëèðîâàíèå ïðåäñòàâëÿåò ñîáîé ìîäåëèðîâàíèå ñòðóêòóðû äàííûõ, îïèðàÿñü íà ñìûñë ýòèõ äàííûõ.  êà÷åñòâå èíñòðóìåíòà ñåìàíòè÷åñêîãî ìîäåëèðîâàíèÿ èñïîëüçóþòñÿ ðàçëè÷íûå âàðèàíòû äèàãðàìì ñóùíîñòü- ñâÿçü (ER - Entity-Relationship).
Ïåðâûé âàðèàíò ìîäåëè ñóùíîñòü-ñâÿçü áûë ïðåäëîæåí â 1976 ã. Ïèòåðîì Ïèí-Øýí ×åíîì [37].  äàëüíåéøåì ìíîãèìè àâòîðàìè áûëè ðàçðàáîòàíû ñâîè âàðèàíòû ïîäîáíûõ ìîäåëåé (íîòàöèÿ Ìàðòèíà, íîòàöèÿ IDEF1X, íîòàöèÿ Áàðêåðà è äð.). Êðîìå òîãî, ðàçëè÷íûå ïðîãðàììíûå ñðåäñòâà, ðåàëèçóþùèå îäíó è òó æå íîòàöèþ, ìîãóò îòëè÷àòüñÿ ñâîèìè âîçìîæíîñòÿìè. Ïî ñóòè, âñå âàðèàíòû äèàãðàìì ñóùíîñòü-ñâÿçü èñõîäÿò èç îäíîé èäåè - ðèñóíîê âñåãäà íàãëÿäíåå òåêñòîâîãî îïèñàíèÿ. Âñå òàêèå äèàãðàììû èñïîëüçóþò ãðàôè÷åñêîå èçîáðàæåíèå ñóùíîñòåé ïðåäìåòíîé îáëàñòè, èõ ñâîéñòâ (àòðèáóòîâ), è âçàèìîñâÿçåé ìåæäó ñóùíîñòÿìè.
Ìû îïèøåì ðàáîòó ñ ER-äèàãðàììàìè áëèçêî ê íîòàöèè Áàðêåðà, êàê äîâîëüíî ëåãêîé â ïîíèìàíèè îñíîâíûõ èäåé. Äàííàÿ ãëàâà ÿâëÿåòñÿ ñêîðåå èëëþñòðàöèåé ìåòîäîâ ñåìàíòè÷åñêîãî ìîäåëèðîâàíèÿ, ÷åì ïîëíîöåííûì ââåäåíèåì â ýòó îáëàñòü.
Îñíîâíûå ïîíÿòèÿ ER-äèàãðàìì
Îïðåäåëåíèå 1. Ñóùíîñòü - ýòî êëàññ îäíîòèïíûõ îáúåêòîâ, èíôîðìàöèÿ î êîòîðûõ äîëæíà áûòü ó÷òåíà â ìîäåëè.
Êàæäàÿ ñóùíîñòü äîëæíà èìåòü íàèìåíîâàíèå, âûðàæåííîå ñóùåñòâèòåëüíûì â åäèíñòâåííîì ÷èñëå.
Ïðèìåðàìè ñóùíîñòåé ìîãóò áûòü òàêèå êëàññû îáúåêòîâ êàê "Ïîñòàâùèê", "Ñîòðóäíèê", "Íàêëàäíàÿ".
Êàæäàÿ ñóùíîñòü â ìîäåëè èçîáðàæàåòñÿ â âèäå ïðÿìîóãîëüíèêà ñ íàèìåíîâàíèåì:
Ðèñ. 1
Îïðåäåëåíèå 2. Ýêçåìïëÿð ñóùíîñòè - ýòî êîíêðåòíûé ïðåäñòàâèòåëü äàííîé ñóùíîñòè.
Íàïðèìåð, ïðåäñòàâèòåëåì ñóùíîñòè "Ñîòðóäíèê" ìîæåò áûòü "Ñîòðóäíèê Èâàíîâ".
Ýêçåìïëÿðû ñóùíîñòåé äîëæíû áûòü ðàçëè÷èìû, ò.å. ñóùíîñòè äîëæíû èìåòü íåêîòîðûå ñâîéñòâà, óíèêàëüíûå äëÿ êàæäîãî ýêçåìïëÿðà ýòîé ñóùíîñòè.
Îïðåäåëåíèå 3. Àòðèáóò ñóùíîñòè - ýòî èìåíîâàííàÿ õàðàêòåðèñòèêà, ÿâëÿþùàÿñÿ íåêîòîðûì ñâîéñòâîì ñóùíîñòè.
Íàèìåíîâàíèå àòðèáóòà äîëæíî áûòü âûðàæåíî ñóùåñòâèòåëüíûì â åäèíñòâåííîì ÷èñëå (âîçìîæíî, ñ õàðàêòåðèçóþùèìè ïðèëàãàòåëüíûìè).
Ïðèìåðàìè àòðèáóòîâ ñóùíîñòè "Ñîòðóäíèê" ìîãóò áûòü òàêèå àòðèáóòû êàê "Òàáåëüíûé íîìåð", "Ôàìèëèÿ", "Èìÿ", "Îò÷åñòâî", "Äîëæíîñòü", "Çàðïëàòà" è ò.ï.
Àòðèáóòû èçîáðàæàþòñÿ â ïðåäåëàõ ïðÿìîóãîëüíèêà, îïðåäåëÿþùåãî ñóùíîñòü:
Ðèñ. 2
Îïðåäåëåíèå 4. Êëþ÷ ñóùíîñòè - ýòî íåèçáûòî÷íûé íàáîð àòðèáóòîâ, çíà÷åíèÿ êîòîðûõ â ñîâîêóïíîñòè ÿâëÿþòñÿ óíèêàëüíûìè äëÿ êàæäîãî ýêçåìïëÿðà ñóùíîñòè. Íåèçáûòî÷íîñòü çàêëþ÷àåòñÿ â òîì, ÷òî óäàëåíèå ëþáîãî àòðèáóòà èç êëþ÷à íàðóøàåòñÿ åãî óíèêàëüíîñòü.
Ñóùíîñòü ìîæåò èìåòü íåñêîëüêî ðàçëè÷íûõ êëþ÷åé.
Êëþ÷åâûå àòðèáóòû èçîáðàæàþòñÿ íà äèàãðàììå ïîä÷åðêèâàíèåì:
Ðèñ. 3
Îïðåäåëåíèå 5. Ñâÿçü - ýòî íåêîòîðàÿ àññîöèàöèÿ ìåæäó äâóìÿ ñóùíîñòÿìè. Îäíà ñóùíîñòü ìîæåò áûòü ñâÿçàíà ñ äðóãîé ñóùíîñòüþ èëè ñàìà ñ ñîáîþ.
Ñâÿçè ïîçâîëÿþò ïî îäíîé ñóùíîñòè íàõîäèòü äðóãèå ñóùíîñòè, ñâÿçàííûå ñ íåþ.
Íàïðèìåð, ñâÿçè ìåæäó ñóùíîñòÿìè ìîãóò âûðàæàòüñÿ ñëåäóþùèìè ôðàçàìè - "ÑÎÒÐÓÄÍÈÊ ìîæåò èìåòü íåñêîëüêî ÄÅÒÅÉ", "êàæäûé ÑÎÒÐÓÄÍÈÊ îáÿçàí ÷èñëèòüñÿ ðîâíî â îäíîì ÎÒÄÅËÅ".
Ãðàôè÷åñêè ñâÿçü èçîáðàæàåòñÿ ëèíèåé, ñîåäèíÿþùåé äâå ñóùíîñòè:
Ðèñ. 4
Êàæäàÿ ñâÿçü èìååò äâà êîíöà è îäíî èëè äâà íàèìåíîâàíèÿ. Íàèìåíîâàíèå îáû÷íî âûðàæàåòñÿ â íåîïðåäåëåííîé ãëàãîëüíîé ôîðìå: "èìåòü", "ïðèíàäëåæàòü" è ò.ï. Êàæäîå èç íàèìåíîâàíèé îòíîñèòñÿ ê ñâîåìó êîíöó ñâÿçè. Èíîãäà íàèìåíîâàíèÿ íå ïèøóòñÿ ââèäó èõ î÷åâèäíîñòè.
Êàæäàÿ ñâÿçü ìîæåò èìåòü îäèí èç ñëåäóþùèõ òèïîâ ñâÿçè:
Ðèñ. 5
Ñâÿçü òèïà îäèí-ê-îäíîìó îçíà÷àåò, ÷òî îäèí ýêçåìïëÿð ïåðâîé ñóùíîñòè (ëåâîé) ñâÿçàí ñ îäíèì ýêçåìïëÿðîì âòîðîé ñóùíîñòè (ïðàâîé). Ñâÿçü îäèí-
ê-îäíîìó ÷àùå âñåãî ñâèäåòåëüñòâóåò î òîì, ÷òî íà ñàìîì äåëå ìû èìååì âñåãî îäíó ñóùíîñòü, íåïðàâèëüíî ðàçäåëåííóþ íà äâå.
Ñâÿçü òèïà îäèí-êî-ìíîãèì îçíà÷àåò, ÷òî îäèí ýêçåìïëÿð ïåðâîé ñóùíîñòè (ëåâîé) ñâÿçàí ñ íåñêîëüêèìè ýêçåìïëÿðàìè âòîðîé ñóùíîñòè (ïðàâîé). Ýòî íàèáîëåå ÷àñòî èñïîëüçóåìûé òèï ñâÿçè. Ëåâàÿ ñóùíîñòü (ñî ñòîðîíû "îäèí") íàçûâàåòñÿ ðîäèòåëüñêîé, ïðàâàÿ (ñî ñòîðîíû "ìíîãî") - äî÷åðíåé. Õàðàêòåðíûé ïðèìåð òàêîé ñâÿçè ïðèâåäåí íà Ðèñ. 4.
Ñâÿçü òèïà ìíîãî-êî-ìíîãèì îçíà÷àåò, ÷òî êàæäûé ýêçåìïëÿð ïåðâîé ñóùíîñòè ìîæåò áûòü ñâÿçàí ñ íåñêîëüêèìè ýêçåìïëÿðàìè âòîðîé ñóùíîñòè, è êàæäûé ýêçåìïëÿð âòîðîé ñóùíîñòè ìîæåò áûòü ñâÿçàí ñ íåñêîëüêèìè ýêçåìïëÿðàìè ïåðâîé ñóùíîñòè. Òèï ñâÿçè ìíîãî-êî-ìíîãèì ÿâëÿåòñÿ âðåìåííûì òèïîì ñâÿçè, äîïóñòèìûì íà ðàííèõ ýòàïàõ ðàçðàáîòêè ìîäåëè.  äàëüíåéøåì ýòîò òèï ñâÿçè äîëæåí áûòü çàìåíåí äâóìÿ ñâÿçÿìè òèïà îäèí- êî-ìíîãèì ïóòåì ñîçäàíèÿ ïðîìåæóòî÷íîé ñóùíîñòè.
Êàæäàÿ ñâÿçü ìîæåò èìåòü îäíó èç äâóõ ìîäàëüíîñòåé ñâÿçè:
Ðèñ. 6
Ìîäàëüíîñòü "ìîæåò" îçíà÷àåò, ÷òî ýêçåìïëÿð îäíîé ñóùíîñòè ìîæåò áûòü ñâÿçàí ñ îäíèì èëè íåñêîëüêèìè ýêçåìïëÿðàìè äðóãîé ñóùíîñòè, à ìîæåò áûòü è íå ñâÿçàí íè ñ îäíèì ýêçåìïëÿðîì.
Ìîäàëüíîñòü "äîëæåí" îçíà÷àåò, ÷òî ýêçåìïëÿð îäíîé ñóùíîñòè îáÿçàí áûòü ñâÿçàí íå ìåíåå ÷åì ñ îäíèì ýêçåìïëÿðîì äðóãîé ñóùíîñòè. Ñâÿçü ìîæåò èìåòü ðàçíóþ ìîäàëüíîñòü ñ ðàçíûõ êîíöîâ (êàê íà Ðèñ. 4). Îïèñàííûé ãðàôè÷åñêèé ñèíòàêñèñ ïîçâîëÿåò îäíîçíà÷íî ÷èòàòü äèàãðàììû, ïîëüçóÿñü ñëåäóþùåé ñõåìîé ïîñòðîåíèÿ ôðàç:
<Êàæäûé ýêçåìïëÿð ÑÓÙÍÎÑÒÈ 1> <ÌÎÄÀËÜÍÎÑÒÜ ÑÂßÇÈ> <ÍÀÈÌÅÍÎÂÀÍÈÅ ÑÂßÇÈ> <ÒÈÏ ÑÂßÇÈ> <ýêçåìïëÿð ÑÓÙÍÎÑÒÈ 2>.
Êàæäàÿ ñâÿçü ìîæåò áûòü ïðî÷èòàíà êàê ñëåâà íàïðàâî, òàê è ñïðàâà íàëåâî. Ñâÿçü íà Ðèñ. 4 ÷èòàåòñÿ òàê:
Ñëåâà íàïðàâî: "êàæäûé ñîòðóäíèê ìîæåò èìåòü íåñêîëüêî äåòåé".
Ñïðàâà íàëåâî: "Êàæäûé ðåáåíîê îáÿçàí ïðèíàäëåæàòü ðîâíî îäíîìó ñîòðóäíèêó".
Ïðèìåð ðàçðàáîòêè ïðîñòîé ER-ìîäåëè
Ïðè ðàçðàáîòêå ER-ìîäåëåé ìû äîëæíû ïîëó÷èòü ñëåäóþùóþ èíôîðìàöèþ î ïðåäìåòíîé îáëàñòè:
1. Ñïèñîê ñóùíîñòåé ïðåäìåòíîé îáëàñòè. 2. Ñïèñîê àòðèáóòîâ ñóùíîñòåé. 3. Îïèñàíèå âçàèìîñâÿçåé ìåæäó ñóùíîñòÿìè.
ER-äèàãðàììû óäîáíû òåì, ÷òî ïðîöåññ âûäåëåíèÿ ñóùíîñòåé, àòðèáóòîâ è ñâÿçåé ÿâëÿåòñÿ èòåðàöèîííûì. Ðàçðàáîòàâ ïåðâûé ïðèáëèæåííûé âàðèàíò äèàãðàìì, ìû óòî÷íÿåì èõ, îïðàøèâàÿ ýêñïåðòîâ ïðåäìåòíîé îáëàñòè. Ïðè ýòîì äîêóìåíòàöèåé, â êîòîðîé ôèêñèðóþòñÿ ðåçóëüòàòû áåñåä, ÿâëÿþòñÿ ñàìè ER-äèàãðàììû.
Ïðåäïîëîæèì, ÷òî ïåðåä íàìè ñòîèò çàäà÷à ðàçðàáîòàòü èíôîðìàöèîííóþ ñèñòåìó ïî çàêàçó íåêîòîðîé îïòîâîé òîðãîâîé ôèðìû.  ïåðâóþ î÷åðåäü ìû äîëæíû èçó÷èòü ïðåäìåòíóþ îáëàñòü è ïðîöåññû, ïðîèñõîäÿùèå â íåé. Äëÿ ýòîãî ìû îïðàøèâàåì ñîòðóäíèêîâ ôèðìû, ÷èòàåì äîêóìåíòàöèþ, èçó÷àåì ôîðìû çàêàçîâ, íàêëàäíûõ è ò.ï.
Íàïðèìåð, â õîäå áåñåäû ñ ìåíåäæåðîì ïî ïðîäàæàì, âûÿñíèëîñü, ÷òî îí (ìåíåäæåð) ñ÷èòàåò, ÷òî ïðîåêòèðóåìàÿ ñèñòåìà äîëæíà âûïîëíÿòü ñëåäóþùèå äåéñòâèÿ:
· Õðàíèòü èíôîðìàöèþ î ïîêóïàòåëÿõ. · Ïå÷àòàòü íàêëàäíûå íà îòïóùåííûå òîâàðû. · Ñëåäèòü çà íàëè÷èåì òîâàðîâ íà ñêëàäå.
Âûäåëèì âñå ñóùåñòâèòåëüíûå â ýòèõ ïðåäëîæåíèÿõ - ýòî áóäóò ïîòåíöèàëüíûå êàíäèäàòû íà ñóùíîñòè è àòðèáóòû, è ïðîàíàëèçèðóåì èõ (íåïîíÿòíûå òåðìèíû áóäåì âûäåëÿòü çíàêîì âîïðîñà):
· Ïîêóïàòåëü - ÿâíûé êàíäèäàò íà ñóùíîñòü. · Íàêëàäíàÿ - ÿâíûé êàíäèäàò íà ñóùíîñòü. · Òîâàð - ÿâíûé êàíäèäàò íà ñóùíîñòü · (?)Ñêëàä - à âîîáùå, ñêîëüêî ñêëàäîâ èìååò ôèðìà? Åñëè íåñêîëüêî, òî ýòî áóäåò êàíäèäàòîì íà íîâóþ ñóùíîñòü. · (?)Íàëè÷èå òîâàðà – ýòî, ñêîðåå âñåãî, àòðèáóò, íî àòðèáóò êàêîé ñóùíîñòè?
Ñðàçó âîçíèêàåò î÷åâèäíàÿ ñâÿçü ìåæäó ñóùíîñòÿìè - "ïîêóïàòåëè ìîãóò ïîêóïàòü ìíîãî òîâàðîâ" è "òîâàðû ìîãóò ïðîäàâàòüñÿ ìíîãèì ïîêóïàòåëÿì". Ïåðâûé âàðèàíò äèàãðàììû âûãëÿäèò òàê:
Ðèñ. 7
Çàäàâ äîïîëíèòåëüíûå âîïðîñû ìåíåäæåðó, ìû âûÿñíèëè, ÷òî ôèðìà èìååò íåñêîëüêî ñêëàäîâ. Ïðè÷åì, êàæäûé òîâàð ìîæåò õðàíèòüñÿ íà íåñêîëüêèõ ñêëàäàõ è áûòü ïðîäàííûì ñ ëþáîãî ñêëàäà.
Êóäà ïîìåñòèòü ñóùíîñòè "Íàêëàäíàÿ" è "Ñêëàä" è ñ ÷åì èõ ñâÿçàòü? Ñïðîñèì ñåáÿ, êàê ñâÿçàíû ýòè ñóùíîñòè ìåæäó ñîáîé è ñ ñóùíîñòÿìè "Ïîêóïàòåëü" è "Òîâàð"? Ïîêóïàòåëè ïîêóïàþò òîâàðû, ïîëó÷àÿ ïðè ýòîì íàêëàäíûå, â êîòîðûå âíåñåíû äàííûå î êîëè÷åñòâå è öåíå êóïëåííîãî òîâàðà. Êàæäûé ïîêóïàòåëü ìîæåò ïîëó÷èòü íåñêîëüêî íàêëàäíûõ. Êàæäàÿ íàêëàäíàÿ îáÿçàíà âûïèñûâàòüñÿ íà îäíîãî ïîêóïàòåëÿ. Êàæäàÿ íàêëàäíàÿ îáÿçàíà ñîäåðæàòü íåñêîëüêî òîâàðîâ (íå áûâàåò ïóñòûõ íàêëàäíûõ). Êàæäûé òîâàð, â ñâîþ î÷åðåäü, ìîæåò áûòü ïðîäàí íåñêîëüêèì ïîêóïàòåëÿì ÷åðåç íåñêîëüêî íàêëàäíûõ. Êðîìå òîãî, êàæäàÿ íàêëàäíàÿ äîëæíà áûòü âûïèñàíà ñ îïðåäåëåííîãî ñêëàäà, è ñ ëþáîãî ñêëàäà ìîæåò áûòü âûïèñàíî ìíîãî íàêëàäíûõ. Òàêèì îáðàçîì, ïîñëå óòî÷íåíèÿ, äèàãðàììà áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì:
| ||||||
| ||||||
Ñàéò ñîçäàí ïî òåõíîëîãèè «Êîíñòðóêòîð ñàéòîâ e-Publish» |