Научная статья на тему 'Методичні особливості вивчення зв’язків та типів об’єднання у базах даних Microsoft Access'

Методичні особливості вивчення зв’язків та типів об’єднання у базах даних Microsoft Access Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
378
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
методика вивчення / Access / бази даних / між-табличні зв’язки / типи об’єднання / method of study / Access / database / inter-table relationships / types of joins

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Н. В. Шамшина

Стаття присвячена вивченню зв’язків між таблицями та типів об’єднання у реляційній базі даних. Автор розглядає складності у розумінні окремих понять та теоретичних положень, з якими стикаються початківці при вивченні системи управління базами даних Access на практиці. Питання організації зв’язків між таблицями є принциповим для розуміння роботи реляційної бази даних. Вміння створювати зв’язкі, налаштовувати їх властивості, забезпечувати цілісність даних формуються під час розв’язування практичних завдань. Автор доступно и детально пояснює механізм зв’язку, описує типові помилки учнів, формулює правила та алгоритми створення різних типів зв’язку. Особлива увага приділяється типам об’єднання, які підтримуються у режимі Конструктора запитів. В статті описано внутрішні об'єднання – одно-стовпцеві та багато-стовпцеві, зовнішні об'єднання – ліве та праве, само-об’єднання, тета-об'єднання за умовою нерівності, перехресні об’єднання. Об’єднанням називається операція, під час якої виконується зіставлення та поєднання значень у спільних полях зв’язаних таблиць, які є джерелом даних у формі, звіті, або запиті. Тип об'єднання задає спосіб перегляду зв'язаних записів на основі заданого відношення. Кількість записів, які відображаються, залежить від типу об’єднання. Підґрунтям більшості об’єднань (внутрішніх, зовнішніх, само-об’єднань) є рівні значення полів зв’язку. Тета-об'єднання створюють за умовою нерівності значень полів. Перехресне об’єднання (декартів добуток) використовують для генерації комбінацій записів у запиті. Об'єднання, яке створене між полями з невизначеним типом відношення, може привести до помилкових записів тому, що повторення значень в обох полях зв’язку призводить до появи всіх можливих комбінацій співставлення записів. Автором наведено приклади використання різних типів об’єднань при побудові запитів для розв’язування практичних завдань. Матеріал статті містить роз'яснення та методичні рекомендації для вивчення теми «Системи Управління Базами Даних» з дисципліни Інформаційні технології.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODICAL FEATURES OF STUDYING RELATIONSHIPS AND TYPES OF JOINS IN DATABASES MICROSOFT ACCESS

The article is devoted to the study relationships between tables and types of joins in a relational database. The author considers difficulties in understanding certain concepts and theoretical principles with which the beginners faces when studying database management system Access in practice. The question of creating relationships between tables is fundamental to understanding the operation of a relational database. Skill to create relationships, specify their properties, ensure integrity of data formed when solving practical problems. Author accessibly explains the mechanism of implementation of various type of relationships describes the typical errors of students and gives rules and algorithms for creation of different types of relationships. Attention focused to the types of joins that supported in the mode of QBE: internal joins – single-column and multi-column; external joins – left and right; self-joins theta-joins with the condition of inequality, cross-joins. A join is an operation that compares and combines values in the common fields of linked tables that are the source of data in a form, report, or query. A type of joins sets the method of viewing of the linked records based on the set relationship. The number of records displayed depends on the type of join. The basis of most joins (internal, external, self-joins) are equal values of the fields of join. Theta-join or unequal join created on the condition of the inequality of field values. A cross-join or Cartesian product used to generate combinations of records in a query. A join created between fields with an indefinite type of relation may lead to erroneous records, because the repetition of values in both fields of join leads to the appearance of all possible combinations of matching records. Examples of their use when constructing queries for solving practical problems are given. Material of the article contains elucidations and methodical recommendations for the study of theme of "System Management Databases" from discipline Information technologies.

Текст научной работы на тему «Методичні особливості вивчення зв’язків та типів об’єднання у базах даних Microsoft Access»

Scientific journal PHYSICAL AND MATHEMATICAL EDUCATION

Has been issued since 2013.

Науковий журнал Ф1ЗИКО-МАТЕМАТИЧНА ОСВ1ТА

Видасться з 2013.

http://fmo-journal.fizmatsspu.sumy.ua/

Шамшина Н.В. Memodu4Hi oco6nueocmi вивчення зв'язк'в та munie об'еднання у базах даних Microsoft Access. Фiзuко-математична осв'та. 2018. Випуск 1(15). С. 339-343.

Shamshina N. Methodical Features Of Studying Relationships And Types Of Joins In Databases Microsoft Access. Physical and Mathematical Education. 2018. Issue 1(15). Р. 339-343.

УДК 004.657+372.8

Н.В. Шамшина

Сумський державний педагогiчнuй ушверситет iменi А.С. Макаренка, Укра)на

shamichek@ukr.net DOI 10.31110/2413-1571-2018-015-1-065

МЕТОДИЧН1 ОСОБЛИВОСТ1 ВИВЧЕННЯ ЗВ'ЯЗК1В ТА ТИП1В ОБ'ЕДНАННЯ У БАЗАХ ДАНИХ MICROSOFT ACCESS

Анота^я. Стаття присвячена вивченню зв'язк'!в м'ж таблицями та muпiв об'еднання у реля^йшй базi даних. Автор розглядае складност'1 у розумiннi окремих понять та теоретичних положень, з якими стикаються почат^вц при вuвченнi системи управлiння базами даних Access на практиц'1. Питання органiзацii зв'язк'!в м'ж таблицями е принциповим для розум'тня роботи реля^йно)' бази даних. Вм'тня створювати зв'язк'1, налаштовувати iх властивост'1, забезпечувати цлснсть данихформуються пд час розв'язування практичнихзавдань. Автор доступно и детально пояснюемеханзм зв'язку, описуе muповi помилки учнв, формулюе правила та алгоритми створення р'!зних muпiв зв'язку. Особлива увага придляеться типам об'еднання, як пдтримуються у режим'1 Конструктора запит'в. В статт'1 описано внуmрiшнi об'еднання - одно-стовпцев'1 та багато-стовпцев'1, зовнiшнi об'еднання - л'!ве та праве, само-об'еднання, тета-об'еднання за умовою нерiвносmi, перехреснi об'еднання. Об'еднанням називаеться опера^я, пд час якоiвиконуеться зiсmавлення та поеднання значень у спльних полях зв'язаних таблиць, як е джерелом даних у формi, зв'1т'1, або запит'1. Тип об'еднання задае спосiб перегляду зв'язаних записв на основi заданого в'дношення. Кшьк'!сть записв, як в'дображаються, залежить вiд типу об'еднання. ПiдГрунmям бльшостi об'еднань (внуmрiшнiх, зовнiшнiх, само-об'еднань) е р'1вн'1 значення полiв зв'язку. Тета-об'еднання створюють за умовою нерiвносmi значень полiв. Перехресне об'еднання (декарт'в добуток) використовують для генерацИ комбiнацiй записв у запит'1. Об'еднання, яке створене м'ж полями з невизначеним типом в'дношення, може привести до помилкових запиав тому, що повторення значень в обох полях зв'язку призводить до появи вах можливих комб'тацш сЫвставлення запиав. Автором наведено приклади використання р'!знихmuпiв об'еднань при побудов'1 запит'в для розв'язування практичних завдань. Матер'ал статт'1 м/'стить роз'яснення та методичн рекомендацПдля вивчення теми «Системи Управлiння Базами Даних» з дисципл'ти lнформацiйнi технологи.

Ключов! слова: методика вивчення, Access, бази даних, мiж-mаблuчнi зв'язки, типи об'еднання.

Постановка проблеми. Сучасн бази даних (БД) та системи управлЫня базами даних (СУБД) вивчаються на рiзних рiвнях системи освгги. Знайомство з реляцмними базами даних вщбуваеться ще в старших класах середньо' школи на прикладi СУБД Access. Бтьш детальний i поглиблений '¡х розгляд вщбуваеться на старших курсах рiзних спе^альностей у ВНЗ.

Аналiзуючи методичн особливост вивчення теми дослщники видтяють складност у розумЫы окремих понять та теоретичних положень, з якими стикаються початювц при вивченн СУБД Access на практик [3, 4]. Одне з таких питань -питання оргаызацп зв'язюв мiж таблицями, що е принциповим для розумЫня роботи реляцшно' бази даних. Проте, у методичних рекоменда^ях та пщручниках практично не розглядаеться питання використання рiзних титв об'еднання запиав при побудовi запиав. Мiж тим, подiбнi навички необхщы учням при розв'язуванн олiмпiадних завдань з шформацшних технологш (1Т).

Аналiз актуальних дослщжень. У методичних джерелах традицшно придтяють увагу вивченню титв зв'язюв у реляцмних БД. Найбтьш вщомим та популярним е тдручник Завадського I. «Основи баз даних» [3]. У навчальному поабнику автор на поглибленому рiвнi розглядае теор^ зв'язюв у БД. Значна увага придтяеться семантичному моделюванню БД, побудовi моделей «сутысть-зв'язок». Крим того, чи не вперше у шктьый навчальшй лiтературi пропонуеться вивчення основ мови SQL. Адже в основу вах реляцмних СУБД покладено насамперед SQL, а майстри та конструктори в СУБД Access - це вторинн вiзуальнi засоби [3, с.4].

Пошук вщомостей щодо титв об'еднання в СУБД Access, як правило, приводить до веб-сай^в, як присвячен вивченню структуровашй мовi запиав SQL та ¡7 синтаксису. Загальною е думка, що без опанування мови SQL, не можливо зрозумiти та навчитися застосовувати на практик рiзнi типи об'еднань у запитах Access. Мова SQL бтьш уыверсальна, та дозволяе створити таю типи об'еднань запиав, як не тдтримуються у Конструкторi запиав.

ISSN 2413-158X (online) ISSN 2413-1571 (print)

Базовi концепцп про типи об'еднань, що можна використовувати в режи/wi Конструктора запитiв, викладено на сторшках сайту «Office Support-Office 365». Довщка на сайтi розробника програмного продукту е автоматичним перекладом англомовного джерела. Досвщ користування довiдкою показуе, що в укра'номовному переклaдi помилок ще бiльше, нiж у роайськомовному. Краще користуватися англомовним оригiналом статт [1]. Отже, маемо практично вщсутысть методичних розробок для вивчення титв об'еднання при побудовi запитiв у режимi Конструктора.

Мета статт - надати методичн рекомендацп по вивченню зв'язкiв мiж таблицями у реляцшшй базi даних, описати рiзнi типи об'еднання запиав, якi тдтримуються у Конструкторi запитiв, та навести приклади 'х використання для розв'язування практичних завдань.

Виклад основного матертлу. Питання створення зв'язкiв мiж таблицями часто сприймаеться учнями поверхнево. Не розум^чи окремих мометтв: доцiльностi зв'язку, мехашзму зв'язку, перевiрки типу зв'язку, типу об'еднання, забезпечення цЫсност даних, вони можуть на практицi зв'язати одне поле з шшим, не задумуючись про тип поля и про даы, якi воно збер^ае. Щоб завадити цьому потрiбно:

по-перше, обфунтувати необхiднiсть створення декiлькох таблиць та зв'яз^в мiж ними для рiзних типiв вiдношень; по-друге, роз'яснити мехаызм зв'язку, який може здмснювати програма: за однаковими значеннями полiв зв'язку; вочевидь, що тип та пщтип полiв мае бути однаковим;

по-трете, довести, що вщ того, як таблиця зв'язана з шшими, залежить яке з и полiв слiд призначити первинним ключем.

У теорп СУБД вiдомi чотири варiанти зв'язкiв, якi традицiйно називають вщношеннями (англ. relationship) [2, с. 117]. Вони встановлюють правила вiдповiдностi запиав в двох таблицях, причому «розглядаемо» як би з боку першо' таблицi, яка е «головною», а друга - «тдлеглою», «зв'язаною». Записи в головну таблицю додають ранше нiж у пiдлеглу. Дамо коротку характеристику щм вiдношенням з погляду практичного застосування.

Вщношення «один-до-одного»: одному запису першо'' таблицi може вщповщати не бiльше одного запису друго'' таблицi. Це означае, що в пщлеглм таблицi може i не бути вщповщного запису. В обох полях не повинно бути значень, що повторюються. Поле - первинний ключ першо' таблиц зв'язано з таким самим полем друго' таблиц^ яке, найчастiше, також е первинним ключем. Двi таблицi, якi зв'язан «один-до-одного», це як би одна загальна таблиця, яка роздтена надвое вертикальною межею, так що частина полiв опинилася в першш таблицу а частина в другiй. Роздтення йде за функцiональною ознакою, з метою введення даних на окремих робочих мкцях.

Вщношення «один-до-багатьох»: в цьому випадку одному запису першо' таблиц може вiдповiдати декiлька запиав друго' тaблицi. Це означае, що в пщлешй таблицi також може бути один вщповщний запис, а може й н одного. Поле - первинний ключ першо'' таблиц зв'язано з таким самим полем в другш тaблицi, яке е зовншым ключем. Значення по зовншньому ключу можуть повторюватися. Цей найбтьш поширений тип зв'язку використовуеться задля усунення багатьох повторень у таблицГ

Вщношення «багато-до-одного»: декiльком записам першо' тaблицi може вiдповiдaти не бтьше одного запису з друго'' таблицГ Це вiдношення «один-до-багатьох» навпаки, головною тут е таблиця з боку багатьох запиав.

Вщношення «багато-до-багатьох»: дектьком записам першо'' тaблицi може вщповщати декiлькa зaписiв друго'' тaблицi. В цьому випадку зв'язки мiж таблицями непрям^ оргaнiзовaнi за допомогою ще одые''' тaблицi з використанням складного ключа, тобто набору ключових полiв.

Анaлiз теоретичних положень та порiвняння 'х з практичною реaлiзaцiею в Access призводить до висновку, що двох перших титв вщношення достатньо для побудови структури будь яко'' БД в Access. Треба лише звертати увагу на те, яка таблиця мае бути головною, а яка тдлеглою, зв'язаною.

Вщ типу вщношення зв'язку таблиц з шшими залежить яке з и полiв слiд призначити первинним ключем. Для поля-первинного ключа унiкaльний шдекс встановлюеться автоматично. Якщо обидва поля зв'язку мають унтальний iндекс буде створено зв'язок «один-до-одного». Щоб встановити унтальний шдекс потрiбно для властивост Индексированное поле вказати значення Да (Совпадения не допускаются). Коли шдекс одного поля унтальний, а шшого - ы, буде створено зв'язок «один-до-багатьох». У поля на сторон зв'язку «один» (якщо це не первинний ключ) треба встановити унтальний шдекс. Поле на сторон «багато» повинно мати шдекс, який може повторюватися. Тобто для властивост Индексированное поле мае бути задано значення Нет або Да (Совпадения допускаются).

Зв'язк мiж таблицями можуть бути практично реaлiзовaнi завдяки наявност в них загальних полiв з однаковими значеннями. Необхщно, щоб поля двох таблиць, по яких вони зв'язуються мiж собою, мали однaковi значення, однаковий тип i пщтип даних, iменa можуть i не ствпадати. Звернiть увагу на те, що поле типу «Счетчик» зберiгaе дaнi так саме, як поле типу «Число», якщо його властив^ь Размер поля мае значення Длинное целое. Значення цих полiв можна порiвнювaти та по ним зв'язувати таблицГ Коли загальних полiв в таблицях немае, потрiбно зробити наступне:

- якщо мiж реляцмними таблицями iснуе вiдношення «один-до-одного» або «один-до-багатьох», то слщ скопiювaти поле, по якому встановлюеться зв'язок, з головно'' таблиц в пiдлеглу;

- якщо мiж таблицями iснуе вщношення «багато-до-багатьох», то слiд створити нову таблицю (таблицю асо^ацм, таблицю зв'язку) i включити в не' ключовi поля обох таблиць.

Зв'язки створюються та редагуються у вты РАБОТА С БАЗАМИ ДАННЫХ / Схема данных. Для виконання операцм користуються контекстними меню област втна, таблиць i лiнiй зв'язку, а також командами на стрiчцi РОБОТА СО СВЯЗЯМИ /КОНСТРУКТОР. На кожну операцю як правило, кнуе 2-3 способи виконання. Наприклад, додати таблиц на схему можна перетягуванням з боково' пaнелi об'ектiв Access, використанням контекстного меню схеми даних, кнопкою на пaнелi шструментв. Головне зрозумiти, що означае та чи шша оперaцiя. Команда Очистить макет не видаляе зв'язки, а лише зымае 'х вiдобрaження у вiкнi схеми даних. Команда Все связи вщображае схему даних знову. Команда Отчет по схеме данных дозволяе роздрукувати схему. Найбтьш зручним способом створення зв'язку вважаеться перетягування поля зв'язку з одые''' таблиц в шшу на вщповщне поле, у напрямку з головно'' таблиц у пщлеглу. Типовою помилкою е перетягування поля злiвa-нaпрaво для будь яко'' пари таблиць. Це призводить до неправильного визначення головно' та тдлегло''' таблиц й неможливостi додавати записи у потрiбну таблицю.

При створены зв'язмв у bîkhî Схеми даних користувач iнодi стикаеться з неприемними «сюрпризами»: блокування створення або редагування зв'язмв, неможливiсть вибору типу зв'язку, неможливкть встановити зв'язок iз забезпеченням цiлiсностi даних. Необхщно надати учням простий алгоритм створення зв'язмв, та пояснити можливi помилки: блокування трапляеться для вiдкритоï у БД таблиц^ тип зв'язку визначаеться програмою за властивостями полiв зв'язку - ключов^ iндексованi, можливi чи н повторення значень; забезпечення цЫсносп даних можливо при однакових типах, тдтипах, та узгодженостi даних полiв зв'язку.

Таким чином, перед початком роботи зi Схемою даних бажано закрити уа вiдкритi таблицi та Ышл об'екти БД, тому що форми, звти, запити базуються на таблицях. При створены зв'язку слщ ретельно перетягувати ключове поле з головно''' таблицi на поле зв'язку пiдлеглоï таблицi. Бажано, щоб коротк iмена полiв у таблицях вщповщали даним, якi в них збер^аються, наприклад, КодКлиента, КодКниги, КодЗапису. Це додае зручност при зв'язуваннi вщповщних полiв. У вiкнi зв'язку треба переконатися в правильности створеного вщношення, якщо воно НЕ ОПРЕДЕЛЕНО, вщредагувати властивостi полiв зв'язку. Модифiкацiя структури заповнено!' таблицi, змiна властивостей полiв часто потребуе видалення зв'язкiв таблиц з iншими. Забезпечення цiлiсностi даних не вдаеться пiдключити, якщо цЫснкть даних порушена, данi не узгоджено. В цьому випадку необхщно змшити данi.

Здатнiсть Access пiдтримувати цЫснкть даних надзвичайно важлива. Пiдключення параметру забезпечення цЫсносп даних е обов'язковим для робочих БД. Це дозволяе уникнути запиав^сирп-», якi не мають з'язкiв з головною таблицею, та можуть привести до неправильно! шформацп. Розглянемо приклад: припустимо, що у тдлегло!' таблицi е запис-«сирота» з кодом 10; якщо у головну таблицю буде занесений запис з кодом 10, одразу ця запис-«сирота» автоматично буде прив'язана до не!'; як наслщок, в БД буде збер^атися неправильна шформа^я. При наявност запиав-«сирт> створення зв'язку з забезпеченням цЫсносп даних неможливе.

При тдключеному параметрi цiлiсностi даних операцп з даними у зв'язаних таблицях контролюються. Якщо спробувати в тдлеглу таблицю додати дан про об'ект, який не мае вщповщного запису у головнш таблицi, в збереженн даних буде вiдмовлено. При спробi видалення запису з головно!' таблиц за наявностi зв'язаних з нею запиав буде вщмовлено. Не можна змшювати значення первинного ключа в головшй таблицi, якщо це призведе до появи в^рваних записiв, в операцп буде вщмовлено. Для уточнення та для пiдтримки цiлiсностi даних можна за необхщносп пiдключити ще два параметра: каскадне оновлення зв'язаних полiв та каскадне видалення зв'язаних запиав. Перший автоматизуе змiни значень зв'язаних полiв для пiдлеглоï таблиц^ другий дозволяе автоматично вилучити зв'язан записи в пiдлеглiй таблицi.

Слщ зазначити, що цiлiснiсть бази даних е формальною властивктю. Access «не розумiе» сенс i логiку даних, що збер^аються. Програма лише враховуе увесь набiр обмежень цiлiсностi. Якщо уа обмеження виконaнi, вважаеться, що дан коректнi [4]. Так, наприклад, для числових даних, можна помилково створити зв'язок для рiзних за сенсом даних, якщо даних мало, або взaгaлi немае, тобто вони неначе «узгоджеш».

Зв'язки, ям встановлено на Схемi даних мiж базовими таблицями або запитами, та 'х властивост, дiють за замовчанням у наступних операщях опрацювання та виведення даних: при створены форм, звтв, запитв. Важливу роль при цьому грае ще один параметр - тип об'еднання. Об'еднанням (англ. join) називаеться опера^я, тд час яко'' виконуеться зктавлення та поеднання значень у спiльних полях зв'язаних таблиць, ям е джерелом даних у форм^ звiтi, або запит. Тип об'еднання можна вказати через контекстне меню лн' зв'язку.

Тип об'еднання задае споаб перегляду зв'язаних запиав на основi заданого вщношення. Для перегляду даних одночасно двох таблиць у форм^ звiтi, запит, вибирають один з трьох титв об'еднання:

- рiвне або внутршне об'еднання - об'еднання ттьки тих запиав, в яких зв'язан поля обох таблиць ствпадають;

- зовшшне лiве об'еднання - об'еднання ВС1Х зaписiв з першо''' тaблицi i лише тих запиав з друго' таблицу в яких зв'язaнi поля ствпадають;

- зовшшне праве об'еднання - об'еднання ВС1Х запиав з друго'' таблиц i лише тих запиав з першо''' тaблицi, в яких зв'язан поля спiвпaдaють.

Внутршш об'еднання вiдобрaжaють записи в об'еднаних полях як один запис. Якщо не знайдено вщповщного значення у полi зв'язку зв'язано' таблицу дан не вiдобрaжaються взaгaлi. Таким чином, кшьшсть зaписiв, якi може бачити користувач у запит, форм^ звт, дорiвнюе кiлькостi зaписiв у зв'язанш тaблицi. Для таблиць, якi зв'язан вiдношенням «один-до-багатьох», буде видно повторювання частини запису з боку таблиц «один». Це найбтьш поширений тип об'еднання, встановлений за замовчанням.

Зовшшш об'еднання дозволяють вщображати поля уах зaписiв тaблицi незалежно вiд кнування зв'язаних зaписiв в об'еднaнiй таблицк Таким чином кiлькiсть зaписiв бтьше, шж при рiвному внутрiшньому об'еднанш. Застосовують лiвi i прaвi зовшшш об'еднання. Назви «лiве» та «праве» вини^ вiдповiдно до традицп розмщувати головну таблицю на Схемi даних злiвa, а зв'язану, об'еднану - праворуч [2, с. 266]. Тому при зовшшньому лiвому об'еднaннi вщображаються всi записи головно'' тaблицi та поеднан з ними: записи-пари и записи без пари. Зовшшне лiве об'еднання використовують для зручного додавання запиав у пщлеглм тaблицi. При зовшшньому правому об'еднaннi вiдобрaжaються ва записи пiдлеглоï тaблицi та поеднаш з ними з головно'' таблица пари зaписiв i «сироти». Зовшшне праве об'еднання використовують для пошуку запиав^сирп-» та виправлення помилок.

Треба вiдмiтити, що можливкть вибору типу об'еднання запиав двох зв'язаних таблиць у втш зв'язку на Схемi даних використовуеться мало, найчаспше потрiбнiсть змiнити тип об'еднання виникае при конструюванн запиту. При конструювaннi запиту, слщ уважно вказувати джерела даних для результуючого набору запиав та враховувати наступне:

- якщо додати у Конструктор запитв таблиц^ ям безпосередньо зв'язaнi на Схемi даних, автоматично дiе iснуючий зв'язок; якщо таблиц не зв'язано безпосередньо, потрiбно додати весь ланцюжок зв'язаних таблиць в якост джерела даних;

- якщо додати у Конструктор запитв не зв'язаш таблиц - отримаемо декартв добуток, або перехресне об'еднання, при якому кожному запису першо''' таблиц з N1 записами тдставляеться кожний запис друго'' тaблицi з N2 записами, загальна кшьшсть отриманих запиав у запит дорiвнюе N1xN2.

У режимi Конструктору зaпитiв тдтримуеться 5 видiв об'еднання, якi подтяються на типи:

внутрiшнi об'еднання - одно-стовпцевi та бaгaто-стовпцевi;

зовншы об'еднання - лiве та праве; само-об'еднання;

тета-об'еднання за умовою HepiBHOCTi перехресне об'еднання.

Об'еднання двох таблиць, яке Грунтуеться на зв'язку одного стовпця в кожнш таблицу називають одно-стовпцeвiм внутpiшнiм об'еднанням. Мiж двома таблицями можна створити демлька об'еднань, перетягнувши поле з одые''' таблицi на поле шшо''' у Констpуктоpi запитiв, отримаемо багато-стовпцеве внутршне об'еднання. Використовуеться для вщбору лише тих записiв, значення об'еднаних полiв в яких спiвпадають (рис. 1).

Приклад на рис. 1 показуе запит у Констpуктоpi з багато-стовпцeвiм внутршым об'еднанням. Запит вщображае записи тих клiентiв готелю, як займали один й той же номер ммнати протягом двох сезоыв. Данi витягуються з таблицi «Госп» та «Госп-Прош» за попepeднiй сезон. Точки на кшцях лiнiï зв'язку означають, що об'еднання створене мiж полями з невизначеним типом вщношення.

Приклад на рис. 2 показуе запит у Конструктору що вщображае назви eлeктpостанцiй з таблицi «Електростанцп», для яких вiдсутнi данi про виготовлення ними електроенергп у таблиц «Обсяги виготовлення». Використане зовнiшне лiвe об'еднання, щоб вiдобpазити всi записи з головно''' таблицi «Електростанцп», та вказана умова Is Null (немае даних) для поля «Обсяги» з тдлегло''' таблицГ Вигляд л i нй зв'язку вщповщае типу вщношення «один-до-багатьох» та пiдключeному параметру «забезпечення цiлiсностi даних», «стpiлка» вказуе на зовншне об'еднання.

Рис. 1. Багато-стовпцеве внутршне об'еднання Рис. 2. Зовншнел'ве об'еднання

Само-об'еднання зв'язують поля одые!' таблиц (як правило piзнi поля) та вiдобpажають лише ти записи, в яких значення цих полiв ствпадають. Для створення само-об'еднання в Констpуктоpi запитiв таблицю додають двiчi, дублiкату автоматично призначаеться псевдоым. Потiм вказують об'еднання полiв, ям зв'язують шляхом перетягування, тип полiв мае бути однаковим. Само-об'еднання застосовують частiшe у запитах на створення ново!' таблицк У запитах на вибipку бiльш надiйно використовувати умову на значення.

Пщфунтям бiльшостi об'еднань (внутршых, зовнiшнiх, само-об'еднань) е piвнi значення полiв зв'язку, 'х називають еквиоб'еднання. Проте, iнодi нeобхiдно створити об'еднання за умовою нepiвностi значень полiв, якi називають тета-об'еднання. Тета-об'еднання зв'язують дан за допомогою опepатоpiв поpiвняння, вiдмiнних вiд оператора piвностi. Тета-об'еднання не вщображаються лiнiями i застосовуються у запитах для вщбору записiв, яким потpiбно вiдношeння особливого типу. Якщо в стовпець бланка запиту включити умову нepiвностi значень полiв - одержимо тета-об'еднання.

Перехресне об'еднання теж не вщображаеться л^ями, застосовуеться у запитах для генерацп комбiнацiй записiв двох таблиць. Взагалу якщо немае однозначности у спiвставлeннi записiв (не визначено поля зв'язку або зустpiчаються повторення значень в обох полях звязку) - результуючий набip запиту мае ва можливi комбiнацiï. Цей факт використовують при розв'язуванн завдань, в яких треба на основi даних таблиц сформувати нову таблицю з бтьшою кiлькiстю записiв.

Розглянемо приклади в яких потpiбно сконструювати за допомогою запиту набip записiв, який е комбшуванням значень одного поля задано'' таблицГ На пpактицi це може бути назви спортивних команд ям змагаються мiж собою, або ж назви кра'н, якi торгують, тощо.

Приклад на рис. 3 показуе запит у Конструктору де використане перехресне об'еднання та тета-об'еднання за умовою нepiвностi. Запит генеруе набip комбшацш назв кра'н з таблиц «Кра'ни», яка мае 7 запиав. Спочатку додаемо таблицю «Кра'ни» двiчi у вiкно Конструктору запиав, псeвдонiм копи таблицi «Кра'''ни_1». Далi у бланку запиту вказуемо поля для виведення: Кра'ни.назва, Кра)ни_1.назва. Отримаемо декар^в добуток 7х7=49 записiв. Серед комбшацш е 7 зайвих запиав, коли одна и та же назва комбшуеться (наприклад: «Украша-Украша», «Бторусь-Бторусь»). Зайвими е також, у даному випадку, запиа-повтори комбшацш, в яких назви кра'н переставлено (наприклад: «Украша-Бторусь», «Бторусь-Укра'ша»). Нeобхiдно позбавитися зайвих запиав, для чого у стовпц поля Крани.назва треба вказати вираз для умови: >[Крани_1]![назва]. Отримаемо 21 запис комбшацш назв кра'н ям не повторюються.

На рис. 4 приведений приклад використання Само-об'еднання при конструюванн запиту з набором комбшацш назв спортивних команд, який е розв'язанням наступного завдання олiмпiади з 1Т: «створгть запит, який на основi подано'' у таблиц «Команди» шформацп про футбольнi команди-учасницi генеруе уа мaтчi групового етапу; в груповому етат кожна команда повинна двiчi зiгpaти з кожною iншою командою свое' групи, причому один раз вдома, а один - на ви'зду кожна група складаеться з чотирьох команд». В таблиц «Команди» маемо 48 назв команд з 12 груп вщ A до L з piзних кра'н, по 4 команди у грут. Створюемо само-об'еднання по полю Група, отримаемо 16 (4х4) комбшацш назв команд у межах кожно''' групи, разом 16х12=192. За допомогою умови нepiвностi назв позбавляемось комбшацш з однакових назв (''х по 4 у кожнш грут, 4х12=48). Отримаемо 144 (192-48) комбшацп результуючого набору запиту по 12 мaтчiв групового етапу для 12 груп. Цей приклад тюструе той факт, що при наявност повторень у значеннях полiв зв'язку в обох таблицях результуючий набор запиав у запит буде мктити ва можливi комбiнaцiï 'х значень.

Рис. 3. Тета-об'еднання за умовою HepisHocmi Рис. 4. Само-об'еднання

Висновки. Розгляд рiзних титв об'еднання та '¡х особливостей дае пiдстави зробить HacTynHi висновки вiдносно '¡х використання у запитах. У Конструкторi запитв можна використовувати внутрiшнi i зовншы об'еднання, само-об'еднання, перехресне об'еднання, тета об'еднання за умовою нерiвностi:

- внутршы та зовнiшнi об'еднання, як правило, використовують у запитах на вибiрку

- само-об'еднання застосовують часпше у запитах на створення ново'' таблицу

- перехресне об'еднання використовують для генерацп комбiнацiй записiв

- тета-об'еднання застосовують для особливих титв вщношень за умови нерiвностi

- об'еднання, яке створене мiж полями з невизначеним типом вщношення, може привести до помилкових запиав

- у бшьшост випадкiв потрiбний результуючий набiр у запитах на вибiрку можна отримати за допомогою умови на значення полiв.

Наведений опис i приклади рiзниx типiв об'еднань при конструюванн запитiв iлюструють тдвищений рiвень складносп матерiалу при вивченн зв'язкiв та типiв об'еднання у базах даних Access. Лише на практик можливе засвоення на поглибленому рiвнi вщомостей, якi необxiднi при виконанн практичних завдань олiмпiадного рiвня. Вивчення типiв об'еднання розвивае лопчне мислення, допомагае засво'ти та закртити навички конструювання запитiв, привчае до контролювання можливих помилок у результуючому наборi записiв, мотивуе до нешаблонного креативного тдходу при розв'язуваннi практичних завдань.

Список використаних джерел

1. Join tables and queries. Access : веб-сайт. URL: https://support.office.com/en-us/article/join-tables-and-queries-3f5838bd-24a0-4832-9bc1-07061a1478f6?ui=en-US&rs=en-US&ad=US (дата звернення: 6.02.2018).

2. Дженнингс Р. Использование Microsoft Access 97 : спец. изд. Пер. с англ. Изд. 2-е, К., М., СПб : Издат. дом «Вильямс», 1998. 944 с.

3. Завадський 1.О. Основи баз даних : навч. поаб. К. : Видавець 1.О. Завадський, 2011. 192 с.

4. Шамшина Н.В. Об особенностях сохранения информации в базах данных. Ф'!зико-математична освта : науковий журнал. 2016. Вип. 4(10). С. 148-151.

References

1. Join tables and queries. Access: website. URL: https://support.office.com/en-us/article/join-tables-and-queries-3f5838bd-24a0-4832-9bc1-07061a1478f6?ui=en-US&rs=en-US&ad=US (date use: 6.02.2018) (in English)

2. Jennings R. Using Microsoft Access 97: spec. ed. Trans. with English. Ed. 2-d, - K., M., St. Petersburg: Publication house "Williams", 1998. 944 p. (in Russian)

3. Zavadsky I.O. Fundamentals of the databases: textbook - К. : Publ. 1.О. Zavadsky, 2011. 192 p. (in Ukrainian)

4. Shamshina N.V. On the features of storing information in databases. Physical and Mathematical Education: scientific journal. 2016. Issue 4 (10). P. 148-151. (in Russian)

METHODICAL FEATURES OF STUDYING RELATIONSHIPS AND TYPES OF JOINS IN DATABASES MICROSOFT ACCESS

Natalia Shamshina

Makarenko Sumy State Pedagogical University Abstract. The article is devoted to the study relationships between tables and types of joins in a relational database. The author considers difficulties in understanding certain concepts and theoretical principles with which the beginners faces when studying database management system Access in practice. The question of creating relationships between tables is fundamental to understanding the operation of a relational database. Skill to create relationships, specify their properties, ensure integrity of data formed when solving practical problems. Author accessibly explains the mechanism of implementation of various type of relationships describes the typical errors of students and gives rules and algorithms for creation of different types of relationships. Attention focused to the types of joins that supported in the mode of QBE: internal joins - single-column and multi-column; external joins - left and right; self-joins theta-joins with the condition of inequality, cross-joins. A join is an operation that compares and combines values in the common fields of linked tables that are the source of data in a form, report, or query. A type of joins sets the method of viewing of the linked records based on the set relationship. The number of records displayed depends on the type of join. The basis of most joins (internal, external, self-joins) are equal values of the fields of join. Theta-join or unequal join created on the condition of the inequality of field values. A cross-join or Cartesian product used to generate combinations of records in a query. A join created between fields with an indefinite type of relation may lead to erroneous records, because the repetition of values in both fields of join leads to the appearance of all possible combinations of matching records. Examples of their use when constructing queries for solving practical problems are given. Material of the article contains elucidations and methodical recommendations for the study of theme of "System Management Databases" from discipline Information technologies. Key words: method of study, Access, database, inter-table relationships, types of joins.

i Надоели баннеры? Вы всегда можете отключить рекламу.