
- •1.1 Кіріспе. Деректер және ақпарат. Аж түрлері.
- •1.2 Деректер қоры негізінде ақпараттық жүйені құрудың техникалық-ұйымдастыру проблемалары.
- •2.1 Негізгі концепциялары. Деректер тәуелсіздігі. Деректердің негізгі компоненттері.
- •2.2 Деректер қорының архитектурасының деңгейлері.
- •2.3 Деректер қорын басқару жүйелері (дқбж). Инфологиялық және даталогиялық жақындау мәні.
- •3.1 Пәндік саладағы концептуальды модель. Логикалық модельдер.
- •3.2 Деректер қорын жобалау кезеңдері.
- •4.1 «Мән-байланыс» моделі. Логикалық және физикалық модельдер.
- •4.2 Локальды көріністі модельдеу, модель элементтерінің агрегациясы және жалпыламасы.
- •5.1 Dbtg деректер моделі. Негізгі түсініктер және анықтамалар. Деректерді ңқұрылым диаграммасы
- •6.1 Деректердің иерархиялық моделі. Негізгі анықтамалар мен түсініктер. Иерархиялық модельдің концептуальды модельмен қатынас байланысы.
- •Деректердің иерархиялық құрылымы
- •Деректерді манипулияциялау.
- •Тұтастықты шектеу
- •Тұтастықты шектеу
- •Жетістігі және кемшілігі
- •6.2 Ims архитектурасы. Ims деректер моделі. Иерархиялық рет түсінігі. Dl/1 тілінің операциясы.
- •7.1 Реляциялық деректер қоры: деректер типі, домен, қатынас схемасы, деректер қоры схемасы, кортеждер және қатынастар, қатынас қасиеті, кілттер.
- •7.2 "Мән-байланыс" (er- әдісі) әдісімен жобалау.
- •8.1 Функционалдық тәуелділік концепциясы. Реляциялық есептеулер.
- •8.2 Қалыптастыру: бірінші, екінші және үшінші қалыпты формалар. Бойс-Кодтың қалыпты формасы.
- •9.1 Берілген деректер қорымен моделінің реляциялық базисі: реляциялық алгебра, реляциялық операциялардың интерпретациясы, теориялық-көбейткіштік операциялардың семантикасының ерекшеліктері.
- •10.1 Sql стандарттау кезеңдері.
- •10.2 Sql тілінің жалпы құрылымы, қолданбалы программалар интерфейсі. Бекітілген sql, динамикалық sql.
- •10.3 Select таңдауының операторы.
- •11 Дәріс. Деректер қорының тұтастығы және қауіпсіздігі. Қатынаумен басқару.
- •12 Дәріс. Постреляциялық дерек тер қоры. Қатынаумен өшіру.
- •12.1 Постреляциялық деректер қоры.
- •12.2 Обьектілі - бағдарланған деректер қорының құрылу принциптері.
- •14 Дәріс. Деректер қоры қосымшаларын өңдеу. Delphi-дің аспаптық құралдары.
- •14.1 Деректер қоры қосымшаларын өңдеу. Delphi-дің аспаптық құралдары.
- •Форма. Форма түсінігі.
- •Форманың аты және басы
- •Дәріс 16. Деректер қорына қатынау технологиялары.
- •16.1 Деректер қорына қатынау технологияларына шолу.
- •16.2 Odbc технологиясы (Open Database Connectivity).
- •Дәріс 17. Ole db - Object Linking and Embedding Database технологиясы.
- •17.1 Ole db негіздері.
- •ToleContainer объектісі.
- •18.1 Ado технологиясының негіздері.
- •20.1 Ado.Net технологиясы.
- •Дәріс 21. Olap технологиясы.
- •21.1 Olap технологиясы.
- •Көп өлшемді кубтар.
- •22.1 Corba (Common Object Request Broker Architecture) технологиясы.
- •Клиенттік және серверлік қосымшаларға қосылатын orb.
- •Сервер түрінде орындалған orb.
- •Жүйе бөлігі ретіндегі orb.
- •Параметрлер.
- •Интерфейстер.
- •Шақыруларды динамикалық түрде орындаудың интерфейсі.
- •Глоссарий
- •Білімді бағалау жайлы ақпарат
- •Қорытынды баға
- •Курс саясаты мен талаптары
- •Білімді бағалау туралы ақпарат әдістемелік нұсқауларда көрсетіледі
- •Тіркеу деректері
7.2 "Мән-байланыс" (er- әдісі) әдісімен жобалау.
Жоғарыдағы бөлімде айтылған, қалпына келтіру алгоритмі көмегімен деректер қоры құрылымын модельдеуде көптеген кемшіліктер бар:
Бір қатынаста барлық атрибуттардың алғашқы орналасуы шындық операциясына жатпайды. Құрушы интуитивті табылған мәнге сәйкес бірнеше қатынасты бірден жобалайды. Егер өзін-өзі күштеп, барлық атрибуттарды қолданып бір немесе бірнеше қатынас құрған кезде, онда алынған қатынас мағынасы түсініксіз.
Атрибуттардың толық тізімін бірден анықтау мүмкін емес. Пайдаланушылар бір затты әртүрлі атпен атай береді және керісінше әртүрлі затты бір атпен атайды.
Қалпына келтіру процедурасын өткізу үшін, атриубттар тәуелділігін бөлі көрсету қажет, бұл жеңіл емес, барлық тәуелділіктерді жазып алу қажет.
Деректер қоры құрылымын жобалау кезінде семантикалық модельдеу әдісі қолданылады. Семантикалық модельдеу деректер мағынасына сүйенетін деректер құрылымын модельдеу болады. Семантикалық модельдеу құралы болып мән-байланыс диаграммасының (ER - Entity-Relationship) әртүрлі варианттары қолданылады. Мән-байланыс моделінің бірінші вариантты 1976 жылы Питер Пин-Шэн Ченмен ұсынылды [37]. Кейіннен көптеген авторлармен осыған ұқсас модельдердің өз варианттары құрылды (Мартина нотациясы, IDEF1X нотациясы, Баркер нотациясы және т.б.). Сонымен қатар, бір нотацияны тарататын әртүрлі программалық құралда өзінің мүмкіндіктерімен ерекшелену керек. Мән-байланыс диаграммасының барлық варианттары бір идеядан шығады – сурет ылғи мәтіндік сипатаманың көрнекті құралы. Мұндай барлық диаграммалар пәндік сала мәнінің, олардың қасиетінің және мән арасындағы өзара байланыстың графикалық кескінің қолданады. Біз ER-диаграмма жұмысын Баркер нотациясына жақындау сипаттаймыз, негізгі идеяларды жеңіл түсіну үшін.
ER-диаграмманың негізгі түсініктері:
1 Анықтама. Мән - бұл біртипті объектілер класы, олар жөніндегі ақпарат модельде ескерілуі керек. Әрбір мән аталуы жекеше түрдегі зат есімнен тұруы керек. Мән мысалына мынадай объектілер класы жатады "Жеткізуші", "Қызметкер", "Накладной". Әрбір мән модельде аталуымен тікбұрыш түрінде бейнеленеді:
2 Анықтама. Мән экземпляры - бұл берілген мәннің нақты мүшесі. Мысалы, "Қызметкер" мәнінің мүшесіне "Қызметкер Иванов" жатады. Мән экземплярларының ерекшеліктері болу керек, мәнде осы мәннің әр экземплярына ерекше қасиеті болу керек.
3 Анықтама. Мән атрибуты - мәннің қасиеті болатын аталған сипаттама. Атрибут аты жекеше түрдегі зат есімнен тұруы керек. Мысалы, "Қызметкер" мәнінің атрибуттары, ол мынадай атрибуттар "Табель нөмірі", "Фамилия", "Аты", "Әкесінің аты", "Қызметі", "Еңбек ақысы" және т.б. жатады.
4 Анықтама Мән кілті - бұл атрибуттар жиынының артықшылығы, олардың мәні топталған кезде мәннің әр экземпляры үшін ерекше. Артықшылық қорытындыланады, егер кез келген атрибутты кілттен жойса , онда оның ерекшелігі бұзылады. Мәннің бірнеше әртүрлі кілті болуы мүмкін.
5 Анықтама. Байланыс - бұл екі мән арасындағы кейбір ассоциация. Бір мән екінші мәнмен немесе өзімен өзі байланысады. Байланыстар бір мәнмен байланысқан екінші мәді табуға мүмкіндік береді. Мысалы, мән арасындағы байланыс келесі түрдеі фразамен баяндалады - "ҚЫЗМЕТКЕРДЕ бірнеше БАЛА болады", "әр ҚЫЗМЕТКЕР тура бір БӨЛІМДЕ ғана тіркеледі ".
Әр байланыста екі соңы және бір немесе екі аталуы болады. Аталуы көбінесе анықталмаған етістік түрінде баяндалады: "болады", "жатады" және т.б. Әр ат байланысты ңөз соңына қатысты. Кейбір кезде аталуы айқын түрде жазылады.
Әр байланыс келесі бір байланыстың типіне ие бола алады:
Бірге-бір типіндегі байланыс мынаны білдереді, бірінші мәннің (сол) бір экземпляры екінші мәннің (оң) бір экземплярымен байланысады. Бірге-бір байланысынды көбінесе біз екіге дұрыс бөлінбеген бір мәнге ие боламыз.
Бірдің-көпке типіндегі байланыс мынаны білдереді, бірінші мәннің (сол) бір экземпляры екінші мәннің (оң) бірнеше экземплярымен байланысады. Бұл көп қолданылатын байланыс типі. Сол жақтағы мән ("бір" жағынан) аталық , оң жақтағы ("көп" жағынан) - балалық деп аталады.
Көптің-көпке типіндегі байланыс мынаны білдереді, бірінші мәннің (сол) әр экземпляры екінші мәннің (оң) бірнеше экземплярымен байланысады, және екінші мәннің әр экземпляры бірінші мәннің бірнеше экземплярымен байанысады. Көптің-көпке типіндегі байланыс уақытша байланыс типі, ол модель құрудың ерте кезеңінде басталады. Кейінде байланыстың бұл типі аралық мән құру жолымен бірдің-көпке типіндегі екі байланыспен ауыстырылады.
Әр байланыс екі байланыс модалдығының біреуіне ғана ие бола алады :
"Мүмкін" модалдығы мынаны білдіреді, бір мәннің әр экземпляры басқа мәннің бір немесе бірнеше экземплярымен байланысуы мүмкін, ал ешқандай экземплярмен байланысы болмауда мүмкін.
"Болу керек" модалдығы мынаны білдіреді, бір мәннің экземпляры басқа мәннің кем дегенде бір экземплярымен байланысуы міндетті болу керек.
Байланыста әртүрлі шеттерден әртүрлі модалдығы болады.
Сипатталған графикалық синтаксис фрзаның келесі тұрғызылуын қолданып, диаграмманы оқуға мүмкіндік береді:
<1 Мәннің әр экземпляры> <байланыс модалдығы> <байланыс аталуы> <байланыс типі> <2 мән экземпляры>.
Әр байланыс солдан оңға қарай, оңнан солға қарай оқылады. 4 суеттегі байлаыс былай оқылады:
Солдан оңға қарай: "әр қызметкерде бірнеше бала болады".
Оңнан солға қарай: "Әр бала бір қызметкерге ғана жатады".
Қарапайым ER-модель құру мысалы.
Бізге ER-модель құру үшін пәндік сала жөнінде келесі ақпаратты алуымыз керек:
Пәндік саланың мән тізімі.
Мән атрибутының тізімі.
Мән арасындағы өзара байланысты сипаттау.
ER-диаграмма немен ыңғайлы. Мән, атрибут және байланыстың бөліну процессі итерациялық болуымен. Диаграмманың бірінші жақындау варианттың құрып, біз пәндік сала сарапшыларынан сұрастырамыз. Бұл құжаттауда, пікір алмасу нәтижесі тіркелетін сол ER-диаграмма болып табылады.
Мысалы біздің алдымызда қандай да бір көтерме сауда фирмасының сұранысы бойынша ақпараттық жүйе құру керек тұр. Біз біріші кезекте процесстерді және пәндік саланы оқып үйренеміз. Ол үшін біз фирма қызметкерлерінен сұрастырамыз, құжаттарды оқимыз, накладной және сұраныс формаларын оқимыз және т.б.
Мысалы, сатумен айналысатын менеджермен әңгімелесу кезінде, белгілі болды, менеджер жобалау кезінде келесі әрекеттер орындалу керек деп ойлайды:
Сатып алушы жөніндегі ақпаратты сақтау.
Жіберілген тауарға накладной басып шығару.
Қоймадағы тауар санның бақылап отыру.
Осы сөйлемдегі барлық зат есімдерді белгілейміз, бұл мән мен атрибутқа потенциальды кандидаттар болады және оларды талдаймыз (түсініксіз терминдерді сұрақ белгісімен белгілейміз):
Сатып алушы – мәнге нақты кандидат.
Накладной - мәнге нақты кандидат.
Тауар - мәнге нақты кандидат.
(?)Қойма – негізінен, фирмада қанша қойма болады? Егер бірнеше болса, онда ол жаңа мәнге кандидат болады.
(?)Тауар саны – бұл атрибут, бірақ қандай мән атрибуты?
Бірден мән арасындағы байланыс пайда болады - "сатып алушылар көп тауар сатып ала алады" және "тауарлар көптеген сатып алушыларға сатылады". Диаграмманың бірінші нұсқасы мынадай болады:
Сатып алу
Сатылу
қажет
Сатып алушы
Тауар
7-сурет.
Менеджерге қосымша сұрақ қоя отырып, біз білдік, фирмада бірнеше қойма бар. Бірақ, әр тауар бірнеше қоймада сақталына алады және кез келген қоймадан сатыла береді.
"Накладной" және "Қойма" мәндерін қайда орналастыруға болады және оларды немен байланыстыру керек? Өзімізден сұраймыз, бұл мәндер бір бірімен және "Сатып алушы" мен "Тауар" мәндерімен қалай байланысқан? Сатып алушылар тауар сатып алады, сол кезде накладной алады, онда сатып алынған тауар жөнінде оның бағасы мен саны енгізілген деректер бар. Әр сатып алушы бірнеше накладной алуы мүмкін. Әрбір накладной бір сатып алушыға ғана жазылады. Әрбір накладной бірнеше тауар санына тұруы керек (бос накладной болмайды). Әрбір тауар, өз кезегінде, бірнеше сатып алушыға бірнеше накладной арқылы сатылуы мүмкін. Соынмен қатар, әрбір накладной нақты бір қоймадан жазылуы керек, кез келген қоймадан бірнеше накладной жазылуы мүмкін. Сонымен, дәлдеп білгеннен кейін, диаграмма келесі түрде болады:
Мән атрибуттары жөнінде де ойлану кезі келді. Біз фирма қызметкерлерімен әңгімелесе отырып, келесіні білдік:
Әр сатып алушы жеке тұлға және оның аты, адресі, банктік реквизиттері болады.
Әрбір тауардың аталуы, бағасы болады, сол сияқты бірлік өлшеммен сипатталады.
Әрбір накладнойда ерекше нөмір, көшірме күні, саны мен бағасы бар тауарлар тізімі болады, сол сияқты накладнойдың жалпы соммасы. Накладной нақты бір қоймадан және нақты бір сатып алушыға жазылады.
Әрбір қойманың өз аталуы болады.
Потенциальды атрибут болатын, қайтадан барлық зат есімдерді жазып және оларды талдаймыз:
Жеке тұлға - риторикалық термин, біз жеке тұлғамен жұмыс істемейміз. Көңіл бөлмейміз.
Сатып алушы аталуы - сатып алушының нағыз сипатамасы.
Адресі - сатып алушының нағыз сипатамасы.
Банктік реквизиттер - сатып алушының нағыз сипатамасы.
Тауар аталуы - сатып алушының нағыз сипатамасы.
(?)Тауар бағасы - бұл тауар сипатаммасына ұқсас. Бұл сипаттаманың накладнойдағы бағамен айырмашылыға бар ма?
Өлшем бірлігі - сатып алушының нағыз сипатамасы.
Накладной нөмірі - накладнойдың ерекше нағыз сипатамасы.
Накладнойдағы күн - накладнойдың нағыз сипатамасы.
(?) Накладнойдағы тауар тізімі - тізім атрибут бола аламайды. Негізінен бұл тізімді жеке мәнге ерекшелеу керек.
(?)Накладнойдағы тауар саны - бұл нағыз сипаттама, бірақ ненің сипаттамасы? Бұл сипаттама "тауардікі" ғана емес, а "накладнойдағы тауардікі".
(?)Накладнойдағы тауар бағасы - бұл тағы тауардың жай сипаттамасы емес, накладнойдағы тауар сипаттамасы. Бірақ тауар бағасымен жоғарыда кездестік – бұл дәл сол?
Накладной қосындысы - накладнойдың нағыз сипаттамасы . Бұл тәуелді емес сипаттама. Накладной қосындысы накладнойға кіретін барлық тауарлардың бағасының қосындысына тең.
Қойма аталуы - қойманың нағыз сипатамасы.
Менеджермен қосымша әңгімелескен кезде бағаның әртүрлі түсініктерін ілдік. Әрбір тауардың кейбір ағымдағы бағасы болады екен. Бұл тауардың дәл сол кезде сатылатын бағасы. Шындығында бұл баға уақыт бойынша өзгереді. Әртүрлі накладнойдағы, әртүрлі уақытта жазылған сол бір тауардың бағасы әртүрлі болуы мүмкін. Сонымен, екі баға болады - накладнойдағы тауар бағасы және тауардың ағымдық бағасы.
Пайда болған "Накладнойдағы тауар тізімі" түсінігімен бәрі белгілі болды. "Накладной" және "Тауар" мәндері бір бірімен көпке-көп типімен байланысқан. Мұндай байланысты, біз алдында қалай қарастырдық, бірге-көп типіндегі екі байланысқа қатысты. Ол үшін қосымша мән қажет болады. Мұндай мән болып "Накладнойдағы тауар тізімі" мәні табылады. "Накладной" және "Тауар" мәндерінің байланысы келесі фразалармен сипатталады - "әрбір накладной накладнойдағы тауар тізімінен бірнеше жазбасы болу керек", "накладнойдағы тауар тізімінің әрбір жазбасы бір накладнойға міндетті түрде қосылуы керек", "әрбір тауар накладнойдағы тауар тізіміндегі бірнеше жазбаға қосылуы мүмкін", " накладнойдағы тауар тізіміндегі әрбір жазба міндетті түрде бір тауармен байланысты болу керек". "Накладнойдағы тауар саны" және "Накладнойдағы тауар бағасы" атрибуттары "Накладнойдағы тауар тізімі" мәнінің атрибуттары болады.
Дәл осылай "Қойма" және "Тауар" мәндерін біріктіретін байланыспен жасаймыз. Қосымша "қоймадағы тауар" мәннің енгіземіз. Бұл мән атрибуты "Қоймадағы тауар саны" болады. Сонымен, тауар кез келген қоймада тіркеледі және әр қоймадағы оның саны жеке болады. Осының бәрін диаграммаға енгізуге болады.
Концептуальды және физикалық ER-модельдер.
Жоғарыда келтірілген ER-диаграмма мысалы концептуальды диаграмма мысалы болып табылады. Бұл нені білдіреді, диаграмма нақты ДҚБЖ ерекшелігін есептемейді. Берілген концептуальды диаграммамен физикалық диаграмма тұрғызуға болады. Ол ДҚБЖ мынадай ерекшеліктерін есептейді, рұқсат етілген типтері және кесте мен өріс атаулары, тұтастықты шектеу және т.б. 8-суретте келтірілген диаграмманың физикалық нұсқасы, мысалы келесі түрде болуы мүмкін:
8-сурет.
Берілген диаграммада әрбір мән деректер қоры кестесін білдіреді, әрбір атрибут тиісті кестенің бағаны болады.
9-сурет.
Көңіл бөлеміз, көптеген кестелерде, мысалы, "Накладнойдағы тізім жазбасы" және "Қоймадағы тауар" мәндеріне қатысты концептуальды модельде болмаған жаңа атрибуттар "CUST_DETAIL" және "PROD_IN_SKLAD" пайда болды - бұл аталық кестелердің кілттік атрибуттары. Ол балалық кестеге мигрирленген, себебі сыртқы кілт арқылы кесте арасындағы байланысты қамтамсыз ету үшін.
Негізгі әдебиет [1], бет 77-85
Қосымша әдебиет [2], бет 92-101
Бақылау сұрақтары
1. Деректердің құрылымдық типтері не үшін арналған?
2. Деректердің сілтеме типі не үшін арналған?
3. Деректердің қандай типтері қарапайым болып табылады?
4. «Домен» дегеніміз не?
5. Потенциальды кілт дегеніміз не?
Дәріс 8. Функционалдық тәуелділік концепциясы. Қалыптастыру.