Үлгілік нысан байланысы университет кітапханасы. Субъект-қатынас моделі

«Ұйым – байланыс» үлгісі

Толық аты-жөні

Байрамов Александр Мавлеевич

Жұмыс орны

MBOU № 6 орта мектеп, Смоленск облысы, Вязьма

Қызмет атауы

Элемент

информатика және АКТ

Бұл бет 1976 жылы Питер Чен енгізген нысан-қатынас үлгісін пайдалануды сипаттайды және көрсетеді. Бұл мақалада Чен Ченнің өзі және басқалары кеңейтіп, өзгерткен үлгінің негізін қалады. Сонымен қатар, Entity-Relationship моделі көптеген CASE құралдарына енгізілген, олар да оның эволюциясына ықпал етті. Бүгінгі таңда «Негіз-Қарым-қатынас» моделі үшін жалпы қабылданған бірыңғай стандарт жоқ, бірақ бұл модельдің көптеген нұсқаларының негізінде жатқан жалпы құрылымдардың жиынтығы бар. Бұл тарау осы жалпы құрылымдарды сипаттауға және олардың қолданылуын көрсетуге арналған. Entity-Relationship моделін графикалық түрде көрсету үшін қолданылатын таңбалар мүлдем басқаша. Біз тек дәстүрлі таңбаларды ғана емес, сонымен қатар OOP бағдарламалаушылары арасында танымалдығы артып келе жатқан және Entity-Relationship моделін қамтитын дизайн құралы UML (Unified Model Language) символдарын да талқылаймыз.

Entity-Relationship моделінің негізгі элементтері:

    мәні

    атрибуттар

    идентификаторлар

    коммуникациялар

Субъектілер

Нысан — пайдаланушының жұмыс ортасында анықталатын кейбір нысан, пайдаланушы бақығысы келетін нәрсе. Нысандардың мысалдарына ҚЫЗМЕТКЕР Мэри Доу, ТҰТЫНУШЫ 12345, ТАПСЫРЫС 1000, ЖЕТКІЗУШІ Джон Смит немесе ӨНІМ A4200 кіреді. Бір типті нысандар субъект сыныптарына топтастырылған. Осылайша, ҚЫЗМЕТКЕР нысанының класы барлық ҚЫЗМЕТКЕР нысандарының жиынтығы болып табылады. Кітап мәтінінде субъект кластары бас әріптермен белгіленген.

Нысан класы мен нысан данасы арасындағы айырмашылықты түсіну маңызды. Нысан класы нысандардың жиынтығы болып табылады және ол сыныпты құрайтын нысандардың құрылымы немесе пішімі арқылы сипатталады. Нысан данасы CLIENT 12345 сияқты нақты нысанды білдіреді; ол берілген нысанның атрибуттарының мәндерімен сипатталады. Әдетте нысан класы нысанның көптеген даналарын қамтиды. Мысалы, КЛИЕНТ сыныбында дерекқорда жазбасы бар әрбір тұтынушы үшін біреуден тұратын көптеген даналар бар. Нысан класының және екі нысан данасына мысал суретте көрсетілген. 1.

Күріш. 1. КЛИЕНТ: мысал нысаны

Атрибуттар

Нысандардың нысанның сипаттамаларын сипаттайтын атрибуттары немесе кейде деп аталатын қасиеттері болады. Төлсипаттардың мысалдарына EmployeeName, HireDate және QualificationID кіреді. Бұл сайттың мәтінінде атрибуттар бас әріптермен де, кіші әріптермен де көрсетілген. Нысан қатынасының үлгісі берілген нысан сыныбының барлық даналарының бірдей атрибуттары бар деп болжайды.

Нысан-қатынас үлгісінің бастапқы анықтамасы мыналарды қамтидықұрама құрама атрибуттар жәнеполисемантикалық атрибуттар (көп мәнді атрибуттар).

Құрама атрибуттың мысалы ретінде атрибуттар тобынан (Көше, Қала, Штат, Пошта индексі) тұратын Мекенжай атрибуты табылады. Көп мәнді төлсипаттың мысалы ретінде КЛИЕНТ нысанының ProxyName атрибуты табылады, ол берілген клиент үшін бірнеше прокси-серверлердің атауларын қамтуы мүмкін.

Атрибут бір уақытта болуы мүмкінқұрамды және көп мәнді - мысалы, атрибуттар тобынан (Аймақ коды, Жергілікті нөмір) тұратын Telephone құрама атрибуты көп мәнді болуы мүмкін, бұл деректер базасында бір тұлғаның бірнеше телефон нөмірін алуға мүмкіндік береді. Нысан қатынасы үлгісінің көптеген іске асырулары бір мәнді құрама атрибуттарды елемейді және төменде талқыланғандай көп мәнді атрибуттарды (құрамды немесе құрама) нысандарға түрлендіруді талап етеді.

Идентификаторлар

Нысан даналарында идентификаторлар бар - осы даналар аталатын немесе сәйкестендірілетін атрибуттар. Мысалы, ҚЫЗМЕТКЕР сыныбының нысандарының даналарын Әлеуметтік қамсыздандыру нөмірі, Қызметкер персонал нөмірі немесе Қызметкер аты атрибуттары арқылы анықтауға болады. Жалақы немесе Жалға алу күні сияқты атрибуттардың ҚЫЗМЕТКЕР сыныбының нысандарының идентификаторлары ретінде қызмет етуі екіталай, себебі бұл атрибуттар әдетте нақты қызметкерді бірегей анықтау үшін пайдаланылмайды. Сол сияқты, CLIENT сыныбының нысандарын CustomerNumber немесе CustomerName атрибуттары арқылы анықтауға болады, ал ORDER сыныбының нысандарын OrderNumber төлсипаты арқылы анықтауға болады.

Нысан данасы идентификаторы бір немесе бірнеше нысан атрибуттарынан тұрады. Идентификатор болуы мүмкінбірегей (бірегей) немесебірегей емес (бірегей емес).

Идентификатор бірегей болса, оның мәні нысанның бір және тек бір данасын көрсетеді.

Егер идентификатор бірегей емес болса, оның мәні даналардың кейбір жиынын көрсетеді. EmployeePersonnelNumber бірегей идентификатор болуы мүмкін, ал EmployeeName бірегей емес идентификатор (мысалы, Джон Смит атты бірнеше қызметкер болуы мүмкін).

Бірнеше атрибуттардан тұратын идентификаторлар деп аталадықұрама құрама идентификаторлар. Мысалдар пішін жинақтарын (Аймақ коды, Жергілікті нөмір), (Жоба атауы, тапсырма атауы) және (Аты, Тегі, Қосымша телефон нөмірі) қамтиды.

Қосылымдар

Субъектілер арасындағы қарым-қатынастар қатынастар арқылы көрінеді. Нысан-қатынас үлгісі қарым-қатынас кластарын және қатынас даналарын қамтиды. Қатынас кластары - нысан сыныптары арасындағы қатынастар, ал қатынас даналары - нысан даналарының арасындағы қатынастар. Қарым-қатынастардың атрибуттары болуы мүмкін.

Қарым-қатынас класы бірнеше нысан сыныптарын қамтуы мүмкін. Қарым-қатынасқа қатысатын субъект кластарының саны қатынас дәрежесі деп аталады. Суретте көрсетілген. 2 және САТУШЫ-ТАПСЫРЫС қатынасы 2-дәрежеге ие, өйткені ол субъектілердің екі сыныбын қамтиды: САТУШЫ және ТАПСЫРЫС. Суреттегі PARENT қосылымы. 2; b 3 дәрежесіне ие, өйткені ол субъектілердің үш класын қамтиды: АНА, ӘКЕ және БАЛА. 2-дәрежелі қатынастар өте кең таралған және көбінесе екілік қатынастар деп аталады.

2-сурет. Байланыстың әртүрлі дәрежелері: а - 2 дәрежелі байланыс; b - 3 дәрежелі байланыс

Екілік байланыстардың үш түрі

Суретте. 3-суретте екілік байланыстың үш түрі көрсетілген. 1:1 («бір-біріне») қатынасында бір түрдегі нысанның бір данасы басқа түрдегі нысанның бір данасымен байланысты. Суретте. 3 және ҚЫЗМЕТКЕР_КӨЛІК қатынасы ҚЫЗМЕТКЕР класының бір нысанын CAR сыныбының жалғыз нысанымен байланыстырады. Бұл кестеге сәйкес, бірде-бір қызметкерге бір көліктен артық, ал бірде-бір қызметкерге бірде-бір көлік тағайындалмайды.

Күріш. 3. Екілік байланыстың үш түрі: а - екілік байланыс 1:1; b - екілік байланыс 1:N; c - екілік байланыс N:M; d - тармақтарды пайдаланып байланыстың ұсынылуы

Суретте. 3, b қосылымның екінші түрін көрсетеді, 1:N («бірден N» немесе «бірден көп»). ЖАТАҚТАУ-РЕЗИДЕНТ деп аталатын бұл қарым-қатынаста ЖАТАҚТАУ сыныбының бір данасы СТУДЕНТ сыныбының нысанының көптеген даналарымен байланысты. Мына сурет бойынша жатақханада тұратын студенттер көп, бірақ әр студент бір ғана жатақханада тұрады.

1 және N пайда болатын орын маңызды. Бөлім ЖАТАҚТАУ орналасқан қосылым жағында, ал N СТУДЕНТ орналасқан қосылым жағында тұрады. Егер 1 және N керісінше болса және қатынас N:l деп жазылса, бұл бір студенттің жатақханада тұруына, әр студенттің бірнеше жатақханада тұруына әкеледі. Бұл, әрине, дұрыс емес.

Суретте. 3, c екілік қатынастың үшінші түрін көрсетеді, N:M («N-M» немесе «көптен көп» оқыңыз). Бұл қатынас STUDENT-CLUB деп аталады және ол STUDENT сыныбының нысандарының даналарын КЛУБ сыныбының нысандарының даналарына байланыстырады. Бір оқушы бірнеше үйірмеге мүше бола алады, ал бір үйірмеде көп оқушы болуы мүмкін.

Байланысты білдіретін гауһар тастың ішіндегі сандар қосылымның әр жағындағы нысандардың ең көп санын білдіреді. Бұл шектеулер максималды кардинал сандар деп аталады, ал қосылымның екі жағы үшін осындай екі шектеудің қосындысы қосылымның максималды кардиналдығы деп аталады. Мысалы, суретте көрсетілген қосылым туралы. 3, b, олар оның максималды кардиналдығы 1:N деп айтады. Негізгі сандар тек 1 және N мәндерінен басқа мәндерге ие болуы мүмкін. Мысалы, БАСКЕТБОЛ_КОМАНДАСЫ және ОЙЫНШЫ субъектілерінің арасындағы қатынас 1:5 түбегейлі болуы мүмкін, бұл баскетбол командасында бес ойыншыдан аспайтынын көрсетеді.

Суретте көрсетілген үш түрдегі қосылымдар. 3 кейде HAS-A қатынастары деп аталады. Бұл термин бір ұйымның басқа субъектімен қатынасы болғандықтан пайдаланылады. Мысалы: қызметкердің көлігі бар, студенттің жатақханасы бар, клубтың студенттері бар.

Суретте көрсетілген тізбектер. 3 нысанның қатынас диаграммалары немесе ER-диаграммалары деп аталады. Мұндай диаграммалар стандартталған, бірақ тым қатаң емес. Осы стандартқа сәйкес нысан сыныптары тіктөртбұрыштармен, қатынастар гауһар тастармен және әрбір қатынастың максималды негізгі саны гауһар тастың ішінде көрсетілген. Нысан атауы тіктөртбұрыштың ішінде пайда болады, ал қатынас атауы гауһар тастың жанында пайда болады. Кейбір ER диаграммалары гауһардың ішіндегі қатынас атауын қамтығанымен, алынған диаграмма ұсқынсыз болып көрінуі мүмкін, себебі гауһар тастарды орналастыру үшін үлкен және масштабтан тыс етіп жасау керек. қатынас атауы. Бұған жол бермеу үшін сілтеме атаулары кейде гауһар тастың үстіне жазылады. Атау гауһар тастың ішіне немесе үстіне орналастырылған кезде, қатынастың түбегейлілігі нысанды (немесе нысандарды) қатынастың көп жағымен байланыстыратын сызықтардағы тармақтармен бейнеленеді. Суретте. 3, d осындай филиалдармен ЖАТАҚТАУ-РЕЗИДЕНТ және СТУДЕНТ-КЛУБ байланыстарын көрсетеді.

Жоғарыда айтқанымыздай, максималды кардиналдық қатынасқа қатыса алатын субъектілердің максималды санын көрсетеді. Жоғарыдағы диаграммалар мұндай нысандардың ең аз саны қанша екенін көрсетпейді. Мысалы, сур. 3, b студенттің ең көп дегенде бір жатақханада тұруға болатынын көрсетеді, бірақ одан студенттің қандай да бір жатақханада тұруы талап етілетіні анық емес.

Ең төменгі кардиналдықты анықтаудың бірнеше жолы бар. Олардың бірі суретте көрсетілген. 4.

Күріш. 4. Көрсетілген минималды кардиналдықпен қатынас

Бұл әдіс келесідей: субъектінің қосылуға қатысуға міндетті екенін көрсету үшін қосылу сызығына перпендикуляр сызық қойылады және субъект қосылуға қатыса алатынын (бірақ міндетті емес) көрсету үшін сопақ қосылу сызығына орналастырылады. Сәйкесінше, күріш. 4 СТУДЕНТ нысаны кем дегенде бір СТУДЕНТ нысанымен байланысты болуы керек екенін көрсетеді, бірақ СТУДЕНТ нысаны ЖАҚСАТ нысанымен байланыстырылуы міндетті емес. Қарым-қатынасқа қойылған шектеулердің толық жиынтығы ЖАТАҚТАУ-дың ең аз негізгі саны бір және «көп» СТУДЕНТ субъектілерінің максималды негізгі саны бар. СТУДЕНТтің ең төменгі негізгі саны нөлге тең және ЖҰМАҚТАУ нысанының бір данасының максималды негізгі саны бар.

Бір сыныптың нысандары арасында қатынас болуы мүмкін. Мысалы, СТУДЕНТ сыныбының нысандары үшін ROOM NIGHBOR қатынасын анықтауға болады. Бұл байланыс суретте көрсетілген. 5, а және сур. 5b-суретте осы қатынас қамтылған нысандардың даналары көрсетілген. Бір кластың субъектілері арасындағы қатынастарды кейде рекурсивті қатынастар деп те атайды.

5-сурет Рекурсивті байланыс

Нақты дерекқор құрылымын жобалауда әдіс қолданылады - деп аталатын семантикалық модельдеу. Семантикалық модельдеу – бұл деректердің мағынасына негізделген деректер құрылымын модельдеу. Семантикалық модельдеу құралы ретінде әртүрлі опциялар қолданылады нысан қатынасының диаграммалары(ER - нысан-қатынас).

Субъект-қатынас моделінің бірінші нұсқасын 1976 жылы Питер Пин-Шен Чен ұсынған. Кейіннен көптеген авторлар мұндай модельдердің өзіндік нұсқаларын әзірледі (Мартин белгісі, IDEF1X белгісі, Баркер белгісі және т.б.). Сонымен қатар, бірдей белгілерді жүзеге асыратын әртүрлі бағдарламалық құралдар өздерінің мүмкіндіктері бойынша әртүрлі болуы мүмкін. Шындығында, нысан-қатынас диаграммаларының барлық нұсқалары бір идеядан туындайды - сызба әрқашан мәтіндік сипаттамаға қарағанда айқынырақ. Барлық осындай диаграммалар домен нысандарының графикалық көрінісін, олардың қасиеттерін (атрибуттарын) және нысандар арасындағы қатынастарды пайдаланады.

Біз Баркер белгілеуіне жақын ER диаграммаларымен жұмыс істеуді негізгі идеяларды түсіну оңай деп сипаттаймыз. Бұл тарауда салаға толық кіріспеден гөрі семантикалық модельдеу әдістерінің иллюстрациясы көбірек.

ER диаграммаларының негізгі түсініктері

Анықтама 1: Мәнібір типті объектілер класы болып табылады, олар туралы ақпарат модельде ескерілуі керек.
Әрбір заттың жеке зат есіммен көрсетілген атауы болуы керек. Субъектілердің мысалдары ретінде «Жабдықтаушы», «Қызметкер», «Шот-фактура» сияқты объект кластары болуы мүмкін. Үлгідегі әрбір нысан атауы бар тіктөртбұрыш ретінде бейнеленген:

Күріш. 1

Анықтама 2: Нысан данасыберілген субъектінің нақты өкілі болып табылады.
Мысалы, «Қызметкер» субъектісінің өкілі «Иванов қызметкері» бола алады. Нысан даналары ерекшеленуі керек, яғни. нысандарда сол нысанның әрбір данасына бірегей сипаттар болуы керек.

Анықтама 3: Нысан төлсипатынысанның кейбір қасиеті болып табылатын аталған сипаттама.
Атрибуттың атауы жеке зат есім ретінде көрсетілуі керек (мүмкін, сипаттайтын сын есімдермен). «Қызметкер» субъектісінің атрибуттарының мысалдары ретінде «Персонал нөмірі», «Тегі», «Аты», «Әкесінің аты», «Лауазымы», «Еңбекақысы» және т.б. Атрибуттар нысанды анықтайтын тіктөртбұрышта бейнеленген:

Күріш. 2

Анықтама 4: Нысан кілтімәндері бірге нысанның әрбір данасы үшін бірегей болатын атрибуттардың артық емес жиыны болып табылады. Артық емес кез келген атрибутты кілттен алып тастау оның бірегейлігін бұзатынын білдіреді. Нысанның бірнеше түрлі кілттері болуы мүмкін. Негізгі атрибуттар диаграммада асты сызылған түрде көрсетілген:

Күріш. 3

Анықтама 5: Байланыс- бұл екі субъектінің арасындағы қандай да бір бірлестік. Бір нысан басқа нысанға немесе өзіне қосылуы мүмкін.
Қарым-қатынастар бір субъектіге оған қатысты басқа нысандарды табуға мүмкіндік береді. Мысалы, субъектілер арасындағы байланыстарды келесі сөз тіркестері арқылы көрсетуге болады - «ҚЫЗМЕТКЕРДІҢ БІРШЕ БАЛАСЫ болуы мүмкін», «Әр ҚЫЗМЕТКЕР дәл бір БӨЛІМДЕ тіркелуі керек». Графикалық түрде қатынас екі нысанды байланыстыратын сызықпен бейнеленген:

Күріш. 4

Әрбір сілтеменің екі ұшы және бір немесе екі атауы бар. Атау әдетте белгісіз вербальды түрде беріледі: “to have”, “to belong” т.б. Әрбір атау қосылымның өз соңын білдіреді. Кейде атаулар анық болғандықтан жазылмайды.

Әрбір сілтемеде төмендегілердің біреуі болуы мүмкін байланыс түрлері:

Күріш. 5

Байланыс түрі бір-бірбірінші нысанның бір данасы (сол жақта) екінші нысанның бір данасымен байланысты екенін білдіреді (оң жақта). Біреудің қатынасы көбінесе бізде дұрыс емес екіге бөлінген бір ғана нысан бар екенін көрсетеді.

Байланыс түрі бір-көпбірінші нысанның (сол жақта) бір данасы екінші нысанның (оң жақта) бірнеше даналарымен байланысты екенін білдіреді. Бұл коммуникацияның ең жиі қолданылатын түрі. Сол жақ тұлға («бір» жағында) шақырылады ата-аналық, оң («көп» жағынан) - еншілес ұйым. Мұндай қосылыстың типтік мысалы суретте көрсетілген. 4.

Байланыс түрі көптен көпкебірінші нысанның әрбір данасы екінші нысанның бірнеше даналарымен және екінші нысанның әрбір данасы бірінші нысанның бірнеше даналарымен байланыстырылуы мүмкін дегенді білдіреді. «Көптен көпке» қатынас түрі модельді әзірлеудің бастапқы кезеңдерінде қолайлы уақытша қатынас түрі болып табылады. Болашақта қатынастың бұл түрі аралық нысан құру арқылы екі бір-көп қатынасымен ауыстырылуы керек.

Әрбір қосылым екінің біреуіне ие болуы мүмкін коммуникация әдістері:

Күріш. 6

Модальды» Мүмкін" бір нысанның данасы басқа нысанның бір немесе бірнеше даналарымен байланысты болуы мүмкін немесе ешқандай данамен байланыстырылмауы мүмкін дегенді білдіреді.
Модальды» міндетті" бір нысанның данасы басқа нысанның кем дегенде бір данасымен байланысты болуы керек дегенді білдіреді.
Байланыстың әртүрлі ұштарында әртүрлі модальді болуы мүмкін (4-суреттегідей). Сипатталған графикалық синтаксис келесі фразалық құрылымды пайдаланып диаграммаларды бір мәнді оқуға мүмкіндік береді:

<Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>

Әрбір сілтемені солдан оңға немесе оңнан солға қарай оқуға болады. Суреттегі қосылым. 4 келесідей оқылады:

Солдан оңға қарай: «әр қызметкердің бірнеше баласы болуы мүмкін».
Оңнан солға қарай: «Әр бала бір қызметкерге тиесілі болуы керек».

Қарапайым ER моделін әзірлеудің мысалы

ER модельдерін жасау кезінде біз тақырыптық аймақ туралы келесі ақпаратты алуымыз керек:

  1. Домен нысандарының тізімі.
  2. Нысан атрибуттарының тізімі.
  3. Субъектілер арасындағы қатынастарды сипаттау.

ER диаграммалары ыңғайлы, себебі нысандарды, атрибуттарды және қатынастарды анықтау процесі итеративті. Диаграммалардың бірінші шамамен нұсқасын әзірлегеннен кейін, біз оларды тақырып бойынша сарапшылармен сұхбаттасу арқылы нақтылаймыз. Бұл жағдайда сөйлесулердің нәтижелері жазылған құжаттаманың өзі ER диаграммалары болып табылады.

Алдымызда белгілі бір көтерме сауда компаниясының ақпараттық жүйесін әзірлеу міндеті тұр деп есептейік. Ең алдымен, біз пәндік аймақты және онда болып жатқан процестерді зерттеуіміз керек. Ол үшін біз компания қызметкерлерімен сұхбаттасамыз, құжаттаманы оқимыз, тапсырыс үлгілерін, шот-фактураларды және т.б.

Мысалы, сату жөніндегі менеджермен әңгімелесу кезінде ол (менеджер) жобаланатын жүйе келесі әрекеттерді орындауы керек деп есептейтіні белгілі болды:

  • Тұтынушы туралы ақпаратты сақтау.
  • Шығарылған тауарларға шот-фактураларды басып шығару.
  • Қоймадағы тауарлардың болуын қадағалау.

Осы сөйлемдердегі барлық зат есімдерді таңдап алайық - бұл субъектілер мен атрибуттарға ықтимал үміткерлер болады және оларды талдаймыз (сұрақ белгісімен түсініксіз терминдерді бөлектейміз):

  • Сатып алушы ұйымға нақты үміткер болып табылады.
  • Шот-фактура ұйымға нақты үміткер болып табылады.
  • Өнім ұйымға нақты үміткер болып табылады
  • (?)Қойма – жалпы кәсіпорында қанша қойма бар? Егер бірнеше болса, онда ол жаңа ұйымға үміткер болады.
  • (?) Өнімнің қолжетімділігі, ең алдымен, атрибуты, бірақ қандай нысанның атрибуты болуы мүмкін?

Субъектілер арасында бірден айқын байланыс пайда болады - «сатып алушылар көп тауарларды сатып ала алады» және «тауарларды көптеген сатып алушыларға сатуға болады». Диаграмманың бірінші нұсқасы келесідей:

Күріш. 7

Менеджерге қосымша сауалдар қойғаннан кейін кәсіпорынның бірнеше қоймасы бар екенін білдік. Оның үстіне әрбір өнімді бірнеше қоймада сақтауға және кез келген қоймадан сатуға болады.

«Шот-фактура» және «Қойма» нысандарын қайда орналастыруым керек және оларды немен байланыстыруым керек? Осы нысандардың бір-бірімен және «Сатып алушы» және «Өнім» субъектілерімен қандай байланысы бар деп өзімізден сұрап көрейікші? Сатып алушылар тауарларды сатып алады және сатып алынған тауарлардың саны мен бағасы туралы мәліметтерді қамтитын шот-фактураларды алады. Әрбір сатып алушы бірнеше шот-фактураларды ала алады. Әрбір шот-фактура бір сатып алушыға берілуі керек. Әрбір шот-фактурада бірнеше тауар болуы керек (бос шот-фактуралар жоқ). Әрбір өнім өз кезегінде бірнеше сатып алушыға бірнеше шот-фактура арқылы сатылуы мүмкін. Сонымен қатар, әрбір шот-фактура белгілі бір қоймадан шығарылуы керек және көптеген шот-фактураларды кез келген қоймадан шығаруға болады. Осылайша, нақтылаудан кейін диаграмма келесідей болады:

Күріш. 8

Нысанның атрибуттары туралы ойланатын кез келді. Компания қызметкерлерімен әңгімелесу барысында біз мынаны білдік:

  • Әрбір сатып алушы заңды тұлға болып табылады және оның аты-жөні, мекенжайы және банктік деректемелері болады.
  • Әрбір өнімнің атауы, бағасы бар, сонымен қатар өлшем бірліктерімен сипатталады.
  • Әрбір шот-фактураның бірегей нөмірі, берілген күні, саны мен бағасы көрсетілген тауарлардың тізімі, сондай-ақ шот-фактураның жалпы сомасы болады. Шот-фактура белгілі бір қоймадан және нақты сатып алушыға беріледі.
  • Әр қойманың өз атауы бар.
  • Потенциалды атрибут болатын барлық зат есімдерді қайта жазып, оларды талдап көрейік:
  • Заңды тұлға - бұл риторикалық термин, біз жеке тұлғалармен жұмыс істемейміз. Біз мән бермейміз.
  • Сатып алушының аты-жөні сатып алушының айқын сипаттамасы болып табылады.
  • Мекенжай – сатып алушының айқын сипаттамасы.
  • Банктік деректемелер сатып алушының айқын сипаттамасы болып табылады.
  • Өнімнің атауы өнімнің айқын сипаттамасы болып табылады.
  • (?) Тауардың бағасы – бұл тауарға тән қасиет сияқты. Бұл сипаттама шот-фактурадағы бағадан айырмашылығы бар ма?
  • Өлшем бірлігі - өнімнің айқын сипаттамасы.
  • Шот-фактураның нөмірі шот-фактураның айқын бірегей сипаттамасы болып табылады.
  • Шот-фактураның күні шот-фактураның айқын сипаттамасы болып табылады.
  • (?) Шот-фактурадағы тауарлар тізімі – тізім атрибут бола алмайды. Бұл тізімді бөлек нысанға бөлу қажет болуы мүмкін.
  • (?) Шот-фактурадағы тауардың саны айқын сипаттама, бірақ ненің сипаттамасы? Бұл жай ғана «өнімге» емес, «шот-фактурадағы өнімге» тән қасиет.
  • (?) Тауардың шот-фактурадағы бағасы – тағы да бұл тауардың жай ғана сипаттамасы емес, шот-фактурадағы тауардың сипаттамасы болуы керек. Бірақ өнімнің бағасы жоғарыда көрсетілген - бұл бірдей ме?
  • Шот-фактура сомасы шот-фактураның айқын сипаттамасы болып табылады. Бұл қасиет тәуелсіз емес. Шот-фактураның сомасы шот-фактураға енгізілген барлық тауарлардың шығындарының сомасына тең.
  • Қойма атауы қойманың айқын сипаттамасы болып табылады.

Менеджермен қосымша әңгіме барысында бағаның әртүрлі түсініктерін нақтылауға мүмкіндік туды. Әрбір өнімнің белгілі бір ағымдағы бағасы болатыны белгілі болды. Бұл өнім қазіргі уақытта сатылып жатқан баға. Әрине, бұл баға уақыт өте келе өзгеруі мүмкін. Әр түрлі уақытта шығарылған әртүрлі шот-фактуралардағы бір өнімнің бағасы әртүрлі болуы мүмкін. Осылайша, екі баға бар - шот-фактурадағы тауардың бағасы және тауардың ағымдағы бағасы.

«Шот-фактурадағы тауарлар тізімі» пайда болған тұжырымдамамен бәрі анық. «Шот-фактура» және «Өнім» нысандары бір-бірімен көп-көп қатынасы арқылы байланысты. Мұндай қарым-қатынас, бұрын атап өткеніміздей, екі «бірден көпке» қатынасқа бөлінуі керек. Бұл қосымша нысанды қажет етеді. Бұл нысан «Шот-фактурадағы тауарлар тізімі» нысаны болады. Оның «Шот-фактура» және «Өнім» субъектілерімен байланысы келесі тіркестермен сипатталады - «әрбір шот-фактурада шот-фактурадағы тауарлар тізімінен бірнеше жазба болуы керек», «шот-фактурадағы тауарлар тізіміндегі әрбір жазба міндетті түрде қосылуы керек. дәл бір шот-фактурада», «әрбір өнім шот-фактурадағы тауарлар тізімінен бірнеше жазбаға енгізілуі мүмкін», «шот-фактурадағы тауарлар тізіміндегі әрбір жазба дәл бір өніммен байланысты болуы керек». «Шот-фактурадағы тауарлардың саны» және «Шот-фактурадағы тауардың бағасы» атрибуттары «Шот-фактурадағы тауарлар тізімі» субъектісінің атрибуттары болып табылады.

«Қойма» және «Өнім» субъектілерін байланыстыратын қосылыммен де солай істейміз. «Қоймадағы зат» қосымша субъектісін енгізейік. Бұл нысанның атрибуты «Қоймадағы тауарлардың саны» болады. Осылайша, өнім кез келген қоймада тізімде болады және оның әр қоймадағы саны әртүрлі болады.

Енді мұның барлығын диаграммаға салуға болады:

Күріш. 9

Концептуалды және физикалық ER модельдері

Жоғарыда әзірленген ER диаграммасының мысалы мысал болып табылады тұжырымдамалық диаграмма. Бұл диаграмма нақты ДҚБЖ ерекшеліктерін ескермейтінін білдіреді. Осы тұжырымдамалық диаграммадан сіз құрастыра аласыз физикалық диаграмма, ол қазірдің өзінде ДҚБЖ-ның рұқсат етілген түрлері мен өрістер мен кестелердің атаулары, тұтастық шектеулері және т.б. сияқты ерекшеліктерін ескереді. Суретте көрсетілген диаграмманың физикалық нұсқасы. 9 келесідей болуы мүмкін, мысалы:

Күріш. 10

Бұл диаграммада әрбір нысан дерекқор кестесін көрсетеді, әрбір атрибут сәйкес кестенің бағанына айналады. Көптеген кестелерде, мысалы, «Шот-фактуралар тізімінің жазбасы» және «Қоймадағы зат» субъектілеріне сәйкес келетін «CUST_DETAIL» және «PROD_IN_SKLAD» тұжырымдамалық үлгіде жоқ жаңа атрибуттар пайда болғанын ескеріңіз - бұл кілт негізгі кестелердің атрибуттары, қоныс аудардысыртқы кілттердің көмегімен кестелер арасындағы қатынасты қамтамасыз ету үшін еншілес кестелерге.

Алынған кестелер бірден 3NF-де екенін байқау оңай.

Қорытындылар

Мәліметтерді модельдеудің нақты құралы қарым-қатынастарды қалыпқа келтірудің формальды әдісі емес, деп аталатын әдіс болып табылады семантикалық модельдеу.

Семантикалық модельдеу құралы ретінде әртүрлі опциялар қолданылады нысан қатынасының диаграммалары(ER - нысан-қатынас).

Нысан-қатынас диаграммалары нысандарды және олардың қарым-қатынастарын модельдеу үшін көрнекі графикалық белгілерді пайдалануға мүмкіндік береді.

Айырмау тұжырымдамалықЖәне физикалық ER диаграммалары. Концептуалды диаграммалар нақты ДҚБЖ-ның спецификалық ерекшеліктерін ескермейді. Физикалық диаграммалар концептуалдыларға негізделген және нақты деректер қорының прототипін білдіреді. Концептуалды диаграммада анықталған нысандар кестелерге, атрибуттар кесте бағандарына айналады (берілген ДҚБЖ үшін рұқсат етілген деректер түрлері мен баған атауларын ескере отырып), қосылымдар көші-қоннегізгі нысандардың негізгі атрибуттары және сыртқы кілттерді жасау.

Егер нысандар дұрыс анықталған болса, нәтиже кестелері бірден 3NF ішінде болады. Әдістің басты артықшылығы - модель бастапқы диаграммаларды дәйекті нақтылау арқылы құрастырылады.

ER модельдеу әдістерінің иллюстрациясы болып табылатын бұл тарауда ішкі түрлер, рөлдер, эксклюзивті қатынастар, берілмейтін қатынастар, байланыстарды анықтау және т.б. сияқты диаграмма құрудың күрделі аспектілері қарастырылмаған.

Нысан-атрибут-қатынас үлгісін 1976 жылы Питер Пин-Шен Ченоу ұсынған. Дерекқорды жобалаудың қазіргі заманғы тәсілдерінің көпшілігі (негізінен реляциялық) ER моделінің вариацияларын пайдалануға негізделген. Доменді модельдеу гетерогенді компоненттердің аз санын қамтитын графикалық диаграммаларды пайдалануға негізделген. Мәліметтер қорының тұжырымдамалық диаграммаларын көрсетудің анықтығына байланысты ER модельдері реляциялық мәліметтер қорын автоматтандырылған жобалауды қолдайтын CASE жүйелерінде кеңінен қолданылады.

ER моделінің негізгі ұғымдары болып субъект, атрибут және қатынас табылады.

Мәні– ақпаратты қызықтыратын нақты немесе ойдан шығарылған объект. ER үлгісі диаграммаларында нысан нысан атауын қамтитын тіктөртбұрыш ретінде көрсетіледі. Бұл жағдайда нысанның атауы белгілі бір нысан - осы түрдің данасы емес, түрдің атауы болып табылады. Нысанның әрбір данасы сол нысанның басқа даналарынан ерекшеленуі керек.

Қарым-қатынас – екі нысан арасында орнатылған графикалық түрде бейнеленген бірлестік. Бұл байланыс әрқашан екілік болып табылады және екі түрлі нысан арасында немесе нысан мен оның арасында болуы мүмкін (рекурсивті қатынас). Кез келген байланыста екі ұш анықталады (байланысты субъектілер жұбына сәйкес), олардың әрқайсысы қосылым соңының атауын, қосылымның аяқталу дәрежесін көрсетеді (осы тұлғаның қанша данасы қосылған) , қосылымның міндетті сипаты (яғни, осы нысанның кез келген данасы осы байланысқа қатысуы керек пе).

Қосылым екі нысанды қосатын немесе нысаннан өзіне апаратын сызық ретінде көрсетіледі. Бұл жағдайда қосылым нысанмен «қосылу» нүктесінде нысанның тіктөртбұрышына үш нүктеден тұратын жазба пайдаланылады, егер қосылымда осы нысан үшін нысанның көптеген даналары пайдаланылуы мүмкін болса және бір нүктелі жазба, егер қосылымға нысанның тек бір данасы қатыса алатын болса. Қосылымның қажетті ұшы тұтас сызықпен, ал қосымша соңы үзік сызықпен бейнеленген.

Нысан сияқты қарым-қатынас жалпы ұғым болып табылады. Суретте. 1. Субъектілердің бейнесі және олардың арасындағы байланыс мысалы келтірілген. Бұл диаграмманы келесідей түсіндіруге болады:

Әрбір СТУДЕНТ тек бір ТОПта оқиды;

Кез келген ТОП бір немесе бірнеше СТУДЕНТтерден тұрады.

Күріш. 1. Субъектілер арасындағы қарым-қатынас

Суретте. 2-суретте MAN мәні оны өзімен байланыстыратын рекурсивті байланыспен бейнеленген. Бейнеленген диаграмманың қысқаша ауызша түсіндірмесі келесідей:

Әрбір АДАМ – бір ғана АДАМНЫҢ ұлы;

Әрбір АДАМ бір немесе бірнеше АДАМДАР («АДАМДАР») әкесі бола алады.

Күріш. 2. Рекурсивті байланыс

Нысан төлсипаты - бұл нысанның күйін нақтылауға, анықтауға, жіктеуге, сандық бағалауға немесе көрсетуге қызмет ететін кез келген мәліметтер. Атрибут атаулары нысанды білдіретін тіктөртбұрышқа нысан атауының астына енгізіледі және кіші әріптермен бейнеленеді:

Нысанның бірегей идентификаторы – нысанның кез келген данасын бір түрдегі нысанның басқа даналарынан ерекше түрде ерекшелендіретін атрибут, атрибуттардың тіркесімі, қатынастар комбинациясы немесе қатынастар мен атрибуттардың тіркесімі. Бұл ER деректер үлгісіндегі ең маңызды ұғымдар. Модельдің күрделірек элементтеріне мыналар жатады.

Көптен көпке қатынас.Кейде субъектілерді звеноның екі жағында да субъектінің бірнеше даналары болуы мүмкін етіп байланыстыру қажет (мысалы, кооперативтің барлық мүшелері кооперативтің мүлкін бірлесіп иеленеді). Ол үшін «көптен көпке» қатынасының түрі енгізіледі.

Белгіленген қосылым деңгейлері.Кейде берілген қатынасқа қатысатын нысан даналарының ықтимал санын анықтау пайдалы (мысалы, қызметкерге бір уақытта үш жобадан артық емес қатысуға рұқсат етіледі). Бұл мағыналық шектеуді білдіру үшін жалғаудың соңында оның максималды немесе міндетті дәрежесін көрсетуге рұқсат етіледі.

Нысан даналарының каскадты жоюлары.Кейбір қатынастардың (әрине, бір-көп қатынасы жағдайында) күшті болғаны сонша, сілтеме нысан данасын (қарым-қатынастың «бір» соңына сәйкес) жойған кезде, сәйкес келетін барлық нысан даналарын жою керек. қарым-қатынастың «көп» соңына дейін. «Каскадты жою» үшін сәйкес талап нысанды анықтау кезінде тұжырымдалуы мүмкін.

Домендер.Реляциялық деректер үлгісі сияқты, нысан (домен) төлсипаты үшін ықтимал жарамды мәндер жинағын анықтай алу пайдалы.

Нысан қатынасы деректер үлгісінің осы және басқа күрделі элементтері оны күштірек етеді, сонымен қатар оны пайдалануды біршама қиындатады. Әрине, дерекқорды жобалау үшін ER диаграммаларын нақты пайдаланған кезде, сіз барлық мүмкіндіктермен танысуыңыз керек.

Көбінесе тәжірибеде ER модельдеу мәліметтер базасын жобалаудың бірінші кезеңінде қолданылады. Оның нәтижесі, әдетте, ER моделінің терминдерінде көрсетілген пәндік саланың концептуалды моделі болып табылады.

Келесі кезеңге — деректер базасының схемасын модельдеуге көшкен кезде әзірлеуші ​​доменнің концептуалды моделін қолданбалы деректер үлгісі (мысалы, реляциялық) тұрғысынан өрнектеу мәселесіне тап болады. Бұл мәселені шешудің үш тәсілі бар.

Бірінші тәсілпәндік аймақтың концептуалды моделін дерекқор схемасына қолмен түрлендіруден тұрады, мұндай түрлендірудің барлық кезеңдері жеткілікті түрде нақты көрсетілген әдістерге сәйкес орындалады.

Екінші тәсілдепәндік саланың концептуалды моделін деректер базасының схемасына автоматтандырылған құрастыру (көбінесе реляциялық) жүзеге асырылады. Тәсілдің екі түрі бар:

құрастыру үшін бастапқы ақпарат ретінде пәндік саланың концептуалды моделін айқын көрсетуге негізделген тәсіл;

пән сарапшыларымен сұхбат негізінде пәндік саланың концептуалды моделін автоматтандырылған құру арқылы біріктірілген жобалау жүйелерін құруға бағытталған тәсіл.

Екі жағдайда да нәтиже үшінші қалыпты пішіндегі реляциялық дерекқор схемасы болып табылады.

Ақырында, үшінші тәсіл –Бұл семантикалық модельдегі деректер қорымен тікелей жұмыс, яғни. деректердің семантикалық үлгілері негізінде ДҚБЖ пайдалану. Тағы да екі нұсқа қарастырылуда.

Бірінші нұсқа – реляциялық деректер үлгісіне құрылымдарды автоматты түрде салыстыру арқылы семантикалық деректер үлгісіне негізделген пайдаланушы интерфейсін қамтамасыз ету (бұл доменнің концептуалды моделін дерекқор схемасына автоматты түрде құрастыру сияқты күрделілік деңгейінің шамамен бірдей тапсырмасы). ).

Екінші нұсқа – кейбір семантикалық деректер үлгісіне негізделген ДҚБЖ тікелей жүзеге асырылуы.

Екінші нұсқаға ең жақыны қазіргі заманғы объектілі-бағытталған ДҚБЖ болып табылады, олардың деректер үлгілері көп жағынан семантикалық модельдерге жақын (бірақ кейбір аспектілерде олар күштірек, ал басқаларында әлсіз). Жалпы алғанда, бұл тәсіл әлі де ғылыми-зерттеу және эксперименттік жобалар шеңберінен шыққан жоқ деп айтуға болады.

Қазіргі уақытта бағдарламалық қамтамасыз ету нарығында пәндік саланы концептуалды модельдеуге мүмкіндік беретін көптеген әмбебап (нақты ДҚБЖ-мен байланысы жоқ) компьютерлік қолдау көрсетілетін деректер қорын жобалау пакеттері пайда болды. Осы түрдегі барлық дерлік жүйелер ER моделінің бір немесе басқа интерпретациясына негізделген. Мұндай жүйелер жоғарыда қарастырылған тәсілдердің екіншісін жүзеге асыру болып табылады. Осы саладағы ең танымал бағдарламалық өнімдердің бірі - Platinum ERwin.

Деректер үлгілері

Нысандардың, атрибуттардың және қатынастардың деректер құрылымдарына салыстыру жолы деректер үлгісімен анықталады. 4 негізгі деректер моделі бар – тізімдер, реляциялық мәліметтер базасы, иерархиялық және желілік құрылымдар. Оларды толығырақ қарастырайық.

Ең қарапайым түрі тізім – сызықтық реттілік түріндегі деректер құрылымы.

Ағаштың иерархиялық құрылымдары адамның күнделікті іс-әрекетінде кеңінен қолданылады. Деректердің иерархиялық үлгілері мәліметтерді ұсынудың графиктік және кестелік формаларын пайдалануға негізделген. Графикалық дерекқор схемалық диаграммасында сызбаның шыңы нысандардың түрлерін интерпретациялау үшін, ал доғалар нысан түрлері арасындағы байланыс түрлерін түсіндіру үшін пайдаланылады. Орындалған кезде шыңдар сәйкес түрдегі нысандар даналарының сипаттамаларының кестелерімен ұсынылады. Суретте. 3-суретте деректер қорының иерархиялық ағаш құрылымының мысалы көрсетілген.

Күріш. 3. Мәліметтер қорының иерархиялық ағаш құрылымы

Иерархиялық деректер моделінің негізгі ішкі шектеулері мыналар:

– қосылымдардың барлық түрлері функционалды болуы керек, яғни. 1:1, 1:М, М:1;

– байланыстардың құрылымы ағаш тәрізді болуы керек.

Бұл шектеулердің нәтижесі иерархиялық үлгідегі мәліметтерді құрылымдау процесінің бірқатар ерекшеліктері болып табылады.

Ағаш құрылымы немесе ағаш, -бұл циклдар жоқ байланыстырылған бағытталмаған график. Әдетте, ағашпен жұмыс істегенде, белгілі бір шыңды таңдап, оны ретінде анықтайды тамырағаш және арнайы қарастырылады - бұл шыңға бірде-бір шеті бармайды. Бұл жағдайда ағаш бағдарланған болады. Бағдар әдетте түбірден анықталады.

Бағытталған график ретінде тамырлы ағашты келесідей анықтауға болады:

– түбір деп аталатын жалғыз ерекше төбесі бар, оған шеттері кірмейді;

– барлық басқа шыңдарға бір ғана жиек кіреді, ал шеттердің ерікті саны шығады;

– циклдар жоқ.

Түбірден бағдарланған иерархиялық ағаш құрылымы келесі шарттарды қанағаттандырады:

– иерархия әрқашан түбірлік түйіннен басталады;

– иерархияның бірінші деңгейінде тек түбір түйін болуы мүмкін;

– төменгі деңгейлерде орналасқан құрылған(тәуелді) түйіндер;

– L деңгейінде орналасқан әрбір уылдырық түйіні , тек біреуіне тікелей қосылады түпнұсқаағаш иерархиясының жоғары (L – 1) деңгейінде орналасқан түйін (тікелей тектік түйін);

– әрбір бастапқы түйінде шақырылатын бір немесе бірнеше тікелей жасалған түйіндер болуы мүмкін ұқсас;

– әрбір еншілес түйінге қол жеткізу оның тікелей бастапқы түйіні арқылы орындалады;

– ағаштың түбірінен басталатын түйінге бірыңғай иерархиялық кіру жолы бар (4-сурет).

Күріш. 4. Түйінге қол жеткізудің иерархиялық жолы

Басқаша айтқанда, білімді көрсетудің иерархиялық моделі (немесе ағаш) әрбір түйінде бір ғана «ата-анасы» болатын деректер құрылымы, яғни. доминантты түйін (ең жоғарғы түйіннен басқа) және «ұрпақтардың» шексіз саны, яғни. берілген түйін үстемдік ететін түйіндер.

Желілік деректер үлгілері де деректерді ұсынудың графиктік формасын пайдалануға негізделген. Графиктің шыңдары нысандардың түрлерін интерпретациялау үшін, ал доғалар қатынастар түрлерін түсіндіру үшін қолданылады. Білімді көрсетудің желілік моделі – бұл әрбір объект иерархиялық бейнелеуден айырмашылығы, бірнеше басым түйінге ие болатын деректер құрылымы (5-сурет).

Күріш. 5. Желі құрылымы

70-жылдары теориялық зерттеулер белсенді түрде жүргізіле бастады реляциялық деректер моделі.Дербес компьютерлердің пайда болуымен ақпараттық жүйелер нарығында реляциялық модельдер үстемдік ете бастады. Білімнің реляциялық көрінісі– білімнің қарым-қатынас түрінде бейнеленуі.

Реляциялық деректер үлгісіне сәйкес деректер терминдермен тұжырымдалған операцияларды орындауға болатын кестелер жиынтығы ретінде ұсынылады. реляциялық алгебра немесе реляциялық есептеу.

Логикалық дизайн

Ұсынылған деректер қорын жобалау әдістемесінде барлық әзірлеу процесі үш негізгі кезеңге бөлінеді: тұжырымдамалық, логикалық және физикалық жобалау. Логикалық мәліметтер қорын жобалаунақты ДҚБЖ ерекшеліктеріне және басқа физикалық жағдайларға тәуелсіз пайдаланушы деректерінің жеке үлгілеріне негізделген кәсіпорынның жалпы ақпараттық моделін құру процесі болып табылады.

Алдыңғы кезеңде пайдаланушылардың пәндік ортаны түсінуін көрсететін жергілікті концептуалды деректер үлгілерінің жиынтығы алынды. Дегенмен, бұл үлгілерде кәдімгі ДҚБЖ түрлерінде енгізу қиын болатын кейбір деректер құрылымдары болуы мүмкін. Бұл кезеңде мұндай деректер құрылымдары бар ДҚБЖ ортасында жүзеге асырылған кезде қиындық тудырмайтын пішінге түрлендіріледі. Айта кету керек, бұл әрекеттер деректер қорының логикалық дизайнының бөлігі емес. Дегенмен, ұсынылған процедура әзірлеушіні әрбір деректер элементінің мағынасы туралы мұқият ойластыруға мәжбүр етеді, бұл модельдің нақты кәсіпорынның сипаттамаларын көрсету дәлдігіне оң әсер етеді. Бұл кезеңде келесі әрекеттер орындалады:

1. Түр сілтемелерін жою М:Н.

2. Күрделі байланыстарды жою.

3. Рекурсивті байланыстарды жою.

4. Атрибуттары бар сілтемелерді жою.

5. Бірнеше атрибуттарды жою.

6. 1:1 қосылымдарын қайта тексеру.

7. Артық қосылымдарды жою.

1. M:N қосылымдарын жою.Егер концептуалды модель сияқты байланыстар болса М:Н(«көптен көпке»), содан кейін олар кейбір аралық нысанды анықтау арқылы жойылуы керек. Байланыс түрі М:Н 1 типті екі қосылыммен ауыстырылады: М, жаңадан жасалған нысанмен орнатылған.

Мысал ретінде келесіні қарастырайық М:Нбайланыс: газет жалға берілетін жылжымайтын мүлік туралы хабарландыруларды басып шығарады (Cурет 6)

Күріш. 6. М:Нбайланыс

Бұл қатынасты шешу үшін біз ХАБАРЛАМА аралық нысанды анықтаймыз және екі жаңа 1 типті қатынас жасаймыз: М. Нәтижесінде қосылым сияқты М:Некі байланыспен ауыстырылады (Cурет 7).

Күріш. 7. 1 типті қосылымдар: М

2. Күрделі байланыстарды жою.Күрделі қатынас дегеніміз үш немесе одан да көп нысандар түрлерінің арасында болатын қатынас. Егер концептуалды модельде күрделі қатынас болса, оны аралық нысанды қолдану арқылы шешу керек. Күрделі қосылым 1 типті екілік қосылымдардың қажетті санымен ауыстырылады: М, жаңадан жасалған нысанмен орнатылған. Мысалы, «Жалдауға» үштік қатынасы (гауһар таспен бейнеленген) жалға беруді ұйымдастыратын компания қызметкері, жер учаскесі және жалға алушы арасындағы қарым-қатынасты көрсетеді (Cурет 8).

Күріш. 8. Күрделі коммуникация

Бұл күрделі қатынасты жаңа нысанды енгізу және оның және күрделі қатынастағы бастапқы нысандардың әрқайсысы арасындағы екілік қатынастарды анықтау арқылы жеңілдетуге болады.

Біздің мысалда «Жалға алу» қатынасын Келісім деп аталатын жаңа әлсіз нысанды енгізу арқылы жоюға болады. Жаңадан жасалған нысан бастапқы нысандарға үш жаңа екілік сілтемелер арқылы қосылады (Cурет 9).

Күріш. 9. Күрделі коммуникацияны жеңілдету

3. Рекурсивті байланыстарды жою.Рекурсивті қатынастар - бұл белгілі бір түрдегі субъект өзімен өзара әрекеттесетін қатынастар. Егер концептуалды модель рекурсивті қатынастарды қамтыса, олар кейбір аралық нысанды анықтау арқылы шешілуі керек. Мысалы, жұмысшылардың бірі басқа жұмысшылар тобын басқаратын жағдайды көрсету үшін «бірден көпке» рекурсивті қатынас орнатуға болады (1: М).

4. Атрибуттары бар сілтемелерді жою.Егер концептуалды модельде өз атрибуттары бар қатынастар болса, олар жаңа нысан құру арқылы түрленуі керек. Мысалы, кәсіпорынның әрбір бөлімшесінде уақытша қызметкерлердің жұмыс уақытының санын есепке алу қажет болатын жағдайды қарастырайық. «Жұмыс уақыты» қатынасының «Жұмыс істеген сағаттары» атрибуты бар. «Жұмыс істейтіндер» қатынасын «Бөлім бойынша бөлу» деп аталатын нысанға түрлендірейік, оған біз «Жұмыс уақыты» төлсипатын тағайындаймыз, содан кейін 1 түрдегі екі жаңа қатынасты жасаймыз: М.

5. Бірнеше атрибуттарды жою.Бірнеше атрибуттар - бір нысан данасы үшін бірнеше мәнге ие болуы мүмкін атрибуттар. Егер тұжырымдамалық үлгіде бірнеше атрибут болса, оны жаңа нысанды анықтау арқылы түрлендіру керек. Мысалы, бір компания филиалында бірнеше телефон нөмірлері бар жағдайды көрсету үшін тұжырымдамалық үлгі «Компания филиалы» нысанына қатысты бірнеше «Телефон нөмірі» төлсипатын анықтады. Бұл бірнеше төлсипат бір қарапайым Телефон нөмірі төлсипаты бар жаңа Телефон нысанын анықтау және жаңа 1 түрдегі қатынасты жасау арқылы жойылуы керек.

6. Типтік қосылымдарды қайта тексеру 1:1. Нысанды анықтау процесі қолданба доменінде бір нысанды нақты көрсететін екі түрлі нысанды жасаған болуы мүмкін. Мысалы, нақты нысанның бір түрін білдіретін «Департамент» және «Департамент» екі нысанды құруға болады. Басқаша айтқанда, «Бөлім» атауы «Бөлім» атауымен синоним болып табылады. Мұндай жағдайда бұл екі нысанды біріктіру керек. Біріктірілетін нысандардың негізгі кілттері әртүрлі болса, олардың біреуін негізгі кілт ретінде таңдап, екіншісін балама кілт ретінде көрсетіңіз.

7. Артық қосылымдарды жою.Бірдей ақпаратты тек ол арқылы ғана емес, басқа байланыс арқылы да алуға болатын болса, қосылым артық болады. Сіз әрқашан ең аз деректер үлгілерін жасауға ұмтылуыңыз керек, сондықтан артық байланыстыру анық қажет болмаса, оны жою керек. Екі нысанның арасында бірнеше қатынас бар екенін анықтау өте қарапайым. Дегенмен, бұл екі байланыстың біреуі міндетті түрде артық дегенді білдірмейді, өйткені олардың екеуі де ұйымда нақты бар әртүрлі бірлестіктерді көрсете алады.

Кіру артықшылығын жою кезінде уақыттың маңызы зор. Мысалы, «Ер», «Әйел» және «Бала» субъектілерінің арасындағы қарым-қатынастарды модельдеу қажет болатын жағдайды қарастырыңыз. «Адам» және «Бала» субъектілерінің арасында екі қатынас жолы бар екені анық: бірі тікелей байланыс арқылы. Әке ма» және екіншісі – жалғаулар арқылы Үйленген» және «Анасы бар». Бір қарағанда, бұл байланыс сияқты Әке ма» деген сөз артық. Дегенмен, бұл мәлімдеме екі себепке байланысты қате болуы мүмкін. Біріншіден, әкенің бұрынғы некеден балалары болуы мүмкін, бірақ біз тек әкенің қазіргі некесін үлгі етеміз (1:1 қатынасы арқылы). Екіншіден, әкесі мен шешесі мүлдем некеде тұрмауы мүмкін немесе әкесі баланың анасы емес әйелге (немесе анасы баланың әкесі емес еркекке тұрмысқа шығуы мүмкін). Сондықтан, барлық бар қарым-қатынастарды «Әке ме» қатынасын қолданбай модельдеу мүмкін емес (Cурет 10).

Күріш. 10. «Ер», «Әйел», «Бала» субъектілерінің арасындағы қарым-қатынас


Қатысты ақпарат.


ДӘРІС

Субъект-қатынас моделі.

Негізгі ұғымдар: Мәні, Қасиеттер, Қатынастар.

Субъектілерді, қасиеттерді, қатынастарды көрсету

9.1. Модель "субъект-қатынас"

Нақты ақпаратты өңдеуге бағытталған жүйелердің пәндік аймағын модельдеудің ең кең тараған құралы «субъект-қатынас» моделі (Нысан – Қарым-қатынас үлгісі – ER М), алғаш рет 1976 жылы Питер Пин-Шэн Чен ұсынған. Бұл модель дәстүрлі түрде құрылымдық талдау мен дизайнда пайдаланылады, бірақ мәні бойынша доменді модельдеуге объектілі тәсілді жүзеге асырады.

Нысанмен қарым-қатынас үлгісі дерекқор жүйелерінің толық даму циклін немесе оның жеке кезеңдерін қолдайтын коммерциялық CASE өнімдерінің айтарлықтай саны үшін негіз болып табылады. Сонымен қатар, олардың көпшілігі әзірленетін жүйенің пәндік аймағын концептуалды жобалау кезеңін қолдап қана қоймайды, сонымен қатар логикалық жобалау кезеңін автоматты түрде генерациялау арқылы олардың құралдарымен құрастырылған модель негізінде жүзеге асыруға мүмкіндік береді. таңдалған ДҚБЖ үшін концептуалды дерекқор схемасы, мысалы, кейбір SQL сервері немесе нысан ДҚБЖ үшін дерекқор схемасы.

Бұл жағдайда пәндік аймақты модельдеу графикалық диаграммаларды, оның ішінде салыстырмалы түрде аз құрамдас бөліктерді пайдалануға негізделген. (2-слайд) және ең бастысы - құрылыс технологиясымұндай диаграммалар.

Семантикалық негіз ER -модельдер келесі жорамалдар жасайды:

- нақты дүниенің сол бөлігі (бір-бірімен байланысты объектілердің жиынтығы), олар туралы ақпарат деректер базасында орналастырылуы мүмкін ұсынылдыжиынтық ретінде субъектілер;

- Әрбір субъектінің оны басқа субъектілерден ерекшелендіретін және оған мүмкіндік беретін өзіне тән қасиеттері (атрибуттары) болады. анықтау;

- Нысандарды нысан түрлеріне қарай жіктеуге болады: нысанның әрбір данасы (кейбір нысанды білдіретін) сыныпқа тағайындалуы мүмкін - түрі субъектілері, әрбір данасы өздеріне ортақ қасиеттерге ие және оларды басқа сыныптар субъектілерінен ерекшелендіреді;

- Классқа негізделген өкілдік жүйелендіру әдетте түрлердің иерархиялық тәуелділігін болжайды: тип нысаны Аболып табылады қосалқы түрімәніБ, егер түрдің әрбір данасы Атүрдегі нысанның данасы болып табыладыБ;

- объектілер арасындағы қарым-қатынастарды көрсетуге болады коммуникациялар– екі немесе одан да көп субъектілердің өзара тәуелділігін тіркеуге (көрсетуге) қызмет ететін субъектілер.

Бұл жерде біз тағы да тұжырымдаманың ақпараттық сипатын атап өтуіміз керек мәніжәне оның пәндік аймақтың материалдық немесе ойдан шығарылған объектілерімен байланысы. Кез келген пәндік домен объектісінің қасиеттері бар, олардың кейбіреулері қолданбалы тапсырма тұрғысынан сипаттамалық – маңызды болып бөлінеді. Бұл жағдайда, мысалы, пәндік саланы талдау және жүйелеу процесінде, әдетте сыныптар– формада көрсетілген қасиеттер жиынтығы бірдей объектілер жиынтығы атрибуттар жиындары(бір кластағы объектілер үшін төлсипат мәндері табиғи түрде әр түрлі болуы мүмкін). Сәйкесінше, пәндік аймақты бейнелеу деңгейінде (яғни оның инфологиялық моделі) ұғым ретінде қарастырылатын объект (адам санасындағы объект) ұғымға сәйкес келеді. мәні; зат материалдық дүниенің бір бөлігі ретінде (және адам санасынан тәуелсіз өмір сүретін) ұғымға сәйкес келеді нысан данасы; объектілер класы ұғымға сәйкес келеді нысан түрі.

Бұдан әрі инфологиялық модель объектілердің жеке даналарын емес, сыныптарды қарастыратындықтан, біз осы екі деңгейдің сәйкес ұғымдарын ажыратпаймыз, т.б. ұғымдардың сәйкестігін қабылдаймыз объектЖәне мәні, объект қасиетіЖәне субъектінің меншігі.

Қосулы слайд 3 Бұл толық емес және ER диаграммалары құрылысының кез келген нұсқасына дәл сәйкестік деп мәлімдемейтін нысанды ұсынудың мысалы.

ER моделі пәндік аймақтың сипаттамасы ретінде объектілерді және олардың арасындағы қатынастарды анықтауы керек, яғни. келесі екі түрдегі байланыстарды орнатыңыз:

1. объектілер мен сипаттамалық қасиеттер жиынтығы арасындағы байланыстар және осылайша объектілердің өзін анықтау;

2. объектілер арасындағы байланыстар, олардың өзара тәуелділігінің сипаты мен функционалдық сипатын анықтау.

Жоғарыда айтылғандай, пәндік аймақты ER модельдеу графикалық диаграммаларды қарапайым (таныс), көрнекі және сонымен бірге жоба компоненттерін бейнелеудің ақпараттық және көп өлшемді тәсілі ретінде пайдалануға негізделген.

Мәні.Ұқсас объектілер класы үлгіленетін нысан «анық анықтауға болатын нысан» ретінде анықталады. Әрбір нысан сипат мәндерінің жиынымен ерекше сипатталатыны сияқты, нысан міндетті түрде болуы керек анықталубұл сияқты атрибуттар жиынтығы, бұл нысанның жеке даналарын ажыратуға мүмкіндік береді. Нысанның әрбір данасы бір нысанның басқа даналарынан ерекшеленуі керек (бұл талап қатынас кестелерінде қайталанатын кортеждердің болмауы талабына ұқсас). Мысалы, «Қызметкер» нысанының әрбір данасын бірегей түрде анықтау үшін «Tab.number» атрибуты енгізіледі, ол өзінің табиғаты бойынша әрқашан кәсіпорын ішінде бірегей мәнге ие болады. Яғни, нысанның бірегей идентификаторы атрибут, атрибуттар комбинациясы, қатынастар комбинациясы немесе нысанның кез келген данасын сол түрдегі нысанның басқа даналарынан ерекше түрде ерекшелендіретін қатынастар мен атрибуттардың тіркесімі болуы мүмкін.

Субъект бар Аты, үлгідегі бірегей. Осы уақытта нысан атауы- Бұл атауын теріңіз, және кейбір нақты мысал емес.

Субъектілер бөлінеді күштіЖәне әлсіз. Субъект әлсіз, егер оның бар болуы басқа субъектіге тәуелді болса - оған қатысты күшті. Мысалы, «Бағынысты» нысаны «Қызметкер» субъектісіне қатысты әлсіз: егер бағыныштылары бар кейбір қызметкерге сәйкес жазба жойылса, онда бағыныстылық туралы мәліметтер де жойылуы керек.

Қасиеттер( слайд 4)

Меншіктің сипаты, қалай байланыс сипатынысаны (нысаны) бар қасиеттер әртүрлі болуы мүмкін. Қасиеттердің негізгі түрлерін қарастырайық.

Меншік болуы мүмкін бірнешенемесе бойдақ– яғни. сипатты көрсететін атрибут бір уақытта бірнеше мәнге ие болуы мүмкін немесе сәйкесінше бір ғана. Мысалы, қызметкердің бірнеше мамандықтары болуы мүмкін, бірақ жалғыз мән – «Tab. саны».

Меншік болуы мүмкін қарапайым(қолданылатын міндеттер тұрғысынан одан әрі бөлуге жатпайды) немесе құрама– егер оның мәні қарапайым қасиеттердің мәндерінен құралса. Мысалы, «Туған жылы» қасиеті қарапайым, ал «Мекенжай» қасиеті күрделі, өйткені «Қала», «Көше», «Үй» қарапайым қасиеттерінің мәндерін қамтиды.

Кейбір жағдайларда ажырату пайдалы негізгіЖәне туындыларқасиеттері. Мысалы, «Жабдықтаушыда» жоба үшін беретін бөліктердің санын қосу арқылы есептелетін «Жабдықталатын бөлшектердің жалпы саны» сипаты болуы мүмкін.

Егер субъектінің барлық даналары үшін кейбір меншіктің болуы міндетті болмаса, онда мұндай қасиет деп аталады. шартты. Мысалы, барлық қызметкерлердің «ғылыми дәреже» қасиеті жоқ.

Меншік мәндері тұрақты болуы мүмкін - статикалық, немесе динамикалық, яғни. уақыт өте өзгереді. Мысалы, «Tab. сан» статикалық, ал «мекенжай» динамикалық. Меншік болуы мүмкін белгісіз, егер ол динамикалық болса, бірақ оның ағымдағы мәні әлі орнатылмаған болса.

Мүлікті деп санауға болады кілт, егер оның мағынасы бірегей болса және мүмкін, белгілі бір контексте нысанды бірегей түрде анықтаса. Мысалы, белгілі бір қызметкердің бағыныштысы.

ҚосылымдарОбъекті мен оның қасиеттері арасындағы байланыстардан басқа, инфологиялық модель әртүрлі кластардағы объектілер арасындағы байланыстарды көрсетеді. Байланыс«бірнеше субъектілерді біріктіретін бірлестік» ретінде анықталады. Бұл байланыс әрқашан әртүрлі нысандар арасында немесе субъект пен оның арасында болуы мүмкін (рекурсивті қатынас).

Мәні сияқты байланыс түріжаңа тұжырымдама, яғни. байланысты нысандардың барлық даналары типті байланыстыру ережелеріне бағынады. Түрлер мен даналар арасындағы қатынас түрлерінің арасындағы түбегейлі айырмашылық суретте көрсетілген слайдтар.

Қатынас арқылы біріктірілген субъектілер деп аталады қатысушылар. Қосылу дәрежесібайланысқа қатысушылардың санымен анықталады.

Егер субъектінің әрбір данасы қатынастың кем дегенде бір данасына қатысса, онда сол субъектінің мұндай қатысуы деп аталады. толық(немесе міндетті); әйтпесе – толық емес(немесе міндетті емес).

Субъект даналарының (бір немесе бірнеше) қатысуының сандық сипаты көрсетіледі қосылым түрі(немесе байланыс күші). Келесі түрлер мүмкін: «бірге бір»(1:1), «бірден көпке»(1: М) , «бірге көп»(М:1) , «көптен көпке»(ММ) (5, 6, 7 слайдтар).

Сілтеме құралы бейнелеу құралы болып табылатынын атап өткен жөн күрделі объектілер, олардың әрқайсысын біршама өзара байланысты жиынтық ретінде қарастыруға болады қарапайым объектілер. Қарапайым және күрделі объектілерге бөлу, сондай-ақ қарым-қатынас сипаты шартты болып табылады және пәндік аймақты талдаудың ерекшеліктерімен анықталады, т.б. соңында – шешілген қолданбалы есептердегі объектілер туралы мәліметтерді пайдалану сипаты бойынша. Оның үстіне, мысалы, дизайнердің көзқарасы бойынша, PART күрделі объект болып табылады, бірақ жеткізуші тұрғысынан ол қарапайым.

Қарым-қатынастың көптеген түрлерінің ішінде ең көп тарағандары иерархиялық типтегі «бөлік-тұтас», «тек-түр» сияқты.

Бөлшек-бүтін қатынастары бейнелеу үшін қолданылады композициялық объектілер. Мысалы, МАШИНАЛАР БІРЛІКТЕН, БІРЛІК БӨЛШЕКтерден тұрады. Бұл жерде қарым-қатынастар мүмкін «бірден көпке»сондықтан және «көптен көпке».

Тұқым-түр қатынасы – бейнелеу үшін жалпыланған объектілер. Мысалы, ҚЫЗМЕТКЕРЛЕР мамандықтары бойынша ДИЗАЙННЕР, ПРОГРАММИСТ, ЖҰМЫСШЫ болып бөлінеді; БАҒДАРЛАМАЛАР – ҚОЛДАНБАЛАРДЫ БАҒДАРЛАМАЛАР мен ЖҮЙЕЛІ БАҒДАРЛАМАЛАР. Иерархиялық қатынастар және, атап айтқанда, « тектік", әдетте объектілерді сипаттамалық белгілердің жиынтығы бойынша жіктеу үшін негіз ретінде пайдаланылады. Оның үстіне, «түр» объектілері мұрагерлік«жалпы» қасиеттері.

Қарым-қатынастың кең тараған тағы бір түрі – агрегация – мүшелік принципі негізінде қарапайым объектілерді күрделіге біріктіру. бірлікнемесе олардың қандай да бір процеске бірлескен қатысуы. Бұл жерде иерархиялық қатынастардың неғұрлым жалпы жағдайы ретінде қарастырылатын біріктіру әртүрлі сипаттағы объектілерді «бірлескен қатысудың» жалғыз ортақ қасиетімен біріктіреді. Жиынтық заттар әдетте ауызша зат есімдер арқылы аталады, мысалы, «Құрама«: БӨЛІМ тұрадыҚЫЗМЕТКЕРЛЕР; " Жабдықтау": ЖЕТКІЗУШІ жабдықтауМӘЛІМЕТТЕР.

Супертиптер және ішкі түрлері.Кәсіпорын екі немесе одан да көп бір-бірін жоққа шығаруға бөлінуі мүмкін қосалқы түрлері, олардың әрқайсысы жалпы атрибуттарды және/немесе қатынастарды қамтиды. Бұл жалпы атрибуттар және/немесе қарым-қатынастар жоғары деңгейде бір рет анық анықталады. Ішкі түрлер өздерінің атрибуттарын және/немесе қарым-қатынастарын анықтай алады. Негізінде ішкі типтеу төменгі деңгейлерде жалғасуы мүмкін, бірақ көп жағдайда екі немесе үш деңгей жеткілікті.

Оның негізінде ішкі түрлер анықталатын субъект аталады супертип. Ішкі түрлер толық жиынтықты құруы керек, яғни. супертүрдің кез келген данасы кейбір ішкі түрге тиесілі болуы керек. Кейде жиынды аяқтау үшін қосымша ішкі түрді анықтау қажет, мысалы, БАСҚАЛАР.

Ішкі түр супертиптің қасиеттері мен қатынастарын мұра етеді. Мысалы, PROGRAMMER нысан түрі ҚЫЗМЕТКЕР нысанының ішкі түрі болып табылады. Бағдарламашылар қызметкерлердің барлық қасиеттеріне ие және барлық коммуникацияларға қатысады, бірақ керісінше емес.

Нысан түрі, оның ішкі түрлері, осы ішкі типтердің ішкі түрлері және т.б. пішін нысан түрінің иерархиясы, оның мысалы келтірілген Слайд 8.

9.2. ER диаграммасы

Жоғарыда атап өтілгендей, семантикалық модельдеудің негізгі мақсаттарының бірі пәндік аймақты талдау нәтижелерінің жеткілікті қарапайым, көрнекі, бірақ сонымен бірге формалды және жеткілікті ақпараттылық түрінде бейнеленуін қамтамасыз ету болып табылады.

Бұл мағынада ER диаграммасы өте жақсы шешім болып табылады. Ол функционалдық және ақпараттық тәсілдерді біріктіреді, бұл орындалатын функциялар жиынтығын да, деректер құрылымдарымен анықталған жүйе элементтері арасындағы байланыстарды да көрсетуге мүмкіндік береді. Бұл ретте графикалық форма нысандар мен қатынастардың типологиясы мен қасиеттерін жинақы түрде (визуалды белгілердің арқасында) көрсетуге мүмкіндік береді, ал ER диаграммаларының негізінде жатқан формализм келесі қадамда қатаң нормалау аппаратын пайдалануға мүмкіндік береді. деректер қорының логикалық құрылымын жобалау.

Субъектілер.ER диаграммаларындағы әрбір нысан түрі нысан атауын қамтитын тіктөртбұрыш ретінде көрсетіледі. Жекеше түрдегі зат есімдер (немесе зат есімнің тіркестері) әдетте атау ретінде қолданылады. Әлсіз типтегі нысандарды көрсету үшін жақтары қос сызықтармен сызылған тіктөртбұрыштар қолданылады. Мысалы, ұсынылған нұсқада слайд 9 ER диаграммасында SUBJECT әлсіз түрдегі нысан болып табылады.

Қасиеттер.Сипаттар нысанның немесе қатынастың күйін нақтылауға, анықтауға, сипаттауға немесе көрсетуге қызмет етеді. Сипаттар сипат атауын қамтитын эллипс түрінде көрсетіледі. Эллипс сәйкес нысанға немесе қатынасқа сызық арқылы қосылады.

Негізгі сипат атауларының асты сызылған. Мысалы, ҚЫЗМЕТКЕР нысанының «Кесте нөмірі» сипаты.

Эллипстің контуры қос сызықпен сызылады, егер сипат көп мәнді болса. Мысалы, ҚЫЗМЕТКЕР субъектісінің «мамандық» қасиеті.

Эллипстің контуры егер сипат алынған болса, үзік сызықпен сызылады. Мысалы, ЖЕТКІЗУШІ субъектісінің «саны» сипаты.

Сипат шартты болса, эллипс нүктелі сызықпен қосылады. Мысалы, «In.

Егер сипат құрама болса, онда оның құрамдас қасиеттері құрама эллипске қосылған басқа эллипстер арқылы көрсетіледі. Мысалы, ҚЫЗМЕТКЕР субъектісінің «Мекенжай» қасиеті «Қала», «Көше», «Үй» қарапайым қасиеттерден тұрады.

ҚосылымдарҚарым-қатынас – нысандар арасында орнатылған графикалық түрде бейнеленген бірлестік. Байланыстың әрбір түрі ER -Сызба гауһар тас түрінде көрсетілген, ішіндегі қосылым атауы бар. Етістік есімдер әдетте есім ретінде қолданылады.

Алмаздың бүйірлері қос сызықтармен сызылады, егер бұл әлсіз түрдегі нысан мен ол тәуелді нысан арасындағы байланыс болса. Мысалы, SUBORDINATE әлсіз түріндегі субъектіні өзі тәуелді болатын ҚЫЗМЕТКЕР субъектісімен байланыстыратын «Бағыну» қатынасы.

Байланысқа қатысушылар байланысқа желілер арқылы қосылады. Қос жол осы жаққа байланысты субъектінің толық қатысуын білдіреді. Мысалы, «Сағыныш» қатынасы, SUBSUBECT субъектісі жағынан.

Рөлді көрсету арқылы қатынасты өзгертуге болады. Мысалы, «Композиция» рекурсивті байланысы үшін рөлдер көрсетілген: «Бөлім тұрады...» және «Бөлім кіреді кіреді …».

Қосылым түрі сәйкес жолдың үстіндегі «1» немесе «M» индекстерімен көрсетіледі. Мысалы, «Басқару» қатынасы бір-көп түріне жатады: бір қызметкер көптеген жобаларды басқара алады; «Қатысу» қатынасы көптен көпке типті: бір қызметкер көптеген жобаларға қатыса алады, ал көптеген қызметкерлер жобаға қатыса алады.

ER диаграммасының нормаланған түрінің мысалы көрсетілген слайд 10.

IDEF стандарттар тобына кіретін IDEF1X белгілеуінде субъект-қатынас үлгісінің бір түрі қолданылады.

Модельдің графикалық тілі және мысал диаграммасы мына жерде берілген слайд 11 .

Субъектілер арасындағы қосымша қатынастар БөлімЖәне Қызметкер, қызметкерЖәне Бағыныңқы«бірден көпке» деген принципті («көп» қатынасының соңы қою нүктемен белгіленеді) және субъектілер арасындағы міндетті қатынасқа ие ҚызметкерЖәне Жобакөптен көпке дейін күшке ие.

Нысан-қатынас моделінің негізгі белгілерінің графикалық элементтері берілген слайд 12 .


Байланыстың ерекше түрдегі тұлға ретіндегі бұл анықтамасы қатынас айнымалылары арқылы барлық түрдегі субъектілерді, соның ішінде байланыстарды біркелкі көрсетумен сипатталатын қатынастық тәсілдің мәнін көрсетеді.

Реляциялық модельдің ережелеріне сәйкес «дұрыс» қатынас тек «түріндегі қатынас болып табылады. көптен көпке», өйткені оны жүзеге асыру үшін жеке қатынас айнымалысы жасалады. Қосылымдар «бірден біреуге», «бірден көпке»әрқашан біреуінің сыртқы кілт механизмі арқылы ұсынылуы мүмкін қатынас айнымалылары.

пәндік аймақжәне шешілетін міндеттер. Сонымен, біз «Реляциялық деректер моделінде» зерттейтін реляциялық деректер үлгісінде бастапқы, бірегей және сыртқы кілттерден басқа декларативті тұтастық шектеулерін орнату мүмкін емес. Процедуралық шектеулердің сипаттамасы әдетте осы үлгіден тыс.

Төменде талқыланатын нысан-қатынас үлгісі (ER диаграммалары, ER моделі) семантикаға бай деректер үлгілерінің ерекше жағдайы болып табылады. Ол адамның пайдалануына арналған семантиканы сипаттауға мүмкіндік береді. Яғни бағдарламалық жасақтамада іске асырылмаған сипаттамаларды енгізуге болады. Екінші жағынан, ол дерекқор схемасын жасайтын сценарийлерді жасау үшін пайдаланылатын метадеректер мен тұтастық шектеулерін жазады.

2.1 Семантикалық модельдер және когнитивтік аспект

2.1.1 Мәліметтердің семантикалық үлгілері

Мәліметтер қоры нені сақтайды? Әрине, деректер. Дегенмен, деректерді сақтауды ұйымдастыру үшін де олармен байланысты мағыналарды ескеру қажет. Мысалы, алдыңғы бөлімде жиынтықтағы қайталанатын жазбаларды болдырмайтын бастапқы кілт сипатталған. Бұл сипат бастапқы кілті бар жазбалар жиынының жеке мағынасын анықтайды. Деректер түрлері, домендер, метадеректер сақталған деректердің басқа мағыналарын анықтайды.

Бірақ егер деректер базасында тек деректер сақталса, онда мағыналар қалай сақталады? Біріншіден, мағыналар да мағынасын білдіретін деректермен байланысты деректер болып табылады.

Мағынаның келесі түрлерін бөліп көрсетейік:

  • Тек адамдарға арналған мағыналар. Олар ақпараттық жүйелерде (АЖ) сақталуы мүмкін, бірақ пассивті, яғни жүйеге қол жетімді емес, сондықтан оның әрекетіне әсер етпейді. Оны тек адамдар ғана ала алады
  • АЖ ішкі мағыналары. Олар белсенді, яғни АЖ-нің жаңа мінез-құлқын өзгертеді немесе жасайды. Типтік мысалдар: кілттер, деректер түрлері, метадеректер.
  • АЖ-ге, немесе, неғұрлым тар, дерекқорға жататын жүйелермен немесе тапсырмалармен байланысты сыртқы мағыналар. Бұл мағыналар да белсенді.

Ішкі мағыналардың белсенділігі қалай көрінеді? Бастапқы кілт болсын. Жиынға жазба жазғыңыз келеді. Дегенмен, ДҚБЖ алдымен сіз сұрамаған нәрсені жасайды - ол енгізілген кілт мәнінің жарамдылығын тексереді - және бұл мән жоқ болған жағдайда ғана жазба жазады.

Мағынаның үшінші түріне мысал: Барлық пәндер бойынша барлық студенттердің бағалары жазылған кесте бар. Орташа баллды есептеу мүмкін бе? Әрине. Дегенмен, өлшеу шкалаларымен таныс болсаңыз, өнімділік тапсырыс шкаласы бойынша өлшенетінін білесіз. Онда орташа баллдың мағынасы жоқ, немесе ресми тілмен айтқанда, адекватты емес статистика.

Қолданбаны құрудың бастапқы кезеңінде (бизнес талдау) жобалаушыға белгілі мәселенің барлық маңызды белгілерінің бейресми сипаттамасын беретін домендік модель болуы қажет. Сонымен бірге жобаны жүзеге асыру кезеңінде қолданылатын деректер үлгілеріне сәйкес келмейтін мәліметтерді алып тастау мәселенің қойылымының айтарлықтай бұрмалануына әкелуі мүмкін. Талдау сатысында оның формальды сипатталу мүмкіндігінен гөрі ақпараттың толықтығына басымдық беру керек.

Семантикалық модельдер әдетте деректердің семантикасының көрінісін қамтамасыз ететін модельдер деп аталады. Басқа модельдер сияқты олар құрылымдық, манипуляциялық және тұтас бөліктерді қамтуы мүмкін. Дегенмен, кез келген үлгіде семантиканың қандай да бір түрі бар екенін ескере отырып, семантикасы азырақ «семантикалық емес» модельдерге қарағанда, семантикасы көбірек модельдерді семантикалық деп санауға болады. Бұл псевдоанықтама өте анық емес. Бірақ әзірге бұл бізге жетеді.

Семантикалық модель шеңберінде концептуалды дерекқор схемасы жасалады, ол әдетте қолмен немесе автоматты түрде (бірақ автоматты түрде емес) жобаның өмірлік циклінің келесі кезеңдерінде жүзеге асырылатын деректер үлгілері шеңберінде жарамды деректер базасының схемасына түрлендіріледі - жобалау, дамыту және техникалық қызмет көрсету.

Деректер семантикасы оқулықтың «Мәліметтер қорының семантикасы» дәрісінде егжей-тегжейлі қарастырылады.

Ең танымал тұлға-қатынас (ER) семантикалық моделін 1976 жылы Питер Чен ұсынған.

2.1.2 Когнитивтік аспект

Семантикалық модельдер адам оқи алатын диаграммалар түрінде жүзеге асырылады. Жалпы қазіргі ғылымда және оның ішінде информатикада когнитивтік аспектілерге көп және лайықты көңіл бөлінеді. Мәліметтер базасы контекстінде бұл екі негізгі актерді - адамдар мен бағдарламаларды анықтауды және пайдаланушы тәжірибесі үшін табиғи, адамға қолайлы модельдерді, тілдерді, интерфейстерді және алгоритмдерді әзірлеуді білдіреді. Әрине, күнделікті біліммен қатар адамның психикалық әлемін, ол әрекет ететін бейнелер (гештальттар) жиынтығын анықтайтын пайдаланушының алдын ала кәсіби дайындығын ескеру қажет. Неліктен терезенің жоғарғы жағында негізгі мәзірді күтеміз? Кейбір табысты бағдарламалық өнімдерді әзірлеушілер бізге мұны үйреткендіктен ғана.

2.1.3 Үлгі деңгейлері

Питер Ченнің субъект-қатынас диаграммалары бойынша негізгі жұмысынан кейін біз сәл өзгертілген анықтамалары бар деректер үлгісін көрсетудің төрт деңгейін ажыратамыз:

  1. Бағдарламалық қамтамасыз ету терминдерінде (концептуалды модель) көрсетілген доменнің объектілері мен қатынастары (бағдарламалық қамтамасыз ету) туралы ақпарат.
  2. Ақпараттық жүйелер (логикалық модель) тұрғысынан берілген бағдарламалық қамтамасыз ету туралы құрылымдық ақпарат.
  3. Қол жеткізу әдісінен тәуелсіз деректер құрылымдары, яғни деректер құрылымдарымен, іздеумен, индекстеумен және т.б. байланысты емес (физикалық модель).
  4. Қол жеткізу әдісіне байланысты деректер құрылымдары (аппараттық деңгей моделі).

Болашаққа қарап, біз реляциялық модель 2 және 3 деңгейлерге жататынын байқаймыз. Желілік және иерархиялық модельдер, олар 20 жыл бұрын болғандай, негізінен 3 және 4 деңгейлерде жұмыс істейді. UML 1, 2 және 3 деңгейлерде жұмыс істейді, бірақ UML алысқа барады. деректерді сипаттаудан тыс. Нысан-қатынас үлгісі 1 және 2 деңгейлерде жұмыс істейді.



Бөлісу