Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОБДЗ / Лекции Access / Проектування РБД / 5_реляцiйний_пiдхiд

.pdf
Скачиваний:
9
Добавлен:
03.03.2016
Размер:
169.52 Кб
Скачать

5РЕЛЯЦІЙНИЙ ПІДХІД ДО ОРГАНІЗАЦІЇ БАЗ ДАНИХ

5.1Історія створення реляційної моделі даних

Наприкінці 60-х років ХХ століття з'явилися праці, у яких обговорювалися можливості застосування для БД різних табличних ЛМД. В таких моделях можна було б використовувати звичні і природні способи представлення даних як таблиць. Найбільш значною з таких робіт була стаття співробітника фірми IBM Е.Кодда в червні 1970 року. В цій статті автор вперше застосував термін РМД і запропонував використовувати для обробки даних апарат теорії множин (операції об'єднання, перетинання, різниця, декартовий добуток).

Е. Кодд показав, що будь-яке уявлення даних можна звести до сукупності двомірних таблиць особливого виду, відомого в математиці як відношення

(англ. relation).

Найбільш розповсюджене трактування РМД належить К.Дейту. Він визначив, що РМД складається з трьох частин, що описують різні аспекти реляційного підходу:

структурна частина (об'єкти даних);

цілісна частина;

маніпуляційна частина (оператори обробки даних).

Таке визначення МД як способу розгляду даних можна використовувати при аналізі будь-яких даталогічних МД. Але потрібно враховувати, що основою визначення типу БД є структурна частина її моделі.

Як було визначено вище, структурну частину РМД складають двомірні таблиці. Нижче ми розглянемо питання їх організації.

Одразу зазначимо, що у маніпуляційній частині РМД затверджуються два фундаментальних механізми маніпулювання реляційними даними:

реляційна алгебра, що базується на традиційних теоретико-множинних операціях, доповнених спеціальними операціями, специфічними для БД;

реляційне числення, що базується на операціях математичної логіки. Питання маніпулювання в цій роботі майже не розглядаються.

Цілісність даних – умови, за яких дані зберігаються для використання

згідно з призначенням, передаються та приймаються без змін і купюр. Ця складова частина РБД буде розглянута пізніше.

5.2 Табличне подання даних

Практично будь-яку інформацію, що нас оточує, можна представити для користувача у вигляді прямокутних таблиць значень даних. Навіть можна сказати, що таблиці нас оточують у повсякденному житті, наприклад, маршрути транспорту, розміщення книг у бібліотеці, устаткування по цехах, відомості на зарплатню.

Розглянемо на прикладі звичайне табличне подання інформації, проаналізуємо структуру таблиці та визначимо її елементи.

Сформулюємо постановку задачі: Необхідно розробити БД для обліку успішності студентів у деканаті вищого навчального закладу (ВНЗ). БД

26

повинна містити наступні дані: анкетні відомості про студента, група, факультет, оцінки по всім дисциплінам, середня оцінка та розмір стипендії за кожний семестр, середня оцінка за весь період навчання.

Домовимося, що анкетні відомості про студента включають прізвище, ім'я, по-батькові, стать, дату народження, адресу, резюме, фотографію, вік. Ці дані вносяться до особистої картки студента.

Успішність студентів відбивається у залікових книжках, залікових і екзаменаційних відомостях по студентських групах. Потім цю інформацію в деканатах заносять в загальні журнали успішності. Ці журнали використовують для аналізу успішності студентів, організації перездач, підготовки наказів про призначення стипендій, формування виписок з заліково-екзаменаційних відомостей як додатка до диплома.

Зазвичай, за семестр студент здає до 5-ти заліків, 2-х курсових робіт, 5-ти екзаменів. Частина журналу успішності для одного семестру однієї групи представлена в табл. 5.1.

Таблиця 5.1 – Журнал успішності студентів групи Група1 за осінній семестр

2008/2009 року

 

Анкетні дані

 

 

 

 

 

 

Результаті сесії

 

 

Прізвище

Ім’я

По-

.

Форма

Заліки

 

Курсові

 

Іспити

 

 

батькові

.

 

Д1

 

Д5

Д11

Д12

Д13

 

Д18

 

 

 

.

 

 

 

 

 

 

 

 

 

 

Андрєєв

Андрій

Андрійович

 

Б

3

 

 

3

4

5

4

5

 

Андрєєв

Андрій

Андрійович

 

Б

3

 

 

3

4

5

4

5

 

……

 

 

 

 

 

 

 

 

 

 

 

 

 

Іванов

Іван

Іванович

 

Пл

3

 

 

3

3

3

3

3

 

…….

 

 

 

 

 

 

 

 

 

 

 

 

 

Яковлєв

Яків

Якович

 

Пл

3

 

 

3

5

5

5

 

5

Зведемо всі дані про студентів одного факультету та їх успішність за один семестр до однієї таблиці. Схематично така таблиця представлена в табл. 5.2.

Структура таблиці та її елементи показані в табл. 5.3.

Таблиця має унікальне найменування. Вона складається з граф (стовпців) і рядів (рядків). Кожен стовпець має ім'я, що звичайно записується у верхній частині таблиці. Воно повинне бути унікальним у таблиці, однак різні таблиці можуть мати стовпці з однаковими іменами.

Будь-яка таблиця повинна мати хоча б один стовпець; стовпці розташовані в таблиці відповідно до встановленого порядку. Сукупність імен стовпців створює голівку ("шапку") таблиці.

Таблиця відображає тип об'єкту реального світу (сутність), а кожен її рядок

– конкретний об'єкт. Рядки таблиці – це набір значень атрибутів кожного конкретного студента.

В нашому прикладі вся інформація додатково розбита для наочності на інформаційні групи. В даному випадку це спеціальності та потоки. Кожна інформаційна група має свій заголовок.

27

Таблиця 5.2 – Журнал успішності студентів за осінній семестр 2008/2009 року

Група

 

 

 

 

Анкетні дані

 

 

 

 

 

Результаті сесії

 

 

 

Стипендія

 

Прізвище

 

Ім’я

По-батькові

. . .

Форма

 

Заліки

 

 

 

Іспити

 

 

 

 

 

 

 

 

 

 

Д1

Д10

Д11

Д12

Д29

Д30

 

Спеціальність: Спец1

 

 

 

 

 

 

 

 

 

 

 

 

 

Група1

 

Андрєєв

 

Андрій

Андрійович

 

Б

3

 

 

4

5

 

 

 

100

 

 

Андрєєв

 

Андрій

Андрійович

 

Б

3

 

 

4

5

 

 

 

100

 

 

……

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Іванов

 

Іван

Іванович

 

Пл

3

 

 

3

3

 

 

 

0

 

 

…….

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Яковлєв

 

Яків

Якович

 

Пл

3

 

 

5

5

 

 

 

0

Усього по групі

 

 

 

 

 

 

 

 

 

 

 

 

2000

Група2

 

Антонов

 

Антон

Антонович

 

Б

3

 

 

3

4

 

 

 

0

- “ -

 

……

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- “ -

 

Яковлєв

 

Яків

Якович

 

Б

3

 

 

5

5

 

 

 

100

Усього

по групі

 

 

 

 

 

 

 

 

 

 

 

 

1000

Усього

по потоку

 

 

 

 

 

 

 

 

 

 

 

 

5000

Усього по спеціальності

 

 

 

 

 

 

 

 

 

 

 

20000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Спеціальність:Спец6

 

 

 

 

 

 

 

 

 

 

 

 

 

Група25

Антонов

 

Антон

Антонович

 

Б

 

 

3

 

 

 

4

5

100

 

 

……

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

Яковлєва

 

Олена

Іванівна

 

Пл

 

 

3

 

 

 

4

5

0

Усього по групі

 

 

 

 

 

 

 

 

 

 

 

 

2000

Усього по потоку

 

 

 

 

 

 

 

 

 

 

 

 

2000

Усього по спеціальності

 

 

 

 

 

 

 

 

 

 

 

16000

Усього по факультету

 

 

 

 

 

 

 

 

 

 

 

 

150000

28

Таблиця 5.3 – Структура журналу успішності студентів за осінній семестр 2008/2009 року

Заголовок таблиці ↑

 

 

 

 

 

 

 

Стовпці, графи, колонки ↓

 

 

 

Заголовки,

 

 

 

 

 

 

 

Під стовпці ↓

 

 

 

 

 

 

 

 

 

Анкетні дані

 

 

 

 

Результати сесії

 

стовпців та

Група

Прізвище

 

Ім’я

 

По-батькові

 

. . .

Форма

 

Заліки

 

Іспити

 

підстовпців

 

 

 

 

 

 

 

 

 

Д1

Д10

Д11

Д12

Заголовки рядків

Спеціальність: Спец1

 

 

 

 

 

 

 

 

 

 

 

Боковик

Група1

Андрєєв

 

Андрій

 

Андрійович

 

 

Б

3

 

 

4

5

(графи для

 

Андрєєв

 

Андрій

 

Андрійович

 

 

Б

3

 

 

4

5

заголовків рядків)

 

……

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Іванов

 

Іван

 

Іванович

 

 

ЦД

3

 

 

3

3

 

 

…….

 

 

 

 

 

 

 

3

 

 

 

 

Підсумковий рядок

 

Яковлєв

 

Яків

 

Якович

 

 

Пл

3

 

 

5

5

Усього по групі

 

 

 

 

 

 

 

 

 

 

 

Незаповнений рядок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Група2

Антонов

 

Антон

 

Антонович

 

 

Б

3

 

 

3

4

 

- “ -

……

 

 

 

 

 

 

 

 

 

 

 

 

Підсумкові

- “ -

Яковлєв

 

Яків

 

Якович

 

 

Б

3

 

 

5

5

Усього по групі

 

 

 

 

 

 

 

 

 

 

 

рядки

Усього по потоку

 

 

 

 

 

 

 

 

 

 

 

 

Усього по спеціальності

 

 

 

 

 

 

 

 

 

 

 

Усього по факультетуі

 

 

 

 

 

 

 

 

 

 

“Шапка”, голівка таблиці

Горизонтальні

рядки

Горизонтальні

рядки

29

Для деяких груп даних для заголовку використовують окремі графи. В даному випадку це студентські групи.

Для розрахунку підсумків по групах та спеціальностях використовують підсумкові рядки.

Горизонтальні і вертикальні лінії, що розмежовують рядки таблиці, а також лінії, що обмежують таблиці зверху, ліворуч, праворуч і знизу, можна не проводити, якщо їхня відсутність не утрудняє користування таблицею.

Навчальний план бакалаврської підготовки одного напряму складається приблизно з 40 дисциплін. Студенти різних напрямів підготовки вивчають тільки кілька однакових дисциплін (історія, вища математика, тощо). Більшість спеціальних дисциплін різних напрямів підготовки не пересікаються між собою. Деякі дисципліни вивчаються кілька семестрів, по деяким з них виконуються курсові роботи або проекти. Таким чином, якщо звести до таблиці дані про успішність студентів кількох споріднених напрямів одного факультету, то кількість дисциплін може перевищити число 200. При цьому кількість студентів, які навчалися на факультеті у заданому семестрі, становить біля 1000. Таким чином, кількість рядків буде також становити трохи більше 1000 з урахуванням підсумкових та порожніх рядків.

Якщо звести до таблиці дані про успішність студентів по всіх факультетах, напрямах, спеціальностях, семестрах і дисциплінах, то вона може бути дуже великою. Число стовпців по дисциплінах, що вивчаються, може складати кілька сотен.

Кількість студентів, які навчалися в університеті у заданому семестрі, становить кілька тисяч. Таким чином, кількість рядків буде також становити кілька тисяч.

5.3 Основні об’єкти реляційних таблиць

Основними об’єктами РБД вважаються особливі електронні двомірні реляційні таблиці (РТ), що базуються на правилах створення відношень та маніпулювання з ними. Ці правила відомі студентам з курсу дискретної математики.

Розглянемо структуру звичайної “паперової” таблиці, проведемо відповідність між її елементами, термінами відношень і об’єктами РТ (табл. 5.4).

РТ дуже відрізняються від звичайних таблиць, вони схожі на відношення. Але РТ і відношення не можна вважати в точності ідентичними. РТ – це лише конкретне зображення досить абстрактного об'єкта, яким є відношення.

Терміни відношень мають точні визначення. Вважається, що терміни РТ часто співпадають з термінами відношень, але вони вважаються їх неформальними еквівалентами і не мають строгих визначень. Однак на практиці поняття РТ і відношень часто ототожнюють.

Саме терміни РТ отримали розповсюдження серед проектувальників та розробників БД. В більшості реляційних СУБД дотримуються "табличної" термінології. Тому ми будемо давати та використовувати всі визначення саме в

30

поняттях РТ. Однак на практиці поняття РТ і відношення часто ототожнюють.

Таблиця 5.4 – Співвідношення основних термінів

Таблиця

Відношення

 

Реляційна таблиця

Найменування таблиці

 

Ім’я

Стовпець, колонка, графа

Атрибут

 

Поле, стовпець

Підстовпець, підграфа

 

––

Найменування графи

Ім’я атрибуту

 

Ім’я поля

Сукупність найменувань

Заголовок, схема

 

Структура, заголовок,

стовпців, голівка, “шапка”

 

 

схема

Кількість стовпців

Ступінь

 

Число полів, ступінь

Рядок з інформацією

Кортеж

 

Запис, рядок

Кількість рядків з інформацією

Кардинальне число

 

Число записів

Незаповнений рядок

––

 

 

Підсумковий рядок

––

 

 

Боковик таблиці

––

 

 

Розглянемо додаткові поняття РТ.

Елемент даних – це значення, що знаходиться не перетині поля та запису. Елемент – це найменша семантична одиниця даних, що передбачається окремим значенням даних. Наприклад, окреме ім’я, окрема оцінка. Одиницею даних можна вважати пару "поле – значення".

Ступінь таблиці є фіксованим числом і не може змінюватися в часі. Класична РТ після визначення структури залишається постійною. Однак в багатьох реалізаціях допускають зміну структури РТ, тобто визначення нових і зміну існуючих полів. Це прийнято називати еволюцією (модифікацією) структури РТ. Разом з тим можна вважати, що зміна структури таблиці призводить до вилучення існуючої таблиці та створення нової. Цю роботу повинен проводити АБД і ні в якому разі не користувач або програміст.

В залежності від ступеню таблиці поділяються на групи. Таблицю першого ступеня називають унарною, другого ступеня – бінарною і т.д. У загальному випадку таблицю ступені n називають n-арною.

Відношення мають дві частини: тіло та заголовок. Тіло складається з безлічі кортежів, що відповідають одній схемі конкретного відношення. Заголовок складається з атрибутів, що визначають схемою відношення.

По аналогії з відношеннями в РТ також виділяють заголовок, який визначає структуру таблиці, і тіло, яке створюють всі записи. Записи в свою чергу відповідають одній структурі таблиці.

Позначимо поля таблиці через Рі (і=1,2,...,n), а значення полів – через Vi. Тоді можна сказати, що кожен запис у свою чергу складається з множини значень пар {Рі :Vi} по одній такій парі для кожного поля у структурі таблиці. Тіло РТ не може існувати без заголовку, а заголовок можна умовно розглядати як таблицю без записів.

Ступінь кожного запису, тобто число елементів у ньому, збігається зі

31

ступенем РТ та залишається постійним до зміни структури РТ.

Тіло таблиці може і навіть повинно змінюватися в часі для підтримки актуальності даних. Змінюються дані за рахунок модифікації існуючих записів, змінюється кількість записів за рахунок додавання чи вилучення записів. Відповідно, кількість записів у таблиці змінюється в часі.

Добуток числа записів РТ на число її полів визначає потужність таблиці.

Утеорії відношень, а також в деяких БД, існує поняття домену. У самому загальному виді домен визначається двома частинами опису: логічним описом та фізичним описом. Логічний (семантичний) опис – це довільний логічний вираз, що застосовується до елемента типу даних. Якщо обчислення цього логічного виразу дає результат "істина", то елемент даних є елементом домену. Фізичний опис – це завдання деякого базового типу даних, до якого відносяться елементи домену. Іншими словами, доменом називається іменована безліч атомарних значень одного типу. Домени є загальними сукупностями значень, з яких беруться реальні значення полів.

Унашому прикладі домен оцінок – це підмножина цілих позитивних чисел. В нього входять числа від 0 до 8, тому що можуть бути оцінки від 2 до 5,

атакож 0 (не вивчає), 6,7 ( не з’явився), 8 (не допущений). Домен “Імена” – це множина імен студентів. Він визначається на базовому типі рядків символів. В число його значень можуть входити тільки ті значення, що можуть зображувати ім'я. Зокрема, такі значення не можуть починатися з м'якого знака. Існує навіть довідник імен, яким користуються робітники відділів реєстрації актів громадянського стану.

Імена доменів часто використовують в РТ для іменування полів. Однак потрібно пам'ятати, що це лише зручний спосіб іменування і він не усуває істотної різниці між поняттями домену й поля. Домени статичні, а поля та їх значення – динамічні. Наприклад, у будь-який момент часу дані про студентів можуть змінюватися. Студенти можуть додаватися чи відраховуватися. Їх імена будуть приймати значення з відповідного домену “Імена”. Але більшість імен не будуть значеннями відповідного поля, а в самому домені ці імена залишаться.

Якщо ми будемо переглядати поле Прізвище по записах і побачимо Петрович. Може таке бути? Може, бо таке прізвище Петрович може бути в домені прізвищ. А якщо зустрінемо в полі оцінок цифри 10/12/1985? Такого вже бути не може. Це означає, що при заповненні таблиці помилилися і замість оцінки внесли дату народження.

Дамо визначення термінів РТ через домени. Позначимо домени через Di (і=1,2,...,n). Заголовок складається з множини імен полів Рі, для якої існує взаємно однозначна відповідність між цими полями Рi та доменами Di, що їх визначають. Таким чином, в загальному виді схема таблиці – це іменована множина пар {Рі, Di}. Запис – це набір іменованих значень заданого домену.

Поняття домену має аналогії з підтипами в деяких мовах програмування, але воно є більш специфічним для БД. Проте зазначимо, що в більшості реляційних СУБД поняття домену не використовується і не підтримується. Звичайно в них вводять поняття «тип даних», і це поняття замінює визначення

32

«припустиме значення домену даного поля».

У нашому прикладі ми маємо справу з даними двох типів: рядки символів (Спеціальності, Групи) і числа (Оцінки, Стипендія).

Тоді можна вважати, що структура таблиці – це іменована множина пар {ім'я поля, ім'я типу}, а запис – це набір іменованих значень заданого типу. При цьому приймається, що запис означає екземпляр запису, а поле – це і ім'я, і тип даних.

Поняття “тип даних” у РМД цілком адекватно поняттю типу даних у мовах програмування. У сучасних РБД допускається збереження даних різних типів: символьних, числових даних, бітових рядків, спеціалізованих числових даних (таких як "гроші"), а також спеціальних даних (дата, час, великі тексти). Досить активно розвивається підхід до розширення можливостей реляційних систем абстрактними типами даних.

5.4 Основні властивості реляційних таблиць

З теорії класичної теорії множин та відношень відомо, що відношення мають фундаментальні властивості:

атомарність значень атрибутів;

відсутність кортежів-дублікатів;

відсутність упорядкованості кортежів;

відсутність упорядкованості атрибутів.

Розглянемо детально ці властивості с точки зору РТ. Одночасно перейдемо від звичайної таблиці “Журнал” до РТ, яку надалі будемо називати "Успішність".

Елементами даних вважаються тільки значення, що знаходяться у позиції на перетині кожного поля та кожного запису.

РТ не допускає збереження даних у своєму імені. Тому в таблиці “Успішність” ми вилучимо інформацію з найменування таблиці та добавимо поля Рік, Семестр. Ці поля переносяться у боковик зліва до поля Група. Для учбового року достатньо добавити лише одне поле (початок року). Кінець учбового року при необхідності можна легко розрахувати, добавивши одиницю до його початку.

Очевидно, що кількість записів у таблиці значно виросте, кожен запис з інформацією про успішність студента буде зустрічатися по 10–13 разів по кількості семестрів.

РТ не допускає збереження даних в заголовках рядків. Тому в таблиці “Успішність” ми їх вилучимо та добавимо поле Спеціальність. Це поле переноситься у боковик перед полем Група.

Зазначимо, що деякі розробники БД створюють ряд таблиць типу Журнал_Спец1 або Журнал_Спец2. При цьому в кожній таблиці зберігається інформація тільки про успішність студентів однієї спеціальності. Це значно затрудняє загальну обробку даних. Ми будемо зберігати всю успішність в одній таблиці.

РТ не може мати незаповнених та підсумкових записів. Тому ці рядки

33

просто вилучаються з таблиці. При необхідності розрахунку підсумкових даних можна використовувати запити до БД та ПД.

Елементи даних розглядають як атомарні значення, тобто вважається, що в них немає внутрішньої структури і вони нерозкладні. Властивість атомарності значень всіх полів випливає з визначення домену як потенційної безлічі значень простого типу даних, тобто серед значень домену не можуть міститися інші таблиці.

Наприклад, частину таблиці “Журнал” можна зобразити у вигляді табл. 5.5. Ця бінарна таблиця у полі "Група" містить множинні дані в вигляді груп повторення. В полі “Анкетні дані” значеннями є не скаляри, а бінарні таблиці з полями Прізвище - Ім'я. Ці вкладені бінарні таблиці, у свою чергу, визначені на двох різних доменах Прізвище та Ім'я зі своїми скалярними значеннями. РМД

такого не допускає.

 

 

 

 

Таблиця 5.5 –

Студенти1

 

 

 

Група

 

Анкетні дані

 

Група1

 

 

 

 

 

 

 

Прізвище

Ім'я

 

 

 

 

Андрєєв

Андрій

 

 

 

 

Іванов

Іван

 

 

 

 

 

 

 

 

Група2

 

 

 

 

 

 

 

Прізвище

Ім'я

 

 

 

 

Антонов

Антон

 

 

 

 

Яковлєв

Яків

 

 

 

 

 

 

 

Таблиця має бути замінена іншою таблицею, що містить ту ж інформацію, але без груп повторення. Така таблиця може мати вигляд табл. 5.6.

Таблиця 5.6 – Студенти2

Група

Прізвище

Ім'я

Група1

Андрєєв

Андрій

Група1

Іванов

Іван

Група2

Антонов

Антон

Група2

Яковлєв

Яків

Таблиці Студенти1 і Студенти2 не відрізняються даними, а різні назви для них обрані умовно.

В таблиці Студенти2 фактично до вкладеної таблиці з полями Прізвище – Ім’я із таблиці Студенти1 додано ще одне поле “Група”, яке мало множинні дані. І в цьому полі інформація про студентські групи продубльована в кожному запису.

Таким чином ми позбулися в таблиці Студенти1 від множинності в заголовках і підзаголовках граф, а також від боковика.

Проведене перетворення потрібне для спрощення схеми таблиці та, як наслідок, спрощення роботи з даними. Розглянемо дві однакові задачі по запису нової інформації у таблицю:

34

1)зарахувати студента Петрова в групу Група3, тобто зарахувати нового студента в нову групу;

2)зарахувати студента Петрова в групу Група2, тобто зарахувати нового студента в існуючу групу.

Якщо працювати з таблицею Студенти2, то істотної різниці у виконанні цих задач немає. Для рішення кожної з задач необхідно виконати одну операцію: вставити запис у таблицю Студенти2. Отже, обидві задачі будуть виконуватися однаково.

Якщо ж працювати з таблицею Студенти1, то перша задача вимагає такої

жоперації вставки запису у таблицю (додається нова група зі студентом). Друга задача зажадає виконати два різних оператори: треба спочатку виконати таку ж операцію вставки групи як запису у таблицю, а потім вставити інформацію про нового студента в множинне значення поля Анкетні дані.

Очевидно, що перетворення таблиці Студенти1 в таблицю Студенти2 спростило роботу з додаванням інформації. Але ж для роботи, крім додавання інформації, ще потрібно обновляти інформацію і вилучати її. Перетворення таблиці Студенти1 в таблицю Студенти2 спростило роботу і при таких операціях.

Повторимо операцію перетворення для всієї таблиці “Успішність”. Позбудемося підграф, кожному полю дамо власне ім'я. Залишимо назви полів Рік, Семестр, Спеціальність, Група. Продублюємо їх значення по записах.

Полям з анкетними даними привласнимо імена Прізвище, Ім'я, По батькові. Поля оцінок для стислості назвемо за загальною схемою "Дисципліна + Вид контролю", при цьому екзамен позначимо символом Е, а залік – З. Наприклад, для поля оцінок на заліку з дисципліни Д1 позначимо як Д1З. Аналогічним образом назвемо інші поля: Д3Е,Д12З,..., Д30Е. Фактично ми замінили назви дисциплін разом з видами контролю шифром.

Для спрощення подання матеріалу покажемо тільки 30 оцінок. У результаті перетворень ми отримаємо табл. 5.7.

Таблиця 5.7 – Перетворення таблиці “Успішність”

Рік

Сем

Спец

Група

Прізвище

Ім’я

.

Д1З

Д30Е

Стип

2008

1

Спец1

Група1

Андрєєв

Андрій

 

3

 

 

100

2008

1

Спец1

 

Андрєєв

Андрій

 

3

 

 

100

 

…..

 

 

……

 

 

 

 

 

 

2008

1

Спец1

Група1

Іванов

Іван

 

3

 

 

 

 

…..

 

 

…….

 

 

3

 

 

 

2008

1

Спец1

Група1

Яковлєв

Яків

 

3

 

 

 

2008

1

Спец1

Група2

Антонов

Антон

 

3

 

 

 

 

 

 

……

 

 

 

 

 

 

2008

1

Спец6

Група2

Яковлєв

Яків

 

3

 

 

 

2008

1

Спец6

Група25

Антонов

Антон

 

 

 

5

100

 

….

 

 

……

 

 

 

 

 

 

2008

 

Спец1

Група25

Яковлєва

Олена

 

 

 

5

0

35