Сутність (інформатика)
Ця стаття є сирим перекладом з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. |
Як сутність (також називається інформаційним об'єктом, англ. entityУ моделюванні даних – це унікально ідентифікований об'єкт, про який зберігається або обробляється інформація. Об'єкт може бути матеріальним або нематеріальним, конкретним або абстрактним. Приклади: транспортний засіб, обліковий запис, особа, стан.
Сутності – це індивідуально ідентифіковані об'єкти/особи тощо. У межах заданої області видимості їм можна індивідуально призначити властивості (наприклад...). B. колір = червоний, дата народження = 28 серпня 1749 року, висота = 2962 метри, температура = -4,5 градуса). Типи сутностей (іноді їх називають класами сутностей) можна отримати за допомогою типізації (розпізнавання ідентичних атрибутів/характеристик сутностей); наприклад, з кількох людей людині можна призначити певний тип. B. КЛІЄНТИ. Окремі клієнти вважаються сутностями, тобто конкретними екземплярами, і мають ідентичність.
Множина сутностей типу сутності називається набором сутностей – яка (залежно від вибору) може включати всі сутності, лише певні сутності або взагалі жодної сутності. Сутності як елементи набору сутностей розрізняються своїми властивостями (значеннями атрибутів). Кожна сутність типу сутності відрізняється від інших сутностей того ж типу сутності унікальним значенням ідентифікаційного атрибута або комбінацією атрибутів (наприклад, ім'я, статус або розташування). Наприклад, номер шасі для окремого автомобіля або реєстраційний номер транспортного засобу для однієї реєстрації. Цей атрибут або комбінація атрибутів називається ідентифікатором, ідентифікатором або скорочено ID.
Суб'єкт може мати зв'язок з іншими сутностями, а також із самим собою. Приклад: Особа X <є власником> транспортного засобу Y, Особа A <є керівником> особи B; <...> = значення/назва der Beziehung.
Класифікація сутностей та зв'язків між сутностями (на типи зв'язків) досягається за допомогою абстракції. Це розмежування між екземплярами та типами необхідне для побудови моделі даних. У цій моделі сутності стають типами сутностей, а їхні зв'язки стають типами зв'язків, які графічно представлені на діаграмі сутність-зв'язок[1]. У загальновживанні іноді використовується коротше слово «сутність» замість правильного терміна «тип сутності», хоча контекст зазвичай чітко вказує, чи мається на увазі екземпляр об'єкта (сутність), чи його класифікація (тип сутності).
Наприклад, для створення реляційної бази даних тип сутності реалізується як таблиця в базі даних, починаючи з моделі даних. Кожен рядок цієї таблиці (також званий записом або кортежем) представлятиме сутність; ідентифікатор стає первинним ключем, а зв'язки стають зовнішніми ключами.
Якщо атрибути та/або типи зв'язків зустрічаються в різних типах сутностей, ідентичних для однієї й тієї ж сутності, ними можна керувати та групувати під новим типом сутності, процес, відомий як узагальнення. Отриманий тип сутності включає спільні атрибути. Початкові типи сутностей залишаються; вони "успадковують" атрибути нового типу сутності. Наприклад. Наприклад, типи сутностей "клієнт" та "постачальник" об'єднуються на додаток до узагальненого типу сутності "діловий партнер", завдяки чому... B. Ім'я, адреса, банківські реквізити тощо можуть використовуватися як для клієнтів, так і для постачальників . Зворотний процес (визнання того, що атрибути типу сутності зустрічаються лише в певних ситуаціях/ролях) також може призвести до створення нового типу сутності (наприклад,...). B. приватний клієнт ) і називається спеціалізацією.
Узагальнення, спеціалізація та успадкування атрибутів відповідають основним принципам об'єктно-орієнтованого програмування.
Для того щоб було легше розпізнати клас як Entity можна додати маркер інтерфейс.
public interface IEntity
{
}
Наприклад, нехай для роботи із системою користувач повинний зареєструватись у ній. Оскільки користувачі можуть мати однакові імена, вводимо додатковий ідентифікатор, що буде визнати їх унікальність. Для гарантії автентичності при запуску аплікації завантажуємо інформацію про користувача, а при виході зберігаємо. Інформація про сутність може бути записана у файл, базу даних або іншим довільним способом:
public class User : IEntity
{
public int Id { get; set; }
public string Name { get; set; }
}
Типи сутностей:
- Артикули з (наприклад) ідентифікаційним атрибутом EAN
- Книга з ідентифікаційним атрибутом ISBN та описовим атрибутом кількість у фонді (у випадку видавництва з багатьма (з точки зору видавництва ідентичними ) примірниками)
- Книга з ідентифікаційним атрибутом ISBN та номером примірника (у випадку бібліотеки)
- Рахунок з ідентифікаційним атрибутом: Номер рахунку
- Клієнт з ідентифікаційним атрибутом: Номер клієнта
| Стіл | Реляційна база даних | Модель зв'язків між сутностями (ERM) | Уніфікована мова моделювання (UML) |
|---|---|---|---|
| Діапазон значень (домен, домен) | Діапазон значень (домен, домен) | Діапазон значень (домен, домен) | Діапазон значень (домен, домен) |
| Заголовок | Тип зв'язку/формат зв'язку/схема зв'язку | Тип сутності | Клас |
| Заголовок стовпця | атрибут | атрибут | атрибут |
| Зміст | відношення | Набір сутностей | Набір об'єктів, набір екземплярів |
| --/-- | Зв'язок із зовнішнім ключем | Стосунки | асоціація |
| Лінія | Кортежі | сутність | об'єкт, екземпляр |
| клітина | Значення атрибута | Значення атрибута | Значення атрибута |
Поняття сутності пов'язане з поняттям об'єкта в об'єктно-орієнтованому програмуванні. Однак ці терміни мають різні значення у відповідних концептуальних світах: моделювання даних та об'єктно-орієнтоване програмування (ООП) . Вони по суті еквівалентні, але не є ні ідентичними, ні синонімами.
- Таким чином, сутність — це просто конструкція, пов'язана з даними, яка записує/надає конкретні значення для атрибутів та зв'язків, визначених у відповідному типі сутності, наприклад Наприклад, «15.3.1994» як «дата народження» конкретного клієнта. Спрощено кажучи, сутність, таким чином, зрештою відповідає запису даних, де «сутності» створюються не лише з метою розробки програмного забезпечення, але й... Б. «просто» вміти описати термінологію компанії.
- На відміну від цього, об'єктно-орієнтований (ООП) об'єкт також має ряд власних динамічних функцій, операцій та методів . Тобто: Динамічний тип об'єкта = програмне представлення типу сутності плюс пов'язані з ним функції маніпулювання. Крім того, методи ООП часто посилаються не лише на типи сутностей з моделі даних, але й, наприклад, на об'єкти в інтерфейсах користувача (GUI) та на «об'єкти», що з'являються в програмах обробки текстів або комп'ютерних іграх .
Обидва терміни (сутність та об'єкт) мають спільну рису : вони ідентифіковані, структуровані, виведені в типи сутностей/об'єктів та задокументовані – зазвичай у контексті процесів розробки програмного забезпечення . Ці визначення технічно реалізуються в комп'ютерних програмах за допомогою декларацій та команд обробки, пов'язаних з даними, і зрештою існують як вміст наборів даних . Більш методологічно детальне ООП-моделювання часто базується на класичному моделюванні даних з його сутностями, атрибутами та зв'язками.
- ↑
Peter Pin-Shan Chen (1 березня 1976). The Entity-Relationship Model-Toward a Unified View of Data (PDF; 363 kB). Massachusetts Institute of Technology.
Definition des Entity Relationship Modells