Повна версія

Головна arrow Інформатика arrow Бази даних: проектування

  • Увеличить шрифт
  • Уменьшить шрифт


<<   ЗМІСТ   >>

Зв'язок категоризації

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

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

image81

Мал. 2.41. Приклад схематичного уявлення зв'язку категоризації


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

У розглянутому прикладі зв'язок категоризації (рис. 2.42) доцільно виділити при розгляді об'єкта "Клієнт", який може представлятися двома категоріями: "Фізична особа" і "Юридична особа", де кожен має свій набір атрибутів і вимагає свого специфічного опису в структурних елементах моделі бази даних. Однак ці об'єкти-категорії мають і ряд загальних атрибутів, що характеризують їх в рамках опису клієнта магазину: "Номер особового рахунку".

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

image82

Мал. 2.42. Приклад атрибутивного складу об'єктів зі зв'язком категоризації


У зворотному напрямку також буде невірним вважати, що може бути множинна зв'язок. Припустимо, що це так і конкретна організація має кілька особових рахунків. Це означає, що при спробі отримати відомості по товарах, закупленим конкретною організацією, яка характеризується в магазині саме особовим рахунком, ми не зможемо вибрати всі необхідні відомості і вони будуть спотворені. Отже, кожна організація (юридична особа) і фізична особа повинні володіти тільки одним особовим рахунком і зв'язок в напрямку об'єкта "Клієнт" повинна бути одинарної.

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

 
<<   ЗМІСТ   >>