Завдання на самостійну роботу інформатика

Завдання на самостійну роботу.

Розробка інформаційно-логічної моделі реляційної бази даних.

Більшість сучасних баз даних будується з урахуванням реляційних (від англійського relation – математичне назва таблиці) систем, тобто. таких систем, для яких виконуються дві умови:

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

2. У розпорядженні користувача є три оператори, які генерують «нові» таблиці зі «старих». Ці оператори: select (вибір), project (проекція) та join (об'єднання).

Одна з найважливіших переваг реляційних баз даних полягає в тому, що можна зберігати логічно згруповані дані в різних таблицях і ставити зв'язки між ними, поєднуючи їх у віртуальну таблицю. Для завдання зв'язку таблиці повинні мати поля з однаковими іменами або хоча б однаковими форматами даних. Зв'язок між таблицями встановлює відносини між збігаються значеннями цих полях. Така організація даних дозволяє зменшити надмірність даних, що зберігаються, спрощує їх введення та організацію запитів і звітів. У Access можна встановити три види зв'язків між таблицями:

- багато хто до багатьох;

Зв'язок «Один до багатьох» - тип зв'язку між таблицями, що найчастіше використовується. У такому зв'язку кожного запису в таблиці «А» може відповідати кілька записів у таблиці «В» (поля з цими записами називають «зовнішніми ключами»), а запис у таблиці «В» не може мати більше одного відповідного запису в таблиці «А» ».

При зв'язку «Багато багатьох» одного запису в таблиці «А» може відповідати кілька записів у таблиці «В», а одного запису в таблиці «В» - кілька записів у таблиці «А». Така схема реалізується тільки здопомогою третьої (сполучної) таблиці, ключ якої складається принаймні з двох полів, одне з яких є загальним з таблицею «А», а інше – загальним із таблицею «В».

При зв'язку "Один до одного" запис у таблиці "А" може мати не більше одного пов'язаного запису в таблиці "В" і навпаки. Цей тип зв'язку використовують не дуже часто, оскільки такі дані можуть бути розміщені в одну таблицю. Зв'язок із ставленням «Один до одного» застосовують для поділу дуже широких таблиць, відділення частини таблиці з метою її захисту, а також для збереження відомостей, що відносяться до підмножини записів в головній таблиці.

Тип створюваного зв'язку залежить від полів, котрим визначається зв'язок:

- зв'язок «Один до багатьох» створюється у тому випадку, коли тільки одне з полів є ключовим або має унікальний індекс, тобто значення у ньому не повторюються;

- зв'язок «Один до одного» створюється у тому випадку, коли обидва зв'язувані поля є ключовими або мають унікальні індекси;

- зв'язок «Багато багатьох» фактично представляє два зв'язку типу один до багатьох через третю таблицю, ключ якої складається, по крайнього заходу, із двох полів, загальних для двох інших таблиць.

Цілісність даних означає систему правил, які використовуються в СУБД Access для підтримки зв'язків між записами у зв'язаних таблицях (таблиць, об'єднаних за допомогою зв'язку), а також забезпечує захист від випадкового видалення або зміни пов'язаних даних. Контролювати цілісність даних можна, якщо такі умови:

- пов'язане поле (поле, з якого здійснюється зв'язок) однієї таблиці є ключовим полем чи має унікальний індекс;

- Пов'язані поля мають один тип даних. Тут є виняток. Поле лічильника може бути пов'язане з числовим полем, якщо вономає тип «Довге ціле»;

- Обидві таблиці належать одній базі даних Access. Якщо таблиці є пов'язаними, вони повинні бути таблицями Access. Для встановлення цілісності даних база даних, в якій знаходяться таблиці, має бути відкритою. Для пов'язаних таблиць баз інших форматів встановити цілісність даних неможливо.

Первинний ключ – це чи кілька стовпців, ідентифікують рядок відносини. Первинний ключ має бути унікальним. Наприклад, для відношення в таблиці "Студент" стовпець (атрибут) "НомерЗаліки" є унікальним ключем (unique key), оскільки має місце взаємно однозначне співвідношення між значенням атрибута "НомерЗаліки" та рядком відношення "Студент". Таким чином, запит, який наказує знайти всі рядки щодо «Студент», у яких значення атрибута «НомерЗаліки» дорівнює 04343, видасть єдиний рядок.

Ключ, побудований на підставі стовпця «Група», є неунікальним.

З наведених даних таблиці 1 у методичних вказівках може скластися враження, що атрибути «НомерЗаліки», «Прізвище» та «E_mail» є унікальними ідентифікаторами. Але для того, щоб вирішити, чи це так насправді, одних наведених тут даних недостатньо. Про те, чи є той чи інший стовпець унікальним, розробники повинні запитати користувачів чи інших фахівців у цій галузі. Хороший приклад – стовпець «Прізвище». Швидше за все це випадковість, що всі прізвища в наших даних виявилися різними. Якщо запитати користувачів, вони скажуть, що значення у стовпці "Прізвище" щодо "Студент" не завжди є унікальним.