жүктеу мүмкіндігіне ие боласыз
Бұл материал сайт қолданушысы жариялаған. Материалдың ішінде жазылған барлық ақпаратқа жауапкершілікті жариялаған қолданушы жауап береді. Ұстаз тілегі тек ақпаратты таратуға қолдау көрсетеді. Егер материал сіздің авторлық құқығыңызды бұзған болса немесе басқа да себептермен сайттан өшіру керек деп ойласаңыз осында жазыңыз
Деректердің құрылымын және қолданбалы ақпараттық процестерді модельдеу және жобалау
Деректердің құрылымын және қолданбалы ақпараттық процестерді модельдеу және жобалау
Дәрістің дидактикалық мақсаттары • Білу: деректер құрылымының негізгі ұғымдары, модельдеу технологиялары • Түсіну: ER-диаграмма, нормализация, IDEF0/DFD модельдеу принциптері • Қолдана білу: нақты ақпараттық жүйелерде деректер моделін жобалай алу • Талдай білу: бизнес-процестерді декомпозициялап, деректер ағынын модельдеу |
Дәріс жоспары 1. Кіріспе: Ақпараттық жүйелерде модельдеудің рөлі 2. Деректер моделінің түрлері (концептуалды, логикалық, физикалық) 3. Байланыс-нысан (ER) модельдеу технологиясы 4. Реляциялық модельдеу және нормализация 5. Ақпараттық процестерді модельдеу (IDEF0, DFD) 6. UML диаграммалары арқылы жобалау 7. Деректер сөздігі және метадеректер 8. Практикалық мысалдар және жиынтық |
1. Кіріспе: Ақпараттық жүйелерде модельдеудің рөлі
Қазіргі заманғы ақпараттық жүйелер (АЖ) — күрделі бағдарламалық-аппараттық кешендер. Олар тек деректерді сақтап қоймайды, сонымен қатар ұйымның барлық іскерлік процестерін қамтамасыз етеді. Осы күрделіліктің ауқымын игеру үшін жобалаушылар модельдеу тәсілін қолданады.
1.1. Модель және модельдеу ұғымдары
Модель — нақты объект немесе процестің жеңілдетілген, мақсатқа бейімделген сипаттамасы. АЖ жобалауда модель үш негізгі сұраққа жауап береді:
Не сақтанады? (деректердің мазмұны мен құрылымы)
Қалай байланысқан? (нысандар арасындағы қатынастар)
Қалай өзгереді? (ақпараттық процестер, операциялар)
1.2. Модельдеу не үшін қажет?
Модельдеусіз |
Модельдеумен |
Талаптар нақты емес |
Барлық мүдделі тараптар бірдей түсінеді |
Қателер кеш табылады |
Жобалау кезеңінде анықталады |
Жобалаушы мен тапсырыс беруші сөйлемейді |
Ортақ тіл — диаграммалар |
Техникалық қарыз өседі |
Архитектура алдын-ала анықталады |
Тестілеу қымбатқа түседі |
Логикалық қателер алдын-ала болдырылмайды |
1.3. Деректерді модельдеудің деңгейлері
Кез-келген ақпараттық жүйеде деректер моделі үш деңгейде қарастырылады:
Концептуалды деңгей — «не туралы?» деген сұраққа жауап. ДҚБЖ-дан тәуелсіз, бизнес терминдерімен сипатталады.
Логикалық деңгей — «қалай ұйымдастырылады?» деген сұраққа жауап. Реляциялық, иерархиялық немесе желілік модель таңдалады.
Физикалық деңгей — «қалай сақталады?» деген сұраққа жауап. Индекстер, файл форматтары, дискілік орналасу.
2. Деректер моделінің түрлері
Деректерді модельдеудің тарихи дамуы барысында бірнеше негізгі модель түрі қалыптасты. Олардың әрқайсысының артықшылықтары, кемшіліктері және қолданылу саласы бар.
2.1. Иерархиялық модель
Деректер ағаш тәрізді иерархия түрінде ұйымдастырылады. Әр «бала» жазба тек бір «ата» жазбаға ие болады. IBM IMS (1968) жүйесінде алғаш пайдаланылды.
Мысал: Иерархиялық модель — Университет Университет └── Факультет └── Кафедра └── Оқытушы └── Пән
Артықшылығы: жылдам іздеу, қарапайым навигация Кемшілігі: M:N байланысты жеңіл ұсына алмайды |
2.2. Желілік модель
CODASYL стандарты (1969) ұсынған желілік модель иерархиялық модельдің кемшіліктерін жоюға тырысты. Нысандар (жазбалар) мен жиынтықтар (байланыстар) арқылы сипатталады.
Жазба (Record) — деректер объектісі
Жиынтық (Set) — екі жазба арасындағы 1:N байланыс
Артықшылық: күрделі байланыстарды ұсына алады
Кемшілік: бағдарламалау өте күрделі, икемсіз
2.3. Реляциялық модель
Эдгар Ф. Кодд 1970 жылы ұсынған реляциялық модель кестелер (қатынастар) арқылы деректерді ұсынады. Бүгінде ең кеңінен таралған модель.
Реляциялық модельдің негізгі ұғымдары Қатынас (Relation) = кесте (Table) Жол (Row) = кортеж (Tuple) = жазба Баған (Column) = атрибут (Attribute) Домен — атрибуттың мүмкін мәндер жиыны Бастапқы кілт (Primary Key, PK) — жолды бірегей анықтайды Сыртқы кілт (Foreign Key, FK) — кестелер арасындағы байланыс |
2.4. Объектіге-бағытталған модель
ОО-модельде деректер мен операциялар бірге инкапсуляцияланады. Күрделі нысандарды (мультимедиа, кеңістіктік деректер) сипаттауға ыңғайлы. PostgreSQL, Oracle осы тәсілдің элементтерін қолдайды.
2.5. NoSQL модельдер
Модель |
Мысалдар |
Қолданылуы |
Кілт-мән (Key-Value) |
Redis, DynamoDB |
Кэш, сеанстар |
Баған-бағытталған |
Cassandra, HBase |
Аналитика, үлкен деректер |
Құжат (Document) |
MongoDB, CouchDB |
Каталогтар, контент |
Граф (Graph) |
Neo4j, ArangoDB |
Әлеуметтік желілер, ұсыныстар |
3. Байланыс-нысан (ER) модельдеу технологиясы
Entity-Relationship (ER) диаграммасы — Питер Чэн 1976 жылы ұсынған концептуалды деңгейдегі модельдеу тілі. Ол деректер базасының мазмұнын графикалық түрде жобалауға мүмкіндік береді.
3.1. ER-диаграмманың негізгі элементтері
Элемент |
Белгіленуі |
Сипаттамасы |
Нысан (Entity) |
Тіктөртбұрыш □ |
Нақты немесе абстрактілі объект |
Атрибут (Attribute) |
Эллипс ○ |
Нысанның қасиеті |
Байланыс (Relationship) |
Ромб ◇ |
Нысандар арасындағы қатынас |
Кілттік атрибут |
Асты сызылған эллипс |
Бірегей идентификатор |
Туынды атрибут |
Нүктелі эллипс |
Есептеліп шығарылатын мән |
Көп мәнді атрибут |
Қос эллипс |
Бірнеше мән қабылдайды |
3.2. Байланыс кардинальдылығы
Байланыс кардинальдылығы — нысандар арасындағы сандық қатынастардың шектеуі.
1:1 (Бірге-бір) — бір студент бір зачёттік кітапшаға ие
1:N (Бірге-көп) — бір оқытушы көп пәнді оқытады
M:N (Көпке-көп) — студент көп пәнді оқиды, пәнді көп студент оқиды
Практикалық мысал: Колледж ER-диаграммасы Нысандар: СТУДЕНТ, ОҚЫТУШЫ, ПӘНІ, ТОП, БӨЛМЕ
СТУДЕНТ (студент_id PK, аты, тегі, туған_күні, топ_id FK) ОҚЫТУШЫ (оқытушы_id PK, аты, тегі, мамандығы, кафедра_id FK) ПӘНІ (пән_id PK, атауы, кредит_сағаты, оқытушы_id FK) ТОП (топ_id PK, топ_атауы, курс, мамандық_id FK)
Байланыстар: СТУДЕНТ — [оқиды] — ПӘНІ (M:N → БАҒАЛАУ кестесі арқылы) ОҚЫТУШЫ — [оқытады] — ПӘНІ (1:N) СТУДЕНТ — [кіреді] — ТОП (N:1) |
3.3. Кеңейтілген ER (EER) диаграммасы
EER диаграммасы ER диаграммасын объектіге-бағытталған ұғымдармен толықтырады:
Мұрагерлік (Inheritance / ISA) — ЖҰМЫСШЫ → ОҚЫТУШЫ, ӘКІМШІ
Мамандандыру (Specialization) — жоғарыдан төмен
Жалпылау (Generalization) — төменнен жоғары
Категория (Category/Union) — бірнеше суперсыныптың бірігуі
4. Реляциялық модельдеу және нормализация
Логикалық деңгейде ER-диаграммадан реляциялық схемаға өту жүзеге асырылады. Бұл процестің негізгі мақсаты — деректердің артықшылығын (redundancy) жою және аномалияларды болдырмау.
4.1. Функциялық тәуелділік
X → Y: егер X атрибутының мәні белгілі болса, Y атрибутының мәні бірегей анықталады. Нормализация функциялық тәуелділіктер теориясына негізделген.
4.2. Нормалды формалар
Нормализация деңгейлері 1НФ (Бірінші нормалды форма): • Барлық атрибуттар атомарлы (бөлінбейтін) болуы керек • Қайталанатын топтар жоқ • Мысал: телефон нөмірлерін бөлек кестеге шығару
2НФ (Екінші нормалды форма): • 1НФ + Бастапқы кілтке толық функциялық тәуелділік • Кілттің бөлігіне тәуелді атрибуттар жоқ • Тек композитті кілті бар кестелерге қатысты
3НФ (Үшінші нормалды форма): • 2НФ + Транзитивті тәуелділік жоқ • Кілттік емес атрибут басқа кілттік емес атрибутқа тәуелсіз
БКНФ (Бойс-Кодд нормалды формасы): • 3НФ-тің күшейтілген нұсқасы • Кез-келген функциялық тәуелділіктің солжағы суперкілт болуы керек
4НФ, 5НФ — Көп мәнді тәуелділіктер мен біріктіру аномалияларын жою |
4.3. Нормализация мысалы
Бастапқы нормализацияланбаған кесте:
Студент |
Пән |
Оқытушы | Бөлме |
Асанов А. |
Математика |
Бекова М. | 301 |
Асанов А. |
Физика |
Смагулов Е. | 205 |
Бекова Б. |
Математика |
Бекова М. | 301 |
3НФ-ке дейін нормализациядан кейін (3 бөлек кесте):
СТУДЕНТ (студент_id, аты)
ПӘН (пән_id, пән_атауы, оқытушы_id, бөлме)
ОҚУ (студент_id, пән_id) — M:N байланыс кестесі
ОҚЫТУШЫ (оқытушы_id, аты)
4.4. Денормализация
Кейде өнімділікті арттыру мақсатында қасақана нормализациядан шегіну жүзеге асырылады. Бұл тәсіл деректер қоймалары (Data Warehouse) мен аналитикалық жүйелерде жиі қолданылады.
Денормализация қашан қолданылады? • Оқу операциялары жазу операцияларынан басым болғанда • Күрделі JOIN сұранымдары өнімділікті төмендетіп жатқанда • OLAP (аналитикалық өңдеу) жүйелерінде • Кэштеу стратегиясы ретінде • Есеп беру (Reporting) жүйелерінде |
5. Ақпараттық процестерді модельдеу
Деректер құрылымы статикалық суретті береді. Ал жүйе динамикасын — ақпарат қалай қозғалады, өзгереді, өңделеді дегенді — процесс модельдері арқылы сипаттаймыз.
5.1. IDEF0 — Функциялық модельдеу
IDEF0 (ICAM Definition Method 0) — АҚШ Әуе күштері ұсынған функциялық декомпозиция стандарты. Ол жүйенің не істейтінін (функцияларын) сипаттайды.
IDEF0 блогының анатомиясы (ICOM) Кіру (Input) ← Функция (Activity) → Шығу (Output) ↑ Басқару (Control) ↓ Механизм (Mechanism)
Input — өзгертілетін немесе тұтынылатын ресурстар Output — функцияның нәтижелері Control — функцияны реттейтін шарттар, ережелер, стандарттар Mechanism — функцияны орындайтын ресурстар (адам, жабдық, жүйе) |
IDEF0 модельдеу принциптері:
Декомпозиция принципі — негізгі функция (A0) қосалқы функцияларға бөлінеді
Жоғарғы деңгейде 3-6 функция ұсынылады
Байланыстар ICOM сілтемелері арқылы жүзеге асырылады
Контекст диаграммасы (A-0) — жүйенің сыртқы ортамен байланысы
Мысал: Студентті тіркеу процесі (IDEF0) A0: Студентті колледжге тіркеу ├── A1: Өтінішті қабылдау │ Input: Өтініш, құжаттар │ Output: Тексерілген өтініш │ Control: Қабылдау ережелері │ Mechanism: Хатшы, АЖ │ ├── A2: Ұпайды есептеу │ Input: Тексерілген өтініш, ҰБТ нәтижелері │ Output: Ұпай тізімі │ Control: Конкурс шарттары │ └── A3: Бұйрық шығару Input: Ұпай тізімі Output: Қабылдау бұйрығы, студент куәлігі |
5.2. DFD — Деректер ағыны диаграммасы
Data Flow Diagram (DFD) — Де Марко (1979) мен Гейн-Сарсон (1979) ұсынған тәсіл. IDEF0-ге қарағанда DFD деректер қозғалысына баса назар аударады.
Элемент |
Де Марко белгіленуі |
Сипаттама |
Процесс |
Шеңбер |
Деректерді өзгертетін функция |
Деректер ағыны |
Бағытталған сызық → |
Деректер қозғалысы |
Деректер қоры |
Ашық тіктөртбұрыш |
Деректер сақталатын орын |
Сыртқы нысан |
Тіктөртбұрыш |
Жүйе сыртындағы источник/тұтынушы |
DFD деңгейлері:
0-деңгей (Контекст диаграммасы) — жүйе тұтасымен бір процесс ретінде
1-деңгей — негізгі процестер мен деректер ағындары
2-деңгей және одан төмен — детальды декомпозиция
5.3. BPMN — Бизнес-процестерді модельдеу
Business Process Model and Notation (BPMN 2.0) — OMG стандарты. Бизнес-процестерді графикалық жобалауға арналған, соңғы жылдары кеңінен қолданылуда.
BPMN негізгі элементтері Оқиғалар (Events): ○ Бастапқы ◎ Аралық ● Соңғы Іс-әрекеттер (Activities): □ Тапсырма ☐ Ішкі процесс Шлюздер (Gateways): ◇ Эксклюзив ◈ Параллель ◉ Инклюзив Ағындар (Flows): → Реттік ағын --> Хабарлама ағыны Жолдар (Swimlanes): Пул (Pool), Жол (Lane) |
6. UML диаграммалары арқылы жобалау
Unified Modeling Language (UML) — объектіге-бағытталған жүйелерді модельдеуге арналған OMG стандарты. Версия 2.5 14 диаграмма түрін қамтиды.
6.1. Деректер базасын жобалауда маңызды UML диаграммалары
Диаграмма |
Мақсаты |
Сынып диаграммасы (Class Diagram) |
Нысандар мен олардың байланысын көрсету — ER-ге балама |
Объект диаграммасы (Object Diagram) |
Нақты мысалдармен нысандар байланысын суреттеу |
Компонент диаграммасы |
Жүйе компоненттері мен интерфейстері |
Жағдай диаграммасы (State Machine) |
Нысанның жай-күйі мен өтулері |
Іс-әрекет диаграммасы (Activity) |
Процесс ағыны — DFD-ге балама |
6.2. Сынып диаграммасындағы байланыс түрлері
Бірлестік (Association) — екі сынып арасындағы жалпы байланыс (─)
Агрегация (Aggregation) — «бүтін-бөлік», бөлік өмір сүре алады (◇─)
Композиция (Composition) — күшті агрегация, бөлік жеке өмір сүрмейді (◆─)
Тәуелділік (Dependency) — бір сынып басқасын пайдаланады (-->)
Жалпылау (Generalization) — мұрагерлік (──▷)
Іске асыру (Realization) — интерфейсті жүзеге асыру (-->▷)
6.3. UML-ден реляциялық схемаға өту
Трансформация ережелері 1. Сынып → Кесте 2. Атрибут → Баған 3. Бірлестік (1:N) → FK сыртқы кілт 4. Бірлестік (M:N) → Аралық кесте 5. Жалпылау → а) бір кесте + тип бағаны б) ата кестесі + бала кестелері в) тек бала кестелері (конкретті) 6. Интерфейс → Кестеде сақталмайды (поведение) |
7. Деректер сөздігі және метадеректер
Деректер сөздігі (Data Dictionary) — жүйедегі барлық деректер элементтерінің орталықтандырылған тізілімі. Ол деректерді анықтайды, оларға сипаттама береді және реттейді.
7.1. Деректер сөздігінің мазмұны
Кесте анықтамалары (Table definitions)
Атрибут сипаттамалары (мәндер типі, ұзындығы, шектеулер)
Байланыстар мен кілт шектеулері
Іскерлік ережелер (Business Rules)
Нысандардың иелері мен жауаптылары
Деректер сапа стандарттары
7.2. Метадеректер түрлері
Метадеректер түрі |
Мысал |
Сақталатын орын |
Техникалық |
Кесте аты, баған типі, индекс |
ДҚБЖ каталогы |
Іскерлік |
«Клиент» — компанияның тікелей тұтынушысы |
Деректер сөздігі |
Операциялық |
Соңғы жаңарту күні, жолдар саны |
Жүйе кестелері |
Сапалық |
Толықтық, дәлдік, уақтылылық |
Деректер сапа платформасы |
7.3. CASE-құралдары
Computer-Aided Software Engineering (CASE) — жобалау процесін автоматтандыратын бағдарламалық жасақтама.
CASE-құрал |
Мүмкіндіктері |
Oracle SQL Developer Data Modeler |
ER, реляциялық, физикалық деңгей; DDL генерациясы |
ERwin Data Modeler |
Кәсіби деректер архитектурасы; forward/reverse engineering |
Lucidchart |
Браузерде жұмыс; командамен бірге редакциялау |
draw.io (diagrams.net) |
Тегін; UML, BPMN, ER диаграммалары |
dbdiagram.io |
Мәтін негізінде ER; DDL экспорты |
pgModeler |
PostgreSQL-ге арналған ашық бастапқы CASE |
8. Кешенді практикалық мысал: «Кітапхана АЖ»
Осы бөлімде жоғарыда қарастырылған барлық тәсілдерді бір нақты мысалда — колледж кітапханасының ақпараттық жүйесінде — біріктіреміз.
8.1. Жүйенің мақсаты мен шекарасы
Бизнес-талаптар Жүйе мыналарды қамтамасыз ету керек: • Кітап қорын есепке алу (қабылдау, есептен шығару) • Оқырмандарды тіркеу • Кітап беру мен қайтаруды басқару • Мерзімі өткен қарыздарды бақылау • Ең сұранысты кітаптар туралы есеп |
8.2. Концептуалды модель (ER)
Негізгі нысандар:
КІТАП (кітап_id, ISBN, атауы, автор, жанр, жылы, жалпы_дана)
ОҚЫРМАН (оқырман_id, аты, тегі, факультет, топ, телефон)
ДАНА (дана_id, кітап_id, инвентарь_нөмірі, күй: бар/берілген)
БЕРІЛІМ (берілім_id, дана_id, оқырман_id, берілген_күн, қайту_мерзімі, қайтарылған_күн)
КІТАПХАНА (кітапхана_id, атауы, мекенжайы)
8.3. Логикалық модель (реляциялық схема)
3НФ-ке дейін нормализацияланған кесте схемасы:
DDL фрагменті (PostgreSQL) CREATE TABLE кітап ( кітап_id SERIAL PRIMARY KEY, isbn VARCHAR(13) UNIQUE NOT NULL, атауы VARCHAR(255) NOT NULL, автор_id INT REFERENCES автор(автор_id), жанр_id INT REFERENCES жанр(жанр_id), баспа_жылы SMALLINT CHECK (баспа_жылы > 1800) );
CREATE TABLE берілім ( берілім_id SERIAL PRIMARY KEY, дана_id INT NOT NULL REFERENCES дана(дана_id), оқырман_id INT NOT NULL REFERENCES оқырман(оқырман_id), берілген_күн DATE NOT NULL DEFAULT CURRENT_DATE, қайту_мерзімі DATE NOT NULL, қайтарылған_күн DATE, CONSTRAINT мерзім_тексеру CHECK (қайту_мерзімі > берілген_күн) ); |
8.4. Процестік модель (DFD 1-деңгей)
Негізгі процестер:
П1: Оқырманды тіркеу — Кіру: Өтініш → Шығу: Оқырман карточкасы
П2: Кітап беру — Кіру: Оқырман карточкасы, кітап_id → Шығу: Берілім жазбасы
П3: Кітап қайтару — Кіру: Берілім_id → Шығу: Жаңартылған дана күйі
П4: Мерзімін тексеру — Кіру: Ағымдағы күн → Шығу: Хабарлама тізімі
П5: Есеп беру — Кіру: Кезең → Шығу: Сұраныс статистикасы
Қорытынды
Деректердің құрылымын және ақпараттық процестерді модельдеу — заманауи АЖ жобалаудың іргетасы. Осы дәрісте қарастырылған тәсілдер бірін-бірі толықтырады:
Тәсіл |
Деңгей |
Не береді |
ER диаграммасы |
Концептуалды |
Деректер семантикасы |
Нормализация |
Логикалық |
Артықшылықсыз схема |
IDEF0 |
Функциялық |
Не істейді — функциялар |
DFD |
Процестік |
Деректер қалай ағады |
BPMN |
Бизнес |
Кім, қашан, қалай |
UML |
ОО-жобалау |
Сыныптар мен байланыстар |
Негізгі тұжырымдар ✓ Модельдеу жобалау сапасын арттырады, қателерді ерте табуға мүмкіндік береді ✓ Деректер моделі үш деңгейде қарастырылады: концептуалды → логикалық → физикалық ✓ ER диаграммасы — концептуалды деңгейдің стандарт тілі ✓ Нормализация деректер тұтастығын қамтамасыз етеді ✓ IDEF0, DFD, BPMN — процестерді сипаттаудың толықтырушы тәсілдері ✓ UML сынып диаграммасы — ОО-жүйелерде ER-ге балама ✓ Деректер сөздігі — жүйенің 'жадысы', метадеректерді орталықтандырады |
Бақылау сұрақтары
ER диаграммасының негізгі элементтерін атаңыз және сипаттаңыз.
Функциялық тәуелділік дегеніміз не? 2НФ пен 3НФ айырмашылығын түсіндіріңіз.
IDEF0 диаграммасындағы ICOM аббревиатурасы нені білдіреді?
DFD пен IDEF0 арасындағы негізгі айырмашылық неде?
UML сынып диаграммасынан реляциялық схемаға қалай өтуге болады?
Деректер сөздігі не үшін қажет?
Денормализация қашан орынды?
Өзіндік жұмыс тапсырмасы
Тапсырма Нұсқа бойынша берілген предметтік облыс үшін:
1. ER диаграммасын салыңыз (кем дегенде 5 нысан, 3 байланыс) 2. 3НФ-ке дейін нормализацияланған реляциялық схеманы жасаңыз 3. IDEF0 немесе DFD арқылы 2 негізгі процесті суреттеңіз 4. draw.io немесе dbdiagram.io қолданбасында диаграммаларды безендіріңіз
Нұсқалар: Дәріхана, Қонақ үй, Автосалон, Ауруханалық тіркеу, Онлайн дүкен, Спорт клубы, Бронь жүйесі, Жоба менеджменті |
Ұсынылатын әдебиеттер
Codd, E.F. (1970). A Relational Model of Data for Large Shared Data Banks. — ACM
Chen, P.P. (1976). The Entity-Relationship Model. — ACM Transactions on Database Systems
Elmasri, R. & Navathe, S. (2015). Fundamentals of Database Systems. 7th Ed. — Pearson
Рамбо Дж., Якобсон А., Буч Г. (2007). UML: Унифицированный язык моделирования. — Питер
ISO/IEC 10027:1990 — IDEF0 стандарты
OMG BPMN 2.0.2 спецификациясы — www.omg.org
Бет
шағым қалдыра аласыз



Бұл курс Қазақстан Республикасы Оқу-ағарту министрлігімен келісілген