Повна версія

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

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


<<   ЗМІСТ   >>

Виділення типів сутностей

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

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

image213

Мал. 4.2. Набір типів сутностей з аналізу атрибутів


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

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

Таблиця 4.5

Опис типів сутностей

п / п

Атрибут

Тип сутності

Tun

/ lamihix

Розмір

ність

Примітка

1

Номер замовлення

Номер замовлення

Character

7

2

дата замовлення

дата замовлення

Date

{ "}

3

клієнт

клієнт

V archar

150

4

Номер товару

Номер товару

Integer

{4}

5

товар

Найменування

товару

Varchar

150

6

Ціна товару

Ціна товару

Decimal

7,2

7

вартість

товару

вартість

товару

Decimal

7,2

обчислюється:

<6> * <10>

8

вартість

замовлення

вартість

замовлення

Decimal

7,2

Обчислюється: 511М (<7>) на замовлення <1>

9

символьна

вартість

замовлення

Символьна вартість замовлення

Varchar

200

Формується перекладом числового значення в символьний вираз

10

кількість

товару

кількість

товару

Integer

{4}



Даний опис являє характеристики, важливі для моделі бази даних:

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

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

Числові твані даних і прирівняний до них логічний тип даних завжди мають фіксовану розмірність:

  • • Boolean, Logical, Tinylnt, Bit - логічний (Boolean, Logical) тин даних, що містить значення "True" (істина) і "False" (брехня), ідентичний малому целочисленному тину (Tinylnt) або біту (Bit) з мінімальною розмірністю 1 байт (1 біт при ідентичності типу Bit) і значеннями "О" або "1";
  • • Bit - цілочисельний тип даних, який представляє значення "О" або "1", розмірністю 1 біт;
  • • Tinylnt - цілочисельний тип даних розмірністю 1 байт;
  • • Smalllnt - цілочисельний тип даних розмірністю 2 байта;
  • • Integer - цілочисельний тип даних розмірністю 4 байта;
  • • Biglnt, Long - цілочисельний тип великої розмірності (8 байт);
  • • Date - тип даних дати, що представляється в символьному варіанті, розмірністю 8 символів (байт);
  • • Time - тип даних часу, який надається в символьному варіанті, розмірністю 8 символів (байт).

Для типів даних з фіксованою розмірністю зазвичай колонку "Розмірність" не заповнюють, маючи на увазі, що вказівка ​​самого типу даних вже визначає се і додаткового вказівки не потрібно. Для всіх інших типів даних важливо вказувати максимальну розмірність, враховуючи особливості значень, які можуть бути присутніми в документі. Для числових типів даних вказується кількість байт, яке повинно займати число і кількість знаків після коми, визначаючи точність дійсного числа. По символьних типів даних вказується кількість символів, яке повинно зберігатися для відповідного атрибута. Символьний тип може представлятися трьома різними варіантами:

Text, CLOB - текстовий тип даних, який представляє великі текстові відомості, збережені особливим чином, а в таблиці бази даних показуються набором перших символів, кількість яких є розмірністю атрибута даного типу;

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

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

 
<<   ЗМІСТ   >>