властивості полів
Після завдання типу для кожного з полів необхідно визначити їх властивості. Завдання окремих властивостей поряд з типом поля визначає цілісність збережених даних. Детальне опрацювання типів і властивостей полів фактично визначає саму БД, оскільки БД в Access ставати практично повнофункціональної відразу після створення таблиць. Список властивостей залежить від обраного типу даних. Нижче перераховані основні властивості полів таблиці:
Розмір поля (Field Size)
Це властивість задає максимальний розмір даних, для зберігання яких призначено дане поле. Поле з текстовим типом даних може мати розмір від 1 до 255 (символів); за замовчуванням встановлюється 50 символів. Для числового типу даних розмір поля може бути наступним:
Цілі числа від 0 до 255. Займає при зберіганні 1 байт.
Цілі числа від -32768 до +32767. Займає 2 байта.
Цілі числа від -2147483648 до +2147483647. Займає 4 байти.
Одинарное з плаваючою точкою
Числа з точністю до 7 знаків. Від -3,402823E38 до -1,401298E-45 для негативних значень, і від 1,401298E-45 до 3,402823E38 для положітельних.Занімает 4 байта.
Подвійне з плаваючою точкою
Числа з точністю до 15 знаків. Числа від -1,79769313486231E308 до -4,94065645841247E-324 для від'ємних значень і від 4,94065645841247E-324 до 1,79769313486231E308 для положітельних.Занімает 8 байт.
Числа з точністю до 28 знаків. Числа від -10 ^ 28-1 до 10 ^ 28-1. Займає 12 байт.
Формат поля (Format)
За допомогою цієї властивості можна задати формат представлення даних при виведенні на екран або друк. Властивість Формат поля визначає тільки спосіб відображення даних і не впливає на спосіб їх зберігання. Для типів даних Числовий, Грошовий, Лічильник існує стандартний набір форматів поля. Деякі формати наведені нижче:
(Значення за замовчуванням.) Числа відображаються так, як вони були введені.
Символи валют і два знака після десяткового роздільника.
Принаймні один знак до і два знака після десяткового роздільника. Число десяткових знаків визначається в однойменному властивості.
За замовчуванням Access виводить числа в стандартному форматі, а грошові значення - в грошовому. Можна також створити власний формат, який буде використовувати Access, (в залежності від того, чи буде число позитивним, негативним, рівним нулю або рівним Null), визначивши до чотирьох відповідних специфікацій формату, між якими ставиться крапка з комою. Розглянемо деякі корисні специфікації формату:
використовується, щоб показати, що в цій позиції буде знаходитися цифра. Якщо в цій позиції в числі немає цифри, то Access виводить 0.
використовується, щоб показати, що в цій позиції буде знаходитися цифра. Якщо в цій позиції в числі немає цифри, то Access виводить пробіл.
ці символи можна використовувати в будь-якому місці рядка специфікації.
виводить текст, укладений в лапки.
використовується для виведення будь-якого символу, наступного за \ (те саме, що і висновок в поодинокі лапки).
вирівнювання по лівому краю. За замовчуванням числові дані вирівнюються по правому краю, текстові - по лівому.
використовується, щоб як заповнювач невикористаних позицій вживався наступний за * символ.
використовується для множення числа на 100 і доповнення справа символом відсотка.
виводить числа в експоненційному форматі.
додатково завжди показує знак чисел: + для позитивних і - для негативних.
відображає відформатовані дані заданим кольором, назва якого зазначено в дужках. Допустимі імена квітів: Чорний (Black), Синій (Blue), Зелений (Green), Бірюзовий (Cyan), Червоний (Red), Ліловий (Magenta), Жовтий (Yellow), Білий (White).
Наприклад, якщо ви хочете вивести число з двома десятковими знаками після десяткової точки, коми як роздільник тисяч, якщо число позитивне, і укладеними в круглі дужки і червоним кольором символів, якщо число негативне, "Нуль", якщо дорівнює 0, і "Чи не введено "для порожнього значення Null:
#, ## 0.00; (#, ## 0.00) [Червоний]; "Нуль"; "Чи не введено"
Для текстових даних також можна задати для користувача формат, який може складатися з однієї, двох або трьох частин. Якщо включена друга специфікація, то Access буде використовувати її для виведення значення Null; якщо включена третя частина, то Access використовує другу для виведення порожнього рядка, а третю для Null. Для текстових значень визначені наступні специфікації формату:
Наприклад, формат виду
>; "Байдуже"; "НЕ визначено"
дозволяє вивести в верхньому регістрі значення поля і «озвучити» візуально не визначається різницю між символом нового рядка і порожнім значенням, а
записує суму чека прописом і заповнює вільний простір зірочками, наприклад: "Ten Dollars and ********* 50 Cents".
Формат виведення логічних даних також складається з трьох частин, хоча перша з них не використовується. Тобто перша частина специфікації формату залишається порожньою, далі йде формат для значення Істина. далі для значення Брехня. наприклад:
; "Рахунок виписаний" [Червоний]; "Рахунок не виписаний" [Синій].
Число десяткових знаків (Decimal Places)
Для числового і грошового типів даних можна задати число знаків, виведених після десяткового дробу. За замовчуванням встановлюється значення Авто, при якому для Грошового, фіксованого. З роздільниками тисяч і Процентного форматів поля виводяться два десяткових знака після коми, а для Стандартного формату число виведених знаків визначається точністю числових значень. Можна задати фіксований число десяткових знаків від 0 до 15. Ігнорування завдання формату для дійсних чисел приводить до серйозних помилок. Так як числа вирівнюються по правому краю, то при їх відображенні у віконці введення / виведення невеликого розміру може поміститися не всі число, а тільки його дрібна частина. Значна ціла частина може бути взагалі проігнорована.
Маска введення (Input Mask)
Маска введення складається з трьох частин, розділених символом крапкою з комою. Перша частина містить власне маску введення, що складається з символів, зазначених в таблиці, необов'язкова друга частина вказує, чи потрібно зберігати постійні символи маски в цьому полі. Якщо постійні символи маски повинні бути включені, то 0, якщо треба зберігати тільки введені користувачем символи, то 1. Необов'язковий третій компонент задає символ-покажчик. За замовчуванням використовується '_'. Щоб відобразити порожній рядок, можна ввести пробіл, укладений в лапки ( ""). Маска введення задається за допомогою наступних символів:
Вказує, що наступний знак буде відображатися як текстова константа (наприклад, \ A відображається як «A»).
маска введення паспорта "Серія" LL "№0000000.
При введенні даних в полі, для якого визначена маска введення, завжди використовується режим заміни. При видаленні знака шляхом натискання клавіші BACKSPACE знак замінюється на пробіл. При копіюванні або переміщенні вмісту поля, для якого визначена маска введення, в буфер обміну текстові константи маски копіюються незалежно від режиму їх збереження. Маска введення використовується тільки при введенні знаків з клавіатури і ігнорується при всіх інших операціях (при імпорті даних, при виконанні запиту на зміну, а також при введенні знаків за допомогою інструкцііVBA).
Маска введення визначає також і формат виведення, але якщо визначена маска введення і одночасно заданий формат поля, то при виведенні даних пріоритет має формат поля. Це означає, що при форматуванні даних збережена маска введення ігнорується. Дані в базовій таблиці при цьому не змінюються, оскільки формат поля визначає тільки режим відображення даних.
Підпис поля (Caption)
Можна визначити більш описову назву поля, яке Access буде виводити в елементах управління форм і в заголовках звітів. Наприклад, якщо ви визначили ім'я поля без пробілів, то можна використовувати властивість Підпис поля для того, щоб задати ім'я, яке включає в себе прогалини.
Значення за замовчуванням (Default Value)
Можна визначити значення поля за замовчуванням для всіх типів полів, окрім Лічильника, Мемо і Об'єкту OLE. Наприклад, для числових полів, що беруть участь в деяких обчисленнях, бажано встановити значення поля за замовчуванням в 0 або в 1, в залежності від того, в якій операції братиме участь це поле, в складання або в множенні. В іншому випадку, якщо це поле буде порожнім, то і весь результат операції буде дорівнює пустому значенням.
Умова на значення (Validation Rule)
Можна задати вираз, яке при введенні або редагуванні значення цього поля завжди має бути істинним (при цьому назва поля опускається). наприклад, <100 означает, что значение поля должно быть меньше 100. Условие задается логическим выражением, которое в общем случае состоит из операторов сравнения и значений, используемых для сравнения. Его элементами могут быть операции сравнения <, <=,>,> =, =, <>, логічні оператори NOT, AND, OR, дужки і функції IN, BETWEEN, LIKE. Рядки полягають в лапки, а константи типу Дата / Час - в символи #.
Функція IN перевіряє на рівність будь-якому значенню зі списку: IN ( "Мінськ", "Москва", "Київ");
Функція BETWEEN задає діапазон значень. Межі діапазону розділяються оператором And: BETWEEN 50 And 100.
Функція LIKE перевіряє на відповідність заданим шаблоном символів. В якості символів шаблону використовуються:
* - будь-яке число довільних символів;
- один довільний символ;
# - одна довільна цифра;
Можна також задати умови на значення між двома полями однієї і тієї ж таблиці, які Access буде використовувати для перевірки кожної записуваної рядки. Ця умова перевіряється тільки при збереженні записи, так як в такому умови одне поле порівнюється з іншим, а поки ви не почнете зберігати запис, Access може не знати, остаточно ви ввели дані або потім захочете їх змінити. Отже, ця умова не можна записати в властивості Умова на значення окремого поля. Для завдання умови такого виду необхідно вибрати команду Властивості таблиці меню Вид. Імена полів полягають в квадратні дужки [], а в рядку Повідомлення про помилку можна задати своє попередження. Наприклад, має сенс перевірити, чи не перевищує дата звільнення дати прийому на роботу [Дата звільнення]> [Дата прийому].
Повідомлення помилково (Validation Text)
Можна ввести текст, який Microsoft Access буде виводити на екран, коли вводиться значення не задовольняє умові на значення.
Обов'язкове поле (Required)
Якщо необхідно, щоб дане поле завжди містило деяке значення (тобто було відмінно від Null), то значення цієї властивості має бути Так.
Порожні рядки (Allow Zero Length)
Для Текстових і Мемо полів можна дозволити введення порожніх рядків. Реляційні бази даних забезпечують можливість зберігання в полях таблиць спеціального значення Null. званого порожнім значенням, для позначення деякого невідомого значення. Пусте значення має особливі властивості. Пусте значення не може бути одно ніякому іншому значенню, в тому числі іншому порожньому значенням. Це означає, що неможливо об'єднати дві таблиці за значенням Null. Умова «А = В», де А чи В містить значення Null. має значення Брехня. Порожні значення також не враховуються в групових функціях, таких як Sum (Сума) або Avg (Середнє значення). Можна лише перевірити наявність значення Null. порівнявши значення поля зі спеціальною константою NULL або використовуючи вбудовану функцію IsNulI. З іншого боку, можна встановити значення Текстового або Мемо поля рівним порожній рядку ( ""), і це буде означати, що значення поля відомо, але поле пусте. При порівнянні порожні рядки вважаються рівними один одному, отже, можна з'єднувати таблиці по порожніх рядках і навіть підраховувати їх кількість. Для того щоб дозволити користувачеві введення порожніх рядків в Текстові та Мемо поля, слід встановити властивості Порожні рядки в значення Так. Якщо цього не зробити, Access перетворює введені користувачем порожні рядки, а також рядки, що складаються тільки з прогалин, в рядки, що містять значення Null.
Чому ж так важливо розрізняти рядки зі значенням Null і порожні рядки? Наведемо приклад: припустимо, у вас є база даних, в якій зберігаються результати опитувань клієнтів про бажаних ними характеристиках автомобілів. Якби в анкеті відсутній відповідь на питання про улюбленому кольорі автомобіля, це відповідало б зберіганню в цьому полі значення Null. При цьому не має сенсу порівнювати «невідоме» значення з іншими і використовувати цей рядок при обчисленнях підсумкового і середнього значень. З іншого боку, деякі клієнти могли б відповісти на питання про улюбленому кольорі: «Байдуже». В цьому випадку вам відомий «невизначений» відповідь на ваше запитання, і ви ставите йому у відповідність порожній рядок. Ви можете підрахувати всі «невизначені» відповіді і включити їх в розрахунки підсумкового і середнього значень.
Пусте значення вибирається також і в тому випадку, якщо ви не знаєте, є у клієнта факс чи ні, в той час як порожній рядок може означати, що виразно немає.
Індексовані поле (Indexed)
Для полів з типом даних Текстовий, Числовий, Грошовий, Дата / Час і Лічильник можна задати побудову індексу з метою прискорення доступу до даних, пошуку та сортування. При створенні індексу можна також включити перевірку на унікальність значень індексованого поля. З одного боку, індекси прискорюють пошук і доступ до даних, з іншого - уповільнюють всі операції поновлення даних, оскільки при цьому проводиться оновлення всіх індексів, визначених для таблиці. Тому індекси рекомендується створювати лише для тих полів, за якими найбільш часто виконується пошук або сортування. Поля Mемо. Гіперпосилання і Об'єкт OLE не допускають індексування.
Створити складовою індекс (по декількох полях) можна за допомогою спеціального вікна Індекси. доступного в режимі конструювання таблиці (дивись Рис. 3). Досить ввести ім'я індексу (ПолноеІмя в прикладі) і в колонці Ім'я поля визначити поля, що входять до складу індексу, не повторюючи ім'я самого індексу.
Мал. 3. Вікно визначення індексів
Стиснення Юнікод (Unicode Compression)
Завдання властивостей Розмір поля. Маска введення. Умова на значення. Значення за замовчуванням, Обов'язкове і Індексовані поле є дуже важливими, оскільки визначають цілісність даних. Властивості Розмір поля. Маска введення. Умова на значення і Значення за замовчуванням задають цілісність значень; властивість Обов'язкове поле - цілісність записи, оскільки гарантує відсутність повністю порожніх записів; визначення індексу з контролем унікальності значень задає цілісність ключів, оскільки гарантує відсутність повторюваних значень потенційних ключів.