Дані (обчислювальна техніка)
Да́ні (англ. data) — це формалізоване подання інформації, придатне для інтерпретування, пересилання чи оброблення за участю людини або автоматичними засобами (за стандартом ISO/IEC 2382:2015[1]). Дані самі по собі не є інформацією. Інформацією стають оброблені та інтерпретовані за заздалегідь узгодженою схемою дані. Інколи дані описують іншими даними. Такі «дані про дані» називають метаданими.
Одиницю даних, яку в деякому контексті розглядають як неподільну, називають елементом даних (ISO/IEC 2382:2015[2]).
Тип даних
Найпростішим засобом структурування даних є тип даних. Тип описує базову структуру даних та визначає допустиму множину операцій над ними. Тип даних робить можливою інтерпретацію даних на елементарному рівні. Для кожного типу визначено ряд допустимих операцій, які можна виконувати над елементами даних цього типу.
У мовах програмування та мовах опису даних (DDL) розрізняють такі базові типи: цілочисельні типи, типи з плаваючою комою, логічні типи (булеві), символьні та рядкові. Базові типи мови програмування ще називають простими, або попередньо визначеними типами.
Цілочисельні типи (англ. integer) — це числові типи даних, множини допустимих значень яких є множинами цілих чисел. Мови програмування підтримують різні типи цілих чисел, в різних мовах позначаються int
, byte
, word
, long
, cardinal
та ін. Над усіма цілочисельними типами визначено однаковий набір операцій. Усі ці операції, крім однієї, є бінарними. Символ «-» є символом як бінарної операції віднімання, так і унарної операції «мінус»: int x = -(5 - 8)
.
Типи з плаваючою комою(англ. floating point) — це числові типи даних, що можуть містити у собі як цілі, так і дробові значення. Множина допустимих значень будь-якого дійсного типу є скінченною підмножиною множини раціональних чисел і містить, зокрема, усі значення цілого типу. В різних мовах позначаються double
, real
, float
та ін.
Логічний тип (також бу́левий тип англ. boolean) — це тип даних, об'єкти якого можуть приймати одне з двох значень: істина (англ. true) або хибність (англ. false). В різних мовах позначається boolean
, bool
чи BOOL
. Для позначення «істини» залежно від мови використовуються значення true
, TRUE
, #T
, а для позначення «хибності» false
, FALSE
, #F
. В мовах C та C++ для позначення «хибності» може бути використано нуль, а будь-яке ненульове значення трактується як «істина». Назва цього типу даних походить від прізвища видатного англійського математика Джорджа Буля.
Рядковий тип даних(англ. string) — використовується для збереження літер та слів. Усі рядки складаються з символів. Рядки можуть містити цифри та числа, але все одно будуть оброблятися як текст. В різних мовах рядковий тип має назву string
, pchar
, WideString
та ін.
Дані різних типів використовують для формування складних структур даних.
Структура даних
Часто дані об'єднують та впорядковують у різні структури даних. Структура даних — це сукупність фізичних чи (та) логічних взаємозв'язків між елементами даних та даними в цілому (ISO/IEC 2382:2015[3]). Часто разом зі структурою даних пов'язують специфічний перелік операцій, що можуть бути виконані над даними, організованими в таку структуру.
Деякі (часто вживані) структури даних такі:
- Масив — сукупність послідовно розміщених однотипних елементів, доступ до яких здійснюють за їх індексом (номером).
- Запис — об'єднання логічно пов'язаних елементів даних, які описують певну сутність.
- Об'єкт — запис, який містить засоби для обробки його даних.
- Множина — сукупність певних заздалегідь визначених значень.
- Стек — структура даних, яка визначає порядок їх обробки за принципом «першим прийшов — останнім пішов»
- Черга — структура даних, яка визначає порядок їх обробки за принципом «першим прийшов — першим пішов»
- Дерево — ієрархічна структура даних, елементи якої пов'язані відносинами виду «предок-нащадок» так, що кожен елемент може мати тільки одного «предка» і будь-яку кількість «нащадків».
- Граф — структура даних, яка містить елементи даних та описує взаємозв'язки між ними.
У мовах програмування структури даних представлені типами даних, які оголошує програміст. Такі типи ще називають складними, оскільки вони складаються з елементів простих типів.
Модель даних
Модель даних — це опис організації даних в інформаційній системі. Модель даних визначає елементи даних інформаційної системи та взаємозв'язки між ними. Головна мета моделі даних — забезпечити розробку інформаційної системи шляхом визначення та структурування даних.
За призначенням розрізняють модель подання даних та модель структури даних. Модель подання даних описує дані з точки зору їх узагальненої структури в певному контексті. Модель структури даних описує логіку взаємозв'язків між даними.
Існують такі моделі подання даних:
- Концептуальна модель даних описує семантику даних предметної області, задаючи загальну сферу розгляду, загальне структурування даних та можливості їх обробки. Така модель є високорівневою, апаратно та програмно незалежною. Її використовують для опису базових концепцій даних, правил їх інтерпретування та взаємодії. Кількість об'єктів такої моделі має бути мінімально необхідною для формування цілісної базової картини організації даних. Наприклад, в інформаційній системі для забезпечення діяльності магазину така модель може визначати сутності «товар», «покупець», «склад», «накладна продажу» тощо та описувати напрямки передачі даних між цими сутностями.
- Логічна модель даних деталізовано описує організацію даних за допомогою конкретної вибраної моделі структури даних. Наприклад, при використанні реляційного підходу така модель містить опис таблиць, їх стовпців, збережених процедур тощо. Логічна модель надає детальний опис в межах вибраної моделі структури даних незалежно від засобів, які її реалізують на практиці. Зокрема, логічна модель даних для СКБД MySQL та Oracle виглядатиме так само, оскільки обидва цих засоби працюють в межах однієї моделі структури даних — реляційної.
- Фізична модель даних описує фізичні принципи збереження та передавання даних. Вона забезпечує конкретне детальне технічне рішення, включаючи формування файлів бази даних, табличних просторів тощо. На практиці фізичну модель реалізують СКБД. Оскільки фізична модель даних реалізується на базі конкретних технічних засобів, то вона для різних СКБД і на різних апаратних платформах буде різною.
Використовують такі моделі структури даних:
- Ієрархічна модель описує дані, які становлять множину, частково упорядковану так, що існує лише один елемент цієї множини, який не має попереднього, а всі інші елементи мають лише один попередній.
- Мережна модель описує дані, які становлять множину, частково впорядковану так, що принаймні для деяких елементів множини існує більше, ніж один попередній елемент.
- Реляційна модель описує дані як сукупність пов'язаних між собою таблиць. Переважна більшість сучасних систем керування базами даних (зокрема, MySQL, Microsoft SQL Server, Oracle, PostgreSQL, Interbase, Firebird, Sybase) реалізують саме цю модель структури даних.
- Об'єктно-орієнтована модель описує дані як сукупність пов'язаних об'єктів.
Оброблення даних
Оброблення даних — це систематизоване виконання операцій над даними (ISO/IEC 2382:2015[4]).
Розрізняють такі види комп'ютерного оброблення даних:
- Локальне оброблення даних — оброблення даних, при якому всі функції введення-виведення, зберігання, оброблення і керування даними виконуються в межах однієї станції оброблення даних.
- Розподілене оброблення даних — оброблення даних, за яким між станціями оброблення даних розподілені деякі або всі функції оброблення, зберігання і керування.
- Дистанційне оброблення даних — оброблення даних, за яким деякі функції введення-виведення виконуються пристроями, зв'язаними з комп'ютерною системою за допомогою засобів пересилання даних.
- Телеоброблення даних — оброблення даних, під час якого користувачам забезпечується дистанційний доступ до ресурсів системи оброблення даних і засобів зв'язку.
Система оброблення даних — система, що складається з сукупності технічних і програмних засобів, а також робочого персоналу, що забезпечують оброблення даних
Введення і виведення даних в комп'ютери проводиться через периферійні пристрої (клавіатура, миша, монітор тощо).
База даних
Для довготривалого зберігання даних зазвичай використовують базу даних — сукупність взаємозв'язаних даних та методів для їх первинної обробки, організованих згідно зі схемою бази даних так, щоб з ними міг працювати користувач. За моделлю структури даних бази даних можуть бути реляційні, мережні, ієрархічні та інші. Для керування роботою бази даних в інформаційній системі використовують спеціалізоване програмне забезпечення, яке називають системою керування базами даних (СКБД).
Схема бази даних — опис бази даних в контексті конкретної моделі даних[5]. Схема містить метадані про базу даних.
Див. також
Примітки
- ISO/IEC 2382:2015, Information technology — Vocabulary — Part 1: Terms and definitions:
«data: reinterpretable representation of information in a formalized manner suitable for communication, interpretation, or processing» - ISO/IEC 2382:2015, Information technology — Vocabulary — Part 1: Terms and definitions:
«data element: unit of data that is considered in context to be indivisible» - ISO/IEC 2382:2015, Information technology — Vocabulary — Part 1: Terms and definitions:
«data structure:physical or logical relationship among units of data and the data themselves» - ISO/IEC 2382:2015, Information technology — Vocabulary — Part 1: Terms and definitions:
«data processing:systematic performance of operations upon data» - ДСТУ 2226-93 Автоматизовані системи. Терміни та визначення.