Студопедия — Схема бази даних Борей
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Схема бази даних Борей






З наведених вище міркувань неважко зробити висновок, що нас буде цікавити, у першу чергу, структура бази даних Борей, а не записані в ній дані. Із чого ж нам почати вивчення її схеми?

3.1 Таблиці й відношення бази даних Борей

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

3.2 Вікно відношень в Access

Щоб вивести на екран блок-схему бази даних, клацніть на кнопці Схема данных або виконаєте команду Схема данных меню Сервис. Відкриється вікно Схема данных бази даних Борей, показане на наступному рисунку. Зауважимо, що Access не генерує ці блок-схеми автоматично. Кожна таблиця розміщується у це вікно користувачем. На щастя, в Борей блок-схема вже побудована, і це дає нам можливість заощадити сили:

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

P На блок-схемі показані вісім таблиць. Таблиця Сотрудники складається з декількох полів – КодСотрудника, Фамилия, Имя, і т.д.

P Поля первинних ключів виведені жирним шрифтом. Наприклад, первинним ключем таблиці Сотрудники є поле КодСотрудника.

P Таблиця Сотрудники зв’язана відношенням «один-багато» з таблицею Заказы. Відношення позначене лінією, що з’єднує ці таблиці. Таблиця Сотрудники розташовується з боку «один» відношення, як зазначено цифрою 1. Що стосується таблиці Заказы, то вона позначена знаком нескінченності (∞), що позначає сторону «багато» відношення.

Відношення між таблицями Сотрудники й Заказы (або їхнє з’єднання) – це, власне кажучи, відношення між полем первинного ключа КодСотрудника таблиці Сотрудники і полем зовнішнього ключа КодСотрудника таблиці Заказы. В Access це можна визначити по розташуванню ліній, що з’єднують таблиці. Зверніть увагу, що поля первинного й зовнішнього ключів не зобов’язані мати спільне ім’я, хоча це й допомагає відслідковувати відношення.

Очевидно, що дана блок-схема відображає головні властивості схеми бази даних Борей, а тому особливо корисна для її документування. Більше того, Access забезпечує можливість докладного дослідження об’єктів блок-схеми. Наприклад, якщо клацнути правою кнопкою в будь-якому місці таблиці Сотрудники у блок-схемі й виконати команду Конструктор таблиц контекстного меню, відкриється вікно конструктора для таблиці Сотрудники, у якому буде показана схема таблиці (імена полів, типи даних і т.п.). Ми не будемо тут докладно розглядати схеми конкретних таблиць, задовольнившись тим, що знаємо, де при необхідності можна знайти потрібну інформацію:


Аналогічним чином, якщо двічі клацнути на лінії, що представляє відношення між двома таблицями, відкриється діалогове вікно з параметрами цього відношення. Інакше це вікно можна відкрити, клацнувши на лінії відношення правою кнопкою й виконавши команду Изменить свіязь... контекстного меню. У діалоговому вікні, зображеному на наступному рисунку, показані параметри відношення «один-багато» між таблицями Сотрудники й Заказы:

У цьому вікні показано відношення між двома таблицями й поля, за якими воно встановлено. Крім того, тут можна встановити кілька додаткових параметрів. У цьому випадку ми бачимо встановлений прапорець Обеспечение целостности данных. Це означає, що в таблицю Заказы не можна вставити новий запис, поки не введено потрібне значення в поле КодСотрудника. Toбто, поле зовнішнього ключа КодСотрудника у таблиці Заказы повинне відповідати одному зі значень первинного ключа КодСотрудника з таблиці Сотрудники. І це дуже розумно: не можна створювати замовлень, не вказуючи співробітників, відповідальних за їхнє виконання.

3.3 Процес розміщення замовлення

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

Почнемо з розгляду розміщення клієнтом замовлення в Борей Traders. При цьому нам буде зручно використати деякі функції зовнішнього інтерфейсу, убудовані в Access. Колись, однак, розглянемо дані, записані в таблиці Заказы.

СПРОБУЙТЕ – зчитування й введення даних

1 Припустимо, СКБД Access запущена, і база даних Борей у неї завантажена. Якщо вікно Схема данных дотепер відкрите, можна закрити його.

2 В Access повинне бути відкрите вікно Database (База даних), у якому представлені всі об’єкти бази даних.

 

 

3 У меню Об’єкты, у лівій частині вікна, виділяємо рядок Таблицы і відкриваємо таблицю Заказы. Переходимо до останнього запису таблиці. Запишіть значення поля Код заказа останнього запису. Якщо це перше відкриття бази даних, у таблиці повинне бути 830 записів, а в поле Код заказа останнього запису повинне бути записане значення, рівне 11077. Природно, це число може бути іншим, якщо в таблицю вносилися зміни.

4 Закрийте таблицю Заказы і спробуйте вставити з таблицю запис, скориставшись убудованою формою Access. Для цього виділяємо в меню, розташованому в лівій частині вікна бази даних, рядок Формы, після чого активізуємо головну кнопкову форму. Цю форму можна вважати головною в базі даних Борей, оскільки вона служить в якості входу в додаток Access, розробленого навколо таблиць бази даних Борей. Пізніше ми скористаємося цією формою для більш ґрунтовного вивчення таблиць, а поки натискаємо кнопку Заказы.


5 Відкриється форма Заказы:

6 Нам потрібно створити новий запис замовлення, тому – Вставка/Новая запись Ctr++. Відкриється порожня форма. Почніть заповнювати форму якоюсь інформацією. На наступному рисунку показано замовлення від клієнта по імені Alfreds Futterkiste, який купив сироп Aniseed Syrup і м’ясо краба Boston Crab Meat. Замовлення виконала співробітниця Інна Ясенєва. Там, де це можливо, потрібно використати для введення даних значення, що вже є у полях зі списками:

7 Закінчивши введення даних, закрийте форми.

Як це працює – результат

Отже, що ж властиво відбувається з даними в таблицях бази даних Борей, коли ми розміщаємо це замовлення? Всі операції виконуються у двох таблицях - Заказы й Заказано. Це головні таблиці бази даних Борей. Простежимо весь процес:

P Як тільки ми вибрали в списку К оплате: компанію Alfreds Futterkiste, у таблиці Заказы з’явився новий рядок. У результаті замовлення автоматично був привласнений ідентифікатор Код заказа, рівний 11078 (первинний ключ). Код заказа – це поле автонумерації, значення якого автоматично генерує Access.

P Назва компанії замовника – Alfreds Futterkiste, – не було занесена в таблицю! У таблицю Заказы було записано тільки значення коду клієнта (у полі КодКлиента), що відповідає значенню в полі первинного ключа Код клиента таблиці Клиенты. Нагадаємо, що це реляційна база даних, у якій дані, на зразок імен й адрес клієнтів, не дублюються від таблиці до таблиці. Маючи тільки текстове значення в полі КодКлиента, ми можемо витягти іншу інформацію з таблиці Клиенты, використовуючи відношення, встановлене між таблицями Клиенты й Заказы.

P Аналогічно, при введенні Ясенєвої Інни як продавця, у таблицю Заказы був занесений тільки її номер КодСотрудника. Точно та ж ситуація й з компанією, що виконувала доставку: у таблицю був записаний тільки її номер, іншу ж інформацію, якщо буде потреба, можна знайти в таблиці Доставка.

Отже, ми закінчили з введенням замовлення, і тепер відкриємо ще раз таблицю Заказы і перевіримо результат. Ми повинні побачити, що значення поля Код заказа в останньому записі на одиницю більше, ніж у попередній (11078, якщо ми працювали з базою даних Борей уперше):

Як це працює – таблиця Заказано

Отже, ми переконалися, що введене замовлення присутнє у таблиці Заказы. Однак постійте! Адже ми, здається, оформляли замовлення на два товари! Куди ж поділися дані ці про? Якщо придивитися до таблиці Заказы або її схемі, не вдасться виявити ніяких полів про ці дані. Справа в тому, що дані про замовлені товари, записуються в іншу таблицю – Заказано, – яка зв’язана відношеннями з таблицями Заказы й Товары.

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

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

P Визначення в таблиці Заказы декількох полів товарів – наприклад, Товар1, Товар2, Товар3 і т.д. Цей варіант також неприйнятний, оскільки невідомо, скільки повинно бути таких полів.

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

Як це працює – відношення між таблицями Заказы й Товари

Розглянемо відношення між таблицями Заказы й Товары. Кожне замовлення може оформлено на будь-яку кількість товарів. З іншого боку, будь-який товар може входити в будь-яке число замовлень. Таким чином, між двома таблицями встановлюється відношення «багато-багато». Але реалізувати прямий зв’язок «багато-багато» між двома таблицями фізично не можливо.

Єдиний спосіб установки відношення такого типу – зв’язування двох таблиць через додаткову таблицю перехресних посилань. Саме такою є таблиця Заказано, зв’язана відношеннями «один-багато» з таблицями Заказы і Товари. Таким чином ми отримуємо відношення «багато-багато» між таблицями Заказы й Товари.

Щоб зрозуміти, як це працює, потрібно знову звернутися до блок-схеми відношень Access.

У завершення дослідження процесу розміщення замовлення, потрібно буде розглянути записи таблиці Заказано, що з’явилися в ній у результаті розміщення нами замовлення номером 11078. В Борей ця таблиця перехресних посилань використовується також для зберігання інформації про замовлення, такі як кількість кожного товару і його ціна на момент замовлення. Відкриємо таблицю Заказано і прогорнемо її до кінця:

Як бачимо, в останніх двох рядках записано саме це значення коду замовлення, і саме стільки товарів (тобто два) було у нашому замовленні.

Отже, головні таблиці бази даних – це, власне кажучи, Заказы й Заказано. Саме в ці таблиці вносяться записи при розміщенні кожного замовлення. Що стосується інших таблиць, то в них зберігається довідникова інформація, звертання до яких обмежуються, найчастіше, зчитуванням. Звичайно, час від часу ці таблиці також модифікуються – наприклад, з появою нового товару на ринку або нового співробітника в компанії, але таке трапляється значно рідше, ніж модифікація таблиць Заказы й Заказано. Щоб вивчити базу даних Борей більш ґрунтовно, потрібно буде відкрити по черзі кожну з таблиць і подивитися, якого роду інформація в ній зберігається.







Дата добавления: 2014-12-06; просмотров: 2137. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Приготовление дезинфицирующего рабочего раствора хлорамина Задача: рассчитать необходимое количество порошка хлорамина для приготовления 5-ти литров 3% раствора...

Дезинфекция предметов ухода, инструментов однократного и многократного использования   Дезинфекция изделий медицинского назначения проводится с целью уничтожения патогенных и условно-патогенных микроорганизмов - вирусов (в т...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия