Ноу Інти, лекція, введення в бази даних

Зауважимо, що для роботи з нею необхідно розібратися з семантикою, тобто з системою смислів, пов'язаних з цим записом. Це запис чого? Що таке "ACCOUNTING" Може бути назва книги про облік? A "NEW YORK" -це місце її видання? А що тоді означає число 10? Насправді малося на увазі, що наведена запис входить в набір записів з ім'ям "ВІДДІЛИ" (рисунок 1.1). Перше поле записи-номер відділу, друге поле - це назва відділу, а третє позначає місто, в якому відділ знаходиться.


Мал. 1.1. Простий запис ієрархія глибини 1

  1. Записом в базах даних називають мінімальну унікально ідентифікується одиницю незалежного зберігання даних, утворену ієрархією полів. Говорячи простіше, запис складається з набору пов'язаних полів, який можна зберігати, змінювати і видаляти як єдине ціле.
  2. Схема запису - це опис внутрішньої структури записи.
  3. Поле записи - іменований елемент даних, який є частиною структури записи бази даних або файлу даних. Поле може складатися з інших полів. Як правило, поле запису характеризує атрибут (властивість) об'єкта, що описується записом.
  4. Зазвичай, але не завжди, поля типізовані. Існують бази, в яких всі дані представляються у вигляді текстових записів.
  5. Значення полів називаються елементами даних.
  6. Ключовими називають поля записи, завдання яких дозволить однозначно вибрати запис. Такий набір полів називають первинним ключем.

У прикладі, наведеному вище, поле "номер відділу" - ключ. Якщо вам здається, що ключ можна було вибрати і по-іншому, то ви маєте рацію.

Неважко здогадатися, що схеми і типи записів потрібні для створення структур, наприклад, для об'єднання записів до деяких набори, може бути якось пов'язані між собою.

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

Якщо все поля, придатні в якості ключових, можуть змінюватися, або якщо ключ містить занадто багато полів або занадто довгий, вводять сурогатний ключ у вигляді додаткового поля, не описує ніякого властивості об'єкта, яку представляють записом.

Зауважимо, що в базах, що використовують об'єктну ідеологію, записи ідентифікуються НЕ полями записи, а двома покажчиками. Один дозволяє знайти запис на диску, а другий - в оперативній пам'яті.

Дерево схеми цього запису зображено на малюнку 1.2.


Мал. 1.2. Запис, представимо ієрархією рівня 2

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

Можливо, наведена в прикладі форма записи в даний час влаштовує користувачів бази. Але може бути варто подумати про те, чи не доведеться надалі змінювати схему, наприклад, через те, що з'являться філії в інших державах? А чи потрібно прізвище, ім'я та по батькові записувати в одному полі? А як бути з тими, у кого немає по батькові? І взагалі, як записати Ламарка, якого, як відомо, за життя називали Жан Батист П'єр Антуан де Моне шевальє де Ламарк?

Єдиного правильного рішення немає. Можна тільки порадити більш точно визначати межі предметної області, керуватися інтересами користувачів і стандартами, намагатися прогнозувати можливі зміни моделируемого бізнесу. Звичайно, слід знайомитися з конкуруючими розробками і, взагалі, з усіма матеріалами, які можуть бути корисні для вирішення вашого завдання.

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

  • прості типи даних;
  • структуровані типи даних;
  • посилальні типи даних.

Прості, інакше атомарні або скалярні, типи даних не мають внутрішньої структурою. До простих типів в базах даних відносяться, як мінімум:

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

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

Рахункова називають типи, що дозволяють користувачеві задати набір допустимих значень.

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

Не пощастило в базах логічного типу. Дуже часто він відсутній. Тому доводиться представляти його, наприклад, числовим типом зі значеннями 1 як TRUE і 0 як FALSE.

Структуровані типи даних утворюються зі складових компонентів, які, в свою чергу, можуть бути структуровані.

Домен можна вважати уточненням типу даних. Домен визначає підмножина значень деякого типу даних, що мають певний сенс, додатковий до сенсу даних, певних типом.

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

Приклад: Домен вичіслімого поля "вік (людини)" характеризується умовою (вік> 0 і вік<120). На нём с помощью условия возраст<7 можно определить домен "возраст воспитанника детского сада".

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

На жаль, в існуючих системах управління базами даних домени і обчислюваних поля не підтримуються. Для їх реалізації доводиться використовувати додаткові кошти.

Приклад структури набору записів наведено на малюнку 1.3. Цифра після імені типу, наприклад Текст (20). означає допустиму кількість символів.

Ноу Інти, лекція, введення в бази даних


Мал. 1.3. Структура набору записів

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

Схожі статті