
- •1 Дәріс. Мәліметтер қорлары технологиясының дамуы
- •1.1 Ақпараттық жүйелері
- •1.2 Файлдар және файлдық жүйелер
- •2 Дәріс. Мәліметтер қорларын қолданатын ақпараттық жүйелері
- •2.1 Файлдық жүйелерінің кемшіліктері
- •2.2 Мәліметтер қорларын қолданатын ақпараттық жүйелер
- •3 Дәріс Мәліметтер қорларын басқару жүйелерінің даму тарихы
- •3.1 Үлкен еэм-дегі мәліметтер қорлары
- •3.2 Дербес компьютерлер кезеңі
- •3.3 Таратылған мәліметтер қорлары
- •3.4 Мәліметтер қорларын басқару жүйелерінің даму перспективалары
- •4 Дәріс Тақырып аймақты жүйелік талқылау
- •4.1 Ақпараттық жүйенің тақырып аймағы
- •4.2 Тақырып аймақты бейнелеудің мысалы
- •5 Дәріс. Мәліметтер қорларын жобалаудың принциптері
- •5.1 Мәліметтер қорларының архитектурасы. Физикалық және логикалыө тәуелсіздік
- •5.2 Мәліметтердің концептуалды модельдері
- •6 Дәріс. Мәліметтерді концептуалды модельдеу
- •6.1 Мәліметтердің концептуалды модельдерінің негізгі анықтамалары
- •6.2 Концептуалды модельді графиқалық көрсету
- •7 Дәріс. Талқыланатын тақырып аймақтың er-диаграммасын өңдеу
- •7.2 Сурет – Баспа компанияның моделінің er–диаграммасы
- •8 Дәріс. Концептуалды модельдеудің мысалдары
- •9 Дәріс. Мәліметтерді модельдеудің әдістері
- •9.1 Мәліметтердің үш негізгі модельдері
- •10 Дәріс. Мәліметтердің реляциялық моделі
- •10.1 Реляциялық кестелер мен кілттер
- •10.2 Мәліметтердің бүтіндігін қамтамасыздандыратын шектеу шарттары
- •11 Дәріс. Концептуалды модельді реляциялық модельге түрлендіру
- •11.1 Объектілік жиынтықтар мен атрибуттарды түрлендіру
- •11.2 Қатынастарды түрлендіру
- •12 Дәріс. Мәліметтер қорларын нормалау
- •13 Дәріс. Функционалды тәуелділітер мен олармен байланысты нормалы формалар
- •13.1 Функционалды тәуелділіктер мен нормалы формалар
- •13.2 Мәліметтердің концептуалды және реляциялық модельдерін салыстыру
- •14 Дәріс. Өңделген реляциялық сұлбаны іске асыру
- •14.1 Құрылымдасқан сұраныстардың sql тілі
- •14.2 Мәліметтер қорының объекттері
- •15 Дәріс. Мәліметтерді4 таратылған өңдеkуі
- •15.1 Жалпы мағлұматтар
- •15.2 Мәліметтер қорларының технолгиясындағы «клиент—сервер» модельдері
- •15.3 Екі денгейлі модельдер
6.2 Концептуалды модельді графиқалық көрсету
Тақырып аймақты сөзбен бейнелегеннен кейін жобалаудың екінші кезеңінде мәліметтер қорының концептуалды моделін өңдеу қажет. Концептуалды модель тақырып аймақтың формалданған бейнелеуі болып табылады, және оны мәліметтер қорлар саласында маман емес адамдарда түсінуі керек. Мәліметтер қорының жобасының дұрыстығын және тереңдігін бағалауға мүмкін болатындай осы бейнелеу толық және әрине, белгілі мәліметтер қорларын басқару жүйесінен тәуелсіз болуы керек. МҚБЖ-ін таңдау сқрағы бөлек есеп болып табылады, бұл есепті шешу үшін ешқандай белгілі МҚБЖ-ен байланыспаған жобамыз болуы керек.
Мәліметтер қорларын концептуалды модельдеуге мәліметтер қорын объекттер мен олар арасындағы байланыстар түрінде көрсететін ER-модель қолданылады. Қазіргі кезде ER-модель үшін барлығы қабылдаған жалғыз белгілеу жүйесі жоқ, әртүрлі графикалық белгілері қолданылады. Бірақ біреуін түсініп, басқаларды да қолдану қиын емес.
Объектілік жиынтықтың көп тараған графикалық белгілеуінің бірі - төртбұрыш, ал жиынтықтың элементтері нүктемен белгіленеді. Объектілік жиынтықтың нақтылауы U символымен белгіленеді. Атрибуттар овалдарда орнатылады. Объектілік жиынтықтың тағы бір белгілеуі де төртбұрыш, оның жоғары жағында объекттің аты, ал төмен жағында атрибуттар аттары, сонымен бірге кілттік атрибуттар астынан сызылып немесе басқа шрифтпен жазылады. Объектілік жиынтықтар арасындағы байланыстар түзу сызықтармен белгіленеді, осы сызықтың ортасында байланыс атын орнатады. Кейбір кезде көрнекі болу үшін байланыс атын осы сызудың ортасында орнатқан ромб ішінде жазады.
Әр түрлі нұсқаларда байланыс қуаттылығы өзгеше белгіленеді. Байланыстың көп болатынын байланыс сызығын бірнешеге бөлу жолымен немесе * және М символдарымен көрсетуге болады. Байланыстың міндетті екеніде әртүрлі жолдармен белгіленеді. Мысалы, байланыстың міндетті еместігін байланыс шегіндегі бос шеңбермен, ал міндетті екенін байланысқа перпендикуляр сызумен көрсетуге болады. Объекттер арасындағы өзара байланыстардың мағнасын дұрыс түсінуге байланыстың графикалық интерпретациялануы мүмкіндік береді және көрнекі болады.
Мысал ретінде СТУДЕНТ және МҰҒАЛІМ объектілік жиынтықтар арасындағы байланыстарды көрсететін ER-диаграммасын келтірейік. Бұл мысалда байланыс – диплом жобалаға жетекші болу: әр студенттің жалғыз жетекшісі бар, бірақ мұғалімде диплом жазатын студенттердің көп саны болуы мүмкін, байланыс «бір-көпке» (6.1 суретті қараңыз).
6.1 Сурет – СТУДЕНТ және МҰҒАЛІМ объекттерді байланыстыру нәтижесіндегі «бір-көпке» қатынастың мысалы
Тақырып аймақтың объекттер мен байланыстар жиындары түрдегі моделін құрастыру нәтижесінде байланысқан графты аламыз. Алынған графта циклдік байланыстар болмауы керек, олар модельдің дұрыс еместігін анықтайды.
7 Дәріс. Талқыланатын тақырып аймақтың er-диаграммасын өңдеу
Дәріс мазмұны:
- ER-диаграммаларды өңдеудің әдістері.
Дәріс мақсаты:
- талқыланатын тақырып аймақтың ER-диаграммасын өңдеу.
Концептуалды жобалаудың негізгі есептері жүйенің тақырып аймағын анықтау және программалық қамтамасыздандыруға мәліметтер қорының болашақ пайдаланушылар позицияларынан көз қарасты құрастыру. Бірінші мысал ретінде кітапханада көрсетілетін кітаптар мен білім салаларының ақпараттарын сақтауға негізделген жүйенің концептуалды моделін жобалайық. Тақырып аймақтың бейнелеуі алдында (4 дәріс) келтірілген.
Негізгі объектілік жиынтықтарды анықтайық.
Біріншіден КІТАПТАР объектілік жиынтығы бар, оның кілті болатын әр кітаптің уникалды шифры, және тақырып аймақтың бейнелеуінен алынған бірсыпыра атрибуттары бар.
КІТАПТАР жиынтығының даналары кітапханада сақталатын кітаптар жиынтығын құрастырады. КІТАПТАР жиынтығының әр данасы полкада тұрған белгілі кітапті анықтамайды, ол әдетте кітапхананың тақырыптық каталогында берілетін кейбір кітаптің бейнелеуіне сәйкес.
Әр кітаптің бірнеше данасы болуы мүмкін, осы даналар кітапхананың полкаларында тұратын белгілі кітаптар. Осыны көрсету үшін ДАНАЛАР деген объектілік жиынтықты енгіземіз, бұл жиынтық кітапханадағы барлық кітаптардың даналарының бейнелеулерінен тұрады. ДАНАЛАР объектілік жиынтығының әр данасы полкада тұрған белгілі кітапқа сәйкес. Сонымен бірге, кітаптің әр данасы кітапханада немесе кейбір оқырманның қолында болуы мүмкін; соңғы жағдайда осы дана үшін қосымша оқырманның кітапты алған күні мен оны қайтаратын датасы көрсетіледі.
Байланыстар міндетті және факультативті болатынын еске салып кетейік. Егер де бір типті объект басқа типті объектпен міндетті түрде байланысатын болса осы типтер объекттері арасында міндетті байланыс бар болады. Кері жағдайда байланыс факультативті болып табылады.
КІТАПТАР және ДАНАЛАР объекттер арасында екі жақтанда міндетті «бір-көпке» (1:М) байланысы бар. Байланыстың осы типі немен анықталады? Әр кітаптің кітапханада бірнеше данасы бар деп болжауға болады, сондықтан байланыс «бір-көпке» болып табылады. Сонымен бірге кітапханада белгілі кітаптің бір да данасы жоқ десек, онда осы кітаптің бейнелеуін сақтамаймыз. Сондықтан кітап КІТАПТАР объектте бейнеленген болса, кітапханада осы кітаптің ең кемінде бір данасы болғаны. Сондықтан кітап жағынан байланыс міндетті.
ДАНАЛАР объектті қарастырсақ, кітапханадағы барлық даналар белгілі кітаптің данасы болады, сондықтан ДАНАЛАР объектісі жағынан да байланыс міндетті болады.
Енді біздің жүйемізде оқырман қалай көрсетілетінін анықтау керек. Оларды көрсету үшін, әрине, ОҚЫРМАНДАР объектілік жиынтығын енгіземіз, бұл жиынтықтың әр элементі белгілі оқырманды көрсетеді. Кітапханада әр оқырманға оны бір мағналы анықтайтын уникалды оқу билетінің нөмірі меншіктеледі. Оқу билетінің нөмірі ОҚЫРМАНДАР объекттің кілттік атрибуты болып табылады. Сонымен бірге қойылған есептерді шешуге мүмкіндік беретін ОҚЫРМАНДАР объектте қосымша атрибуттар болуы керек, осы атрибуттар «Аты-жөні», «Оқырман адресі», «Үй телефоны» және «Жұмыс телефоны» болып табылады. Неге телефондарға екі бөлек атрибуттарды бөлдік? Себебі оқырманды табу үшін әртүрлі уақытта оқырманға осы нөмірлермен телефон шалу қажет болады, кітапхананың әкімдігіне телефонның типін білу қажет. Тақырып аймақтың бейнелеуінде оқырмандар жасына шектеу қойылған, сондықтан ОҚЫРМАНДАР объектіне оқырмандар жасын бақылауға мүмкіндік беретін тағыда міндетті «Туған жылы» атрибутын орнатамыз.
Тақырып аймақтың бейнелеуінде айтылғандай әр оқырман кітаптардың бірнеше данасын ала алады. Осыны белгілеу үшін ОҚЫРМАНДАР және ДАНАЛАР жиынтықтар арасында байланысты орнатамыз. Неге байланыс ОҚЫРМАНДАР мен КІТАПТАР жиынтықтар арасында орнатылмайды? Себебі оқырман кітапханадан белгілі кітаптің белгілі данасын алады. Ал, оқырман қандай кітапты алғанын ДАНАЛАР және КІТАПТАР объекттер арасындағы қосымша байланыс арқылы анықтаймыз. Осы байланыс әр данаға бір кітапті сәйекестіреді. Сондықтан оқырмандармен алынған кітаптардің тек қана инвентарлық нөмірлерін байланыстырсақ та, кез-келген уақытта оқырмандар қандай кітапті алғанын білеміз.
ОҚЫРМАНДАР және ДАНАЛАР объекттер арасындағы байланыс «бір-көпке» байланысы болып табылады, жәнеде ол екі жақтанда міндетті түрдегі емес. Ағымдағы уақытта оқырманда ешқандай алынған кітап болмауы мүмкін, басқа жақтан, кітаптің белгілі данасы кітапхана полкасында тұруы мүмкін (ешкім оны алмады).
Енді жүйелік каталогпен байланысты соңғы объектті көрсетуіміз керек. Кітапханадағы кітаптардың білім салалар тізімі жүйелік каталогта орнатылған. Кітапханадағы жүйелік каталогты еске салыңыз, егер де кітаптардың авторлары мен аттарын білмесек, қажетті кітаптарды іздеуін осы каталогтан бастаймыз.
Білім саланың атауы өте ұзын болып, бірнеше сөздерден тұруы мүмкін. Сондықтан моделімізге екі «Білім саланың коды» және «Білім саланың атауы» атрибуттары бар ЖҮЙЕЛІК_КАТАЛОГ объектілік жиынтықты орнатамыз. «Білім саланың коды» атрибуты объектілік жиынтықтың кілттік атрибуты болады.
Әр кітапта бірнеше білім салалардан ақпарат орнатылуы және кітапханада бір білім саланың бірнеше кітабі болуы мүмкін екенін тақырып аймақтың бейнелеуінен түсіндік. Сондықтан ЖҮЙЕЛІК_КАТАЛОГ және КІТАПТАР жиынтықтар арасында «көп-көпке» байланыс орнатылады. Бұл байланыс екі жақтанда міндетті болып табылады. Әрине, кітапханада бір да кітабі жоқ білім саласы жүйелік каталогта көрсетілмейді. Кері жағынан, оқырман тауып алу үшін әр кітап бір немесе бірнеше білім саласына орнатылады.
Бұл қатынас құрамды объектілік жиынтықты құрастырады. Ыңғайлы болу үшін осындай жиынтықтарға кейбір кезде объектілік атаулар (қатынас атына қосымша) беріледі – зат етістіктер. Осы жиынтықты МАҒЛҰМАТТАР деп атайық. Құрамды объектілік жиынтық графикалық түрде қатынаспен оған қатысатын объектілік жиынтықтарды қоршайтын төртбұрыш болып табылады (7.1 суретті қараңыз).
7.1 Сурет - «Кітапхана» тақырып аймақтың концептуалды моделі
Екінші мысалда баспа қызметімен байланысатын компанияның ақпаратын сақтауға негізделген жүйенің концептуалды моделін жобалаймыз. Тақырып аймақтың бейнелеуі алдында келтірілген (4 дәріс). Модельді өңдеуін негізгі объекттерді анықтаудан бастаймыз.
Біріншеден КІТАПТАР объектілік жиынтық және әр кітаптің бірсыпыра атрибуттары бар болады, олар тақырып аймақтың бейнелеуінен алынады. Өңделетін жүйеде авторларды көрсету үшін АВТОРЛАР объектілік жиынтықты орнатамыз, бұл жиынтықтың әр данасы белгілі авторды көрсетеді (бұл жиынтықтың атрибуттары да тақырып аймақтың бейнелеуінде келтірілген). Бұл жерде жазылып, басуға дайын кітаптар туралы әңгімелеп отырғанымызды айтып кеткен жөн. Әр кітаптің белгілі авторлар тізімі бар, әр автор (авторлар тобы) бірнеше кітапті жазуы мүмкін. Жалпы кезде бұл байланыс «көп-көпке» болады. Осындай жағдайда бұл қатынас БАСУҒА_ДАЙЫН_КІТАПТАР деген құрамды объектілік жиынтықты құрастырады. Бұл жиынтықтың өзінің атрибуттары болуы мүмкін, мысалы, тиражы, бағасы, шығу мерзімі.
Белгілі кітапты басып шығару жұмысына компанияның қызметкерлері қатысады, оларды сәйкес атрибуттары бар ҚЫЗМЕТКЕРЛЕР объектілік жиынтықпен көрсетеміз. Қызметкерлер кітаптардың редакторлары және де кітапты басып шығаруға келісім шарттарды дайындайтын менеджерлер деп бөлінеді. Бұл қызметкерлер топтарының функциялары әртүрлі. Сондықтан, ҚЫЗМЕТКЕРЛЕР объектілік жиынтықтың нақтылауларын енгіземіз - МЕНЕДЖЕРЛЕР және РЕДАКТОРЛАР. Әр кітапті редакторлардың белгілі тобы (бірнеше редакторлар) редакциялайды, бұл топ бірнеше кітаптармен жұмыс істеуі мүмкін: жиынтықтардың қатынасы «көп-көпке». Бұл қатынасты РЕДАКЦИЯЛАУ деп атауға болады – жаңа объектілік жиынтық, оның, мысалы, келесідей атрибуттары бар: басталу мерзімі, аяқтау мерзімі.
Авторлардың әр тобы (немесе жеке автор) бірнеше кітапті басып шығаруға келісім шарттарға қол қоюлары мүмкін. Менеджерлер де көптеген авторлармен жұмыс істейді. Сондықтан АВТОРЛАР және МЕНЕДЖЕРЛЕР жиынтықтарының арасындағы қатынас құаттылығы «көп-көпке» болады, бұл қатынас жаңа КЕЛІСІМ_ШАРТ деген объектілік жиынтықты құрады (контракттар атрибуттары – нөмірі, қол қою датасы, авторлық гонорар).
Компанияның негізгі қызметі аталған кітаптарды басуға тапсырыстарды орындау: ТАПСЫРЫС_БЕРУШІЛЕР объектте тапсырыс берушілер туралы мәліметтер сақталады (тапсырыс берушінің аты-жөні, адресі, телефоны). Тапсырыс берушілер жалғыз емес, көп кітаптарға тапсырыс берулері мүмкін, және де әр кітапті көп тапсырыс берушілер сатып алуына болады: ТАПСЫРЫС_БЕРУШІЛЕР және КІТАПТАР арасындағы қатынас «көп-көпке» болады, бұл қатынас ТАПСЫРЫСТАР объектілік жиынтықты анықтайды (атрибуттары – тапсырыстың түсу мерзімі, оны орындау мерзімі, тапсырыс бағасы).
Баспа компанияның моделінің ER–диаграммасының нұсқасы 7.1 суретте келтірілген. Диаграмма өте күрделі болмау үшін объектілік жиынтықтардың атрибуттары мен құрамды объектілік жиынтықтар келтірілмеген).