Òåìà 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»